@megafon/ui-shared 6.0.0-beta.4 → 6.0.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 (285) hide show
  1. package/CHANGELOG.md +4031 -0
  2. package/dist/es/components/AccordionBox/AccordionBox.css +15 -1
  3. package/dist/es/components/AccordionBox/AccordionBox.d.ts +2 -2
  4. package/dist/es/components/AccordionBox/AccordionBox.js +49 -6
  5. package/dist/es/components/AudioPlayer/AudioPlayer.d.ts +2 -2
  6. package/dist/es/components/AudioPlayer/AudioPlayer.js +27 -11
  7. package/dist/es/components/AudioPlayer/AudioProgress.d.ts +1 -1
  8. package/dist/es/components/AudioPlayer/AudioProgress.js +22 -10
  9. package/dist/es/components/AudioPlayer/AudioRange.d.ts +1 -1
  10. package/dist/es/components/AudioPlayer/AudioRange.js +10 -8
  11. package/dist/es/components/AudioPlayer/AudioVolume.d.ts +1 -1
  12. package/dist/es/components/AudioPlayer/AudioVolume.js +12 -3
  13. package/dist/es/components/AudioPlayer/hooks/useTrackDuration.js +10 -4
  14. package/dist/es/components/AudioPlayer/style/AudioPlayer.css +58 -1
  15. package/dist/es/components/AudioPlayer/style/AudioProgress.css +35 -1
  16. package/dist/es/components/AudioPlayer/style/AudioRange.css +68 -1
  17. package/dist/es/components/AudioPlayer/style/AudioVolume.css +34 -1
  18. package/dist/es/components/AudioPlayer/timerFormatUtil.js +9 -1
  19. package/dist/es/components/BannerBox/BannerBox.d.ts +1 -1
  20. package/dist/es/components/BannerBox/BannerBox.js +12 -3
  21. package/dist/es/components/BenefitsIcons/BenefitsIcons.d.ts +1 -1
  22. package/dist/es/components/BenefitsIcons/BenefitsIcons.js +64 -23
  23. package/dist/es/components/BenefitsIcons/BenefitsIconsTile.d.ts +1 -1
  24. package/dist/es/components/BenefitsIcons/BenefitsIconsTile.js +36 -9
  25. package/dist/es/components/BenefitsIcons/helpers.d.ts +3 -3
  26. package/dist/es/components/BenefitsIcons/helpers.js +20 -6
  27. package/dist/es/components/BenefitsIcons/style/BenefitsIcons.css +38 -1
  28. package/dist/es/components/BenefitsIcons/style/BenefitsIconsTile.css +90 -1
  29. package/dist/es/components/BenefitsIcons/types.d.ts +5 -5
  30. package/dist/es/components/BenefitsPictures/BenefitsPictures.d.ts +1 -1
  31. package/dist/es/components/BenefitsPictures/BenefitsPictures.js +49 -19
  32. package/dist/es/components/BenefitsPictures/BenfitsPictures.css +43 -1
  33. package/dist/es/components/BenefitsPictures/helpers.d.ts +2 -2
  34. package/dist/es/components/BenefitsPictures/helpers.js +14 -0
  35. package/dist/es/components/BenefitsPictures/types.d.ts +3 -3
  36. package/dist/es/components/BenefitsPictures/types.js +0 -1
  37. package/dist/es/components/Breadcrumbs/Breadcrumbs.css +43 -1
  38. package/dist/es/components/Breadcrumbs/Breadcrumbs.d.ts +6 -6
  39. package/dist/es/components/Breadcrumbs/Breadcrumbs.js +39 -10
  40. package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.css +16 -1
  41. package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.d.ts +4 -4
  42. package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.js +36 -11
  43. package/dist/es/components/ButtonBanner/ButtonBanner.css +122 -1
  44. package/dist/es/components/ButtonBanner/ButtonBanner.d.ts +7 -7
  45. package/dist/es/components/ButtonBanner/ButtonBanner.js +53 -22
  46. package/dist/es/components/ButtonLinkBox/ButtonLinkBox.css +19 -1
  47. package/dist/es/components/ButtonLinkBox/ButtonLinkBox.d.ts +3 -3
  48. package/dist/es/components/ButtonLinkBox/ButtonLinkBox.js +51 -20
  49. package/dist/es/components/Card/Card.css +354 -1
  50. package/dist/es/components/Card/Card.d.ts +4 -4
  51. package/dist/es/components/Card/Card.js +115 -25
  52. package/dist/es/components/Card/types.d.ts +10 -10
  53. package/dist/es/components/Card/types.js +0 -1
  54. package/dist/es/components/CardsBox/CardsBox.js +14 -3
  55. package/dist/es/components/CardsBox/helpers.d.ts +2 -2
  56. package/dist/es/components/CardsBox/helpers.js +4 -0
  57. package/dist/es/components/CarouselBox/CarouselBox.d.ts +2 -2
  58. package/dist/es/components/CarouselBox/CarouselBox.js +24 -11
  59. package/dist/es/components/Container/Container.css +3287 -1
  60. package/dist/es/components/Container/Container.d.ts +5 -7
  61. package/dist/es/components/Container/Container.js +25 -10
  62. package/dist/es/components/DownloadLinks/DownloadLink.css +37 -1
  63. package/dist/es/components/DownloadLinks/DownloadLink.d.ts +1 -1
  64. package/dist/es/components/DownloadLinks/DownloadLink.js +44 -13
  65. package/dist/es/components/DownloadLinks/DownloadLinks.css +36 -1
  66. package/dist/es/components/DownloadLinks/DownloadLinks.d.ts +3 -3
  67. package/dist/es/components/DownloadLinks/DownloadLinks.js +13 -2
  68. package/dist/es/components/FaqWrapper/FaqWrapper.d.ts +2 -5
  69. package/dist/es/components/FaqWrapper/FaqWrapper.js +3 -1
  70. package/dist/es/components/ImageBanner/ImageBanner.css +252 -1
  71. package/dist/es/components/ImageBanner/ImageBanner.d.ts +7 -8
  72. package/dist/es/components/ImageBanner/ImageBanner.js +88 -37
  73. package/dist/es/components/Instructions/Instructions.css +790 -1
  74. package/dist/es/components/Instructions/Instructions.d.ts +11 -11
  75. package/dist/es/components/Instructions/Instructions.js +94 -41
  76. package/dist/es/components/NotificationBox/NotificationBox.d.ts +4 -4
  77. package/dist/es/components/NotificationBox/NotificationBox.js +19 -5
  78. package/dist/es/components/NotificationBox/style/NotificationBox.css +28 -0
  79. package/dist/es/components/PageTitle/PageTitle.css +80 -1
  80. package/dist/es/components/PageTitle/PageTitle.d.ts +2 -2
  81. package/dist/es/components/PageTitle/PageTitle.js +37 -12
  82. package/dist/es/components/Partners/Partners.css +53 -1
  83. package/dist/es/components/Partners/Partners.d.ts +2 -2
  84. package/dist/es/components/Partners/Partners.js +48 -17
  85. package/dist/es/components/PictureWithDescription/PictureWithDescription.css +80 -1
  86. package/dist/es/components/PictureWithDescription/PictureWithDescription.d.ts +2 -4
  87. package/dist/es/components/PictureWithDescription/PictureWithDescription.js +28 -10
  88. package/dist/es/components/Property/Property.css +156 -1
  89. package/dist/es/components/Property/Property.d.ts +4 -4
  90. package/dist/es/components/Property/Property.js +81 -37
  91. package/dist/es/components/Property/PropertyDescription.css +17 -1
  92. package/dist/es/components/Property/PropertyDescription.d.ts +3 -3
  93. package/dist/es/components/Property/PropertyDescription.js +28 -8
  94. package/dist/es/components/Property/types.d.ts +5 -7
  95. package/dist/es/components/Property/types.js +0 -1
  96. package/dist/es/components/Steps/Steps.css +41 -1
  97. package/dist/es/components/Steps/Steps.d.ts +1 -2
  98. package/dist/es/components/Steps/Steps.js +19 -4
  99. package/dist/es/components/Steps/StepsItem.css +42 -1
  100. package/dist/es/components/Steps/StepsItem.d.ts +2 -2
  101. package/dist/es/components/Steps/StepsItem.js +9 -2
  102. package/dist/es/components/StoreBanner/StoreBanner.css +346 -1
  103. package/dist/es/components/StoreBanner/StoreBanner.d.ts +5 -5
  104. package/dist/es/components/StoreBanner/StoreBanner.js +97 -41
  105. package/dist/es/components/StoreBanner/doc/img/android-screen.png +0 -0
  106. package/dist/es/components/StoreBanner/doc/img/qr-code.png +0 -0
  107. package/dist/es/components/StoreBanner/doc/img/screen.png +0 -0
  108. package/dist/es/components/StoreButton/StoreButton.css +327 -1
  109. package/dist/es/components/StoreButton/StoreButton.d.ts +3 -3
  110. package/dist/es/components/StoreButton/StoreButton.js +44 -13
  111. package/dist/es/components/Table/Table.css +157 -1
  112. package/dist/es/components/Table/Table.d.ts +1 -1
  113. package/dist/es/components/Table/Table.js +51 -31
  114. package/dist/es/components/Table/TableCell.js +6 -0
  115. package/dist/es/components/Table/TableRow.js +10 -1
  116. package/dist/es/components/TabsBox/TabsBox.d.ts +1 -1
  117. package/dist/es/components/TabsBox/TabsBox.js +13 -4
  118. package/dist/es/components/TextBox/TextBox.css +25 -1
  119. package/dist/es/components/TextBox/TextBox.d.ts +1 -2
  120. package/dist/es/components/TextBox/TextBox.js +23 -8
  121. package/dist/es/components/TextBox/TextBoxPicture.css +27 -1
  122. package/dist/es/components/TextBox/TextBoxPicture.d.ts +2 -2
  123. package/dist/es/components/TextBox/TextBoxPicture.js +14 -5
  124. package/dist/es/components/TextWithIcon/TextWithIcon.css +10 -1
  125. package/dist/es/components/TextWithIcon/TextWithIcon.d.ts +1 -1
  126. package/dist/es/components/TextWithIcon/TextWithIcon.js +24 -6
  127. package/dist/es/components/TextWithIcon/TextWithIconItem.css +29 -1
  128. package/dist/es/components/TextWithIcon/TextWithIconItem.d.ts +1 -1
  129. package/dist/es/components/TextWithIcon/TextWithIconItem.js +21 -6
  130. package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.css +31 -1
  131. package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.d.ts +1 -1
  132. package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.js +23 -6
  133. package/dist/es/components/VideoBanner/VideoBanner.css +225 -1
  134. package/dist/es/components/VideoBanner/VideoBanner.d.ts +7 -7
  135. package/dist/es/components/VideoBanner/VideoBanner.js +110 -47
  136. package/dist/es/components/VideoBlock/VideoBlock.css +106 -1
  137. package/dist/es/components/VideoBlock/VideoBlock.d.ts +4 -4
  138. package/dist/es/components/VideoBlock/VideoBlock.js +75 -35
  139. package/dist/es/helpers/getColumnConfig.d.ts +1 -5
  140. package/dist/lib/components/AccordionBox/AccordionBox.css +15 -1
  141. package/dist/lib/components/AccordionBox/AccordionBox.d.ts +2 -2
  142. package/dist/lib/components/AccordionBox/AccordionBox.js +66 -10
  143. package/dist/lib/components/AudioPlayer/AudioPlayer.d.ts +2 -2
  144. package/dist/lib/components/AudioPlayer/AudioPlayer.js +56 -32
  145. package/dist/lib/components/AudioPlayer/AudioProgress.d.ts +1 -1
  146. package/dist/lib/components/AudioPlayer/AudioProgress.js +43 -12
  147. package/dist/lib/components/AudioPlayer/AudioRange.d.ts +1 -1
  148. package/dist/lib/components/AudioPlayer/AudioRange.js +17 -9
  149. package/dist/lib/components/AudioPlayer/AudioVolume.d.ts +1 -1
  150. package/dist/lib/components/AudioPlayer/AudioVolume.js +23 -4
  151. package/dist/lib/components/AudioPlayer/hooks/useTrackDuration.js +16 -5
  152. package/dist/lib/components/AudioPlayer/style/AudioPlayer.css +58 -1
  153. package/dist/lib/components/AudioPlayer/style/AudioProgress.css +35 -1
  154. package/dist/lib/components/AudioPlayer/style/AudioRange.css +68 -1
  155. package/dist/lib/components/AudioPlayer/style/AudioVolume.css +34 -1
  156. package/dist/lib/components/AudioPlayer/timerFormatUtil.js +13 -2
  157. package/dist/lib/components/BannerBox/BannerBox.d.ts +1 -1
  158. package/dist/lib/components/BannerBox/BannerBox.js +25 -7
  159. package/dist/lib/components/BenefitsIcons/BenefitsIcons.d.ts +1 -1
  160. package/dist/lib/components/BenefitsIcons/BenefitsIcons.js +86 -26
  161. package/dist/lib/components/BenefitsIcons/BenefitsIconsTile.d.ts +1 -1
  162. package/dist/lib/components/BenefitsIcons/BenefitsIconsTile.js +53 -13
  163. package/dist/lib/components/BenefitsIcons/helpers.d.ts +3 -3
  164. package/dist/lib/components/BenefitsIcons/helpers.js +37 -10
  165. package/dist/lib/components/BenefitsIcons/style/BenefitsIcons.css +38 -1
  166. package/dist/lib/components/BenefitsIcons/style/BenefitsIconsTile.css +90 -1
  167. package/dist/lib/components/BenefitsIcons/types.d.ts +5 -5
  168. package/dist/lib/components/BenefitsIcons/types.js +8 -5
  169. package/dist/lib/components/BenefitsPictures/BenefitsPictures.d.ts +1 -1
  170. package/dist/lib/components/BenefitsPictures/BenefitsPictures.js +71 -24
  171. package/dist/lib/components/BenefitsPictures/BenfitsPictures.css +43 -1
  172. package/dist/lib/components/BenefitsPictures/helpers.d.ts +2 -2
  173. package/dist/lib/components/BenefitsPictures/helpers.js +40 -9
  174. package/dist/lib/components/BenefitsPictures/types.d.ts +3 -3
  175. package/dist/lib/components/BenefitsPictures/types.js +1 -5
  176. package/dist/lib/components/Breadcrumbs/Breadcrumbs.css +43 -1
  177. package/dist/lib/components/Breadcrumbs/Breadcrumbs.d.ts +6 -6
  178. package/dist/lib/components/Breadcrumbs/Breadcrumbs.js +60 -18
  179. package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.css +16 -1
  180. package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.d.ts +4 -4
  181. package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.js +55 -22
  182. package/dist/lib/components/ButtonBanner/ButtonBanner.css +122 -1
  183. package/dist/lib/components/ButtonBanner/ButtonBanner.d.ts +7 -7
  184. package/dist/lib/components/ButtonBanner/ButtonBanner.js +89 -40
  185. package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.css +19 -1
  186. package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.d.ts +3 -3
  187. package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.js +72 -29
  188. package/dist/lib/components/Card/Card.css +354 -1
  189. package/dist/lib/components/Card/Card.d.ts +4 -4
  190. package/dist/lib/components/Card/Card.js +164 -67
  191. package/dist/lib/components/Card/types.d.ts +10 -10
  192. package/dist/lib/components/Card/types.js +1 -5
  193. package/dist/lib/components/CardsBox/CardsBox.js +31 -7
  194. package/dist/lib/components/CardsBox/helpers.d.ts +2 -2
  195. package/dist/lib/components/CardsBox/helpers.js +8 -1
  196. package/dist/lib/components/CarouselBox/CarouselBox.d.ts +2 -2
  197. package/dist/lib/components/CarouselBox/CarouselBox.js +39 -15
  198. package/dist/lib/components/Container/Container.css +3287 -1
  199. package/dist/lib/components/Container/Container.d.ts +5 -7
  200. package/dist/lib/components/Container/Container.js +40 -18
  201. package/dist/lib/components/DownloadLinks/DownloadLink.css +37 -1
  202. package/dist/lib/components/DownloadLinks/DownloadLink.d.ts +1 -1
  203. package/dist/lib/components/DownloadLinks/DownloadLink.js +60 -17
  204. package/dist/lib/components/DownloadLinks/DownloadLinks.css +36 -1
  205. package/dist/lib/components/DownloadLinks/DownloadLinks.d.ts +3 -3
  206. package/dist/lib/components/DownloadLinks/DownloadLinks.js +33 -8
  207. package/dist/lib/components/FaqWrapper/FaqWrapper.d.ts +2 -5
  208. package/dist/lib/components/FaqWrapper/FaqWrapper.js +9 -6
  209. package/dist/lib/components/ImageBanner/ImageBanner.css +252 -1
  210. package/dist/lib/components/ImageBanner/ImageBanner.d.ts +7 -8
  211. package/dist/lib/components/ImageBanner/ImageBanner.js +138 -61
  212. package/dist/lib/components/Instructions/Instructions.css +790 -1
  213. package/dist/lib/components/Instructions/Instructions.d.ts +11 -11
  214. package/dist/lib/components/Instructions/Instructions.js +186 -103
  215. package/dist/lib/components/NotificationBox/NotificationBox.d.ts +4 -4
  216. package/dist/lib/components/NotificationBox/NotificationBox.js +37 -9
  217. package/dist/lib/components/NotificationBox/style/NotificationBox.css +28 -0
  218. package/dist/lib/components/PageTitle/PageTitle.css +80 -1
  219. package/dist/lib/components/PageTitle/PageTitle.d.ts +2 -2
  220. package/dist/lib/components/PageTitle/PageTitle.js +52 -15
  221. package/dist/lib/components/Partners/Partners.css +53 -1
  222. package/dist/lib/components/Partners/Partners.d.ts +2 -2
  223. package/dist/lib/components/Partners/Partners.js +65 -21
  224. package/dist/lib/components/PictureWithDescription/PictureWithDescription.css +80 -1
  225. package/dist/lib/components/PictureWithDescription/PictureWithDescription.d.ts +2 -4
  226. package/dist/lib/components/PictureWithDescription/PictureWithDescription.js +46 -16
  227. package/dist/lib/components/Property/Property.css +156 -1
  228. package/dist/lib/components/Property/Property.d.ts +4 -4
  229. package/dist/lib/components/Property/Property.js +120 -60
  230. package/dist/lib/components/Property/PropertyDescription.css +17 -1
  231. package/dist/lib/components/Property/PropertyDescription.d.ts +3 -3
  232. package/dist/lib/components/Property/PropertyDescription.js +46 -15
  233. package/dist/lib/components/Property/types.d.ts +5 -7
  234. package/dist/lib/components/Property/types.js +1 -5
  235. package/dist/lib/components/Steps/Steps.css +41 -1
  236. package/dist/lib/components/Steps/Steps.d.ts +1 -2
  237. package/dist/lib/components/Steps/Steps.js +35 -8
  238. package/dist/lib/components/Steps/StepsItem.css +42 -1
  239. package/dist/lib/components/Steps/StepsItem.d.ts +2 -2
  240. package/dist/lib/components/Steps/StepsItem.js +23 -11
  241. package/dist/lib/components/StoreBanner/StoreBanner.css +346 -1
  242. package/dist/lib/components/StoreBanner/StoreBanner.d.ts +5 -5
  243. package/dist/lib/components/StoreBanner/StoreBanner.js +118 -47
  244. package/dist/lib/components/StoreBanner/doc/img/android-screen.png +0 -0
  245. package/dist/lib/components/StoreBanner/doc/img/qr-code.png +0 -0
  246. package/dist/lib/components/StoreBanner/doc/img/screen.png +0 -0
  247. package/dist/lib/components/StoreButton/StoreButton.css +327 -1
  248. package/dist/lib/components/StoreButton/StoreButton.d.ts +3 -3
  249. package/dist/lib/components/StoreButton/StoreButton.js +63 -17
  250. package/dist/lib/components/Table/Table.css +157 -1
  251. package/dist/lib/components/Table/Table.d.ts +1 -1
  252. package/dist/lib/components/Table/Table.js +68 -35
  253. package/dist/lib/components/Table/TableCell.js +16 -4
  254. package/dist/lib/components/Table/TableRow.js +19 -5
  255. package/dist/lib/components/TabsBox/TabBox.js +4 -1
  256. package/dist/lib/components/TabsBox/TabsBox.d.ts +1 -1
  257. package/dist/lib/components/TabsBox/TabsBox.js +26 -8
  258. package/dist/lib/components/TextBox/TextBox.css +25 -1
  259. package/dist/lib/components/TextBox/TextBox.d.ts +1 -2
  260. package/dist/lib/components/TextBox/TextBox.js +36 -12
  261. package/dist/lib/components/TextBox/TextBoxPicture.css +27 -1
  262. package/dist/lib/components/TextBox/TextBoxPicture.d.ts +2 -2
  263. package/dist/lib/components/TextBox/TextBoxPicture.js +29 -11
  264. package/dist/lib/components/TextWithIcon/TextWithIcon.css +10 -1
  265. package/dist/lib/components/TextWithIcon/TextWithIcon.d.ts +1 -1
  266. package/dist/lib/components/TextWithIcon/TextWithIcon.js +39 -10
  267. package/dist/lib/components/TextWithIcon/TextWithIconItem.css +29 -1
  268. package/dist/lib/components/TextWithIcon/TextWithIconItem.d.ts +1 -1
  269. package/dist/lib/components/TextWithIcon/TextWithIconItem.js +37 -10
  270. package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.css +31 -1
  271. package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.d.ts +1 -1
  272. package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.js +40 -10
  273. package/dist/lib/components/VideoBanner/VideoBanner.css +225 -1
  274. package/dist/lib/components/VideoBanner/VideoBanner.d.ts +7 -7
  275. package/dist/lib/components/VideoBanner/VideoBanner.js +176 -83
  276. package/dist/lib/components/VideoBlock/VideoBlock.css +106 -1
  277. package/dist/lib/components/VideoBlock/VideoBlock.d.ts +4 -4
  278. package/dist/lib/components/VideoBlock/VideoBlock.js +114 -58
  279. package/dist/lib/constants/throttleTime.js +3 -2
  280. package/dist/lib/helpers/getColumnConfig.d.ts +1 -5
  281. package/dist/lib/helpers/getColumnConfig.js +5 -2
  282. package/dist/lib/index.js +57 -10
  283. package/package.json +92 -87
  284. package/dist/es/components/NotificationBox/NotificationBox.css +0 -1
  285. package/dist/lib/components/NotificationBox/NotificationBox.css +0 -1
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import './TextWithIconItem.scss';
2
+ import './TextWithIconItem.less';
3
3
  export interface ITextWithIconItem {
4
4
  /** Дополнительные классы для внутренних элементов */
5
5
  classes?: {
@@ -3,23 +3,26 @@ import "core-js/modules/es.array.is-array.js";
3
3
  import "core-js/modules/es.array.map.js";
4
4
  import * as React from 'react';
5
5
  import { cnCreate, convert, filterDataAttrs, textConvertConfig } from '@megafon/ui-helpers';
6
+ import * as PropTypes from 'prop-types';
6
7
  import "./TextWithIconItem.css";
7
8
  var testIdPrefix = 'TextWithIconItem';
8
9
  var cn = cnCreate('mfui-text-with-icon-item');
10
+
9
11
  var TextWithIconItem = function TextWithIconItem(_ref) {
10
12
  var className = _ref.className,
11
- _ref$classes = _ref.classes,
12
- classes = _ref$classes === void 0 ? {} : _ref$classes,
13
- text = _ref.text,
14
- icon = _ref.icon,
15
- rootRef = _ref.rootRef,
16
- dataAttrs = _ref.dataAttrs;
13
+ _ref$classes = _ref.classes,
14
+ classes = _ref$classes === void 0 ? {} : _ref$classes,
15
+ text = _ref.text,
16
+ icon = _ref.icon,
17
+ rootRef = _ref.rootRef,
18
+ dataAttrs = _ref.dataAttrs;
17
19
  var renderText = React.useMemo(function () {
18
20
  if (Array.isArray(text)) {
19
21
  return text.map(function (item) {
20
22
  return convert(item, textConvertConfig);
21
23
  });
22
24
  }
25
+
23
26
  return convert(text, textConvertConfig);
24
27
  }, [text]);
25
28
  return /*#__PURE__*/React.createElement("div", _extends({
@@ -33,4 +36,16 @@ var TextWithIconItem = function TextWithIconItem(_ref) {
33
36
  "data-testid": "".concat(testIdPrefix, "-text")
34
37
  }, renderText));
35
38
  };
39
+
40
+ TextWithIconItem.propTypes = {
41
+ text: PropTypes.oneOfType([PropTypes.string.isRequired, PropTypes.arrayOf(PropTypes.string.isRequired)]).isRequired,
42
+ icon: PropTypes.node.isRequired,
43
+ rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
44
+ current: PropTypes.elementType
45
+ }), PropTypes.any])]),
46
+ dataAttrs: PropTypes.shape({
47
+ root: PropTypes.objectOf(PropTypes.string.isRequired)
48
+ }),
49
+ className: PropTypes.string
50
+ };
36
51
  export default TextWithIconItem;
@@ -1 +1,31 @@
1
- h1,h2,h3,h4,h5{margin:0}.mfui-title-description-box{color:var(--content),.mfui-title-description-box __item_header;font-family:inherit;color-white-space:pre-wrap}.mfui-title-description-box__item:not(:last-child){margin-bottom:16px}.mfui-title-description-box_text-color_white{color:var(--stcWhite)}.mfui-title-description-box_h-align_center{text-align:center}.mfui-title-description-box__description{font-size:15px;font-weight:400;line-height:24px}.mfui-title-description-box__description :last-child{margin-bottom:0!important}
1
+ h1,
2
+ h2,
3
+ h3,
4
+ h4,
5
+ h5 {
6
+ margin: 0;
7
+ }
8
+ .mfui-title-description-box {
9
+ font-family: inherit;
10
+ color: var(--content);
11
+ }
12
+ .mfui-title-description-box__item_header {
13
+ white-space: pre-wrap;
14
+ }
15
+ .mfui-title-description-box__item:not(:last-child) {
16
+ margin-bottom: 16px;
17
+ }
18
+ .mfui-title-description-box_text-color_white {
19
+ color: var(--stcWhite);
20
+ }
21
+ .mfui-title-description-box_h-align_center {
22
+ text-align: center;
23
+ }
24
+ .mfui-title-description-box__description {
25
+ font-size: 15px;
26
+ line-height: 24px;
27
+ font-weight: 400;
28
+ }
29
+ .mfui-title-description-box__description :last-child {
30
+ margin-bottom: 0 !important;
31
+ }
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import './TitleDescriptionBox.scss';
2
+ import './TitleDescriptionBox.less';
3
3
  export interface ITitleDescriptionBoxProps {
4
4
  /** Дополнительные data атрибуты к внутренним элементам */
5
5
  dataAttrs?: {
@@ -4,17 +4,19 @@ import "core-js/modules/es.symbol.description.js";
4
4
  import * as React from 'react';
5
5
  import { Header, Paragraph, Grid, GridColumn } from '@megafon/ui-core';
6
6
  import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
7
+ import * as PropTypes from 'prop-types';
7
8
  import "./TitleDescriptionBox.css";
8
9
  var testIdPrefix = 'TitleDescriptionBox';
9
10
  var cn = cnCreate('mfui-title-description-box');
11
+
10
12
  var TitleDescriptionBox = function TitleDescriptionBox(_ref) {
11
13
  var dataAttrs = _ref.dataAttrs,
12
- title = _ref.title,
13
- description = _ref.description,
14
- textColor = _ref.textColor,
15
- align = _ref.align,
16
- rootRef = _ref.rootRef,
17
- className = _ref.className;
14
+ title = _ref.title,
15
+ description = _ref.description,
16
+ textColor = _ref.textColor,
17
+ align = _ref.align,
18
+ rootRef = _ref.rootRef,
19
+ className = _ref.className;
18
20
  var renderDescription = React.useCallback(function () {
19
21
  if (typeof description === 'string') {
20
22
  return /*#__PURE__*/React.createElement(Paragraph, {
@@ -28,6 +30,7 @@ var TitleDescriptionBox = function TitleDescriptionBox(_ref) {
28
30
  }
29
31
  }, description);
30
32
  }
33
+
31
34
  return /*#__PURE__*/React.createElement("div", {
32
35
  className: cn('description'),
33
36
  "data-testid": "".concat(testIdPrefix, "-description-node")
@@ -57,4 +60,18 @@ var TitleDescriptionBox = function TitleDescriptionBox(_ref) {
57
60
  color: "inherit"
58
61
  }, title), description && renderDescription())));
59
62
  };
63
+
64
+ TitleDescriptionBox.propTypes = {
65
+ dataAttrs: PropTypes.shape({
66
+ root: PropTypes.objectOf(PropTypes.string.isRequired)
67
+ }),
68
+ rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
69
+ current: PropTypes.elementType
70
+ }), PropTypes.any])]),
71
+ className: PropTypes.string,
72
+ title: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.node)]),
73
+ description: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.node)]),
74
+ align: PropTypes.oneOf(['center']),
75
+ textColor: PropTypes.oneOf(['white'])
76
+ };
60
77
  export default TitleDescriptionBox;
@@ -1 +1,225 @@
1
- h1,h2,h3,h4,h5{margin:0}.mfui-video-banner{overflow:hidden;position:relative}@media screen and (min-width:1280px){.mfui-video-banner{margin-left:-80px;margin-right:-80px}}@media screen and (min-width:1024px) and (max-width:1279px){.mfui-video-banner{margin-left:-64px;margin-right:-64px}}@media screen and (min-width:768px) and (max-width:1023px){.mfui-video-banner{margin-left:-48px;margin-right:-48px}}@media screen and (max-width:767px){.mfui-video-banner{margin-left:-16px;margin-right:-16px}}.mfui-video-banner_bottom-shadow:after{background:-webkit-gradient(linear,left top,left bottom,color-stop(95.25%,hsla(0,0%,100%,0)),to(rgba(0,0,0,.024)));background:linear-gradient(180deg,hsla(0,0%,100%,0) 95.25%,rgba(0,0,0,.024));bottom:0;content:"";height:100%;position:absolute;right:0;width:100%}.mfui-video-banner__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:400px}@media screen and (min-width:1440px){.mfui-video-banner__wrapper{height:562px}}@media screen and (min-width:1280px) and (max-width:1439px){.mfui-video-banner__wrapper{height:500px}}@media screen and (min-width:1024px) and (max-width:1279px){.mfui-video-banner__wrapper{max-height:440px;padding-bottom:52px;padding-top:52px}}@media screen and (min-width:768px) and (max-width:1023px){.mfui-video-banner__wrapper{max-height:440px;padding-bottom:64px;padding-top:64px}}@media screen and (max-width:767px){.mfui-video-banner__wrapper{max-height:488px;padding-bottom:42px;padding-top:42px}}.mfui-video-banner__background-image,.mfui-video-banner__video{left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.mfui-video-banner__background-image{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.mfui-video-banner__content{-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}@media screen and (min-width:1440px){.mfui-video-banner__content{max-height:422px}}@media screen and (min-width:1280px) and (max-width:1439px){.mfui-video-banner__content{max-height:360px}}@media screen and (min-width:1024px) and (max-width:1279px){.mfui-video-banner__content{max-height:336px}}@media screen and (min-width:768px) and (max-width:1023px){.mfui-video-banner__content{max-height:312px}}@media screen and (max-width:767px){.mfui-video-banner__content{max-height:404px}}.mfui-video-banner__content_text-color_black{color:var(--stcBlack)}.mfui-video-banner__content_text-color_white{color:var(--stcWhite)}@media screen and (max-width:767px){.mfui-video-banner__content_text-color-mobile_black{color:var(--stcBlack)}.mfui-video-banner__content_text-color-mobile_white{color:var(--stcWhite)}}.mfui-video-banner__description{margin-bottom:32px;white-space:pre-wrap}.mfui-video-banner__title{margin-bottom:24px}@media screen and (max-width:767px){.mfui-video-banner__title{margin-bottom:20px}}.mfui-video-banner__text,.mfui-video-banner__title{white-space:pre-wrap}@media screen and (max-width:767px){.mfui-video-banner__text,.mfui-video-banner__title{text-align:center}}.mfui-video-banner__btns-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;margin:-24px -10px 0}@media screen and (max-width:767px){.mfui-video-banner__btns-wrapper{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}}@media screen and (max-width:479px){.mfui-video-banner__btns-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.mfui-video-banner__button,.mfui-video-banner__link{margin:24px 10px 0}.mfui-video-banner__cost{font-size:12px;line-height:18px;margin-bottom:18px}.mfui-video-banner__value{display:inline;margin:0 3px}.mfui-video-banner__breadcrumbs,.mfui-video-banner__content{z-index:1}.mfui-video-banner__breadcrumbs{position:absolute;top:32px}@media screen and (max-width:767px){.mfui-video-banner__breadcrumbs{display:none}}.mfui-video-banner__grid{width:100%}
1
+ h1,
2
+ h2,
3
+ h3,
4
+ h4,
5
+ h5 {
6
+ margin: 0;
7
+ }
8
+ .mfui-video-banner {
9
+ position: relative;
10
+ overflow: hidden;
11
+ }
12
+ @media screen and (min-width: 1280px) {
13
+ .mfui-video-banner {
14
+ margin-right: -80px;
15
+ margin-left: -80px;
16
+ }
17
+ }
18
+ @media screen and (min-width: 1024px) and (max-width: 1279px) {
19
+ .mfui-video-banner {
20
+ margin-right: -64px;
21
+ margin-left: -64px;
22
+ }
23
+ }
24
+ @media screen and (min-width: 768px) and (max-width: 1023px) {
25
+ .mfui-video-banner {
26
+ margin-right: -48px;
27
+ margin-left: -48px;
28
+ }
29
+ }
30
+ @media screen and (max-width: 767px) {
31
+ .mfui-video-banner {
32
+ margin-right: -16px;
33
+ margin-left: -16px;
34
+ }
35
+ }
36
+ .mfui-video-banner_bottom-shadow:after {
37
+ content: '';
38
+ position: absolute;
39
+ right: 0;
40
+ bottom: 0;
41
+ width: 100%;
42
+ height: 100%;
43
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(95.25%, rgba(255, 255, 255, 0)), to(rgba(0, 0, 0, 0.024)));
44
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0) 95.25%, rgba(0, 0, 0, 0.024) 100%);
45
+ }
46
+ .mfui-video-banner__wrapper {
47
+ display: -webkit-box;
48
+ display: -ms-flexbox;
49
+ display: flex;
50
+ -webkit-box-align: center;
51
+ -ms-flex-align: center;
52
+ align-items: center;
53
+ min-height: 400px;
54
+ }
55
+ @media screen and (min-width: 1440px) {
56
+ .mfui-video-banner__wrapper {
57
+ height: 562px;
58
+ }
59
+ }
60
+ @media screen and (min-width: 1280px) and (max-width: 1439px) {
61
+ .mfui-video-banner__wrapper {
62
+ height: 500px;
63
+ }
64
+ }
65
+ @media screen and (min-width: 1024px) and (max-width: 1279px) {
66
+ .mfui-video-banner__wrapper {
67
+ max-height: 440px;
68
+ padding-top: 52px;
69
+ padding-bottom: 52px;
70
+ }
71
+ }
72
+ @media screen and (min-width: 768px) and (max-width: 1023px) {
73
+ .mfui-video-banner__wrapper {
74
+ max-height: 440px;
75
+ padding-top: 64px;
76
+ padding-bottom: 64px;
77
+ }
78
+ }
79
+ @media screen and (max-width: 767px) {
80
+ .mfui-video-banner__wrapper {
81
+ max-height: 488px;
82
+ padding-top: 42px;
83
+ padding-bottom: 42px;
84
+ }
85
+ }
86
+ .mfui-video-banner__background-image,
87
+ .mfui-video-banner__video {
88
+ position: absolute;
89
+ top: 50%;
90
+ left: 50%;
91
+ -webkit-transform: translate(-50%, -50%);
92
+ transform: translate(-50%, -50%);
93
+ }
94
+ .mfui-video-banner__background-image {
95
+ width: 100%;
96
+ height: 100%;
97
+ -o-object-fit: cover;
98
+ object-fit: cover;
99
+ }
100
+ .mfui-video-banner__content {
101
+ position: relative;
102
+ -webkit-box-sizing: border-box;
103
+ box-sizing: border-box;
104
+ }
105
+ @media screen and (min-width: 1440px) {
106
+ .mfui-video-banner__content {
107
+ max-height: calc(562px - 2 * 70px);
108
+ }
109
+ }
110
+ @media screen and (min-width: 1280px) and (max-width: 1439px) {
111
+ .mfui-video-banner__content {
112
+ max-height: calc(500px - 2 * 70px);
113
+ }
114
+ }
115
+ @media screen and (min-width: 1024px) and (max-width: 1279px) {
116
+ .mfui-video-banner__content {
117
+ max-height: calc(440px - 2 * 52px);
118
+ }
119
+ }
120
+ @media screen and (min-width: 768px) and (max-width: 1023px) {
121
+ .mfui-video-banner__content {
122
+ max-height: calc(440px - 2 * 64px);
123
+ }
124
+ }
125
+ @media screen and (max-width: 767px) {
126
+ .mfui-video-banner__content {
127
+ max-height: calc(488px - 2 * 42px);
128
+ }
129
+ }
130
+ .mfui-video-banner__content_text-color_black {
131
+ color: var(--stcBlack);
132
+ }
133
+ .mfui-video-banner__content_text-color_white {
134
+ color: var(--stcWhite);
135
+ }
136
+ @media screen and (max-width: 767px) {
137
+ .mfui-video-banner__content_text-color-mobile_black {
138
+ color: var(--stcBlack);
139
+ }
140
+ }
141
+ @media screen and (max-width: 767px) {
142
+ .mfui-video-banner__content_text-color-mobile_white {
143
+ color: var(--stcWhite);
144
+ }
145
+ }
146
+ .mfui-video-banner__description {
147
+ margin-bottom: 32px;
148
+ white-space: pre-wrap;
149
+ }
150
+ .mfui-video-banner__title {
151
+ margin-bottom: 24px;
152
+ }
153
+ @media screen and (max-width: 767px) {
154
+ .mfui-video-banner__title {
155
+ margin-bottom: 20px;
156
+ }
157
+ }
158
+ .mfui-video-banner__title,
159
+ .mfui-video-banner__text {
160
+ white-space: pre-wrap;
161
+ }
162
+ @media screen and (max-width: 767px) {
163
+ .mfui-video-banner__title,
164
+ .mfui-video-banner__text {
165
+ text-align: center;
166
+ }
167
+ }
168
+ .mfui-video-banner__btns-wrapper {
169
+ display: -webkit-box;
170
+ display: -ms-flexbox;
171
+ display: flex;
172
+ -ms-flex-wrap: wrap;
173
+ flex-wrap: wrap;
174
+ -webkit-box-align: center;
175
+ -ms-flex-align: center;
176
+ align-items: center;
177
+ -webkit-box-pack: start;
178
+ -ms-flex-pack: start;
179
+ justify-content: flex-start;
180
+ margin: -24px -10px 0;
181
+ }
182
+ @media screen and (max-width: 767px) {
183
+ .mfui-video-banner__btns-wrapper {
184
+ -webkit-box-pack: center;
185
+ -ms-flex-pack: center;
186
+ justify-content: center;
187
+ }
188
+ }
189
+ @media screen and (max-width: 479px) {
190
+ .mfui-video-banner__btns-wrapper {
191
+ -webkit-box-orient: vertical;
192
+ -webkit-box-direction: normal;
193
+ -ms-flex-direction: column;
194
+ flex-direction: column;
195
+ }
196
+ }
197
+ .mfui-video-banner__link,
198
+ .mfui-video-banner__button {
199
+ margin: 24px 10px 0;
200
+ }
201
+ .mfui-video-banner__cost {
202
+ font-size: 12px;
203
+ line-height: 18px;
204
+ margin-bottom: 18px;
205
+ }
206
+ .mfui-video-banner__value {
207
+ display: inline;
208
+ margin: 0 3px;
209
+ }
210
+ .mfui-video-banner__content,
211
+ .mfui-video-banner__breadcrumbs {
212
+ z-index: 1;
213
+ }
214
+ .mfui-video-banner__breadcrumbs {
215
+ position: absolute;
216
+ top: 32px;
217
+ }
218
+ @media screen and (max-width: 767px) {
219
+ .mfui-video-banner__breadcrumbs {
220
+ display: none;
221
+ }
222
+ }
223
+ .mfui-video-banner__grid {
224
+ width: 100%;
225
+ }
@@ -1,7 +1,7 @@
1
- import * as React from 'react';
1
+ import React, { Ref } from 'react';
2
2
  import { Props as BreadcrumbsPropsType } from '../Breadcrumbs/Breadcrumbs';
3
- import './VideoBanner.scss';
4
- export type BreadCrumbsItemsType = BreadcrumbsPropsType['items'];
3
+ import './VideoBanner.less';
4
+ export declare type BreadCrumbsItemsType = BreadcrumbsPropsType['items'];
5
5
  export declare const testIdPrefix = "VideoBanner";
6
6
  export declare enum ClassName {
7
7
  BUTTON = "button",
@@ -11,17 +11,17 @@ export declare const VideoType: {
11
11
  readonly YOUTUBE: "youtube";
12
12
  readonly VIDEO: "video";
13
13
  };
14
- type VideoType = (typeof VideoType)[keyof typeof VideoType];
14
+ declare type VideoType = typeof VideoType[keyof typeof VideoType];
15
15
  export declare const ButtonColor: {
16
16
  readonly GREEN: "green";
17
17
  readonly PURPLE: "purple";
18
18
  };
19
- export type ButtonColorType = (typeof ButtonColor)[keyof typeof ButtonColor];
19
+ export declare type ButtonColorType = typeof ButtonColor[keyof typeof ButtonColor];
20
20
  export declare const TextColor: {
21
21
  readonly BLACK: "black";
22
22
  readonly WHITE: "white";
23
23
  };
24
- type TextColorType = (typeof TextColor)[keyof typeof TextColor];
24
+ declare type TextColorType = typeof TextColor[keyof typeof TextColor];
25
25
  export interface IContent {
26
26
  /** Заголовок */
27
27
  title: string;
@@ -80,7 +80,7 @@ export interface IVideoBannerProps {
80
80
  video?: string;
81
81
  };
82
82
  /** Ссылка на корневой элемент */
83
- rootRef?: React.Ref<HTMLDivElement>;
83
+ rootRef?: Ref<HTMLDivElement>;
84
84
  /** Данные для блока с контентом */
85
85
  content?: IContent;
86
86
  /** Источник видео. */
@@ -2,22 +2,26 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import "core-js/modules/es.symbol.js";
4
4
  import "core-js/modules/es.symbol.description.js";
5
- import "core-js/modules/es.array.concat.js";
6
5
  import "core-js/modules/es.string.link.js";
7
- import * as React from 'react';
6
+ import "core-js/modules/es.array.concat.js";
7
+ import "core-js/modules/es.object.values.js";
8
+ import React from 'react';
8
9
  import { Button, Header, ContentArea, TextLink, Grid, GridColumn } from '@megafon/ui-core';
9
10
  import { breakpoints, cnCreate, filterDataAttrs, convert, titleConvertConfig } from '@megafon/ui-helpers';
10
11
  import throttle from 'lodash.throttle';
12
+ import * as PropTypes from 'prop-types';
11
13
  import throttleTime from "../../constants/throttleTime";
12
14
  import Breadcrumbs from "../Breadcrumbs/Breadcrumbs";
13
15
  import "./VideoBanner.css";
14
16
  export var testIdPrefix = 'VideoBanner';
15
17
  var cn = cnCreate('mfui-video-banner');
16
18
  export var ClassName;
19
+
17
20
  (function (ClassName) {
18
21
  ClassName["BUTTON"] = "button";
19
22
  ClassName["LINK"] = "link";
20
23
  })(ClassName || (ClassName = {}));
24
+
21
25
  var typographyConfig = {
22
26
  b: {
23
27
  component: function component(_ref) {
@@ -42,58 +46,61 @@ export var TextColor = {
42
46
  BLACK: 'black',
43
47
  WHITE: 'white'
44
48
  };
49
+
45
50
  var VideoBanner = function VideoBanner(_ref2) {
46
51
  var dataAttrs = _ref2.dataAttrs,
47
- className = _ref2.className,
48
- _ref2$classes = _ref2.classes,
49
- classes = _ref2$classes === void 0 ? {} : _ref2$classes,
50
- rootRef = _ref2.rootRef,
51
- videoSrc = _ref2.videoSrc,
52
- videoType = _ref2.videoType,
53
- imageMobile = _ref2.imageMobile,
54
- imageTablet = _ref2.imageTablet,
55
- _ref2$imageDesktop = _ref2.imageDesktop,
56
- imageDesktop = _ref2$imageDesktop === void 0 ? '' : _ref2$imageDesktop,
57
- _ref2$imageDesktopWid = _ref2.imageDesktopWide,
58
- imageDesktopWide = _ref2$imageDesktopWid === void 0 ? '' : _ref2$imageDesktopWid,
59
- imageAlt = _ref2.imageAlt,
60
- content = _ref2.content,
61
- _ref2$isMuted = _ref2.isMuted,
62
- isMuted = _ref2$isMuted === void 0 ? true : _ref2$isMuted,
63
- breadcrumbs = _ref2.breadcrumbs,
64
- _ref2$videoMobile = _ref2.videoMobile,
65
- videoMobile = _ref2$videoMobile === void 0 ? false : _ref2$videoMobile,
66
- _ref2$hasBreadcrumbsM = _ref2.hasBreadcrumbsMicrodata,
67
- hasBreadcrumbsMicrodata = _ref2$hasBreadcrumbsM === void 0 ? false : _ref2$hasBreadcrumbsM,
68
- _ref2$bottomShadow = _ref2.bottomShadow,
69
- bottomShadow = _ref2$bottomShadow === void 0 ? false : _ref2$bottomShadow;
52
+ className = _ref2.className,
53
+ _ref2$classes = _ref2.classes,
54
+ classes = _ref2$classes === void 0 ? {} : _ref2$classes,
55
+ rootRef = _ref2.rootRef,
56
+ videoSrc = _ref2.videoSrc,
57
+ videoType = _ref2.videoType,
58
+ imageMobile = _ref2.imageMobile,
59
+ imageTablet = _ref2.imageTablet,
60
+ _ref2$imageDesktop = _ref2.imageDesktop,
61
+ imageDesktop = _ref2$imageDesktop === void 0 ? '' : _ref2$imageDesktop,
62
+ _ref2$imageDesktopWid = _ref2.imageDesktopWide,
63
+ imageDesktopWide = _ref2$imageDesktopWid === void 0 ? '' : _ref2$imageDesktopWid,
64
+ imageAlt = _ref2.imageAlt,
65
+ content = _ref2.content,
66
+ _ref2$isMuted = _ref2.isMuted,
67
+ isMuted = _ref2$isMuted === void 0 ? true : _ref2$isMuted,
68
+ breadcrumbs = _ref2.breadcrumbs,
69
+ _ref2$videoMobile = _ref2.videoMobile,
70
+ videoMobile = _ref2$videoMobile === void 0 ? false : _ref2$videoMobile,
71
+ _ref2$hasBreadcrumbsM = _ref2.hasBreadcrumbsMicrodata,
72
+ hasBreadcrumbsMicrodata = _ref2$hasBreadcrumbsM === void 0 ? false : _ref2$hasBreadcrumbsM,
73
+ _ref2$bottomShadow = _ref2.bottomShadow,
74
+ bottomShadow = _ref2$bottomShadow === void 0 ? false : _ref2$bottomShadow;
75
+
70
76
  var _React$useState = React.useState(true),
71
- _React$useState2 = _slicedToArray(_React$useState, 2),
72
- isMobile = _React$useState2[0],
73
- setIsMobile = _React$useState2[1];
77
+ _React$useState2 = _slicedToArray(_React$useState, 2),
78
+ isMobile = _React$useState2[0],
79
+ setIsMobile = _React$useState2[1];
80
+
74
81
  var isVideoData = !!videoSrc && !!videoType;
75
82
  var isRenderVideo = (!isMobile || videoMobile) && isVideoData;
76
83
  var renderContent = React.useCallback(function (_ref3) {
77
84
  var title = _ref3.title,
78
- description = _ref3.description,
79
- buttonTitle = _ref3.buttonTitle,
80
- buttonHref = _ref3.buttonHref,
81
- buttonTarget = _ref3.buttonTarget,
82
- buttonDownload = _ref3.buttonDownload,
83
- _ref3$buttonColor = _ref3.buttonColor,
84
- buttonColor = _ref3$buttonColor === void 0 ? ButtonColor.GREEN : _ref3$buttonColor,
85
- buttonRel = _ref3.buttonRel,
86
- onButtonClick = _ref3.onButtonClick,
87
- onLinkClick = _ref3.onLinkClick,
88
- _ref3$textColor = _ref3.textColor,
89
- textColor = _ref3$textColor === void 0 ? TextColor.BLACK : _ref3$textColor,
90
- textColorMobile = _ref3.textColorMobile,
91
- linkTitle = _ref3.linkTitle,
92
- linkUrl = _ref3.linkUrl,
93
- linkTarget = _ref3.linkTarget,
94
- linkDownload = _ref3.linkDownload,
95
- linkRel = _ref3.linkRel,
96
- cost = _ref3.cost;
85
+ description = _ref3.description,
86
+ buttonTitle = _ref3.buttonTitle,
87
+ buttonHref = _ref3.buttonHref,
88
+ buttonTarget = _ref3.buttonTarget,
89
+ buttonDownload = _ref3.buttonDownload,
90
+ _ref3$buttonColor = _ref3.buttonColor,
91
+ buttonColor = _ref3$buttonColor === void 0 ? ButtonColor.GREEN : _ref3$buttonColor,
92
+ buttonRel = _ref3.buttonRel,
93
+ onButtonClick = _ref3.onButtonClick,
94
+ onLinkClick = _ref3.onLinkClick,
95
+ _ref3$textColor = _ref3.textColor,
96
+ textColor = _ref3$textColor === void 0 ? TextColor.BLACK : _ref3$textColor,
97
+ textColorMobile = _ref3.textColorMobile,
98
+ linkTitle = _ref3.linkTitle,
99
+ linkUrl = _ref3.linkUrl,
100
+ linkTarget = _ref3.linkTarget,
101
+ linkDownload = _ref3.linkDownload,
102
+ linkRel = _ref3.linkRel,
103
+ cost = _ref3.cost;
97
104
  return /*#__PURE__*/React.createElement(Grid, {
98
105
  className: cn('grid'),
99
106
  guttersLeft: "medium"
@@ -170,6 +177,7 @@ var VideoBanner = function VideoBanner(_ref2) {
170
177
  "data-testid": "".concat(testIdPrefix, "-iframe-video")
171
178
  });
172
179
  }
180
+
173
181
  case VideoType.VIDEO:
174
182
  {
175
183
  return (
@@ -187,6 +195,7 @@ var VideoBanner = function VideoBanner(_ref2) {
187
195
  }))
188
196
  );
189
197
  }
198
+
190
199
  default:
191
200
  {
192
201
  return null;
@@ -197,6 +206,7 @@ var VideoBanner = function VideoBanner(_ref2) {
197
206
  var resizeHandler = function resizeHandler() {
198
207
  setIsMobile(window.innerWidth < breakpoints.DESKTOP_SMALL_START);
199
208
  };
209
+
200
210
  var resizeHandlerThrottled = throttle(resizeHandler, throttleTime.resize);
201
211
  resizeHandler();
202
212
  window.addEventListener('resize', resizeHandlerThrottled);
@@ -241,4 +251,57 @@ var VideoBanner = function VideoBanner(_ref2) {
241
251
  alt: imageAlt
242
252
  })))));
243
253
  };
254
+
255
+ VideoBanner.propTypes = {
256
+ dataAttrs: PropTypes.shape({
257
+ root: PropTypes.objectOf(PropTypes.string.isRequired),
258
+ breadcrumbs: PropTypes.objectOf(PropTypes.string.isRequired),
259
+ breadcrumbsLink: PropTypes.objectOf(PropTypes.string.isRequired),
260
+ button: PropTypes.objectOf(PropTypes.string.isRequired),
261
+ link: PropTypes.objectOf(PropTypes.string.isRequired)
262
+ }),
263
+ className: PropTypes.string,
264
+ classes: PropTypes.shape({
265
+ root: PropTypes.string,
266
+ button: PropTypes.string,
267
+ link: PropTypes.string,
268
+ breadcrumbs: PropTypes.string
269
+ }),
270
+ rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
271
+ current: PropTypes.elementType
272
+ }), PropTypes.any])]),
273
+ videoSrc: PropTypes.string,
274
+ videoType: PropTypes.oneOf(Object.values(VideoType)),
275
+ videoMobile: PropTypes.bool,
276
+ content: PropTypes.shape({
277
+ title: PropTypes.string.isRequired,
278
+ description: PropTypes.string.isRequired,
279
+ buttonTitle: PropTypes.string,
280
+ buttonHref: PropTypes.string,
281
+ buttonDownload: PropTypes.bool,
282
+ buttonColor: PropTypes.oneOf(Object.values(ButtonColor)),
283
+ buttonRel: PropTypes.string,
284
+ onButtonClick: PropTypes.func,
285
+ onLinkClick: PropTypes.func,
286
+ textColor: PropTypes.oneOf(Object.values(TextColor)),
287
+ textColorMobile: PropTypes.oneOf(Object.values(TextColor)),
288
+ linkTitle: PropTypes.string,
289
+ linkUrl: PropTypes.string,
290
+ linkDownload: PropTypes.bool,
291
+ linkRel: PropTypes.string,
292
+ cost: PropTypes.string
293
+ }),
294
+ isMuted: PropTypes.bool,
295
+ imageMobile: PropTypes.string.isRequired,
296
+ imageTablet: PropTypes.string.isRequired,
297
+ imageDesktop: PropTypes.string,
298
+ imageDesktopWide: PropTypes.string,
299
+ imageAlt: PropTypes.string,
300
+ breadcrumbs: PropTypes.arrayOf(PropTypes.shape({
301
+ title: PropTypes.string.isRequired,
302
+ href: PropTypes.string
303
+ }).isRequired),
304
+ hasBreadcrumbsMicrodata: PropTypes.bool,
305
+ bottomShadow: PropTypes.bool
306
+ };
244
307
  export default VideoBanner;