@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,25 +1,25 @@
1
- import * as React from 'react';
2
- import './ButtonBanner.scss';
1
+ import React, { Ref } from 'react';
2
+ import './ButtonBanner.less';
3
3
  export declare const ButtonColor: {
4
4
  readonly GREEN: "green";
5
5
  readonly PURPLE: "purple";
6
6
  };
7
- type ButtonColorType = (typeof ButtonColor)[keyof typeof ButtonColor];
7
+ declare type ButtonColorType = typeof ButtonColor[keyof typeof ButtonColor];
8
8
  export declare const ButtonTypes: {
9
9
  readonly PRIMARY: "primary";
10
10
  readonly OUTLINE: "outline";
11
11
  };
12
- type ButtonTypesType = (typeof ButtonTypes)[keyof typeof ButtonTypes];
12
+ declare type ButtonTypesType = typeof ButtonTypes[keyof typeof ButtonTypes];
13
13
  export declare const ButtonTarget: {
14
14
  readonly SELF: "_self";
15
15
  readonly BLANK: "_blank";
16
16
  };
17
- type ButtonTargetType = (typeof ButtonTarget)[keyof typeof ButtonTarget];
17
+ declare type ButtonTargetType = typeof ButtonTarget[keyof typeof ButtonTarget];
18
18
  export declare const ImageScaling: {
19
19
  readonly COVER: "cover";
20
20
  readonly CONTAIN: "contain";
21
21
  };
22
- type ImageScalingType = (typeof ImageScaling)[keyof typeof ImageScaling];
22
+ declare type ImageScalingType = typeof ImageScaling[keyof typeof ImageScaling];
23
23
  export interface IButtonBannerProps {
24
24
  /** Дополнительные data атрибуты к внутренним элементам */
25
25
  dataAttrs?: {
@@ -34,7 +34,7 @@ export interface IButtonBannerProps {
34
34
  button?: string;
35
35
  };
36
36
  /** Ссылка на корневой элемент */
37
- rootRef?: React.Ref<HTMLDivElement>;
37
+ rootRef?: Ref<HTMLDivElement>;
38
38
  /** Заголовок */
39
39
  title: string;
40
40
  /** Текст */
@@ -1,7 +1,9 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import * as React from 'react';
2
+ import "core-js/modules/es.object.values.js";
3
+ import React from 'react';
3
4
  import { Button, Grid, GridColumn, Header } from '@megafon/ui-core';
4
5
  import { cnCreate, filterDataAttrs, convert, titleConvertConfig, textConvertConfig } from '@megafon/ui-helpers';
6
+ import * as PropTypes from 'prop-types';
5
7
  import "./ButtonBanner.css";
6
8
  export var ButtonColor = {
7
9
  GREEN: 'green',
@@ -19,36 +21,39 @@ export var ImageScaling = {
19
21
  COVER: 'cover',
20
22
  CONTAIN: 'contain'
21
23
  };
24
+
22
25
  var getMediaStyle = function getMediaStyle(imageUrl) {
23
26
  return imageUrl ? {
24
27
  backgroundImage: "url(".concat(imageUrl, ")")
25
28
  } : undefined;
26
29
  };
30
+
27
31
  var cn = cnCreate('mfui-button-banner');
28
32
  var testIdPrefix = 'ButtonBanner';
33
+
29
34
  var ButtonBanner = function ButtonBanner(_ref) {
30
35
  var dataAttrs = _ref.dataAttrs,
31
- className = _ref.className,
32
- _ref$classes = _ref.classes,
33
- classes = _ref$classes === void 0 ? {} : _ref$classes,
34
- rootRef = _ref.rootRef,
35
- title = _ref.title,
36
- text = _ref.text,
37
- _ref$imageUrl = _ref.imageUrl,
38
- imageUrl = _ref$imageUrl === void 0 ? '' : _ref$imageUrl,
39
- buttonText = _ref.buttonText,
40
- buttonUrl = _ref.buttonUrl,
41
- buttonDownload = _ref.buttonDownload,
42
- _ref$buttonTarget = _ref.buttonTarget,
43
- buttonTarget = _ref$buttonTarget === void 0 ? '_self' : _ref$buttonTarget,
44
- _ref$buttonColor = _ref.buttonColor,
45
- buttonColor = _ref$buttonColor === void 0 ? 'green' : _ref$buttonColor,
46
- _ref$buttonType = _ref.buttonType,
47
- buttonType = _ref$buttonType === void 0 ? 'primary' : _ref$buttonType,
48
- buttonRel = _ref.buttonRel,
49
- _ref$imageScaling = _ref.imageScaling,
50
- imageScaling = _ref$imageScaling === void 0 ? 'cover' : _ref$imageScaling,
51
- onButtonClick = _ref.onButtonClick;
36
+ className = _ref.className,
37
+ _ref$classes = _ref.classes,
38
+ classes = _ref$classes === void 0 ? {} : _ref$classes,
39
+ rootRef = _ref.rootRef,
40
+ title = _ref.title,
41
+ text = _ref.text,
42
+ _ref$imageUrl = _ref.imageUrl,
43
+ imageUrl = _ref$imageUrl === void 0 ? '' : _ref$imageUrl,
44
+ buttonText = _ref.buttonText,
45
+ buttonUrl = _ref.buttonUrl,
46
+ buttonDownload = _ref.buttonDownload,
47
+ _ref$buttonTarget = _ref.buttonTarget,
48
+ buttonTarget = _ref$buttonTarget === void 0 ? '_self' : _ref$buttonTarget,
49
+ _ref$buttonColor = _ref.buttonColor,
50
+ buttonColor = _ref$buttonColor === void 0 ? 'green' : _ref$buttonColor,
51
+ _ref$buttonType = _ref.buttonType,
52
+ buttonType = _ref$buttonType === void 0 ? 'primary' : _ref$buttonType,
53
+ buttonRel = _ref.buttonRel,
54
+ _ref$imageScaling = _ref.imageScaling,
55
+ imageScaling = _ref$imageScaling === void 0 ? 'cover' : _ref$imageScaling,
56
+ onButtonClick = _ref.onButtonClick;
52
57
  var buttonElem = /*#__PURE__*/React.createElement(Button, {
53
58
  dataAttrs: {
54
59
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
@@ -93,4 +98,30 @@ var ButtonBanner = function ButtonBanner(_ref) {
93
98
  "data-testid": "".concat(testIdPrefix, "-media")
94
99
  }, !imageUrl && buttonElem))));
95
100
  };
101
+
102
+ ButtonBanner.propTypes = {
103
+ dataAttrs: PropTypes.shape({
104
+ root: PropTypes.objectOf(PropTypes.string.isRequired),
105
+ button: PropTypes.objectOf(PropTypes.string.isRequired)
106
+ }),
107
+ className: PropTypes.string,
108
+ classes: PropTypes.shape({
109
+ root: PropTypes.string,
110
+ button: PropTypes.string
111
+ }),
112
+ rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
113
+ current: PropTypes.elementType
114
+ }), PropTypes.any])]),
115
+ title: PropTypes.string.isRequired,
116
+ text: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]).isRequired,
117
+ imageUrl: PropTypes.string,
118
+ buttonText: PropTypes.string.isRequired,
119
+ buttonUrl: PropTypes.string,
120
+ buttonDownload: PropTypes.bool,
121
+ buttonTarget: PropTypes.oneOf(Object.values(ButtonTarget)),
122
+ buttonColor: PropTypes.oneOf(Object.values(ButtonColor)),
123
+ buttonType: PropTypes.oneOf(Object.values(ButtonTypes)),
124
+ buttonRel: PropTypes.string,
125
+ onButtonClick: PropTypes.func
126
+ };
96
127
  export default ButtonBanner;
@@ -1 +1,19 @@
1
- h1,h2,h3,h4,h5{margin:0}.mfui-button-link-box{font-family:inherit;font-size:15px;font-weight:400;line-height:24px}.mfui-button-link-box__row:not(:last-child){margin-bottom:32px}.mfui-button-link-box_h-align_center{text-align:center}
1
+ h1,
2
+ h2,
3
+ h3,
4
+ h4,
5
+ h5 {
6
+ margin: 0;
7
+ }
8
+ .mfui-button-link-box {
9
+ font-family: inherit;
10
+ font-size: 15px;
11
+ line-height: 24px;
12
+ font-weight: 400;
13
+ }
14
+ .mfui-button-link-box__row:not(:last-child) {
15
+ margin-bottom: 32px;
16
+ }
17
+ .mfui-button-link-box_h-align_center {
18
+ text-align: center;
19
+ }
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
- import './ButtonLinkBox.scss';
1
+ import React, { Ref } from 'react';
2
+ import './ButtonLinkBox.less';
3
3
  export interface IButtonLinkBoxProps {
4
4
  /** Дополнительные data атрибуты к внутренним элементам */
5
5
  dataAttrs?: {
@@ -16,7 +16,7 @@ export interface IButtonLinkBoxProps {
16
16
  link?: string;
17
17
  };
18
18
  /** Ссылка на корневой элемент */
19
- rootRef?: React.Ref<HTMLDivElement>;
19
+ rootRef?: Ref<HTMLDivElement>;
20
20
  /** Заголовок кнопки */
21
21
  buttonTitle?: string;
22
22
  /** Ссылка кнопки */
@@ -1,31 +1,33 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import "core-js/modules/es.string.link.js";
3
- import * as React from 'react';
3
+ import React from 'react';
4
4
  import { Button, TextLink } from '@megafon/ui-core';
5
5
  import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
6
+ import * as PropTypes from 'prop-types';
6
7
  import "./ButtonLinkBox.css";
7
8
  var cn = cnCreate('mfui-button-link-box');
9
+
8
10
  var ButtonLinkBox = function ButtonLinkBox(_ref) {
9
11
  var dataAttrs = _ref.dataAttrs,
10
- rootRef = _ref.rootRef,
11
- buttonTitle = _ref.buttonTitle,
12
- buttonUrl = _ref.buttonUrl,
13
- buttonDownload = _ref.buttonDownload,
14
- _ref$buttonColor = _ref.buttonColor,
15
- buttonColor = _ref$buttonColor === void 0 ? 'green' : _ref$buttonColor,
16
- buttonRel = _ref.buttonRel,
17
- linkTitle = _ref.linkTitle,
18
- linkUrl = _ref.linkUrl,
19
- linkDownload = _ref.linkDownload,
20
- linkRel = _ref.linkRel,
21
- align = _ref.align,
22
- className = _ref.className,
23
- buttonTarget = _ref.buttonTarget,
24
- linkTarget = _ref.linkTarget,
25
- _ref$classes = _ref.classes,
26
- classes = _ref$classes === void 0 ? {} : _ref$classes,
27
- onButtonClick = _ref.onButtonClick,
28
- onLinkClick = _ref.onLinkClick;
12
+ rootRef = _ref.rootRef,
13
+ buttonTitle = _ref.buttonTitle,
14
+ buttonUrl = _ref.buttonUrl,
15
+ buttonDownload = _ref.buttonDownload,
16
+ _ref$buttonColor = _ref.buttonColor,
17
+ buttonColor = _ref$buttonColor === void 0 ? 'green' : _ref$buttonColor,
18
+ buttonRel = _ref.buttonRel,
19
+ linkTitle = _ref.linkTitle,
20
+ linkUrl = _ref.linkUrl,
21
+ linkDownload = _ref.linkDownload,
22
+ linkRel = _ref.linkRel,
23
+ align = _ref.align,
24
+ className = _ref.className,
25
+ buttonTarget = _ref.buttonTarget,
26
+ linkTarget = _ref.linkTarget,
27
+ _ref$classes = _ref.classes,
28
+ classes = _ref$classes === void 0 ? {} : _ref$classes,
29
+ onButtonClick = _ref.onButtonClick,
30
+ onLinkClick = _ref.onLinkClick;
29
31
  return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
30
32
  className: cn({
31
33
  'h-align': align
@@ -59,4 +61,33 @@ var ButtonLinkBox = function ButtonLinkBox(_ref) {
59
61
  onClick: onLinkClick
60
62
  }, linkTitle)));
61
63
  };
64
+
65
+ ButtonLinkBox.propTypes = {
66
+ dataAttrs: PropTypes.shape({
67
+ root: PropTypes.objectOf(PropTypes.string.isRequired),
68
+ link: PropTypes.objectOf(PropTypes.string.isRequired),
69
+ button: PropTypes.objectOf(PropTypes.string.isRequired)
70
+ }),
71
+ className: PropTypes.string,
72
+ classes: PropTypes.shape({
73
+ root: PropTypes.string,
74
+ button: PropTypes.string,
75
+ link: PropTypes.string
76
+ }),
77
+ rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
78
+ current: PropTypes.elementType
79
+ }), PropTypes.any])]),
80
+ buttonTitle: PropTypes.string,
81
+ buttonUrl: PropTypes.string,
82
+ buttonDownload: PropTypes.bool,
83
+ buttonColor: PropTypes.oneOf(['green', 'purple']),
84
+ buttonRel: PropTypes.string,
85
+ linkTitle: PropTypes.string,
86
+ linkUrl: PropTypes.string,
87
+ linkDownload: PropTypes.bool,
88
+ linkRel: PropTypes.string,
89
+ align: PropTypes.oneOf(['center', 'left']),
90
+ onButtonClick: PropTypes.func,
91
+ onLinkClick: PropTypes.func
92
+ };
62
93
  export default ButtonLinkBox;
@@ -1 +1,354 @@
1
- h1,h2,h3,h4,h5{margin:0}.mfui-card{display:-webkit-box;display:-ms-flexbox;display:flex;font-family:inherit;font-size:15px;font-weight:400;line-height:24px;-webkit-box-orient:vertical;-webkit-box-direction:normal;background-color:var(--base);border-radius:24px;color:var(--content);-ms-flex-direction:column;flex-direction:column;padding:16px 16px 24px;text-decoration:none!important;-webkit-transition:background-color .3s,.3s,-webkit-box-shadow;transition:background-color .3s,.3s,-webkit-box-shadow;transition:background-color .3s,box-shadow,.3s;transition:background-color .3s,box-shadow,.3s,-webkit-box-shadow}@media screen and (min-width:1280px){.mfui-card{padding:24px 24px 32px}}.mfui-card_full-height{height:100%}.mfui-card_link{cursor:pointer}.mfui-card_view_shadow{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.mfui-card_link.mfui-card_view_hover-shadow:hover,.mfui-card_link.mfui-card_view_shadow:hover{-webkit-box-shadow:0 8px 28px 0 rgba(0,0,0,.1);box-shadow:0 8px 28px 0 rgba(0,0,0,.1)}.mfui-card_view_background{background-color:var(--spbSky0)}.mfui-card_link.mfui-card_view_background:hover{background-color:var(--spbSky1)}.mfui-card_only-title{padding:24px}@media screen and (min-width:1280px){.mfui-card_only-title{padding:32px}}.mfui-card__header{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-webkit-box-align:start;-ms-flex-align:start;align-items:start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.mfui-card__icon{height:40px;margin-bottom:32px;width:40px}.mfui-card__img-box{border-radius:24px;overflow:hidden;padding-bottom:56.25%;position:relative}.mfui-card__img-box_position_top{margin:-6px -6px 24px}@media screen and (min-width:1280px){.mfui-card__img-box_position_top{margin:-12px -12px 32px}}.mfui-card__img-box_position_bottom{margin:24px -6px 0}@media screen and (min-width:1280px){.mfui-card__img-box_position_bottom{margin:32px -12px 0}}.mfui-card__img{height:100%;-o-object-fit:cover;object-fit:cover;position:absolute;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;width:100%}.mfui-card_link:hover .mfui-card__img{-webkit-transform:scale(1.2);transform:scale(1.2)}.mfui-card__marker-list{list-style-type:none;margin:16px 0 0;padding:0}.mfui-card__marker-item{padding-left:20px;position:relative}.mfui-card__marker-item:not(:last-child){margin-bottom:12px}.mfui-card__marker-item:before{background-color:var(--stcBlack20);border-radius:50%;content:"";height:6px;left:0;opacity:.8;position:absolute;top:7px;width:6px}.mfui-card__marker-note{display:block;font-weight:500;margin:4px 0 0;padding:0}.mfui-card__texts{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px;margin-top:16px}.mfui-card__texts ol,.mfui-card__texts ul{margin:0;padding-left:24px}.mfui-card__texts ul{list-style-type:disc}.mfui-card__texts-title{font-weight:500}.mfui-card__features{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px;margin-top:16px;overflow:hidden}.mfui-card__features-list{list-style:none;margin:0;padding:0}.mfui-card__features-item{display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.mfui-card__features-item:before{background-image:radial-gradient(circle,var(--spbSky3) 1px,transparent 1px);background-size:6px 2px;bottom:.4em;content:"";height:2px;position:absolute;width:100%}.mfui-card__features-item-value{-ms-flex-negative:0;flex-shrink:0;text-align:end}.mfui-card__features-item-text{background-color:var(--base);position:relative;-webkit-transition:background-color .3s;transition:background-color .3s;z-index:1}.mfui-card_view_background .mfui-card__features-item-text{background-color:var(--spbSky0)}.mfui-card_link.mfui-card_view_background:hover .mfui-card__features-item-text{background-color:var(--spbSky1)}.mfui-card__features-item-title .mfui-card__features-item-text{padding-right:4px}.mfui-card__features-item-value .mfui-card__features-item-text{padding-left:4px}.mfui-card__icons{margin-top:16px}.mfui-card__icons-desc{margin-bottom:12px}.mfui-card__icons-list{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.mfui-card__icons-item,.mfui-card__icons-list{display:-webkit-box;display:-ms-flexbox;display:flex}.mfui-card__icons-item-icon{-ms-flex-negative:0;flex-shrink:0;height:32px;margin-right:8px;width:32px}.mfui-card__icons-item-text{margin-top:4px}.mfui-card__price{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-pack:center;-ms-flex-pack:center;border-top:1px solid var(--spbSky1);justify-content:center;margin-top:24px;padding-top:24px}@media screen and (min-width:1280px){.mfui-card__price{margin-top:32px}}.mfui-card__img-box+.mfui-card__price{border:none;padding-top:0}.mfui-card__price-old-value{color:var(--spbSky3);position:relative}.mfui-card__price-old-value:before{background-color:var(--warmRedC);content:"";height:1px;left:-1px;position:absolute;right:-1px;top:50%}.mfui-card__price-value{font-size:22px;font-weight:600;letter-spacing:.5px;line-height:28px}@media screen and (min-width:768px) and (max-width:1023px){.mfui-card__price-value{font-size:26px;line-height:32px}}@media screen and (min-width:1024px){.mfui-card__price-value{font-size:28px;line-height:36px}}@media screen and (min-width:1280px){.mfui-card__price-value{font-size:32px;line-height:40px}}.mfui-card__buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:16px;margin-top:32px}.mfui-card__price+.mfui-card__buttons{margin-top:24px}.mfui-card__buttons_centered{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.mfui-card__button{-ms-flex-preferred-size:190px;flex-basis:190px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1;max-width:320px}.mfui-card__footer{margin-top:auto}
1
+ h1,
2
+ h2,
3
+ h3,
4
+ h4,
5
+ h5 {
6
+ margin: 0;
7
+ }
8
+ .mfui-card {
9
+ font-family: inherit;
10
+ font-size: 15px;
11
+ line-height: 24px;
12
+ font-weight: 400;
13
+ display: -webkit-box;
14
+ display: -ms-flexbox;
15
+ display: flex;
16
+ -webkit-box-orient: vertical;
17
+ -webkit-box-direction: normal;
18
+ -ms-flex-direction: column;
19
+ flex-direction: column;
20
+ padding: 16px 16px 24px;
21
+ border-radius: 24px;
22
+ color: var(--content);
23
+ text-decoration: none !important;
24
+ background-color: var(--base);
25
+ -webkit-transition: background-color 0.3s, 0.3s, -webkit-box-shadow;
26
+ transition: background-color 0.3s, 0.3s, -webkit-box-shadow;
27
+ transition: background-color 0.3s, box-shadow, 0.3s;
28
+ transition: background-color 0.3s, box-shadow, 0.3s, -webkit-box-shadow;
29
+ }
30
+ @media screen and (min-width: 1280px) {
31
+ .mfui-card {
32
+ padding: 24px 24px 32px;
33
+ }
34
+ }
35
+ .mfui-card_full-height {
36
+ height: 100%;
37
+ }
38
+ .mfui-card_link {
39
+ cursor: pointer;
40
+ }
41
+ .mfui-card_view_shadow {
42
+ -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
43
+ box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
44
+ }
45
+ .mfui-card_link.mfui-card_view_hover-shadow:hover,
46
+ .mfui-card_link.mfui-card_view_shadow:hover {
47
+ -webkit-box-shadow: 0 8px 28px 0 rgba(0, 0, 0, 0.1);
48
+ box-shadow: 0 8px 28px 0 rgba(0, 0, 0, 0.1);
49
+ }
50
+ .mfui-card_view_background {
51
+ background-color: var(--spbSky0);
52
+ }
53
+ .mfui-card_link.mfui-card_view_background:hover {
54
+ background-color: var(--spbSky1);
55
+ }
56
+ .mfui-card_only-title {
57
+ padding: 24px;
58
+ }
59
+ @media screen and (min-width: 1280px) {
60
+ .mfui-card_only-title {
61
+ padding: 32px;
62
+ }
63
+ }
64
+ .mfui-card__header {
65
+ display: -webkit-box;
66
+ display: -ms-flexbox;
67
+ display: flex;
68
+ gap: 12px;
69
+ -webkit-box-align: start;
70
+ -ms-flex-align: start;
71
+ align-items: start;
72
+ -webkit-box-pack: justify;
73
+ -ms-flex-pack: justify;
74
+ justify-content: space-between;
75
+ }
76
+ .mfui-card__icon {
77
+ width: 40px;
78
+ height: 40px;
79
+ margin-bottom: 32px;
80
+ }
81
+ .mfui-card__img-box {
82
+ position: relative;
83
+ padding-bottom: 56.25%;
84
+ border-radius: 24px;
85
+ overflow: hidden;
86
+ }
87
+ .mfui-card__img-box_position_top {
88
+ margin: -6px -6px 24px -6px;
89
+ }
90
+ @media screen and (min-width: 1280px) {
91
+ .mfui-card__img-box_position_top {
92
+ margin: -12px -12px 32px -12px;
93
+ }
94
+ }
95
+ .mfui-card__img-box_position_bottom {
96
+ margin: 24px -6px 0 -6px;
97
+ }
98
+ @media screen and (min-width: 1280px) {
99
+ .mfui-card__img-box_position_bottom {
100
+ margin: 32px -12px 0 -12px;
101
+ }
102
+ }
103
+ .mfui-card__img {
104
+ position: absolute;
105
+ width: 100%;
106
+ height: 100%;
107
+ -o-object-fit: cover;
108
+ object-fit: cover;
109
+ -webkit-transition: -webkit-transform 0.3s;
110
+ transition: -webkit-transform 0.3s;
111
+ transition: transform 0.3s;
112
+ transition: transform 0.3s, -webkit-transform 0.3s;
113
+ }
114
+ .mfui-card_link:hover .mfui-card__img {
115
+ -webkit-transform: scale(1.2);
116
+ transform: scale(1.2);
117
+ }
118
+ .mfui-card__marker-list {
119
+ margin: 16px 0 0 0;
120
+ padding: 0;
121
+ list-style-type: none;
122
+ }
123
+ .mfui-card__marker-item {
124
+ position: relative;
125
+ padding-left: 20px;
126
+ }
127
+ .mfui-card__marker-item:not(:last-child) {
128
+ margin-bottom: 12px;
129
+ }
130
+ .mfui-card__marker-item:before {
131
+ content: '';
132
+ position: absolute;
133
+ top: 7px;
134
+ left: 0;
135
+ width: 6px;
136
+ height: 6px;
137
+ border-radius: 50%;
138
+ background-color: var(--stcBlack20);
139
+ opacity: 0.8;
140
+ }
141
+ .mfui-card__marker-note {
142
+ display: block;
143
+ margin: 4px 0 0 0;
144
+ padding: 0;
145
+ font-weight: 500;
146
+ }
147
+ .mfui-card__texts {
148
+ display: -webkit-box;
149
+ display: -ms-flexbox;
150
+ display: flex;
151
+ -webkit-box-orient: vertical;
152
+ -webkit-box-direction: normal;
153
+ -ms-flex-direction: column;
154
+ flex-direction: column;
155
+ gap: 12px;
156
+ margin-top: 16px;
157
+ }
158
+ .mfui-card__texts ol,
159
+ .mfui-card__texts ul {
160
+ margin: 0;
161
+ padding-left: 24px;
162
+ }
163
+ .mfui-card__texts ul {
164
+ list-style-type: disc;
165
+ }
166
+ .mfui-card__texts-title {
167
+ font-weight: 500;
168
+ }
169
+ .mfui-card__features {
170
+ display: -webkit-box;
171
+ display: -ms-flexbox;
172
+ display: flex;
173
+ -webkit-box-orient: vertical;
174
+ -webkit-box-direction: normal;
175
+ -ms-flex-direction: column;
176
+ flex-direction: column;
177
+ gap: 12px;
178
+ margin-top: 16px;
179
+ overflow: hidden;
180
+ }
181
+ .mfui-card__features-list {
182
+ margin: 0;
183
+ padding: 0;
184
+ list-style: none;
185
+ }
186
+ .mfui-card__features-item {
187
+ position: relative;
188
+ display: -webkit-box;
189
+ display: -ms-flexbox;
190
+ display: flex;
191
+ -webkit-box-align: end;
192
+ -ms-flex-align: end;
193
+ align-items: flex-end;
194
+ -webkit-box-pack: justify;
195
+ -ms-flex-pack: justify;
196
+ justify-content: space-between;
197
+ }
198
+ .mfui-card__features-item:before {
199
+ content: '';
200
+ position: absolute;
201
+ bottom: 0.4em;
202
+ width: 100%;
203
+ height: 2px;
204
+ background-image: radial-gradient(circle, var(--spbSky3) 1px, transparent 1px);
205
+ background-size: 6px 2px;
206
+ }
207
+ .mfui-card__features-item-value {
208
+ -ms-flex-negative: 0;
209
+ flex-shrink: 0;
210
+ text-align: end;
211
+ }
212
+ .mfui-card__features-item-text {
213
+ position: relative;
214
+ z-index: 1;
215
+ background-color: var(--base);
216
+ -webkit-transition: background-color 0.3s;
217
+ transition: background-color 0.3s;
218
+ }
219
+ .mfui-card_view_background .mfui-card__features-item-text {
220
+ background-color: var(--spbSky0);
221
+ }
222
+ .mfui-card_link.mfui-card_view_background:hover .mfui-card__features-item-text {
223
+ background-color: var(--spbSky1);
224
+ }
225
+ .mfui-card__features-item-title .mfui-card__features-item-text {
226
+ padding-right: 4px;
227
+ }
228
+ .mfui-card__features-item-value .mfui-card__features-item-text {
229
+ padding-left: 4px;
230
+ }
231
+ .mfui-card__icons {
232
+ margin-top: 16px;
233
+ }
234
+ .mfui-card__icons-desc {
235
+ margin-bottom: 12px;
236
+ }
237
+ .mfui-card__icons-list {
238
+ display: -webkit-box;
239
+ display: -ms-flexbox;
240
+ display: flex;
241
+ -webkit-box-orient: vertical;
242
+ -webkit-box-direction: normal;
243
+ -ms-flex-direction: column;
244
+ flex-direction: column;
245
+ gap: 12px;
246
+ }
247
+ .mfui-card__icons-item {
248
+ display: -webkit-box;
249
+ display: -ms-flexbox;
250
+ display: flex;
251
+ }
252
+ .mfui-card__icons-item-icon {
253
+ -ms-flex-negative: 0;
254
+ flex-shrink: 0;
255
+ width: 32px;
256
+ height: 32px;
257
+ margin-right: 8px;
258
+ }
259
+ .mfui-card__icons-item-text {
260
+ margin-top: 4px;
261
+ }
262
+ .mfui-card__price {
263
+ display: -webkit-box;
264
+ display: -ms-flexbox;
265
+ display: flex;
266
+ -ms-flex-wrap: wrap;
267
+ flex-wrap: wrap;
268
+ gap: 8px;
269
+ -webkit-box-align: baseline;
270
+ -ms-flex-align: baseline;
271
+ align-items: baseline;
272
+ -webkit-box-pack: center;
273
+ -ms-flex-pack: center;
274
+ justify-content: center;
275
+ margin-top: 24px;
276
+ padding-top: 24px;
277
+ border-top: 1px solid var(--spbSky1);
278
+ }
279
+ @media screen and (min-width: 1280px) {
280
+ .mfui-card__price {
281
+ margin-top: 32px;
282
+ }
283
+ }
284
+ .mfui-card__img-box + .mfui-card__price {
285
+ padding-top: 0;
286
+ border: none;
287
+ }
288
+ .mfui-card__price-old-value {
289
+ position: relative;
290
+ color: var(--spbSky3);
291
+ }
292
+ .mfui-card__price-old-value:before {
293
+ content: '';
294
+ position: absolute;
295
+ top: 50%;
296
+ right: -1px;
297
+ left: -1px;
298
+ height: 1px;
299
+ background-color: var(--warmRedC);
300
+ }
301
+ .mfui-card__price-value {
302
+ font-weight: 600;
303
+ font-size: 22px;
304
+ line-height: 28px;
305
+ letter-spacing: 0.5px;
306
+ }
307
+ @media screen and (min-width: 768px) and (max-width: 1023px) {
308
+ .mfui-card__price-value {
309
+ font-size: 26px;
310
+ line-height: 32px;
311
+ }
312
+ }
313
+ @media screen and (min-width: 1024px) {
314
+ .mfui-card__price-value {
315
+ font-size: 28px;
316
+ line-height: 36px;
317
+ }
318
+ }
319
+ @media screen and (min-width: 1280px) {
320
+ .mfui-card__price-value {
321
+ font-size: 32px;
322
+ line-height: 40px;
323
+ }
324
+ }
325
+ .mfui-card__buttons {
326
+ display: -webkit-box;
327
+ display: -ms-flexbox;
328
+ display: flex;
329
+ -ms-flex-wrap: wrap;
330
+ flex-wrap: wrap;
331
+ gap: 16px;
332
+ margin-top: 32px;
333
+ }
334
+ .mfui-card__price + .mfui-card__buttons {
335
+ margin-top: 24px;
336
+ }
337
+ .mfui-card__buttons_centered {
338
+ -webkit-box-pack: center;
339
+ -ms-flex-pack: center;
340
+ justify-content: center;
341
+ }
342
+ .mfui-card__button {
343
+ -ms-flex-preferred-size: 190px;
344
+ flex-basis: 190px;
345
+ -webkit-box-flex: 1;
346
+ -ms-flex-positive: 1;
347
+ flex-grow: 1;
348
+ -ms-flex-negative: 1;
349
+ flex-shrink: 1;
350
+ max-width: 320px;
351
+ }
352
+ .mfui-card__footer {
353
+ margin-top: auto;
354
+ }
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
- import './Card.scss';
1
+ import React, { ReactElement, Ref } from 'react';
2
+ import './Card.less';
3
3
  import { ButtonType, FeaturesList, IconsList, Image, Link, MarkerList, Price, TextsList, Title } from './types';
4
4
  export interface ICard {
5
5
  /** Дополнительные data атрибуты к внутренним элементам */
@@ -19,7 +19,7 @@ export interface ICard {
19
19
  extraButton?: string;
20
20
  };
21
21
  /** Ссылка на корневой элемент */
22
- rootRef?: React.Ref<HTMLDivElement | HTMLAnchorElement>;
22
+ rootRef?: Ref<HTMLDivElement | HTMLAnchorElement>;
23
23
  isFullHeight?: boolean;
24
24
  /** Вид */
25
25
  view?: 'shadow' | 'hover-shadow' | 'background';
@@ -46,7 +46,7 @@ export interface ICard {
46
46
  /** Дополнительная кнопка */
47
47
  extraButton?: ButtonType;
48
48
  /** Бейдж */
49
- badge?: React.ReactElement;
49
+ badge?: ReactElement;
50
50
  /** Обработчик клика по карточке */
51
51
  onClick?: () => void;
52
52
  }