@megafon/ui-shared 5.16.0 → 6.0.0-beta.1

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 (285) hide show
  1. package/dist/es/components/AccordionBox/AccordionBox.css +1 -15
  2. package/dist/es/components/AccordionBox/AccordionBox.d.ts +2 -2
  3. package/dist/es/components/AccordionBox/AccordionBox.js +6 -49
  4. package/dist/es/components/AudioPlayer/AudioPlayer.d.ts +2 -2
  5. package/dist/es/components/AudioPlayer/AudioPlayer.js +11 -27
  6. package/dist/es/components/AudioPlayer/AudioProgress.d.ts +1 -1
  7. package/dist/es/components/AudioPlayer/AudioProgress.js +10 -22
  8. package/dist/es/components/AudioPlayer/AudioRange.d.ts +1 -1
  9. package/dist/es/components/AudioPlayer/AudioRange.js +8 -10
  10. package/dist/es/components/AudioPlayer/AudioVolume.d.ts +1 -1
  11. package/dist/es/components/AudioPlayer/AudioVolume.js +3 -12
  12. package/dist/es/components/AudioPlayer/hooks/useTrackDuration.js +4 -10
  13. package/dist/es/components/AudioPlayer/style/AudioPlayer.css +1 -58
  14. package/dist/es/components/AudioPlayer/style/AudioProgress.css +1 -35
  15. package/dist/es/components/AudioPlayer/style/AudioRange.css +1 -68
  16. package/dist/es/components/AudioPlayer/style/AudioVolume.css +1 -34
  17. package/dist/es/components/AudioPlayer/timerFormatUtil.js +1 -9
  18. package/dist/es/components/BannerBox/BannerBox.d.ts +1 -1
  19. package/dist/es/components/BannerBox/BannerBox.js +3 -12
  20. package/dist/es/components/BenefitsIcons/BenefitsIcons.d.ts +1 -1
  21. package/dist/es/components/BenefitsIcons/BenefitsIcons.js +23 -64
  22. package/dist/es/components/BenefitsIcons/BenefitsIconsTile.d.ts +1 -1
  23. package/dist/es/components/BenefitsIcons/BenefitsIconsTile.js +9 -36
  24. package/dist/es/components/BenefitsIcons/helpers.d.ts +3 -3
  25. package/dist/es/components/BenefitsIcons/helpers.js +6 -20
  26. package/dist/es/components/BenefitsIcons/style/BenefitsIcons.css +1 -38
  27. package/dist/es/components/BenefitsIcons/style/BenefitsIconsTile.css +1 -90
  28. package/dist/es/components/BenefitsIcons/types.d.ts +5 -5
  29. package/dist/es/components/BenefitsPictures/BenefitsPictures.d.ts +1 -1
  30. package/dist/es/components/BenefitsPictures/BenefitsPictures.js +19 -49
  31. package/dist/es/components/BenefitsPictures/BenfitsPictures.css +1 -43
  32. package/dist/es/components/BenefitsPictures/helpers.d.ts +2 -2
  33. package/dist/es/components/BenefitsPictures/helpers.js +0 -14
  34. package/dist/es/components/BenefitsPictures/types.d.ts +3 -3
  35. package/dist/es/components/BenefitsPictures/types.js +1 -0
  36. package/dist/es/components/Breadcrumbs/Breadcrumbs.css +1 -43
  37. package/dist/es/components/Breadcrumbs/Breadcrumbs.d.ts +6 -6
  38. package/dist/es/components/Breadcrumbs/Breadcrumbs.js +10 -39
  39. package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.css +1 -16
  40. package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.d.ts +4 -4
  41. package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.js +11 -36
  42. package/dist/es/components/ButtonBanner/ButtonBanner.css +1 -122
  43. package/dist/es/components/ButtonBanner/ButtonBanner.d.ts +7 -7
  44. package/dist/es/components/ButtonBanner/ButtonBanner.js +22 -53
  45. package/dist/es/components/ButtonLinkBox/ButtonLinkBox.css +1 -19
  46. package/dist/es/components/ButtonLinkBox/ButtonLinkBox.d.ts +3 -3
  47. package/dist/es/components/ButtonLinkBox/ButtonLinkBox.js +20 -51
  48. package/dist/es/components/Card/Card.css +1 -354
  49. package/dist/es/components/Card/Card.d.ts +5 -9
  50. package/dist/es/components/Card/Card.js +26 -136
  51. package/dist/es/components/Card/types.d.ts +9 -15
  52. package/dist/es/components/Card/types.js +1 -0
  53. package/dist/es/components/CardsBox/CardsBox.js +3 -14
  54. package/dist/es/components/CardsBox/helpers.d.ts +2 -2
  55. package/dist/es/components/CardsBox/helpers.js +0 -4
  56. package/dist/es/components/CarouselBox/CarouselBox.d.ts +2 -2
  57. package/dist/es/components/CarouselBox/CarouselBox.js +11 -24
  58. package/dist/es/components/Container/Container.css +1 -3230
  59. package/dist/es/components/Container/Container.d.ts +7 -5
  60. package/dist/es/components/Container/Container.js +10 -25
  61. package/dist/es/components/DownloadLinks/DownloadLink.css +1 -37
  62. package/dist/es/components/DownloadLinks/DownloadLink.d.ts +1 -1
  63. package/dist/es/components/DownloadLinks/DownloadLink.js +13 -44
  64. package/dist/es/components/DownloadLinks/DownloadLinks.css +1 -36
  65. package/dist/es/components/DownloadLinks/DownloadLinks.d.ts +3 -3
  66. package/dist/es/components/DownloadLinks/DownloadLinks.js +2 -13
  67. package/dist/es/components/FaqWrapper/FaqWrapper.d.ts +5 -2
  68. package/dist/es/components/FaqWrapper/FaqWrapper.js +1 -3
  69. package/dist/es/components/ImageBanner/ImageBanner.css +1 -248
  70. package/dist/es/components/ImageBanner/ImageBanner.d.ts +21 -17
  71. package/dist/es/components/ImageBanner/ImageBanner.js +51 -109
  72. package/dist/es/components/Instructions/Instructions.css +1 -790
  73. package/dist/es/components/Instructions/Instructions.d.ts +11 -11
  74. package/dist/es/components/Instructions/Instructions.js +41 -94
  75. package/dist/es/components/NotificationBox/NotificationBox.css +1 -0
  76. package/dist/es/components/NotificationBox/NotificationBox.d.ts +4 -4
  77. package/dist/es/components/NotificationBox/NotificationBox.js +5 -19
  78. package/dist/es/components/PageTitle/PageTitle.css +1 -80
  79. package/dist/es/components/PageTitle/PageTitle.d.ts +2 -2
  80. package/dist/es/components/PageTitle/PageTitle.js +12 -37
  81. package/dist/es/components/Partners/Partners.css +1 -53
  82. package/dist/es/components/Partners/Partners.d.ts +2 -2
  83. package/dist/es/components/Partners/Partners.js +17 -48
  84. package/dist/es/components/PictureWithDescription/PictureWithDescription.css +1 -80
  85. package/dist/es/components/PictureWithDescription/PictureWithDescription.d.ts +4 -2
  86. package/dist/es/components/PictureWithDescription/PictureWithDescription.js +10 -28
  87. package/dist/es/components/Property/Property.css +1 -156
  88. package/dist/es/components/Property/Property.d.ts +4 -4
  89. package/dist/es/components/Property/Property.js +37 -81
  90. package/dist/es/components/Property/PropertyDescription.css +1 -17
  91. package/dist/es/components/Property/PropertyDescription.d.ts +3 -3
  92. package/dist/es/components/Property/PropertyDescription.js +8 -28
  93. package/dist/es/components/Property/types.d.ts +7 -5
  94. package/dist/es/components/Property/types.js +1 -0
  95. package/dist/es/components/Steps/Steps.css +1 -41
  96. package/dist/es/components/Steps/Steps.d.ts +2 -1
  97. package/dist/es/components/Steps/Steps.js +4 -19
  98. package/dist/es/components/Steps/StepsItem.css +1 -42
  99. package/dist/es/components/Steps/StepsItem.d.ts +2 -2
  100. package/dist/es/components/Steps/StepsItem.js +2 -9
  101. package/dist/es/components/StoreBanner/StoreBanner.css +1 -346
  102. package/dist/es/components/StoreBanner/StoreBanner.d.ts +5 -5
  103. package/dist/es/components/StoreBanner/StoreBanner.js +41 -97
  104. package/dist/es/components/StoreButton/StoreButton.css +1 -327
  105. package/dist/es/components/StoreButton/StoreButton.d.ts +3 -3
  106. package/dist/es/components/StoreButton/StoreButton.js +13 -44
  107. package/dist/es/components/Table/Table.css +1 -157
  108. package/dist/es/components/Table/Table.d.ts +1 -1
  109. package/dist/es/components/Table/Table.js +31 -51
  110. package/dist/es/components/Table/TableCell.js +0 -6
  111. package/dist/es/components/Table/TableRow.js +1 -10
  112. package/dist/es/components/TabsBox/TabsBox.d.ts +1 -1
  113. package/dist/es/components/TabsBox/TabsBox.js +4 -13
  114. package/dist/es/components/TextBox/TextBox.css +1 -25
  115. package/dist/es/components/TextBox/TextBox.d.ts +2 -1
  116. package/dist/es/components/TextBox/TextBox.js +8 -23
  117. package/dist/es/components/TextBox/TextBoxPicture.css +1 -27
  118. package/dist/es/components/TextBox/TextBoxPicture.d.ts +2 -2
  119. package/dist/es/components/TextBox/TextBoxPicture.js +5 -14
  120. package/dist/es/components/TextWithIcon/TextWithIcon.css +1 -10
  121. package/dist/es/components/TextWithIcon/TextWithIcon.d.ts +1 -1
  122. package/dist/es/components/TextWithIcon/TextWithIcon.js +6 -24
  123. package/dist/es/components/TextWithIcon/TextWithIconItem.css +1 -29
  124. package/dist/es/components/TextWithIcon/TextWithIconItem.d.ts +1 -1
  125. package/dist/es/components/TextWithIcon/TextWithIconItem.js +6 -21
  126. package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.css +1 -31
  127. package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.d.ts +1 -1
  128. package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.js +6 -23
  129. package/dist/es/components/VideoBanner/VideoBanner.css +1 -225
  130. package/dist/es/components/VideoBanner/VideoBanner.d.ts +7 -7
  131. package/dist/es/components/VideoBanner/VideoBanner.js +47 -110
  132. package/dist/es/components/VideoBlock/VideoBlock.css +1 -106
  133. package/dist/es/components/VideoBlock/VideoBlock.d.ts +4 -4
  134. package/dist/es/components/VideoBlock/VideoBlock.js +35 -75
  135. package/dist/es/helpers/getColumnConfig.d.ts +5 -1
  136. package/dist/lib/components/AccordionBox/AccordionBox.css +1 -15
  137. package/dist/lib/components/AccordionBox/AccordionBox.d.ts +2 -2
  138. package/dist/lib/components/AccordionBox/AccordionBox.js +10 -66
  139. package/dist/lib/components/AudioPlayer/AudioPlayer.d.ts +2 -2
  140. package/dist/lib/components/AudioPlayer/AudioPlayer.js +32 -56
  141. package/dist/lib/components/AudioPlayer/AudioProgress.d.ts +1 -1
  142. package/dist/lib/components/AudioPlayer/AudioProgress.js +12 -43
  143. package/dist/lib/components/AudioPlayer/AudioRange.d.ts +1 -1
  144. package/dist/lib/components/AudioPlayer/AudioRange.js +9 -17
  145. package/dist/lib/components/AudioPlayer/AudioVolume.d.ts +1 -1
  146. package/dist/lib/components/AudioPlayer/AudioVolume.js +4 -23
  147. package/dist/lib/components/AudioPlayer/hooks/useTrackDuration.js +5 -16
  148. package/dist/lib/components/AudioPlayer/style/AudioPlayer.css +1 -58
  149. package/dist/lib/components/AudioPlayer/style/AudioProgress.css +1 -35
  150. package/dist/lib/components/AudioPlayer/style/AudioRange.css +1 -68
  151. package/dist/lib/components/AudioPlayer/style/AudioVolume.css +1 -34
  152. package/dist/lib/components/AudioPlayer/timerFormatUtil.js +2 -13
  153. package/dist/lib/components/BannerBox/BannerBox.d.ts +1 -1
  154. package/dist/lib/components/BannerBox/BannerBox.js +7 -25
  155. package/dist/lib/components/BenefitsIcons/BenefitsIcons.d.ts +1 -1
  156. package/dist/lib/components/BenefitsIcons/BenefitsIcons.js +26 -86
  157. package/dist/lib/components/BenefitsIcons/BenefitsIconsTile.d.ts +1 -1
  158. package/dist/lib/components/BenefitsIcons/BenefitsIconsTile.js +13 -53
  159. package/dist/lib/components/BenefitsIcons/helpers.d.ts +3 -3
  160. package/dist/lib/components/BenefitsIcons/helpers.js +10 -37
  161. package/dist/lib/components/BenefitsIcons/style/BenefitsIcons.css +1 -38
  162. package/dist/lib/components/BenefitsIcons/style/BenefitsIconsTile.css +1 -90
  163. package/dist/lib/components/BenefitsIcons/types.d.ts +5 -5
  164. package/dist/lib/components/BenefitsIcons/types.js +5 -8
  165. package/dist/lib/components/BenefitsPictures/BenefitsPictures.d.ts +1 -1
  166. package/dist/lib/components/BenefitsPictures/BenefitsPictures.js +24 -71
  167. package/dist/lib/components/BenefitsPictures/BenfitsPictures.css +1 -43
  168. package/dist/lib/components/BenefitsPictures/helpers.d.ts +2 -2
  169. package/dist/lib/components/BenefitsPictures/helpers.js +9 -40
  170. package/dist/lib/components/BenefitsPictures/types.d.ts +3 -3
  171. package/dist/lib/components/BenefitsPictures/types.js +5 -1
  172. package/dist/lib/components/Breadcrumbs/Breadcrumbs.css +1 -43
  173. package/dist/lib/components/Breadcrumbs/Breadcrumbs.d.ts +6 -6
  174. package/dist/lib/components/Breadcrumbs/Breadcrumbs.js +18 -60
  175. package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.css +1 -16
  176. package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.d.ts +4 -4
  177. package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.js +22 -55
  178. package/dist/lib/components/ButtonBanner/ButtonBanner.css +1 -122
  179. package/dist/lib/components/ButtonBanner/ButtonBanner.d.ts +7 -7
  180. package/dist/lib/components/ButtonBanner/ButtonBanner.js +40 -89
  181. package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.css +1 -19
  182. package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.d.ts +3 -3
  183. package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.js +29 -72
  184. package/dist/lib/components/Card/Card.css +1 -354
  185. package/dist/lib/components/Card/Card.d.ts +5 -9
  186. package/dist/lib/components/Card/Card.js +63 -180
  187. package/dist/lib/components/Card/types.d.ts +9 -15
  188. package/dist/lib/components/Card/types.js +5 -1
  189. package/dist/lib/components/CardsBox/CardsBox.js +7 -31
  190. package/dist/lib/components/CardsBox/helpers.d.ts +2 -2
  191. package/dist/lib/components/CardsBox/helpers.js +1 -8
  192. package/dist/lib/components/CarouselBox/CarouselBox.d.ts +2 -2
  193. package/dist/lib/components/CarouselBox/CarouselBox.js +15 -39
  194. package/dist/lib/components/Container/Container.css +1 -3230
  195. package/dist/lib/components/Container/Container.d.ts +7 -5
  196. package/dist/lib/components/Container/Container.js +17 -39
  197. package/dist/lib/components/DownloadLinks/DownloadLink.css +1 -37
  198. package/dist/lib/components/DownloadLinks/DownloadLink.d.ts +1 -1
  199. package/dist/lib/components/DownloadLinks/DownloadLink.js +17 -60
  200. package/dist/lib/components/DownloadLinks/DownloadLinks.css +1 -36
  201. package/dist/lib/components/DownloadLinks/DownloadLinks.d.ts +3 -3
  202. package/dist/lib/components/DownloadLinks/DownloadLinks.js +8 -33
  203. package/dist/lib/components/FaqWrapper/FaqWrapper.d.ts +5 -2
  204. package/dist/lib/components/FaqWrapper/FaqWrapper.js +6 -9
  205. package/dist/lib/components/ImageBanner/ImageBanner.css +1 -248
  206. package/dist/lib/components/ImageBanner/ImageBanner.d.ts +21 -17
  207. package/dist/lib/components/ImageBanner/ImageBanner.js +71 -155
  208. package/dist/lib/components/Instructions/Instructions.css +1 -790
  209. package/dist/lib/components/Instructions/Instructions.d.ts +11 -11
  210. package/dist/lib/components/Instructions/Instructions.js +103 -186
  211. package/dist/lib/components/NotificationBox/NotificationBox.css +1 -0
  212. package/dist/lib/components/NotificationBox/NotificationBox.d.ts +4 -4
  213. package/dist/lib/components/NotificationBox/NotificationBox.js +9 -37
  214. package/dist/lib/components/PageTitle/PageTitle.css +1 -80
  215. package/dist/lib/components/PageTitle/PageTitle.d.ts +2 -2
  216. package/dist/lib/components/PageTitle/PageTitle.js +15 -52
  217. package/dist/lib/components/Partners/Partners.css +1 -53
  218. package/dist/lib/components/Partners/Partners.d.ts +2 -2
  219. package/dist/lib/components/Partners/Partners.js +21 -65
  220. package/dist/lib/components/PictureWithDescription/PictureWithDescription.css +1 -80
  221. package/dist/lib/components/PictureWithDescription/PictureWithDescription.d.ts +4 -2
  222. package/dist/lib/components/PictureWithDescription/PictureWithDescription.js +16 -46
  223. package/dist/lib/components/Property/Property.css +1 -156
  224. package/dist/lib/components/Property/Property.d.ts +4 -4
  225. package/dist/lib/components/Property/Property.js +60 -120
  226. package/dist/lib/components/Property/PropertyDescription.css +1 -17
  227. package/dist/lib/components/Property/PropertyDescription.d.ts +3 -3
  228. package/dist/lib/components/Property/PropertyDescription.js +15 -46
  229. package/dist/lib/components/Property/types.d.ts +7 -5
  230. package/dist/lib/components/Property/types.js +5 -1
  231. package/dist/lib/components/Steps/Steps.css +1 -41
  232. package/dist/lib/components/Steps/Steps.d.ts +2 -1
  233. package/dist/lib/components/Steps/Steps.js +8 -35
  234. package/dist/lib/components/Steps/StepsItem.css +1 -42
  235. package/dist/lib/components/Steps/StepsItem.d.ts +2 -2
  236. package/dist/lib/components/Steps/StepsItem.js +11 -23
  237. package/dist/lib/components/StoreBanner/StoreBanner.css +1 -346
  238. package/dist/lib/components/StoreBanner/StoreBanner.d.ts +5 -5
  239. package/dist/lib/components/StoreBanner/StoreBanner.js +47 -118
  240. package/dist/lib/components/StoreButton/StoreButton.css +1 -327
  241. package/dist/lib/components/StoreButton/StoreButton.d.ts +3 -3
  242. package/dist/lib/components/StoreButton/StoreButton.js +17 -63
  243. package/dist/lib/components/Table/Table.css +1 -157
  244. package/dist/lib/components/Table/Table.d.ts +1 -1
  245. package/dist/lib/components/Table/Table.js +35 -68
  246. package/dist/lib/components/Table/TableCell.js +4 -16
  247. package/dist/lib/components/Table/TableRow.js +5 -19
  248. package/dist/lib/components/TabsBox/TabBox.js +1 -4
  249. package/dist/lib/components/TabsBox/TabsBox.d.ts +1 -1
  250. package/dist/lib/components/TabsBox/TabsBox.js +8 -26
  251. package/dist/lib/components/TextBox/TextBox.css +1 -25
  252. package/dist/lib/components/TextBox/TextBox.d.ts +2 -1
  253. package/dist/lib/components/TextBox/TextBox.js +12 -36
  254. package/dist/lib/components/TextBox/TextBoxPicture.css +1 -27
  255. package/dist/lib/components/TextBox/TextBoxPicture.d.ts +2 -2
  256. package/dist/lib/components/TextBox/TextBoxPicture.js +11 -29
  257. package/dist/lib/components/TextWithIcon/TextWithIcon.css +1 -10
  258. package/dist/lib/components/TextWithIcon/TextWithIcon.d.ts +1 -1
  259. package/dist/lib/components/TextWithIcon/TextWithIcon.js +10 -39
  260. package/dist/lib/components/TextWithIcon/TextWithIconItem.css +1 -29
  261. package/dist/lib/components/TextWithIcon/TextWithIconItem.d.ts +1 -1
  262. package/dist/lib/components/TextWithIcon/TextWithIconItem.js +10 -37
  263. package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.css +1 -31
  264. package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.d.ts +1 -1
  265. package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.js +10 -40
  266. package/dist/lib/components/VideoBanner/VideoBanner.css +1 -225
  267. package/dist/lib/components/VideoBanner/VideoBanner.d.ts +7 -7
  268. package/dist/lib/components/VideoBanner/VideoBanner.js +83 -176
  269. package/dist/lib/components/VideoBlock/VideoBlock.css +1 -106
  270. package/dist/lib/components/VideoBlock/VideoBlock.d.ts +4 -4
  271. package/dist/lib/components/VideoBlock/VideoBlock.js +58 -114
  272. package/dist/lib/constants/throttleTime.js +2 -3
  273. package/dist/lib/helpers/getColumnConfig.d.ts +5 -1
  274. package/dist/lib/helpers/getColumnConfig.js +2 -5
  275. package/dist/lib/index.js +10 -57
  276. package/package.json +89 -92
  277. package/CHANGELOG.md +0 -3984
  278. package/dist/es/components/NotificationBox/style/NotificationBox.css +0 -28
  279. package/dist/es/components/StoreBanner/doc/img/android-screen.png +0 -0
  280. package/dist/es/components/StoreBanner/doc/img/qr-code.png +0 -0
  281. package/dist/es/components/StoreBanner/doc/img/screen.png +0 -0
  282. package/dist/lib/components/NotificationBox/style/NotificationBox.css +0 -28
  283. package/dist/lib/components/StoreBanner/doc/img/android-screen.png +0 -0
  284. package/dist/lib/components/StoreBanner/doc/img/qr-code.png +0 -0
  285. package/dist/lib/components/StoreBanner/doc/img/screen.png +0 -0
@@ -1,5 +1,6 @@
1
- import React, { Ref } from 'react';
2
- import './ImageBanner.less';
1
+ import * as React from 'react';
2
+ import { PriceBadge } from '@megafon/ui-core';
3
+ import './ImageBanner.scss';
3
4
  export declare const BackgroundColor: {
4
5
  readonly TRANSPARENT: "transparent";
5
6
  readonly GREEN: "green";
@@ -8,23 +9,28 @@ export declare const BackgroundColor: {
8
9
  readonly GRADIENT: "gradient";
9
10
  readonly LIGHT: "light";
10
11
  };
11
- export declare type BackgroundColorType = typeof BackgroundColor[keyof typeof BackgroundColor];
12
+ export type BackgroundColorType = (typeof BackgroundColor)[keyof typeof BackgroundColor];
12
13
  export declare const Radius: {
13
14
  readonly CORNERS: "corners";
14
15
  readonly ROUNDED: "rounded";
15
16
  };
16
- export declare type RadiusType = typeof Radius[keyof typeof Radius];
17
+ export type RadiusType = (typeof Radius)[keyof typeof Radius];
17
18
  export declare const NavTheme: {
18
19
  readonly LIGHT: "light";
19
20
  readonly DARK: "dark";
20
21
  };
21
- export declare type NavThemeType = typeof NavTheme[keyof typeof NavTheme];
22
+ export type NavThemeType = (typeof NavTheme)[keyof typeof NavTheme];
22
23
  export declare const ImageVerticalAlign: {
23
24
  readonly TOP: "top";
24
25
  readonly CENTER: "center";
25
26
  readonly BOTTOM: "bottom";
26
27
  };
27
- export declare type ImageVerticalAlignType = typeof ImageVerticalAlign[keyof typeof ImageVerticalAlign];
28
+ export type ImageVerticalAlignType = (typeof ImageVerticalAlign)[keyof typeof ImageVerticalAlign];
29
+ type PriceBadgeTypes = React.ComponentProps<typeof PriceBadge>;
30
+ export type PriceBadgePropsType = Pick<PriceBadgeTypes, 'iconType'> & {
31
+ /** Текст бейджа */
32
+ text: string;
33
+ };
28
34
  export interface IImageBannerProps {
29
35
  /** Дополнительные data атрибуты к внутренним элементам */
30
36
  dataAttrs?: {
@@ -37,26 +43,22 @@ export interface IImageBannerProps {
37
43
  classes?: {
38
44
  root?: string;
39
45
  image?: string;
40
- imageSource?: string;
41
46
  title?: string;
42
47
  description?: string;
43
48
  cost?: string;
44
49
  badgesContainer?: string;
45
50
  badges?: string;
51
+ badge?: string;
46
52
  adBlock?: string;
47
53
  };
48
54
  /** Ссылка на корневой элемент */
49
- rootRef?: Ref<HTMLDivElement>;
55
+ rootRef?: React.Ref<HTMLDivElement>;
50
56
  /** Заголовок */
51
- title?: string | React.ReactNode | React.ReactNode[];
57
+ title: string | React.ReactNode | React.ReactNode[];
52
58
  /** Текст-описание */
53
59
  description?: string | React.ReactNode | React.ReactNode[];
54
60
  /** Строка со стоимостью услуги */
55
61
  cost?: string;
56
- /** Тег заголовка на разрешении экрана 0-767 */
57
- headerLevelMobile?: 'h1' | 'h2';
58
- /** Тег заголовка на разрешении экрана 768+ */
59
- headerLevel?: 'h1' | 'h2';
60
62
  /** Фоновый цвет */
61
63
  backgroundColor?: BackgroundColorType;
62
64
  /** Радиус границы */
@@ -77,10 +79,12 @@ export interface IImageBannerProps {
77
79
  autoHeight?: boolean;
78
80
  /** Изображение растягивается на всю ширину или вписывается в фиксированный фрейм (по умолчанию фрейм) */
79
81
  isImageFullWidth?: boolean;
80
- /** Бейджи */
81
- badges?: JSX.Element[] | JSX.Element;
82
+ /** Данные для блока с бейджами */
83
+ badges?: PriceBadgePropsType[];
84
+ /** Дополнительный отступ снизу при использовании в баннере */
85
+ hasBottomOffset?: boolean;
82
86
  /** Элемент блока с рекламой */
83
- adBlock?: JSX.Element | null;
87
+ adBlock?: JSX.Element;
84
88
  }
85
- declare const ImageBanner: React.FC<IImageBannerProps>;
89
+ declare const ImageBanner: React.FC<React.PropsWithChildren<IImageBannerProps>>;
86
90
  export default ImageBanner;
@@ -1,13 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
2
  import "core-js/modules/es.symbol.js";
4
3
  import "core-js/modules/es.symbol.description.js";
5
4
  import "core-js/modules/es.array.concat.js";
6
- import "core-js/modules/es.object.values.js";
7
- import React from 'react';
8
- import { Header } from '@megafon/ui-core';
5
+ import "core-js/modules/es.array.map.js";
6
+ import * as React from 'react';
7
+ import { Header, PriceBadge } from '@megafon/ui-core';
9
8
  import { breakpoints, cnCreate, filterDataAttrs, convert, titleConvertConfig } from '@megafon/ui-helpers';
10
- import * as PropTypes from 'prop-types';
11
9
  import "./ImageBanner.css";
12
10
  export var BackgroundColor = {
13
11
  TRANSPARENT: 'transparent',
@@ -30,18 +28,15 @@ export var ImageVerticalAlign = {
30
28
  CENTER: 'center',
31
29
  BOTTOM: 'bottom'
32
30
  };
33
-
34
31
  var getTheme = function getTheme(backgrounColor) {
35
32
  switch (backgrounColor) {
36
33
  case BackgroundColor.GREEN:
37
34
  case BackgroundColor.PURPLE:
38
35
  return NavTheme.LIGHT;
39
-
40
36
  default:
41
37
  return NavTheme.DARK;
42
38
  }
43
39
  };
44
-
45
40
  var cn = cnCreate('mfui-image-banner');
46
41
  var typographyConfig = {
47
42
  b: {
@@ -55,67 +50,53 @@ var typographyConfig = {
55
50
  }
56
51
  }
57
52
  };
58
-
59
53
  var ImageBanner = function ImageBanner(_ref2) {
60
54
  var dataAttrs = _ref2.dataAttrs,
61
- className = _ref2.className,
62
- _ref2$classes = _ref2.classes,
63
- classes = _ref2$classes === void 0 ? {} : _ref2$classes,
64
- rootRef = _ref2.rootRef,
65
- _ref2$imageMobile = _ref2.imageMobile,
66
- imageMobile = _ref2$imageMobile === void 0 ? '' : _ref2$imageMobile,
67
- _ref2$imageMobile2x = _ref2.imageMobile2x,
68
- imageMobile2x = _ref2$imageMobile2x === void 0 ? '' : _ref2$imageMobile2x,
69
- _ref2$imageDesktop = _ref2.imageDesktop,
70
- imageDesktop = _ref2$imageDesktop === void 0 ? '' : _ref2$imageDesktop,
71
- _ref2$imageDesktop2x = _ref2.imageDesktop2x,
72
- imageDesktop2x = _ref2$imageDesktop2x === void 0 ? '' : _ref2$imageDesktop2x,
73
- _ref2$imageAlt = _ref2.imageAlt,
74
- imageAlt = _ref2$imageAlt === void 0 ? '' : _ref2$imageAlt,
75
- _ref2$imageVerticalAl = _ref2.imageVerticalAlign,
76
- imageVerticalAlign = _ref2$imageVerticalAl === void 0 ? ImageVerticalAlign.CENTER : _ref2$imageVerticalAl,
77
- title = _ref2.title,
78
- description = _ref2.description,
79
- cost = _ref2.cost,
80
- _ref2$headerLevelMobi = _ref2.headerLevelMobile,
81
- headerLevelMobile = _ref2$headerLevelMobi === void 0 ? 'h1' : _ref2$headerLevelMobi,
82
- _ref2$headerLevel = _ref2.headerLevel,
83
- headerLevel = _ref2$headerLevel === void 0 ? 'h1' : _ref2$headerLevel,
84
- _ref2$backgroundColor = _ref2.backgroundColor,
85
- backgroundColor = _ref2$backgroundColor === void 0 ? BackgroundColor.TRANSPARENT : _ref2$backgroundColor,
86
- _ref2$radius = _ref2.radius,
87
- radius = _ref2$radius === void 0 ? Radius.CORNERS : _ref2$radius,
88
- autoHeight = _ref2.autoHeight,
89
- isImageFullWidth = _ref2.isImageFullWidth,
90
- badges = _ref2.badges,
91
- adBlock = _ref2.adBlock,
92
- _ref2$children = _ref2.children,
93
- children = _ref2$children === void 0 ? [] : _ref2$children;
94
-
95
- var _React$useState = React.useState(false),
96
- _React$useState2 = _slicedToArray(_React$useState, 2),
97
- isMobile = _React$useState2[0],
98
- setIsMobile = _React$useState2[1];
99
-
100
- React.useEffect(function () {
101
- var mediaQuery = window.matchMedia("(max-width: ".concat(breakpoints.MOBILE_MIDDLE_END, "px)"));
102
-
103
- var handleMediaChange = function handleMediaChange(_ref3) {
104
- var matches = _ref3.matches;
105
- setIsMobile(matches);
106
- };
107
-
108
- setIsMobile(mediaQuery.matches);
109
- mediaQuery.addEventListener('change', handleMediaChange);
110
- return function () {
111
- mediaQuery.removeEventListener('change', handleMediaChange);
112
- };
113
- }, []);
55
+ className = _ref2.className,
56
+ _ref2$classes = _ref2.classes,
57
+ classes = _ref2$classes === void 0 ? {} : _ref2$classes,
58
+ rootRef = _ref2.rootRef,
59
+ _ref2$imageMobile = _ref2.imageMobile,
60
+ imageMobile = _ref2$imageMobile === void 0 ? '' : _ref2$imageMobile,
61
+ _ref2$imageMobile2x = _ref2.imageMobile2x,
62
+ imageMobile2x = _ref2$imageMobile2x === void 0 ? '' : _ref2$imageMobile2x,
63
+ _ref2$imageDesktop = _ref2.imageDesktop,
64
+ imageDesktop = _ref2$imageDesktop === void 0 ? '' : _ref2$imageDesktop,
65
+ _ref2$imageDesktop2x = _ref2.imageDesktop2x,
66
+ imageDesktop2x = _ref2$imageDesktop2x === void 0 ? '' : _ref2$imageDesktop2x,
67
+ _ref2$imageAlt = _ref2.imageAlt,
68
+ imageAlt = _ref2$imageAlt === void 0 ? '' : _ref2$imageAlt,
69
+ _ref2$imageVerticalAl = _ref2.imageVerticalAlign,
70
+ imageVerticalAlign = _ref2$imageVerticalAl === void 0 ? ImageVerticalAlign.CENTER : _ref2$imageVerticalAl,
71
+ title = _ref2.title,
72
+ description = _ref2.description,
73
+ cost = _ref2.cost,
74
+ _ref2$backgroundColor = _ref2.backgroundColor,
75
+ backgroundColor = _ref2$backgroundColor === void 0 ? BackgroundColor.TRANSPARENT : _ref2$backgroundColor,
76
+ _ref2$radius = _ref2.radius,
77
+ radius = _ref2$radius === void 0 ? Radius.CORNERS : _ref2$radius,
78
+ autoHeight = _ref2.autoHeight,
79
+ isImageFullWidth = _ref2.isImageFullWidth,
80
+ _ref2$badges = _ref2.badges,
81
+ badges = _ref2$badges === void 0 ? [] : _ref2$badges,
82
+ hasBottomOffset = _ref2.hasBottomOffset,
83
+ adBlock = _ref2.adBlock,
84
+ _ref2$children = _ref2.children,
85
+ children = _ref2$children === void 0 ? [] : _ref2$children;
114
86
  var navTheme = getTheme(backgroundColor);
115
87
  var hasImage = !!(imageMobile || imageMobile2x || imageDesktop || imageDesktop2x);
116
- var renderBadges = !!badges && /*#__PURE__*/React.createElement("div", {
88
+ var renderBadges = !!badges.length && /*#__PURE__*/React.createElement("div", {
117
89
  className: cn('badges', [classes.badges])
118
- }, badges);
90
+ }, badges.map(function (_ref3) {
91
+ var text = _ref3.text,
92
+ iconType = _ref3.iconType;
93
+ return /*#__PURE__*/React.createElement(PriceBadge, {
94
+ className: classes.badge,
95
+ theme: navTheme,
96
+ iconType: iconType,
97
+ key: text
98
+ }, text);
99
+ }));
119
100
  var renderAdBlock = !!adBlock && /*#__PURE__*/React.createElement("div", {
120
101
  className: cn('ad-block', [classes.adBlock])
121
102
  }, adBlock);
@@ -125,8 +106,7 @@ var ImageBanner = function ImageBanner(_ref2) {
125
106
  className: cn('badges-container', [classes.badgesContainer])
126
107
  }, renderBadges, renderAdBlock), !!title && /*#__PURE__*/React.createElement(Header, {
127
108
  className: cn('title', [classes.title]),
128
- color: "inherit",
129
- as: isMobile ? headerLevelMobile : headerLevel
109
+ color: "inherit"
130
110
  }, typeof title === 'string' ? convert(title, titleConvertConfig) : title), !!description && /*#__PURE__*/React.createElement(Header, {
131
111
  className: cn('description', [classes.description]),
132
112
  as: "h5",
@@ -141,11 +121,10 @@ var ImageBanner = function ImageBanner(_ref2) {
141
121
  'v-align': imageVerticalAlign
142
122
  })
143
123
  }, /*#__PURE__*/React.createElement("source", {
144
- className: classes.imageSource,
145
124
  media: "(min-width: ".concat(breakpoints.DESKTOP_SMALL_START, "px)"),
146
125
  srcSet: "".concat(imageDesktop, ", ").concat(imageDesktop2x, " 2x")
147
126
  }), /*#__PURE__*/React.createElement("img", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.image), {
148
- className: cn('image', [classes.image]),
127
+ className: cn('background-image', [classes.image]),
149
128
  src: imageMobile || imageMobile2x,
150
129
  srcSet: imageMobile2x ? "".concat(imageMobile2x, " 2x") : undefined,
151
130
  alt: imageAlt
@@ -157,49 +136,12 @@ var ImageBanner = function ImageBanner(_ref2) {
157
136
  'has-image': hasImage,
158
137
  'auto-height': autoHeight,
159
138
  'full-width': isImageFullWidth,
139
+ 'bottom-offset': hasBottomOffset && !hasImage,
160
140
  radius: radius
161
141
  }, [className, classes.root]),
162
142
  ref: rootRef
163
- }), renderContent, hasImage && renderImage);
164
- };
165
-
166
- ImageBanner.propTypes = {
167
- dataAttrs: PropTypes.shape({
168
- root: PropTypes.objectOf(PropTypes.string.isRequired),
169
- image: PropTypes.objectOf(PropTypes.string.isRequired)
170
- }),
171
- className: PropTypes.string,
172
- classes: PropTypes.shape({
173
- root: PropTypes.string,
174
- image: PropTypes.string,
175
- imageSource: PropTypes.string,
176
- title: PropTypes.string,
177
- description: PropTypes.string,
178
- cost: PropTypes.string,
179
- badgesContainer: PropTypes.string,
180
- badges: PropTypes.string,
181
- badge: PropTypes.string,
182
- adBlock: PropTypes.string
183
- }),
184
- rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
185
- current: PropTypes.elementType
186
- }), PropTypes.any])]),
187
- title: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
188
- description: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
189
- cost: PropTypes.string,
190
- headerLevelMobile: PropTypes.oneOf(['h1', 'h2']),
191
- headerLevel: PropTypes.oneOf(['h1', 'h2']),
192
- backgroundColor: PropTypes.oneOf(Object.values(BackgroundColor)),
193
- radius: PropTypes.oneOf(Object.values(Radius)),
194
- imageMobile: PropTypes.string,
195
- imageMobile2x: PropTypes.string,
196
- imageDesktop: PropTypes.string,
197
- imageDesktop2x: PropTypes.string,
198
- imageAlt: PropTypes.string,
199
- imageVerticalAlign: PropTypes.oneOf(Object.values(ImageVerticalAlign)),
200
- autoHeight: PropTypes.bool,
201
- isImageFullWidth: PropTypes.bool,
202
- badges: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element.isRequired), PropTypes.element]),
203
- adBlock: PropTypes.element
143
+ }), /*#__PURE__*/React.createElement("div", {
144
+ className: cn('wrapper')
145
+ }, renderContent, hasImage && renderImage));
204
146
  };
205
147
  export default ImageBanner;