@sima-land/ui-nucleons 44.2.9 → 45.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/_internal/custom-scrollbar/index.d.ts +13 -7
  2. package/_internal/custom-scrollbar/index.js +29 -15
  3. package/_internal/dropdown-loading/index.d.ts +3 -3
  4. package/_internal/dropdown-loading/index.js +4 -2
  5. package/_internal/page-scroll-lock/adapters/body-scroll-lock.d.ts +39 -0
  6. package/_internal/page-scroll-lock/adapters/body-scroll-lock.js +62 -0
  7. package/_internal/page-scroll-lock/adapters/ui-nucleons.d.ts +25 -0
  8. package/_internal/page-scroll-lock/adapters/ui-nucleons.js +103 -0
  9. package/_internal/page-scroll-lock/context.d.ts +13 -0
  10. package/_internal/page-scroll-lock/context.js +54 -0
  11. package/_internal/page-scroll-lock/hook.d.ts +12 -0
  12. package/_internal/page-scroll-lock/hook.js +26 -0
  13. package/_internal/page-scroll-lock/index.d.ts +4 -0
  14. package/_internal/page-scroll-lock/index.js +9 -0
  15. package/_internal/page-scroll-lock/types.d.ts +22 -0
  16. package/_internal/{checkbox/index.js → page-scroll-lock/types.js} +0 -0
  17. package/_internal/readme.md +2 -0
  18. package/_internal/utils/dropdown.d.ts +1 -0
  19. package/_internal/utils/dropdown.js +1 -0
  20. package/alert/alert.module.scss +1 -24
  21. package/alert/index.d.ts +11 -17
  22. package/alert/index.js +33 -16
  23. package/arrow-button/arrow-button.module.scss +2 -0
  24. package/arrow-button/index.d.ts +2 -2
  25. package/autocomplete/autocomplete.d.ts +8 -0
  26. package/autocomplete/autocomplete.js +190 -0
  27. package/autocomplete/autocomplete.module.scss +2 -15
  28. package/autocomplete/index.d.ts +2 -27
  29. package/autocomplete/index.js +2 -126
  30. package/autocomplete/types.d.ts +19 -0
  31. package/autocomplete/types.js +2 -0
  32. package/autocomplete-deprecated/autocomplete.module.scss +20 -0
  33. package/autocomplete-deprecated/index.d.ts +28 -0
  34. package/autocomplete-deprecated/index.js +130 -0
  35. package/avatar/index.d.ts +2 -2
  36. package/avatar/user.d.ts +1 -1
  37. package/base-input/base-input.d.ts +11 -0
  38. package/base-input/base-input.js +96 -0
  39. package/base-input/base-input.module.scss +3 -3
  40. package/base-input/index.d.ts +2 -23
  41. package/base-input/index.js +2 -76
  42. package/base-input/types.d.ts +31 -0
  43. package/base-input/types.js +2 -0
  44. package/base-input/utils.d.ts +6 -0
  45. package/base-input/utils.js +14 -0
  46. package/base-input-deprecated/base-input.module.scss +66 -0
  47. package/base-input-deprecated/index.d.ts +24 -0
  48. package/base-input-deprecated/index.js +80 -0
  49. package/bordered-layout/index.d.ts +1 -0
  50. package/bordered-layout/index.js +1 -0
  51. package/bottom-bar/bottom-bar-util.scss +20 -0
  52. package/bottom-bar/bottom-bar.d.ts +12 -0
  53. package/bottom-bar/bottom-bar.js +47 -0
  54. package/bottom-bar/bottom-bar.module.scss +14 -0
  55. package/bottom-bar/index.d.ts +2 -21
  56. package/bottom-bar/index.js +5 -44
  57. package/bottom-bar/types.d.ts +10 -0
  58. package/bottom-bar/types.js +2 -0
  59. package/box/index.d.ts +1 -1
  60. package/breakpoints.scss +1 -1
  61. package/button/button.module.scss +70 -53
  62. package/button/index.d.ts +26 -41
  63. package/button/index.js +22 -46
  64. package/card/index.d.ts +2 -1
  65. package/card/index.js +23 -6
  66. package/card/slots.d.ts +17 -3
  67. package/card/slots.js +15 -13
  68. package/carousel/draggable.d.ts +7 -3
  69. package/carousel/draggable.js +10 -3
  70. package/carousel/helpers/draggable-event.d.ts +5 -2
  71. package/carousel/helpers/draggable-event.js +5 -0
  72. package/carousel/index.d.ts +1 -1
  73. package/carousel/index.js +24 -24
  74. package/checkbox/checkbox.module.scss +2 -0
  75. package/checkbox/index.d.ts +3 -3
  76. package/checkbox-field/index.d.ts +3 -0
  77. package/checkbox-field/index.js +3 -0
  78. package/clean-buttons/clean-buttons-util.scss +15 -0
  79. package/clean-buttons/clean-buttons.module.scss +5 -3
  80. package/clean-buttons/index.d.ts +16 -7
  81. package/clean-buttons/index.js +17 -14
  82. package/clean-buttons/types.d.ts +1 -1
  83. package/clean-buttons/utils.d.ts +5 -1
  84. package/clean-buttons/utils.js +4 -0
  85. package/{colors.d.ts → colors/index.d.ts} +1 -1
  86. package/{colors.js → colors/index.js} +0 -0
  87. package/dot-nav/index.d.ts +1 -1
  88. package/dropdown/index.d.ts +1 -0
  89. package/dropdown/utils.d.ts +19 -0
  90. package/dropdown/utils.js +45 -0
  91. package/dropdown-item/dropdown-item.module.scss +80 -15
  92. package/dropdown-item/index.d.ts +20 -9
  93. package/dropdown-item/index.js +12 -9
  94. package/dropdown-item/types.d.ts +3 -0
  95. package/dropdown-item/types.js +2 -0
  96. package/dropdown-item/utils.d.ts +45 -0
  97. package/dropdown-item/utils.js +89 -0
  98. package/expandable/utils.js +3 -3
  99. package/field-block/field-block.module.scss +155 -0
  100. package/field-block/index.d.ts +63 -0
  101. package/field-block/index.js +43 -0
  102. package/field-grid/index.d.ts +5 -4
  103. package/field-grid/index.js +1 -0
  104. package/helpers/bounds-of.d.ts +5 -1
  105. package/helpers/bounds-of.js +5 -0
  106. package/helpers/center-of.d.ts +4 -1
  107. package/helpers/center-of.js +8 -1
  108. package/helpers/create-container.d.ts +5 -2
  109. package/helpers/create-container.js +7 -2
  110. package/helpers/define-slots.d.ts +3 -3
  111. package/helpers/define-slots.js +5 -3
  112. package/helpers/events.d.ts +16 -8
  113. package/helpers/events.js +41 -15
  114. package/helpers/find-child-element.d.ts +12 -9
  115. package/helpers/find-child-element.js +9 -5
  116. package/helpers/find-offset-parent.d.ts +1 -2
  117. package/helpers/find-offset-parent.js +2 -2
  118. package/helpers/find-sibling-index.d.ts +11 -8
  119. package/helpers/find-sibling-index.js +8 -3
  120. package/helpers/fit-element-height.d.ts +5 -5
  121. package/helpers/fit-element-height.js +9 -7
  122. package/helpers/format-date.d.ts +11 -11
  123. package/helpers/format-date.js +15 -13
  124. package/helpers/format-number.d.ts +1 -1
  125. package/helpers/format-number.js +2 -2
  126. package/helpers/get-date-interval-data.d.ts +4 -1
  127. package/helpers/get-date-interval-data.js +7 -2
  128. package/helpers/get-declination.d.ts +5 -1
  129. package/helpers/get-declination.js +5 -0
  130. package/helpers/get-fraction-depth.d.ts +1 -1
  131. package/helpers/get-fraction-depth.js +2 -2
  132. package/helpers/get-no-index.d.ts +2 -2
  133. package/helpers/get-no-index.js +4 -3
  134. package/helpers/get-relative-pos.d.ts +4 -1
  135. package/helpers/get-relative-pos.js +7 -2
  136. package/helpers/get-scroll-parent.d.ts +1 -2
  137. package/helpers/get-scroll-parent.js +5 -5
  138. package/helpers/is-browser.d.ts +4 -1
  139. package/helpers/is-browser.js +8 -1
  140. package/helpers/is-fully-scrolled.d.ts +3 -3
  141. package/helpers/is-fully-scrolled.js +2 -2
  142. package/helpers/is-touch-device.d.ts +1 -1
  143. package/helpers/is-touch-device.js +4 -5
  144. package/helpers/layer.d.ts +1 -1
  145. package/helpers/layer.js +2 -2
  146. package/helpers/max-index-of.d.ts +4 -1
  147. package/helpers/max-index-of.js +7 -2
  148. package/helpers/media-query-list.d.ts +1 -1
  149. package/helpers/media-query-list.js +2 -2
  150. package/helpers/on.d.ts +4 -1
  151. package/helpers/on.js +7 -2
  152. package/helpers/point.d.ts +4 -1
  153. package/helpers/point.js +8 -1
  154. package/helpers/rename.d.ts +3 -1
  155. package/helpers/rename.js +1 -0
  156. package/helpers/scroll-to-child.d.ts +1 -1
  157. package/helpers/scroll-to-child.js +3 -2
  158. package/helpers/styles.d.ts +8 -2
  159. package/helpers/styles.js +18 -4
  160. package/helpers/with-prevent.d.ts +9 -6
  161. package/helpers/with-prevent.js +16 -9
  162. package/hint/hint-view.d.ts +26 -0
  163. package/hint/hint-view.js +43 -0
  164. package/hint/hint-view.module.scss +31 -0
  165. package/hint/hint.d.ts +14 -0
  166. package/hint/hint.js +41 -0
  167. package/hint/index.d.ts +5 -8
  168. package/hint/index.js +13 -48
  169. package/hint/utils.d.ts +61 -0
  170. package/hint/utils.js +161 -0
  171. package/{hint → hint-deprecated}/hint.module.scss +0 -0
  172. package/hint-deprecated/index.d.ts +11 -0
  173. package/hint-deprecated/index.js +53 -0
  174. package/hooks/breakpoint/index.d.ts +7 -4
  175. package/hooks/breakpoint/index.js +21 -13
  176. package/hooks/breakpoint/types.d.ts +3 -4
  177. package/hooks/breakpoint/utils.d.ts +2 -1
  178. package/hooks/breakpoint/utils.js +2 -1
  179. package/hooks/index.d.ts +8 -8
  180. package/hooks/index.js +27 -19
  181. package/hooks/intersection/test-utils.d.ts +1 -1
  182. package/hooks/intersection/test-utils.js +2 -1
  183. package/hooks/styles.d.ts +6 -0
  184. package/hooks/styles.js +26 -0
  185. package/info-text/index.d.ts +23 -0
  186. package/info-text/index.js +60 -0
  187. package/info-text/info-text.module.scss +28 -0
  188. package/input/index.d.ts +32 -0
  189. package/input/index.js +96 -0
  190. package/input/input.module.scss +20 -0
  191. package/input/utils.d.ts +36 -0
  192. package/input/utils.js +71 -0
  193. package/layout/index.d.ts +6 -11
  194. package/layout/index.js +6 -60
  195. package/layout/layout.d.ts +10 -0
  196. package/layout/layout.js +32 -0
  197. package/layout/layout.module.scss +33 -26
  198. package/layout/legacy.d.ts +15 -0
  199. package/layout/legacy.js +68 -0
  200. package/layout/legacy.module.scss +49 -0
  201. package/layout/types.d.ts +6 -0
  202. package/layout/types.js +2 -0
  203. package/link/index.d.ts +4 -1
  204. package/link/index.js +2 -2
  205. package/link/link.module.scss +10 -0
  206. package/loading-overlay/index.d.ts +1 -0
  207. package/loading-overlay/index.js +1 -0
  208. package/masked-field/index.d.ts +1 -0
  209. package/masked-field/index.js +1 -0
  210. package/masked-input/hook.d.ts +8 -0
  211. package/masked-input/hook.js +72 -0
  212. package/masked-input/index.d.ts +5 -0
  213. package/masked-input/index.js +7 -0
  214. package/masked-input/masked-input.d.ts +8 -0
  215. package/masked-input/masked-input.js +73 -0
  216. package/masked-input/types.d.ts +51 -0
  217. package/masked-input/types.js +2 -0
  218. package/masked-input/utils.d.ts +15 -0
  219. package/masked-input/utils.js +49 -0
  220. package/modal/index.d.ts +10 -12
  221. package/modal/index.js +27 -64
  222. package/modal/modal.module.scss +98 -55
  223. package/modal/slots.d.ts +13 -10
  224. package/modal/slots.js +30 -28
  225. package/modal/utils.d.ts +8 -10
  226. package/modal/utils.js +2 -26
  227. package/modal-overlay/index.d.ts +13 -0
  228. package/modal-overlay/index.js +60 -0
  229. package/modal-overlay/modal-overlay-util.scss +1 -0
  230. package/modal-overlay/modal-overlay.module.scss +14 -0
  231. package/modal-overlay/utils.d.ts +14 -0
  232. package/modal-overlay/utils.js +32 -0
  233. package/package.json +49 -41
  234. package/pagination/utils.d.ts +2 -2
  235. package/panel/index.d.ts +27 -13
  236. package/panel/index.js +43 -9
  237. package/panel/panel.module.scss +49 -8
  238. package/phone-input/index.d.ts +4 -28
  239. package/phone-input/index.js +2 -121
  240. package/phone-input/phone-input.d.ts +8 -0
  241. package/phone-input/phone-input.js +133 -0
  242. package/phone-input/phone-input.module.scss +8 -32
  243. package/phone-input/presets.d.ts +21 -22
  244. package/phone-input/presets.js +1 -2
  245. package/phone-input/types.d.ts +6 -0
  246. package/phone-input/types.js +2 -0
  247. package/phone-input/utils.d.ts +30 -1
  248. package/phone-input/utils.js +52 -3
  249. package/phone-input-deprecated/index.d.ts +29 -0
  250. package/phone-input-deprecated/index.js +124 -0
  251. package/phone-input-deprecated/phone-input.module.scss +41 -0
  252. package/plate/index.d.ts +3 -3
  253. package/plate/index.js +2 -2
  254. package/plate/plate.module.scss +3 -0
  255. package/popup/index.d.ts +5 -0
  256. package/popup/index.js +12 -0
  257. package/popup/popup-view.d.ts +14 -0
  258. package/popup/popup-view.js +35 -0
  259. package/popup/popup-view.module.scss +40 -0
  260. package/popup/popup.d.ts +17 -0
  261. package/popup/popup.js +73 -0
  262. package/popup/utils.d.ts +38 -0
  263. package/popup/utils.js +83 -0
  264. package/price/index.d.ts +1 -1
  265. package/price/index.js +3 -3
  266. package/price/utils.d.ts +5 -5
  267. package/price/utils.js +33 -23
  268. package/radio-button/index.d.ts +10 -0
  269. package/radio-button/index.js +33 -0
  270. package/radio-button/radio-button.module.scss +46 -0
  271. package/rating/index.d.ts +2 -1
  272. package/rating/types.d.ts +1 -1
  273. package/readme.md +34 -41
  274. package/screen/index.d.ts +4 -2
  275. package/screen/index.js +34 -3
  276. package/screen/screen.module.scss +0 -2
  277. package/screen/slots.d.ts +2 -8
  278. package/screen/slots.js +8 -9
  279. package/screen/utils.d.ts +2 -1
  280. package/select/index.d.ts +2 -33
  281. package/select/index.js +3 -109
  282. package/select/parts/block.d.ts +8 -0
  283. package/select/parts/block.js +70 -0
  284. package/select/parts/block.module.scss +3 -0
  285. package/select/parts/button.d.ts +8 -0
  286. package/select/parts/button.js +69 -0
  287. package/select/parts/menu.d.ts +8 -0
  288. package/select/parts/menu.js +105 -0
  289. package/select/parts/menu.module.scss +4 -0
  290. package/select/select.d.ts +14 -0
  291. package/select/select.js +145 -0
  292. package/select/types.d.ts +55 -0
  293. package/select/types.js +2 -0
  294. package/select/utils.d.ts +3 -0
  295. package/select/utils.js +13 -0
  296. package/select-deprecated/index.d.ts +34 -0
  297. package/select-deprecated/index.js +112 -0
  298. package/{select → select-deprecated}/select.module.scss +0 -0
  299. package/shadows.scss +18 -0
  300. package/side-page/index.d.ts +11 -26
  301. package/side-page/index.js +21 -26
  302. package/side-page/side-page.module.scss +35 -29
  303. package/side-page/slots.d.ts +12 -20
  304. package/side-page/slots.js +16 -28
  305. package/spinner/index.d.ts +18 -6
  306. package/spinner/index.js +25 -12
  307. package/spinner/spinner.module.scss +8 -0
  308. package/stepper/index.d.ts +18 -10
  309. package/stepper/index.js +17 -8
  310. package/stepper/stepper.module.scss +14 -15
  311. package/styling/fonts.d.ts +3 -3
  312. package/switcher-row/index.d.ts +42 -0
  313. package/switcher-row/index.js +59 -0
  314. package/switcher-row/switcher-row.module.scss +55 -0
  315. package/text/index.d.ts +1 -1
  316. package/text-button/index.d.ts +42 -0
  317. package/text-button/index.js +46 -0
  318. package/text-button/text-button.module.scss +99 -0
  319. package/text-field/index.d.ts +7 -6
  320. package/text-field/index.js +3 -2
  321. package/textarea/index.d.ts +21 -0
  322. package/textarea/index.js +85 -0
  323. package/textarea/textarea.module.scss +15 -0
  324. package/toggle/index.d.ts +3 -3
  325. package/toggle/toggle.module.scss +17 -8
  326. package/tooltip/index.d.ts +1 -0
  327. package/tooltip/index.js +1 -0
  328. package/top-bar/index.d.ts +3 -40
  329. package/top-bar/index.js +4 -60
  330. package/top-bar/top-bar-util.scss +29 -0
  331. package/top-bar/top-bar.d.ts +9 -0
  332. package/top-bar/top-bar.js +101 -0
  333. package/top-bar/top-bar.module.scss +129 -67
  334. package/top-bar/types.d.ts +31 -0
  335. package/top-bar/types.js +2 -0
  336. package/top-bar/utils.d.ts +14 -0
  337. package/top-bar/utils.js +56 -0
  338. package/touch-slider/index.d.ts +1 -0
  339. package/touch-slider/index.js +3 -2
  340. package/types.d.ts +18 -0
  341. package/types.js +2 -0
  342. package/unknown-content/index.d.ts +3 -3
  343. package/unknown-content/index.js +3 -3
  344. package/unknown-content/unknown-content.module.scss +16 -12
  345. package/upload-area/index.d.ts +2 -0
  346. package/upload-area/index.js +5 -0
  347. package/upload-area/types.d.ts +32 -0
  348. package/upload-area/types.js +2 -0
  349. package/upload-area/upload-area-util.scss +17 -0
  350. package/upload-area/upload-area.d.ts +8 -0
  351. package/upload-area/upload-area.js +105 -0
  352. package/upload-area/upload-area.module.scss +78 -0
  353. package/{upload → upload-area}/upload.svg +0 -0
  354. package/upload-area/utils.d.ts +17 -0
  355. package/upload-area/utils.js +48 -0
  356. package/utils.scss +74 -1
  357. package/with-hint/index.d.ts +3 -2
  358. package/with-hint/index.js +1 -0
  359. package/with-hint/positioning-hint.d.ts +1 -1
  360. package/with-hint/positioning-hint.js +2 -2
  361. package/with-tooltip/index.d.ts +2 -1
  362. package/with-tooltip/index.js +1 -0
  363. package/with-tooltip/utils.d.ts +2 -2
  364. package/_internal/body-scroll.d.ts +0 -23
  365. package/_internal/body-scroll.js +0 -41
  366. package/_internal/checkbox/index.d.ts +0 -5
  367. package/constants.d.ts +0 -6
  368. package/constants.js +0 -9
  369. package/nav-bar/index.d.ts +0 -46
  370. package/nav-bar/index.js +0 -76
  371. package/nav-bar/nav-bar.module.scss +0 -95
  372. package/upload/area.d.ts +0 -25
  373. package/upload/area.js +0 -65
  374. package/upload/area.module.scss +0 -44
  375. package/upload/utils.d.ts +0 -29
  376. package/upload/utils.js +0 -45
@@ -1,14 +1,14 @@
1
- import React from 'react';
1
+ import { CSSProperties, ReactNode, Ref } from 'react';
2
2
  import { OverlayScrollbarsComponent, OverlayScrollbarsComponentProps } from 'overlayscrollbars-react';
3
3
  import 'overlayscrollbars/css/OverlayScrollbars.css';
4
- declare type Options = NonNullable<OverlayScrollbarsComponentProps['options']>;
4
+ type Options = NonNullable<OverlayScrollbarsComponentProps['options']>;
5
5
  export interface CustomScrollbarProps {
6
6
  /** Стили. */
7
- style?: React.CSSProperties;
7
+ style?: CSSProperties;
8
8
  /** Класс. */
9
9
  className?: string;
10
10
  /** Содержимое. */
11
- children?: React.ReactNode;
11
+ children?: ReactNode;
12
12
  /** Опции переполнения. */
13
13
  overflow?: Options['overflowBehavior'];
14
14
  /** Необходимо поставить true если нужно использовать внутри flexbox-родителя. */
@@ -18,19 +18,25 @@ export interface CustomScrollbarProps {
18
18
  /** Запас для определения полной прокрутки. */
19
19
  fullScrollThreshold?: number;
20
20
  /** Реф для экземпляра компонента OverlayScrollbarsComponent. */
21
- osComponentRef?: React.LegacyRef<OverlayScrollbarsComponent>;
21
+ osComponentRef?: Ref<OverlayScrollbarsComponent>;
22
22
  }
23
23
  /**
24
24
  * Компонент блока с кастомными полосами прокрутки по гайдам.
25
25
  * @param props Свойства.
26
26
  * @return Элемент.
27
27
  */
28
- export declare const CustomScrollbar: ({ osComponentRef, style, className, children, overflow, inFlexBox, onFullScroll, fullScrollThreshold, }: CustomScrollbarProps) => JSX.Element;
28
+ export declare function CustomScrollbar({ osComponentRef, style, className, children, overflow, inFlexBox, onFullScroll, fullScrollThreshold, }: CustomScrollbarProps): JSX.Element;
29
29
  /**
30
30
  * Возвращает обработчик прокрутки, который вызовет callback при полной прокрутке.
31
31
  * @param callback Callback.
32
32
  * @param threshold Запас.
33
33
  * @return Обработчик.
34
34
  */
35
- export declare const HandleFullScroll: (callback: () => void, threshold?: number) => (event: UIEvent | undefined) => void;
35
+ export declare function HandleFullScroll(callback: () => void, threshold?: number): (event: UIEvent | undefined) => void;
36
+ /**
37
+ * Получив OverlayScrollbarsComponent вернет элемент-viewport или null.
38
+ * @param component Экземпляр OverlayScrollbarsComponent.
39
+ * @return Элемент или null.
40
+ */
41
+ export declare function getViewport(component: OverlayScrollbarsComponent | undefined | null): HTMLElement | null;
36
42
  export {};
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.HandleFullScroll = exports.CustomScrollbar = void 0;
6
+ exports.getViewport = exports.HandleFullScroll = exports.CustomScrollbar = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const overlayscrollbars_react_1 = require("overlayscrollbars-react");
9
9
  const bind_1 = __importDefault(require("classnames/bind"));
@@ -15,14 +15,16 @@ const cx = bind_1.default.bind(custom_scrollbar_module_scss_1.default);
15
15
  * @param props Свойства.
16
16
  * @return Элемент.
17
17
  */
18
- const CustomScrollbar = ({ osComponentRef, style, className, children, overflow, inFlexBox = false, onFullScroll, fullScrollThreshold, }) => (react_1.default.createElement(overlayscrollbars_react_1.OverlayScrollbarsComponent, { ref: osComponentRef, style: style, className: cx('custom-scrollbar', className, { 'os-host-flexbox': inFlexBox }), options: {
19
- overflowBehavior: overflow,
20
- callbacks: onFullScroll
21
- ? {
22
- onScrollStop: (0, exports.HandleFullScroll)(onFullScroll, fullScrollThreshold),
23
- }
24
- : undefined,
25
- } }, children));
18
+ function CustomScrollbar({ osComponentRef, style, className, children, overflow, inFlexBox = false, onFullScroll, fullScrollThreshold, }) {
19
+ return (react_1.default.createElement(overlayscrollbars_react_1.OverlayScrollbarsComponent, { ref: osComponentRef, style: style, className: cx('custom-scrollbar', className, { 'os-host-flexbox': inFlexBox }), options: {
20
+ overflowBehavior: overflow,
21
+ callbacks: onFullScroll
22
+ ? {
23
+ onScrollStop: HandleFullScroll(onFullScroll, fullScrollThreshold),
24
+ }
25
+ : undefined,
26
+ } }, children));
27
+ }
26
28
  exports.CustomScrollbar = CustomScrollbar;
27
29
  /**
28
30
  * Возвращает обработчик прокрутки, который вызовет callback при полной прокрутке.
@@ -30,10 +32,22 @@ exports.CustomScrollbar = CustomScrollbar;
30
32
  * @param threshold Запас.
31
33
  * @return Обработчик.
32
34
  */
33
- const HandleFullScroll = (callback, threshold = 16) => (event) => {
34
- const el = event === null || event === void 0 ? void 0 : event.target;
35
- el instanceof Element &&
36
- el.scrollTop >= el.scrollHeight - el.clientHeight - threshold &&
37
- callback();
38
- };
35
+ function HandleFullScroll(callback, threshold = 16) {
36
+ return (event) => {
37
+ const el = event === null || event === void 0 ? void 0 : event.target;
38
+ el instanceof Element &&
39
+ el.scrollTop >= el.scrollHeight - el.clientHeight - threshold &&
40
+ callback();
41
+ };
42
+ }
39
43
  exports.HandleFullScroll = HandleFullScroll;
44
+ /**
45
+ * Получив OverlayScrollbarsComponent вернет элемент-viewport или null.
46
+ * @param component Экземпляр OverlayScrollbarsComponent.
47
+ * @return Элемент или null.
48
+ */
49
+ function getViewport(component) {
50
+ var _a;
51
+ return ((_a = component === null || component === void 0 ? void 0 : component.osInstance()) === null || _a === void 0 ? void 0 : _a.getElements().viewport) || null;
52
+ }
53
+ exports.getViewport = getViewport;
@@ -1,9 +1,9 @@
1
- import React from 'react';
2
- declare type Props = Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'children'>;
1
+ import { HTMLAttributes } from 'react';
2
+ type DropdownLoadingProps = Omit<HTMLAttributes<HTMLDivElement>, 'className' | 'children'>;
3
3
  /**
4
4
  * Плашка состояния загрузки для Dropdown.
5
5
  * @param props Свойства.
6
6
  * @return Элемент.
7
7
  */
8
- export declare const DropdownLoading: (props: Props) => JSX.Element;
8
+ export declare function DropdownLoading(props: DropdownLoadingProps): JSX.Element;
9
9
  export {};
@@ -12,6 +12,8 @@ const index_module_scss_1 = __importDefault(require("./index.module.scss"));
12
12
  * @param props Свойства.
13
13
  * @return Элемент.
14
14
  */
15
- const DropdownLoading = (props) => (react_1.default.createElement("div", Object.assign({}, props, { className: index_module_scss_1.default.root }),
16
- react_1.default.createElement(spinner_1.Spinner, { size: 'small' })));
15
+ function DropdownLoading(props) {
16
+ return (react_1.default.createElement("div", Object.assign({}, props, { className: index_module_scss_1.default.root }),
17
+ react_1.default.createElement(spinner_1.SpinnerSVG, { size: 's' })));
18
+ }
17
19
  exports.DropdownLoading = DropdownLoading;
@@ -0,0 +1,39 @@
1
+ import type { PageScrollLockAdapter } from '../types';
2
+ import { BodyScrollOptions } from 'body-scroll-lock';
3
+ /**
4
+ * Имя атрибута, устанавливаемого на элемент, имеющий прокрутку.
5
+ * Атрибут устанавливается на элемент в случае, если
6
+ * прокручиваемый родитель элемента обрабатывается с помощью body-scroll-lock.
7
+ */
8
+ export declare const BSL_IGNORE_ATTR = "data-bsl-ignore";
9
+ /** Адаптер блокировки прокрутки использующий BSL. */
10
+ export declare class PageScrollLock implements PageScrollLockAdapter {
11
+ private element;
12
+ private options?;
13
+ private lib;
14
+ /**
15
+ * Конструктор.
16
+ * @param element Целевой элемент для которого надо сохранить прокрутку.
17
+ * @param options Опции блокировки.
18
+ */
19
+ constructor(element: Element, options?: BodyScrollOptions);
20
+ /**
21
+ * Позволяет заменить библиотеку body-scroll-lock.
22
+ * Полезен для использования версии BSL, отличной от той что используется в библиотеке.
23
+ * @param lib Библиотека body-scroll-lock.
24
+ */
25
+ replaceLib(lib: PageScrollLock['lib']): void;
26
+ /** @inheritdoc */
27
+ lock(): void;
28
+ /** @inheritdoc */
29
+ unlock(): void;
30
+ }
31
+ /**
32
+ * Проверяет необходимость блокировки дочерних элементов в прокручиваемом элементе.
33
+ * Необходима для того, чтобы в прокручиваемых контейнерах вложенные прокручиваемые элементы,
34
+ * имеющие специальный атрибут, прокручивались нормально.
35
+ * @see {@link https://github.com/willmcpo/body-scroll-lock#more-complex}
36
+ * @param startEl Начальный элемент.
37
+ * @return Нужно ли позволить перетаскивание элемента.
38
+ */
39
+ export declare const allowTouchMove: Required<BodyScrollOptions>['allowTouchMove'];
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.allowTouchMove = exports.PageScrollLock = exports.BSL_IGNORE_ATTR = void 0;
4
+ const body_scroll_lock_1 = require("body-scroll-lock");
5
+ /**
6
+ * Имя атрибута, устанавливаемого на элемент, имеющий прокрутку.
7
+ * Атрибут устанавливается на элемент в случае, если
8
+ * прокручиваемый родитель элемента обрабатывается с помощью body-scroll-lock.
9
+ */
10
+ exports.BSL_IGNORE_ATTR = 'data-bsl-ignore';
11
+ /** Адаптер блокировки прокрутки использующий BSL. */
12
+ class PageScrollLock {
13
+ /**
14
+ * Конструктор.
15
+ * @param element Целевой элемент для которого надо сохранить прокрутку.
16
+ * @param options Опции блокировки.
17
+ */
18
+ constructor(element, options) {
19
+ this.element = element;
20
+ this.options = options;
21
+ this.lib = {
22
+ disableBodyScroll: body_scroll_lock_1.disableBodyScroll,
23
+ enableBodyScroll: body_scroll_lock_1.enableBodyScroll,
24
+ };
25
+ }
26
+ /**
27
+ * Позволяет заменить библиотеку body-scroll-lock.
28
+ * Полезен для использования версии BSL, отличной от той что используется в библиотеке.
29
+ * @param lib Библиотека body-scroll-lock.
30
+ */
31
+ replaceLib(lib) {
32
+ this.lib = lib;
33
+ }
34
+ /** @inheritdoc */
35
+ lock() {
36
+ this.lib.disableBodyScroll(this.element, Object.assign(Object.assign({}, this.options), { allowTouchMove: exports.allowTouchMove }));
37
+ }
38
+ /** @inheritdoc */
39
+ unlock() {
40
+ this.lib.enableBodyScroll(this.element);
41
+ }
42
+ }
43
+ exports.PageScrollLock = PageScrollLock;
44
+ /**
45
+ * Проверяет необходимость блокировки дочерних элементов в прокручиваемом элементе.
46
+ * Необходима для того, чтобы в прокручиваемых контейнерах вложенные прокручиваемые элементы,
47
+ * имеющие специальный атрибут, прокручивались нормально.
48
+ * @see {@link https://github.com/willmcpo/body-scroll-lock#more-complex}
49
+ * @param startEl Начальный элемент.
50
+ * @return Нужно ли позволить перетаскивание элемента.
51
+ */
52
+ const allowTouchMove = (startEl) => {
53
+ let el = startEl;
54
+ while (el && el !== document.body) {
55
+ if (el.getAttribute(exports.BSL_IGNORE_ATTR) !== null) {
56
+ return true;
57
+ }
58
+ el = el.parentElement;
59
+ }
60
+ return false;
61
+ };
62
+ exports.allowTouchMove = allowTouchMove;
@@ -0,0 +1,25 @@
1
+ import type { PageScrollLockAdapter, PageScrollLockOptions } from '../types';
2
+ /** Адаптер блокировки прокрутки использующий внутреннее решение ui-nucleons. */
3
+ export declare class PageScrollLock implements PageScrollLockAdapter {
4
+ private options?;
5
+ private bodyStyle?;
6
+ /**
7
+ * Конструктор.
8
+ * @param options Опции.
9
+ */
10
+ constructor(options?: PageScrollLockOptions);
11
+ /** @inheritdoc */
12
+ lock(): void;
13
+ /** @inheritdoc */
14
+ unlock(): void;
15
+ /**
16
+ * Определяет заблокирована ли прокрутка.
17
+ * @return True если прокрутка заблокирована.
18
+ */
19
+ private isLocked;
20
+ /**
21
+ * Определяет ширину полосы прокрутки.
22
+ * @return Ширина в пикселях.
23
+ */
24
+ private getScrollbarWidth;
25
+ }
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PageScrollLock = void 0;
4
+ const MARK_ATTR = 'data-scroll-locked';
5
+ /** Адаптер блокировки прокрутки использующий внутреннее решение ui-nucleons. */
6
+ class PageScrollLock {
7
+ /**
8
+ * Конструктор.
9
+ * @param options Опции.
10
+ */
11
+ constructor(options) {
12
+ this.options = options;
13
+ }
14
+ /** @inheritdoc */
15
+ lock() {
16
+ var _a;
17
+ if (!this.isLocked()) {
18
+ const scrollTop = document.documentElement.scrollTop;
19
+ this.bodyStyle = new StyleAffect(document.body);
20
+ // устанавливаем width: 100vw так как body сжимается при установке position: fixed
21
+ // @todo при необходимости дать возможность задавать установку ширины самостоятельно
22
+ this.bodyStyle.set('width', '100vw').set('position', 'fixed').set('top', `${-scrollTop}px`);
23
+ if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.reserveScrollBarGap) {
24
+ const gap = this.getScrollbarWidth();
25
+ gap > 0 && this.bodyStyle.set('padding-right', `${gap}px`);
26
+ }
27
+ document.body.setAttribute(MARK_ATTR, 'true');
28
+ }
29
+ }
30
+ /** @inheritdoc */
31
+ unlock() {
32
+ var _a;
33
+ if (this.isLocked()) {
34
+ const { body } = document;
35
+ const parsed = parseFloat(body.style.getPropertyValue('top').replace(/[A-z]*/g, '')) || 0;
36
+ (_a = this.bodyStyle) === null || _a === void 0 ? void 0 : _a.restore();
37
+ window.scrollTo(0, -parsed);
38
+ document.body.removeAttribute(MARK_ATTR);
39
+ }
40
+ }
41
+ /**
42
+ * Определяет заблокирована ли прокрутка.
43
+ * @return True если прокрутка заблокирована.
44
+ */
45
+ isLocked() {
46
+ return document.body.hasAttribute(MARK_ATTR);
47
+ }
48
+ /**
49
+ * Определяет ширину полосы прокрутки.
50
+ * @return Ширина в пикселях.
51
+ */
52
+ getScrollbarWidth() {
53
+ // https://javascript.info/task/scrollbar-width
54
+ const div = document.createElement('div');
55
+ div.style.overflowY = 'scroll';
56
+ div.style.width = '50px';
57
+ div.style.height = '50px';
58
+ // must be inserted into body, otherwise sizes will be zero
59
+ document.body.append(div);
60
+ const scrollBarWidth = div.offsetWidth - div.clientWidth;
61
+ div.remove();
62
+ return scrollBarWidth;
63
+ }
64
+ }
65
+ exports.PageScrollLock = PageScrollLock;
66
+ /** Промежуточный слой для установки стилей на элемент с возможностью восстановления состояния. */
67
+ class StyleAffect {
68
+ /**
69
+ * @param element Целевой элемент.
70
+ */
71
+ constructor(element) {
72
+ this.element = element;
73
+ this.changes = new Map();
74
+ }
75
+ /**
76
+ * Устанавливает стили на элемент и запоминает предыдущее значение.
77
+ * @param prop Имя свойства.
78
+ * @param value Значение.
79
+ * @param priority Приоритет.
80
+ * @return Экземпляр.
81
+ */
82
+ set(prop, value, priority) {
83
+ if (!this.changes.has(prop)) {
84
+ this.changes.set(prop, {
85
+ oldValue: this.element.style.getPropertyValue(prop),
86
+ oldPriority: this.element.style.getPropertyPriority(prop),
87
+ });
88
+ }
89
+ this.element.style.setProperty(prop, value, priority);
90
+ return this;
91
+ }
92
+ /**
93
+ * Откатывает стили.
94
+ * @return Экземпляр.
95
+ */
96
+ restore() {
97
+ for (const [prop, { oldValue, oldPriority }] of this.changes) {
98
+ this.element.style.setProperty(prop, oldValue, oldPriority);
99
+ }
100
+ this.changes.clear();
101
+ return this;
102
+ }
103
+ }
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ import { PageScrollLockContextValue, PageScrollLockProviderProps } from './types';
3
+ /**
4
+ * Провайдер реализации блокировки прокрутки.
5
+ * @param props Свойства.
6
+ * @return Элемент.
7
+ */
8
+ export declare function PageScrollProvider({ children, adapter }: PageScrollLockProviderProps): JSX.Element;
9
+ /**
10
+ * Хук использования реализации блокировки прокрутки.
11
+ * @return Реализация.
12
+ */
13
+ export declare function usePageScrollContext(): PageScrollLockContextValue;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.usePageScrollContext = exports.PageScrollProvider = void 0;
27
+ const react_1 = __importStar(require("react"));
28
+ const body_scroll_lock_1 = require("./adapters/body-scroll-lock");
29
+ const PageScrollContext = (0, react_1.createContext)(null);
30
+ const DEFAULTS = {
31
+ adapter: (element, options) => new body_scroll_lock_1.PageScrollLock(element, options),
32
+ };
33
+ /**
34
+ * Провайдер реализации блокировки прокрутки.
35
+ * @param props Свойства.
36
+ * @return Элемент.
37
+ */
38
+ function PageScrollProvider({ children, adapter }) {
39
+ const contextValue = (0, react_1.useContext)(PageScrollContext);
40
+ if (contextValue !== null) {
41
+ throw Error('PageScrollContext: only one provider allowed in jsx tree');
42
+ }
43
+ return react_1.default.createElement(PageScrollContext.Provider, { value: { adapter } }, children);
44
+ }
45
+ exports.PageScrollProvider = PageScrollProvider;
46
+ /**
47
+ * Хук использования реализации блокировки прокрутки.
48
+ * @return Реализация.
49
+ */
50
+ function usePageScrollContext() {
51
+ const context = (0, react_1.useContext)(PageScrollContext);
52
+ return context || DEFAULTS;
53
+ }
54
+ exports.usePageScrollContext = usePageScrollContext;
@@ -0,0 +1,12 @@
1
+ import type { RefObject } from 'react';
2
+ import type { BodyScrollOptions } from 'body-scroll-lock';
3
+ interface HookOptions extends Pick<BodyScrollOptions, 'reserveScrollBarGap'> {
4
+ lockEnabled?: boolean;
5
+ }
6
+ /**
7
+ * Хук управления блокировкой прокрутки body.
8
+ * @param ref Ref прокручиваемого элемента для которого нужно отключить прокрутку body.
9
+ * @param options Опции.
10
+ */
11
+ export declare function usePageScrollLock(ref: RefObject<HTMLElement>, options?: HookOptions): void;
12
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.usePageScrollLock = void 0;
4
+ const hooks_1 = require("../../hooks");
5
+ const context_1 = require("./context");
6
+ const DEFAULTS = {
7
+ lockEnabled: true,
8
+ reserveScrollBarGap: true,
9
+ };
10
+ /**
11
+ * Хук управления блокировкой прокрутки body.
12
+ * @param ref Ref прокручиваемого элемента для которого нужно отключить прокрутку body.
13
+ * @param options Опции.
14
+ */
15
+ function usePageScrollLock(ref, options = DEFAULTS) {
16
+ const { adapter } = (0, context_1.usePageScrollContext)();
17
+ (0, hooks_1.useIsomorphicLayoutEffect)(() => {
18
+ const element = ref.current;
19
+ if (element && options.lockEnabled) {
20
+ const pageScroll = adapter(element, options);
21
+ pageScroll.lock();
22
+ return () => pageScroll.unlock();
23
+ }
24
+ }, [options === null || options === void 0 ? void 0 : options.lockEnabled, options === null || options === void 0 ? void 0 : options.reserveScrollBarGap]);
25
+ }
26
+ exports.usePageScrollLock = usePageScrollLock;
@@ -0,0 +1,4 @@
1
+ export type { WithPageScrollLock, PageScrollLockAdapterFactory } from './types';
2
+ export { BSL_IGNORE_ATTR } from './adapters/body-scroll-lock';
3
+ export { usePageScrollLock } from './hook';
4
+ export { PageScrollProvider } from './context';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PageScrollProvider = exports.usePageScrollLock = exports.BSL_IGNORE_ATTR = void 0;
4
+ var body_scroll_lock_1 = require("./adapters/body-scroll-lock");
5
+ Object.defineProperty(exports, "BSL_IGNORE_ATTR", { enumerable: true, get: function () { return body_scroll_lock_1.BSL_IGNORE_ATTR; } });
6
+ var hook_1 = require("./hook");
7
+ Object.defineProperty(exports, "usePageScrollLock", { enumerable: true, get: function () { return hook_1.usePageScrollLock; } });
8
+ var context_1 = require("./context");
9
+ Object.defineProperty(exports, "PageScrollProvider", { enumerable: true, get: function () { return context_1.PageScrollProvider; } });
@@ -0,0 +1,22 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { BodyScrollOptions } from 'body-scroll-lock';
3
+ export interface PageScrollLockAdapterFactory {
4
+ (target: HTMLElement, options?: WithPageScrollLock['scrollDisableOptions']): PageScrollLockAdapter;
5
+ }
6
+ export interface PageScrollLockContextValue {
7
+ adapter: PageScrollLockAdapterFactory;
8
+ }
9
+ export interface PageScrollLockProviderProps extends PageScrollLockContextValue {
10
+ children?: ReactNode;
11
+ }
12
+ export interface PageScrollLockAdapter {
13
+ lock(): void;
14
+ unlock(): void;
15
+ }
16
+ export type PageScrollLockOptions = Pick<BodyScrollOptions, 'reserveScrollBarGap'>;
17
+ export interface WithPageScrollLock {
18
+ /** Нужно ли выключать прокрутку body. */
19
+ withScrollDisable?: boolean;
20
+ /** Опции отключения прокрутки. */
21
+ scrollDisableOptions?: PageScrollLockOptions;
22
+ }
@@ -1,3 +1,5 @@
1
1
  # Внутренние компоненты
2
2
 
3
3
  Компоненты из этого каталога не должны использоваться за пределами данной библиотеки.
4
+
5
+ Ломающие изменения содержимого данного каталога не влияют на мажорность релиза.
@@ -1,6 +1,7 @@
1
1
  import { HEIGHTS } from '../../text-field';
2
2
  /**
3
3
  * Получив размер TextField, возвращает свойства для Dropdown для позиционирования строго под полем.
4
+ * @deprecated Эта функция больше не нужна так как позиционирование выполняется другим способом.
4
5
  * @param size Размер TextField.
5
6
  * @return Свойства для Dropdown.
6
7
  */
@@ -4,6 +4,7 @@ exports.placeDropdown = void 0;
4
4
  const text_field_1 = require("../../text-field");
5
5
  /**
6
6
  * Получив размер TextField, возвращает свойства для Dropdown для позиционирования строго под полем.
7
+ * @deprecated Эта функция больше не нужна так как позиционирование выполняется другим способом.
7
8
  * @param size Размер TextField.
8
9
  * @return Свойства для Dropdown.
9
10
  */
@@ -1,34 +1,11 @@
1
- @use '../colors';
2
-
3
1
  .overlay {
4
- position: fixed;
5
-
6
- // для корректного отображения с динамическим viewport переменная --offsetTop должна быть доступна
7
- top: var(--offsetTop, 0);
8
- left: 0;
9
- width: 100%;
10
-
11
- // для корректного отображения с динамическим viewport переменная --vh должна быть доступна
12
- height: calc(var(--vh, 1vh) * 100);
13
2
  display: flex;
14
3
  align-items: center;
15
4
  justify-content: center;
16
- background: transparentize(colors.$basic-gray87, 0.76);
17
5
  }
18
6
 
19
7
  .alert {
20
- display: flex;
21
- flex-direction: column;
22
8
  width: 288px;
23
- background: #fff;
24
- border-radius: 8px;
25
9
  max-height: 536px;
26
- }
27
-
28
- .header {
29
- border-radius: 8px 8px 0 0;
30
- }
31
-
32
- .main {
33
- flex-grow: 1;
10
+ margin: auto; // для корректной прокрутки во flex-контейнере
34
11
  }
package/alert/index.d.ts CHANGED
@@ -1,27 +1,21 @@
1
1
  import React from 'react';
2
- import { NavBarProps } from '../nav-bar';
3
- import { WithBodyScrollLock } from '../_internal/body-scroll';
4
- export interface AlertProps extends WithBodyScrollLock {
2
+ import { WithPageScrollLock } from '../_internal/page-scroll-lock';
3
+ import { CardContentProps } from '../card/slots';
4
+ export interface AlertProps extends WithPageScrollLock {
5
5
  /** Основное содержимое. */
6
6
  children?: React.ReactNode;
7
- /** Класс для блока всего содержимого. */
8
- className?: string;
9
- /** Содержимое "подвала". */
10
- footer?: React.ReactNode;
11
- /** Свойства компонента NavBar. */
12
- navBarProps?: NavBarProps;
13
- /** Заголовок. */
14
- title?: string;
15
- /** Нужна ли полоса между шапкой и основным содержимым. */
16
- withDivideNavBar?: boolean;
17
- /** Нужна ли шапка. */
18
- withNavBar?: boolean;
19
7
  /** Будет вызвана при закрытии окна нажатием на затемнение. */
20
- onClose?: () => void;
8
+ onClose?: VoidFunction;
21
9
  }
22
10
  /**
23
11
  * Компонент модального диалога.
24
12
  * @param props Свойства.
25
13
  * @return Элемент.
26
14
  */
27
- export declare const Alert: ({ children, className, footer, navBarProps, title, withDivideNavBar, withNavBar, withScrollDisable, scrollDisableOptions, onClose, }: AlertProps) => JSX.Element;
15
+ export declare function Alert({ children, withScrollDisable, scrollDisableOptions, onClose, }: AlertProps): JSX.Element;
16
+ /**
17
+ * Основной контент Alert.
18
+ * @param props Свойства.
19
+ * @return Элемент.
20
+ */
21
+ export declare function AlertBody({ children }: CardContentProps): JSX.Element;