@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,248 +1 @@
1
- h1,
2
- h2,
3
- h3,
4
- h4,
5
- h5 {
6
- margin: 0;
7
- }
8
- .mfui-image-banner {
9
- position: relative;
10
- display: -webkit-box;
11
- display: -ms-flexbox;
12
- display: flex;
13
- -webkit-box-orient: vertical;
14
- -webkit-box-direction: normal;
15
- -ms-flex-direction: column;
16
- flex-direction: column;
17
- -webkit-box-pack: justify;
18
- -ms-flex-pack: justify;
19
- justify-content: space-between;
20
- overflow: hidden;
21
- }
22
- @media screen and (min-width: 1024px) {
23
- .mfui-image-banner {
24
- -webkit-box-orient: horizontal;
25
- -webkit-box-direction: normal;
26
- -ms-flex-direction: row;
27
- flex-direction: row;
28
- -webkit-box-align: center;
29
- -ms-flex-align: center;
30
- align-items: center;
31
- height: 420px;
32
- }
33
- }
34
- .mfui-image-banner__picture {
35
- display: -webkit-box;
36
- display: -ms-flexbox;
37
- display: flex;
38
- -ms-flex-negative: 0;
39
- flex-shrink: 0;
40
- -webkit-box-pack: center;
41
- -ms-flex-pack: center;
42
- justify-content: center;
43
- max-width: 672px;
44
- }
45
- @media screen and (min-width: 1024px) {
46
- .mfui-image-banner__picture {
47
- width: 50%;
48
- height: 100%;
49
- }
50
- }
51
- .mfui-image-banner__picture_v-align_top {
52
- -webkit-box-align: start;
53
- -ms-flex-align: start;
54
- align-items: flex-start;
55
- }
56
- .mfui-image-banner__picture_v-align_center {
57
- -webkit-box-align: center;
58
- -ms-flex-align: center;
59
- align-items: center;
60
- }
61
- .mfui-image-banner__picture_v-align_bottom {
62
- -webkit-box-align: end;
63
- -ms-flex-align: end;
64
- align-items: flex-end;
65
- }
66
- .mfui-image-banner__image {
67
- display: block;
68
- max-width: 100%;
69
- max-height: 150px;
70
- }
71
- @media screen and (min-width: 768px) and (max-width: 1023px) {
72
- .mfui-image-banner__image {
73
- max-height: 230px;
74
- }
75
- }
76
- @media screen and (min-width: 1024px) {
77
- .mfui-image-banner__image {
78
- max-height: 100%;
79
- -o-object-fit: contain;
80
- object-fit: contain;
81
- }
82
- }
83
- .mfui-image-banner__content {
84
- z-index: 1;
85
- -webkit-box-flex: 1;
86
- -ms-flex-positive: 1;
87
- flex-grow: 1;
88
- }
89
- @media screen and (max-width: 1023px) {
90
- .mfui-image-banner__content {
91
- padding: 24px;
92
- }
93
- }
94
- @media screen and (min-width: 768px) and (max-width: 1023px) {
95
- .mfui-image-banner__content {
96
- text-align: center;
97
- }
98
- }
99
- @media screen and (min-width: 1024px) {
100
- .mfui-image-banner__content {
101
- width: 50%;
102
- padding: 0 80px;
103
- }
104
- }
105
- .mfui-image-banner__description {
106
- margin-top: 16px;
107
- white-space: pre-wrap;
108
- }
109
- .mfui-image-banner__cost {
110
- font-size: 15px;
111
- line-height: 24px;
112
- font-weight: 500;
113
- margin-top: 16px;
114
- }
115
- .mfui-image-banner__value {
116
- display: inline;
117
- margin: 0 4px;
118
- }
119
- @media screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1279px) {
120
- .mfui-image-banner__value {
121
- line-height: 21px;
122
- }
123
- }
124
- .mfui-image-banner__title,
125
- .mfui-image-banner__text {
126
- white-space: pre-wrap;
127
- }
128
- .mfui-image-banner__children {
129
- display: -webkit-box;
130
- display: -ms-flexbox;
131
- display: flex;
132
- -webkit-box-orient: vertical;
133
- -webkit-box-direction: normal;
134
- -ms-flex-direction: column;
135
- flex-direction: column;
136
- -ms-flex-wrap: wrap;
137
- flex-wrap: wrap;
138
- gap: 16px;
139
- -webkit-box-align: center;
140
- -ms-flex-align: center;
141
- align-items: center;
142
- -webkit-box-pack: center;
143
- -ms-flex-pack: center;
144
- justify-content: center;
145
- margin-top: 32px;
146
- }
147
- @media screen and (min-width: 768px) {
148
- .mfui-image-banner__children {
149
- -webkit-box-orient: horizontal;
150
- -webkit-box-direction: normal;
151
- -ms-flex-direction: row;
152
- flex-direction: row;
153
- }
154
- }
155
- @media screen and (min-width: 1024px) {
156
- .mfui-image-banner__children {
157
- -webkit-box-pack: start;
158
- -ms-flex-pack: start;
159
- justify-content: flex-start;
160
- }
161
- }
162
- @media screen and (max-width: 1023px) {
163
- .mfui-image-banner__badges-container {
164
- display: -webkit-box;
165
- display: -ms-flexbox;
166
- display: flex;
167
- gap: 8px;
168
- }
169
- }
170
- .mfui-image-banner__badges {
171
- display: -webkit-box;
172
- display: -ms-flexbox;
173
- display: flex;
174
- -webkit-box-flex: 1;
175
- -ms-flex-positive: 1;
176
- flex-grow: 1;
177
- -ms-flex-wrap: wrap;
178
- flex-wrap: wrap;
179
- gap: 8px;
180
- margin-bottom: 16px;
181
- }
182
- .mfui-image-banner__ad-block {
183
- margin: 0 0 16px auto;
184
- }
185
- @media screen and (min-width: 1024px) {
186
- .mfui-image-banner__ad-block {
187
- position: absolute;
188
- top: 24px;
189
- right: 24px;
190
- }
191
- }
192
- .mfui-image-banner_radius_rounded {
193
- border-radius: 24px;
194
- }
195
- @media screen and (min-width: 1024px) {
196
- .mfui-image-banner_auto-height .mfui-image-banner__content {
197
- padding: 48px 80px;
198
- }
199
- }
200
- @media screen and (min-width: 1024px) {
201
- .mfui-image-banner_auto-height {
202
- height: auto;
203
- }
204
- }
205
- @media screen and (min-width: 1024px) {
206
- .mfui-image-banner_has-image .mfui-image-banner__content {
207
- padding-right: 0;
208
- }
209
- }
210
- @media screen and (min-width: 1024px) {
211
- .mfui-image-banner_full-width .mfui-image-banner__image {
212
- position: absolute;
213
- right: 0;
214
- bottom: 0;
215
- display: block;
216
- max-width: unset;
217
- }
218
- }
219
- @media screen and (min-width: 1024px) {
220
- .mfui-image-banner_full-width.mfui-image-banner_auto-height .mfui-image-banner__image {
221
- width: 100%;
222
- height: 100%;
223
- -o-object-fit: cover;
224
- object-fit: cover;
225
- }
226
- }
227
- .mfui-image-banner_background-color_green {
228
- background-color: var(--brandGreen);
229
- }
230
- .mfui-image-banner_background-color_purple {
231
- background-color: var(--brandPurple);
232
- }
233
- .mfui-image-banner_background-color_gradient {
234
- background: -webkit-gradient(linear, right top, left top, from(#ADA6BA), to(#F6F2F9));
235
- background: linear-gradient(270deg, #ADA6BA 0%, #F6F2F9 100%);
236
- }
237
- .mfui-image-banner_background-color_light {
238
- background-color: #F6F2F9;
239
- }
240
- .mfui-image-banner_background-color_spbSky0 {
241
- background-color: var(--spbSky0);
242
- }
243
- .mfui-image-banner_text-color_light .mfui-image-banner__content {
244
- color: var(--stcWhite);
245
- }
246
- .mfui-image-banner_text-color_dark .mfui-image-banner__content {
247
- color: var(--stcBlack);
248
- }
1
+ h1,h2,h3,h4,h5{margin:0}.mfui-image-banner{overflow:hidden;position:relative}@media screen and (min-width:1024px){.mfui-image-banner{height:420px;padding:0 80px}.mfui-image-banner__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;height:100%;justify-content:space-between}}.mfui-image-banner__picture{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media screen and (min-width:1024px){.mfui-image-banner__picture{height:100%;width:356px}}@media screen and (min-width:1280px){.mfui-image-banner__picture{width:408px}}.mfui-image-banner__picture_v-align_top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.mfui-image-banner__picture_v-align_center{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.mfui-image-banner__picture_v-align_bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.mfui-image-banner__background-image{display:block;max-height:250px;max-width:100%}@media screen and (min-width:768px) and (max-width:1023px){.mfui-image-banner__background-image{max-height:280px}}@media screen and (min-width:1024px){.mfui-image-banner__background-image{max-height:100%;-o-object-fit:contain;object-fit:contain}}.mfui-image-banner__content{z-index:1}@media screen and (max-width:1023px){.mfui-image-banner__content{padding:24px}}@media screen and (min-width:768px) and (max-width:1023px){.mfui-image-banner__content{text-align:center}}@media screen and (max-width:1023px){.mfui-image-banner_bottom-offset .mfui-image-banner__content{padding-bottom:72px}}.mfui-image-banner__description{margin-top:16px;white-space:pre-wrap}.mfui-image-banner__cost{font-size:15px;font-weight:500;line-height:24px;margin-top:16px}.mfui-image-banner__value{display:inline;margin:0 4px}@media screen and (max-width:1023px),screen and (min-width:1024px) and (max-width:1279px){.mfui-image-banner__value{line-height:21px}}.mfui-image-banner__text,.mfui-image-banner__title{white-space:pre-wrap}.mfui-image-banner__children{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:16px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-top:32px}@media screen and (min-width:768px){.mfui-image-banner__children{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}}@media screen and (min-width:1024px){.mfui-image-banner__children{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}}@media screen and (max-width:1023px){.mfui-image-banner__badges-container{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px}}.mfui-image-banner__badges{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:16px}.mfui-image-banner__ad-block{margin:0 0 16px auto}@media screen and (min-width:1024px){.mfui-image-banner__ad-block{position:absolute;right:24px;top:24px}}.mfui-image-banner_radius_rounded{border-radius:24px}@media screen and (min-width:1024px){.mfui-image-banner_auto-height .mfui-image-banner__content{padding:48px 0}.mfui-image-banner_auto-height{height:auto}.mfui-image-banner_full-width .mfui-image-banner__background-image{bottom:0;display:block;max-width:unset;position:absolute;right:0}.mfui-image-banner_full-width.mfui-image-banner_auto-height .mfui-image-banner__background-image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}}.mfui-image-banner_background-color_green{background-color:var(--brandGreen)}.mfui-image-banner_background-color_purple{background-color:var(--brandPurple)}.mfui-image-banner_background-color_gradient{background:-webkit-gradient(linear,right top,left top,from(#ada6ba),to(#f6f2f9));background:linear-gradient(270deg,#ada6ba,#f6f2f9)}.mfui-image-banner_background-color_light{background-color:#f6f2f9}.mfui-image-banner_background-color_spbSky0{background-color:var(--spbSky0)}.mfui-image-banner_text-color_light .mfui-image-banner__content{color:var(--stcWhite)}.mfui-image-banner_text-color_dark .mfui-image-banner__content{color:var(--stcBlack)}
@@ -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,39 +1,22 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = exports.ImageVerticalAlign = exports.NavTheme = exports.Radius = exports.BackgroundColor = void 0;
9
-
7
+ exports["default"] = exports.Radius = exports.NavTheme = exports.ImageVerticalAlign = exports.BackgroundColor = void 0;
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
9
  require("core-js/modules/es.symbol.js");
15
-
16
10
  require("core-js/modules/es.symbol.description.js");
17
-
18
11
  require("core-js/modules/es.array.concat.js");
19
-
20
- require("core-js/modules/es.object.values.js");
21
-
22
- var _react = _interopRequireDefault(require("react"));
23
-
12
+ require("core-js/modules/es.array.map.js");
13
+ var React = _interopRequireWildcard(require("react"));
24
14
  var _uiCore = require("@megafon/ui-core");
25
-
26
15
  var _uiHelpers = require("@megafon/ui-helpers");
27
-
28
- var PropTypes = _interopRequireWildcard(require("prop-types"));
29
-
30
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
-
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
-
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
34
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
35
-
36
- var BackgroundColor = {
19
+ var BackgroundColor = exports.BackgroundColor = {
37
20
  TRANSPARENT: 'transparent',
38
21
  GREEN: 'green',
39
22
  PURPLE: 'purple',
@@ -41,41 +24,34 @@ var BackgroundColor = {
41
24
  GRADIENT: 'gradient',
42
25
  LIGHT: 'light'
43
26
  };
44
- exports.BackgroundColor = BackgroundColor;
45
- var Radius = {
27
+ var Radius = exports.Radius = {
46
28
  CORNERS: 'corners',
47
29
  ROUNDED: 'rounded'
48
30
  };
49
- exports.Radius = Radius;
50
- var NavTheme = {
31
+ var NavTheme = exports.NavTheme = {
51
32
  LIGHT: 'light',
52
33
  DARK: 'dark'
53
34
  };
54
- exports.NavTheme = NavTheme;
55
- var ImageVerticalAlign = {
35
+ var ImageVerticalAlign = exports.ImageVerticalAlign = {
56
36
  TOP: 'top',
57
37
  CENTER: 'center',
58
38
  BOTTOM: 'bottom'
59
39
  };
60
- exports.ImageVerticalAlign = ImageVerticalAlign;
61
-
62
40
  var getTheme = function getTheme(backgrounColor) {
63
41
  switch (backgrounColor) {
64
42
  case BackgroundColor.GREEN:
65
43
  case BackgroundColor.PURPLE:
66
44
  return NavTheme.LIGHT;
67
-
68
45
  default:
69
46
  return NavTheme.DARK;
70
47
  }
71
48
  };
72
-
73
49
  var cn = (0, _uiHelpers.cnCreate)('mfui-image-banner');
74
50
  var typographyConfig = {
75
51
  b: {
76
52
  component: function component(_ref) {
77
53
  var children = _ref.children;
78
- return /*#__PURE__*/_react["default"].createElement(_uiCore.Header, {
54
+ return /*#__PURE__*/React.createElement(_uiCore.Header, {
79
55
  className: cn('value'),
80
56
  as: "h3",
81
57
  color: "inherit"
@@ -83,158 +59,98 @@ var typographyConfig = {
83
59
  }
84
60
  }
85
61
  };
86
-
87
62
  var ImageBanner = function ImageBanner(_ref2) {
88
63
  var dataAttrs = _ref2.dataAttrs,
89
- className = _ref2.className,
90
- _ref2$classes = _ref2.classes,
91
- classes = _ref2$classes === void 0 ? {} : _ref2$classes,
92
- rootRef = _ref2.rootRef,
93
- _ref2$imageMobile = _ref2.imageMobile,
94
- imageMobile = _ref2$imageMobile === void 0 ? '' : _ref2$imageMobile,
95
- _ref2$imageMobile2x = _ref2.imageMobile2x,
96
- imageMobile2x = _ref2$imageMobile2x === void 0 ? '' : _ref2$imageMobile2x,
97
- _ref2$imageDesktop = _ref2.imageDesktop,
98
- imageDesktop = _ref2$imageDesktop === void 0 ? '' : _ref2$imageDesktop,
99
- _ref2$imageDesktop2x = _ref2.imageDesktop2x,
100
- imageDesktop2x = _ref2$imageDesktop2x === void 0 ? '' : _ref2$imageDesktop2x,
101
- _ref2$imageAlt = _ref2.imageAlt,
102
- imageAlt = _ref2$imageAlt === void 0 ? '' : _ref2$imageAlt,
103
- _ref2$imageVerticalAl = _ref2.imageVerticalAlign,
104
- imageVerticalAlign = _ref2$imageVerticalAl === void 0 ? ImageVerticalAlign.CENTER : _ref2$imageVerticalAl,
105
- title = _ref2.title,
106
- description = _ref2.description,
107
- cost = _ref2.cost,
108
- _ref2$headerLevelMobi = _ref2.headerLevelMobile,
109
- headerLevelMobile = _ref2$headerLevelMobi === void 0 ? 'h1' : _ref2$headerLevelMobi,
110
- _ref2$headerLevel = _ref2.headerLevel,
111
- headerLevel = _ref2$headerLevel === void 0 ? 'h1' : _ref2$headerLevel,
112
- _ref2$backgroundColor = _ref2.backgroundColor,
113
- backgroundColor = _ref2$backgroundColor === void 0 ? BackgroundColor.TRANSPARENT : _ref2$backgroundColor,
114
- _ref2$radius = _ref2.radius,
115
- radius = _ref2$radius === void 0 ? Radius.CORNERS : _ref2$radius,
116
- autoHeight = _ref2.autoHeight,
117
- isImageFullWidth = _ref2.isImageFullWidth,
118
- badges = _ref2.badges,
119
- adBlock = _ref2.adBlock,
120
- _ref2$children = _ref2.children,
121
- children = _ref2$children === void 0 ? [] : _ref2$children;
122
-
123
- var _React$useState = _react["default"].useState(false),
124
- _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
125
- isMobile = _React$useState2[0],
126
- setIsMobile = _React$useState2[1];
127
-
128
- _react["default"].useEffect(function () {
129
- var mediaQuery = window.matchMedia("(max-width: ".concat(_uiHelpers.breakpoints.MOBILE_MIDDLE_END, "px)"));
130
-
131
- var handleMediaChange = function handleMediaChange(_ref3) {
132
- var matches = _ref3.matches;
133
- setIsMobile(matches);
134
- };
135
-
136
- setIsMobile(mediaQuery.matches);
137
- mediaQuery.addEventListener('change', handleMediaChange);
138
- return function () {
139
- mediaQuery.removeEventListener('change', handleMediaChange);
140
- };
141
- }, []);
142
-
64
+ className = _ref2.className,
65
+ _ref2$classes = _ref2.classes,
66
+ classes = _ref2$classes === void 0 ? {} : _ref2$classes,
67
+ rootRef = _ref2.rootRef,
68
+ _ref2$imageMobile = _ref2.imageMobile,
69
+ imageMobile = _ref2$imageMobile === void 0 ? '' : _ref2$imageMobile,
70
+ _ref2$imageMobile2x = _ref2.imageMobile2x,
71
+ imageMobile2x = _ref2$imageMobile2x === void 0 ? '' : _ref2$imageMobile2x,
72
+ _ref2$imageDesktop = _ref2.imageDesktop,
73
+ imageDesktop = _ref2$imageDesktop === void 0 ? '' : _ref2$imageDesktop,
74
+ _ref2$imageDesktop2x = _ref2.imageDesktop2x,
75
+ imageDesktop2x = _ref2$imageDesktop2x === void 0 ? '' : _ref2$imageDesktop2x,
76
+ _ref2$imageAlt = _ref2.imageAlt,
77
+ imageAlt = _ref2$imageAlt === void 0 ? '' : _ref2$imageAlt,
78
+ _ref2$imageVerticalAl = _ref2.imageVerticalAlign,
79
+ imageVerticalAlign = _ref2$imageVerticalAl === void 0 ? ImageVerticalAlign.CENTER : _ref2$imageVerticalAl,
80
+ title = _ref2.title,
81
+ description = _ref2.description,
82
+ cost = _ref2.cost,
83
+ _ref2$backgroundColor = _ref2.backgroundColor,
84
+ backgroundColor = _ref2$backgroundColor === void 0 ? BackgroundColor.TRANSPARENT : _ref2$backgroundColor,
85
+ _ref2$radius = _ref2.radius,
86
+ radius = _ref2$radius === void 0 ? Radius.CORNERS : _ref2$radius,
87
+ autoHeight = _ref2.autoHeight,
88
+ isImageFullWidth = _ref2.isImageFullWidth,
89
+ _ref2$badges = _ref2.badges,
90
+ badges = _ref2$badges === void 0 ? [] : _ref2$badges,
91
+ hasBottomOffset = _ref2.hasBottomOffset,
92
+ adBlock = _ref2.adBlock,
93
+ _ref2$children = _ref2.children,
94
+ children = _ref2$children === void 0 ? [] : _ref2$children;
143
95
  var navTheme = getTheme(backgroundColor);
144
96
  var hasImage = !!(imageMobile || imageMobile2x || imageDesktop || imageDesktop2x);
145
-
146
- var renderBadges = !!badges && /*#__PURE__*/_react["default"].createElement("div", {
97
+ var renderBadges = !!badges.length && /*#__PURE__*/React.createElement("div", {
147
98
  className: cn('badges', [classes.badges])
148
- }, badges);
149
-
150
- var renderAdBlock = !!adBlock && /*#__PURE__*/_react["default"].createElement("div", {
99
+ }, badges.map(function (_ref3) {
100
+ var text = _ref3.text,
101
+ iconType = _ref3.iconType;
102
+ return /*#__PURE__*/React.createElement(_uiCore.PriceBadge, {
103
+ className: classes.badge,
104
+ theme: navTheme,
105
+ iconType: iconType,
106
+ key: text
107
+ }, text);
108
+ }));
109
+ var renderAdBlock = !!adBlock && /*#__PURE__*/React.createElement("div", {
151
110
  className: cn('ad-block', [classes.adBlock])
152
111
  }, adBlock);
153
-
154
- var renderContent = /*#__PURE__*/_react["default"].createElement("div", {
112
+ var renderContent = /*#__PURE__*/React.createElement("div", {
155
113
  className: cn('content')
156
- }, /*#__PURE__*/_react["default"].createElement("div", {
114
+ }, /*#__PURE__*/React.createElement("div", {
157
115
  className: cn('badges-container', [classes.badgesContainer])
158
- }, renderBadges, renderAdBlock), !!title && /*#__PURE__*/_react["default"].createElement(_uiCore.Header, {
116
+ }, renderBadges, renderAdBlock), !!title && /*#__PURE__*/React.createElement(_uiCore.Header, {
159
117
  className: cn('title', [classes.title]),
160
- color: "inherit",
161
- as: isMobile ? headerLevelMobile : headerLevel
162
- }, typeof title === 'string' ? (0, _uiHelpers.convert)(title, _uiHelpers.titleConvertConfig) : title), !!description && /*#__PURE__*/_react["default"].createElement(_uiCore.Header, {
118
+ color: "inherit"
119
+ }, typeof title === 'string' ? (0, _uiHelpers.convert)(title, _uiHelpers.titleConvertConfig) : title), !!description && /*#__PURE__*/React.createElement(_uiCore.Header, {
163
120
  className: cn('description', [classes.description]),
164
121
  as: "h5",
165
122
  color: "inherit"
166
- }, typeof description === 'string' ? (0, _uiHelpers.convert)(description, _uiHelpers.titleConvertConfig) : description), !!cost && /*#__PURE__*/_react["default"].createElement("div", {
123
+ }, typeof description === 'string' ? (0, _uiHelpers.convert)(description, _uiHelpers.titleConvertConfig) : description), !!cost && /*#__PURE__*/React.createElement("div", {
167
124
  className: cn('cost', [classes.cost])
168
- }, (0, _uiHelpers.convert)(cost, typographyConfig)), !!children && !!_react["default"].Children.count(children) && /*#__PURE__*/_react["default"].createElement("div", {
125
+ }, (0, _uiHelpers.convert)(cost, typographyConfig)), !!children && !!React.Children.count(children) && /*#__PURE__*/React.createElement("div", {
169
126
  className: cn('children')
170
127
  }, children));
171
-
172
- var renderImage = /*#__PURE__*/_react["default"].createElement("picture", {
128
+ var renderImage = /*#__PURE__*/React.createElement("picture", {
173
129
  className: cn('picture', {
174
130
  'v-align': imageVerticalAlign
175
131
  })
176
- }, /*#__PURE__*/_react["default"].createElement("source", {
177
- className: classes.imageSource,
132
+ }, /*#__PURE__*/React.createElement("source", {
178
133
  media: "(min-width: ".concat(_uiHelpers.breakpoints.DESKTOP_SMALL_START, "px)"),
179
134
  srcSet: "".concat(imageDesktop, ", ").concat(imageDesktop2x, " 2x")
180
- }), /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.image), {
181
- className: cn('image', [classes.image]),
135
+ }), /*#__PURE__*/React.createElement("img", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.image), {
136
+ className: cn('background-image', [classes.image]),
182
137
  src: imageMobile || imageMobile2x,
183
138
  srcSet: imageMobile2x ? "".concat(imageMobile2x, " 2x") : undefined,
184
139
  alt: imageAlt
185
140
  })));
186
-
187
- return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
141
+ return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
188
142
  className: cn({
189
143
  'background-color': backgroundColor,
190
144
  'text-color': navTheme,
191
145
  'has-image': hasImage,
192
146
  'auto-height': autoHeight,
193
147
  'full-width': isImageFullWidth,
148
+ 'bottom-offset': hasBottomOffset && !hasImage,
194
149
  radius: radius
195
150
  }, [className, classes.root]),
196
151
  ref: rootRef
197
- }), renderContent, hasImage && renderImage);
198
- };
199
-
200
- ImageBanner.propTypes = {
201
- dataAttrs: PropTypes.shape({
202
- root: PropTypes.objectOf(PropTypes.string.isRequired),
203
- image: PropTypes.objectOf(PropTypes.string.isRequired)
204
- }),
205
- className: PropTypes.string,
206
- classes: PropTypes.shape({
207
- root: PropTypes.string,
208
- image: PropTypes.string,
209
- imageSource: PropTypes.string,
210
- title: PropTypes.string,
211
- description: PropTypes.string,
212
- cost: PropTypes.string,
213
- badgesContainer: PropTypes.string,
214
- badges: PropTypes.string,
215
- badge: PropTypes.string,
216
- adBlock: PropTypes.string
217
- }),
218
- rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
219
- current: PropTypes.elementType
220
- }), PropTypes.any])]),
221
- title: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
222
- description: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
223
- cost: PropTypes.string,
224
- headerLevelMobile: PropTypes.oneOf(['h1', 'h2']),
225
- headerLevel: PropTypes.oneOf(['h1', 'h2']),
226
- backgroundColor: PropTypes.oneOf(Object.values(BackgroundColor)),
227
- radius: PropTypes.oneOf(Object.values(Radius)),
228
- imageMobile: PropTypes.string,
229
- imageMobile2x: PropTypes.string,
230
- imageDesktop: PropTypes.string,
231
- imageDesktop2x: PropTypes.string,
232
- imageAlt: PropTypes.string,
233
- imageVerticalAlign: PropTypes.oneOf(Object.values(ImageVerticalAlign)),
234
- autoHeight: PropTypes.bool,
235
- isImageFullWidth: PropTypes.bool,
236
- badges: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element.isRequired), PropTypes.element]),
237
- adBlock: PropTypes.element
152
+ }), /*#__PURE__*/React.createElement("div", {
153
+ className: cn('wrapper')
154
+ }, renderContent, hasImage && renderImage));
238
155
  };
239
- var _default = ImageBanner;
240
- exports["default"] = _default;
156
+ var _default = exports["default"] = ImageBanner;