@megafon/ui-shared 2.0.0-beta.99 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/CHANGELOG.md +1637 -0
  2. package/README.md +0 -5
  3. package/dist/es/components/AccordionBox/AccordionBox.css +13 -0
  4. package/dist/es/components/AccordionBox/AccordionBox.d.ts +16 -1
  5. package/dist/es/components/AccordionBox/AccordionBox.js +29 -13
  6. package/dist/es/components/BannerBox/BannerBox.js +3 -2
  7. package/dist/es/components/BenefitsIcons/BenefitsIcons.d.ts +13 -2
  8. package/dist/es/components/BenefitsIcons/BenefitsIcons.js +82 -17
  9. package/dist/es/components/BenefitsIcons/BenefitsIconsTile.d.ts +2 -1
  10. package/dist/es/components/BenefitsIcons/BenefitsIconsTile.js +15 -14
  11. package/dist/es/components/BenefitsIcons/style/BenefitsIcons.css +3 -3
  12. package/dist/es/components/BenefitsIcons/style/BenefitsIconsTile.css +19 -12
  13. package/dist/es/components/BenefitsIcons/types.d.ts +7 -2
  14. package/dist/es/components/BenefitsIcons/types.js +4 -0
  15. package/dist/es/components/BenefitsPictures/BenefitsPictures.d.ts +10 -1
  16. package/dist/es/components/BenefitsPictures/BenefitsPictures.js +28 -12
  17. package/dist/es/components/BenefitsPictures/BenfitsPictures.css +4 -4
  18. package/dist/es/components/Breadcrumbs/Breadcrumbs.css +46 -0
  19. package/dist/es/components/Breadcrumbs/Breadcrumbs.d.ts +21 -0
  20. package/dist/es/components/Breadcrumbs/Breadcrumbs.js +49 -0
  21. package/dist/es/components/ButtonBanner/ButtonBanner.css +122 -0
  22. package/dist/es/components/ButtonBanner/ButtonBanner.d.ts +54 -0
  23. package/dist/es/components/ButtonBanner/ButtonBanner.js +107 -0
  24. package/dist/es/components/ButtonLinkBox/ButtonLinkBox.css +3 -3
  25. package/dist/es/components/ButtonLinkBox/ButtonLinkBox.d.ts +22 -2
  26. package/dist/es/components/ButtonLinkBox/ButtonLinkBox.js +37 -8
  27. package/dist/es/components/Card/Card.css +71 -44
  28. package/dist/es/components/Card/Card.d.ts +33 -3
  29. package/dist/es/components/Card/Card.js +103 -42
  30. package/dist/es/components/CardsBox/CardsBox.d.ts +10 -2
  31. package/dist/es/components/CardsBox/CardsBox.js +26 -13
  32. package/dist/es/components/CarouselBox/CarouselBox.js +3 -2
  33. package/dist/es/components/Container/Container.css +1848 -533
  34. package/dist/es/components/Container/Container.d.ts +11 -1
  35. package/dist/es/components/Container/Container.js +28 -6
  36. package/dist/es/components/DownloadLinks/DownloadLink.css +6 -6
  37. package/dist/es/components/DownloadLinks/DownloadLink.d.ts +7 -0
  38. package/dist/es/components/DownloadLinks/DownloadLink.js +28 -6
  39. package/dist/es/components/DownloadLinks/DownloadLinks.css +9 -6
  40. package/dist/es/components/DownloadLinks/DownloadLinks.d.ts +2 -0
  41. package/dist/es/components/DownloadLinks/DownloadLinks.js +18 -3
  42. package/dist/es/components/Instructions/Instructions.css +189 -130
  43. package/dist/es/components/Instructions/Instructions.d.ts +21 -2
  44. package/dist/es/components/Instructions/Instructions.js +115 -74
  45. package/dist/es/components/Instructions/img/iphone12.png +0 -0
  46. package/dist/es/components/PageTitle/PageTitle.css +80 -0
  47. package/dist/es/components/PageTitle/PageTitle.d.ts +23 -0
  48. package/dist/es/components/PageTitle/PageTitle.js +65 -0
  49. package/dist/es/components/Partners/Partners.css +22 -31
  50. package/dist/es/components/Partners/Partners.d.ts +13 -1
  51. package/dist/es/components/Partners/Partners.js +40 -18
  52. package/dist/es/components/PictureWithDescription/PictureWithDescription.css +25 -10
  53. package/dist/es/components/PictureWithDescription/PictureWithDescription.d.ts +13 -0
  54. package/dist/es/components/PictureWithDescription/PictureWithDescription.js +31 -7
  55. package/dist/es/components/Property/Property.css +79 -71
  56. package/dist/es/components/Property/Property.d.ts +21 -2
  57. package/dist/es/components/Property/Property.js +80 -34
  58. package/dist/es/components/Property/PropertyDescription.css +3 -3
  59. package/dist/es/components/Property/PropertyDescription.js +19 -21
  60. package/dist/es/components/Property/types.d.ts +7 -2
  61. package/dist/es/components/Steps/Steps.css +41 -0
  62. package/dist/es/components/Steps/Steps.d.ts +10 -0
  63. package/dist/es/components/Steps/Steps.js +35 -0
  64. package/dist/es/components/Steps/StepsItem.css +37 -0
  65. package/dist/es/components/Steps/StepsItem.d.ts +10 -0
  66. package/dist/es/components/Steps/StepsItem.js +26 -0
  67. package/dist/es/components/StoreBanner/StoreBanner.css +293 -0
  68. package/dist/es/components/StoreBanner/StoreBanner.d.ts +67 -0
  69. package/dist/es/components/StoreBanner/StoreBanner.js +164 -0
  70. package/dist/es/components/StoreBanner/doc/img/new-iphone-screen.png +0 -0
  71. package/dist/es/components/StoreBanner/doc/img/qr-code.png +0 -0
  72. package/dist/es/components/StoreBanner/doc/img/screen.png +0 -0
  73. package/dist/es/components/StoreBanner/img/android.png +0 -0
  74. package/dist/es/components/StoreBanner/img/black-iphone.png +0 -0
  75. package/dist/es/components/StoreBanner/img/new-iphone.png +0 -0
  76. package/dist/es/components/StoreBanner/img/white-iphone.png +0 -0
  77. package/dist/es/components/StoreButton/StoreButton.css +15 -0
  78. package/dist/es/components/StoreButton/StoreButton.d.ts +17 -0
  79. package/dist/es/components/StoreButton/StoreButton.js +37 -0
  80. package/dist/es/components/StoreButton/img/app-store.png +0 -0
  81. package/dist/es/components/StoreButton/img/google-play.png +0 -0
  82. package/dist/es/components/StoreButton/img/huawei-store.png +0 -0
  83. package/dist/es/components/Table/Table.css +67 -67
  84. package/dist/es/components/Table/Table.js +4 -4
  85. package/dist/es/components/Table/TableRow.js +1 -0
  86. package/dist/es/components/TabsBox/TabsBox.d.ts +4 -1
  87. package/dist/es/components/TabsBox/TabsBox.js +24 -3
  88. package/dist/es/components/TextBox/TextBox.css +7 -1
  89. package/dist/es/components/TextBox/TextBox.d.ts +8 -0
  90. package/dist/es/components/TextBox/TextBox.js +37 -5
  91. package/dist/es/components/TextBox/TextBoxPicture.css +24 -0
  92. package/dist/es/components/TextBox/TextBoxPicture.d.ts +17 -0
  93. package/dist/es/components/TextBox/TextBoxPicture.js +32 -0
  94. package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.css +15 -4
  95. package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.d.ts +8 -2
  96. package/dist/es/components/TitleDescriptionBox/TitleDescriptionBox.js +34 -14
  97. package/dist/es/components/VideoBanner/VideoBanner.css +155 -76
  98. package/dist/es/components/VideoBanner/VideoBanner.d.ts +64 -13
  99. package/dist/es/components/VideoBanner/VideoBanner.js +202 -70
  100. package/dist/es/components/VideoBlock/VideoBlock.css +32 -28
  101. package/dist/es/components/VideoBlock/VideoBlock.d.ts +20 -6
  102. package/dist/es/components/VideoBlock/VideoBlock.js +63 -44
  103. package/dist/es/constants/throttleTime.d.ts +4 -0
  104. package/dist/es/constants/throttleTime.js +3 -0
  105. package/dist/es/index.d.ts +8 -0
  106. package/dist/es/index.js +8 -0
  107. package/dist/lib/components/AccordionBox/AccordionBox.css +13 -0
  108. package/dist/lib/components/AccordionBox/AccordionBox.d.ts +16 -1
  109. package/dist/lib/components/AccordionBox/AccordionBox.js +31 -19
  110. package/dist/lib/components/BannerBox/BannerBox.js +3 -5
  111. package/dist/lib/components/BenefitsIcons/BenefitsIcons.d.ts +13 -2
  112. package/dist/lib/components/BenefitsIcons/BenefitsIcons.js +84 -20
  113. package/dist/lib/components/BenefitsIcons/BenefitsIconsTile.d.ts +2 -1
  114. package/dist/lib/components/BenefitsIcons/BenefitsIconsTile.js +15 -16
  115. package/dist/lib/components/BenefitsIcons/style/BenefitsIcons.css +3 -3
  116. package/dist/lib/components/BenefitsIcons/style/BenefitsIconsTile.css +19 -12
  117. package/dist/lib/components/BenefitsIcons/types.d.ts +7 -2
  118. package/dist/lib/components/BenefitsIcons/types.js +7 -2
  119. package/dist/lib/components/BenefitsPictures/BenefitsPictures.d.ts +10 -1
  120. package/dist/lib/components/BenefitsPictures/BenefitsPictures.js +32 -15
  121. package/dist/lib/components/BenefitsPictures/BenfitsPictures.css +4 -4
  122. package/dist/lib/components/Breadcrumbs/Breadcrumbs.css +46 -0
  123. package/dist/lib/components/Breadcrumbs/Breadcrumbs.d.ts +21 -0
  124. package/dist/lib/components/Breadcrumbs/Breadcrumbs.js +65 -0
  125. package/dist/lib/components/ButtonBanner/ButtonBanner.css +122 -0
  126. package/dist/lib/components/ButtonBanner/ButtonBanner.d.ts +54 -0
  127. package/dist/lib/components/ButtonBanner/ButtonBanner.js +133 -0
  128. package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.css +3 -3
  129. package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.d.ts +22 -2
  130. package/dist/lib/components/ButtonLinkBox/ButtonLinkBox.js +45 -11
  131. package/dist/lib/components/Card/Card.css +71 -44
  132. package/dist/lib/components/Card/Card.d.ts +33 -3
  133. package/dist/lib/components/Card/Card.js +118 -59
  134. package/dist/lib/components/CardsBox/CardsBox.d.ts +10 -2
  135. package/dist/lib/components/CardsBox/CardsBox.js +30 -16
  136. package/dist/lib/components/CarouselBox/CarouselBox.js +3 -5
  137. package/dist/lib/components/Container/Container.css +1848 -533
  138. package/dist/lib/components/Container/Container.d.ts +11 -1
  139. package/dist/lib/components/Container/Container.js +32 -11
  140. package/dist/lib/components/DownloadLinks/DownloadLink.css +6 -6
  141. package/dist/lib/components/DownloadLinks/DownloadLink.d.ts +7 -0
  142. package/dist/lib/components/DownloadLinks/DownloadLink.js +32 -11
  143. package/dist/lib/components/DownloadLinks/DownloadLinks.css +9 -6
  144. package/dist/lib/components/DownloadLinks/DownloadLinks.d.ts +2 -0
  145. package/dist/lib/components/DownloadLinks/DownloadLinks.js +20 -6
  146. package/dist/lib/components/Instructions/Instructions.css +189 -130
  147. package/dist/lib/components/Instructions/Instructions.d.ts +21 -2
  148. package/dist/lib/components/Instructions/Instructions.js +148 -104
  149. package/dist/lib/components/Instructions/img/iphone12.png +0 -0
  150. package/dist/lib/components/PageTitle/PageTitle.css +80 -0
  151. package/dist/lib/components/PageTitle/PageTitle.d.ts +23 -0
  152. package/dist/lib/components/PageTitle/PageTitle.js +85 -0
  153. package/dist/lib/components/Partners/Partners.css +22 -31
  154. package/dist/lib/components/Partners/Partners.d.ts +13 -1
  155. package/dist/lib/components/Partners/Partners.js +43 -23
  156. package/dist/lib/components/PictureWithDescription/PictureWithDescription.css +25 -10
  157. package/dist/lib/components/PictureWithDescription/PictureWithDescription.d.ts +13 -0
  158. package/dist/lib/components/PictureWithDescription/PictureWithDescription.js +33 -8
  159. package/dist/lib/components/Property/Property.css +79 -71
  160. package/dist/lib/components/Property/Property.d.ts +21 -2
  161. package/dist/lib/components/Property/Property.js +93 -53
  162. package/dist/lib/components/Property/PropertyDescription.css +3 -3
  163. package/dist/lib/components/Property/PropertyDescription.js +21 -25
  164. package/dist/lib/components/Property/types.d.ts +7 -2
  165. package/dist/lib/components/Steps/Steps.css +41 -0
  166. package/dist/lib/components/Steps/Steps.d.ts +10 -0
  167. package/dist/lib/components/Steps/Steps.js +55 -0
  168. package/dist/lib/components/Steps/StepsItem.css +37 -0
  169. package/dist/lib/components/Steps/StepsItem.d.ts +10 -0
  170. package/dist/lib/components/Steps/StepsItem.js +39 -0
  171. package/dist/lib/components/StoreBanner/StoreBanner.css +293 -0
  172. package/dist/lib/components/StoreBanner/StoreBanner.d.ts +67 -0
  173. package/dist/lib/components/StoreBanner/StoreBanner.js +191 -0
  174. package/dist/lib/components/StoreBanner/doc/img/new-iphone-screen.png +0 -0
  175. package/dist/lib/components/StoreBanner/doc/img/qr-code.png +0 -0
  176. package/dist/lib/components/StoreBanner/doc/img/screen.png +0 -0
  177. package/dist/lib/components/StoreBanner/img/android.png +0 -0
  178. package/dist/lib/components/StoreBanner/img/black-iphone.png +0 -0
  179. package/dist/lib/components/StoreBanner/img/new-iphone.png +0 -0
  180. package/dist/lib/components/StoreBanner/img/white-iphone.png +0 -0
  181. package/dist/lib/components/StoreButton/StoreButton.css +15 -0
  182. package/dist/lib/components/StoreButton/StoreButton.d.ts +17 -0
  183. package/dist/lib/components/StoreButton/StoreButton.js +58 -0
  184. package/dist/lib/components/StoreButton/img/app-store.png +0 -0
  185. package/dist/lib/components/StoreButton/img/google-play.png +0 -0
  186. package/dist/lib/components/StoreButton/img/huawei-store.png +0 -0
  187. package/dist/lib/components/Table/Table.css +67 -67
  188. package/dist/lib/components/Table/Table.js +6 -8
  189. package/dist/lib/components/Table/TableRow.js +1 -0
  190. package/dist/lib/components/TabsBox/TabsBox.d.ts +4 -1
  191. package/dist/lib/components/TabsBox/TabsBox.js +25 -2
  192. package/dist/lib/components/TextBox/TextBox.css +7 -1
  193. package/dist/lib/components/TextBox/TextBox.d.ts +8 -0
  194. package/dist/lib/components/TextBox/TextBox.js +39 -6
  195. package/dist/lib/components/TextBox/TextBoxPicture.css +24 -0
  196. package/dist/lib/components/TextBox/TextBoxPicture.d.ts +17 -0
  197. package/dist/lib/components/TextBox/TextBoxPicture.js +49 -0
  198. package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.css +15 -4
  199. package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.d.ts +8 -2
  200. package/dist/lib/components/TitleDescriptionBox/TitleDescriptionBox.js +39 -19
  201. package/dist/lib/components/VideoBanner/VideoBanner.css +155 -76
  202. package/dist/lib/components/VideoBanner/VideoBanner.d.ts +64 -13
  203. package/dist/lib/components/VideoBanner/VideoBanner.js +225 -89
  204. package/dist/lib/components/VideoBlock/VideoBlock.css +32 -28
  205. package/dist/lib/components/VideoBlock/VideoBlock.d.ts +20 -6
  206. package/dist/lib/components/VideoBlock/VideoBlock.js +76 -68
  207. package/dist/lib/constants/throttleTime.d.ts +4 -0
  208. package/dist/lib/constants/throttleTime.js +10 -0
  209. package/dist/lib/index.d.ts +8 -0
  210. package/dist/lib/index.js +64 -0
  211. package/package.json +20 -75
@@ -2,8 +2,6 @@
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
4
 
5
- require("core-js/modules/es.object.values");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -13,11 +11,11 @@ require("core-js/modules/es.object.values");
13
11
 
14
12
  var React = _interopRequireWildcard(require("react"));
15
13
 
16
- var _propTypes = _interopRequireDefault(require("prop-types"));
14
+ var _uiCore = require("@megafon/ui-core");
17
15
 
18
- var _htmr = _interopRequireDefault(require("htmr"));
16
+ var _uiHelpers = require("@megafon/ui-helpers");
19
17
 
20
- var _uiCore = require("@megafon/ui-core");
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
21
19
 
22
20
  var _types = require("./types");
23
21
 
@@ -27,18 +25,19 @@ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return
27
25
 
28
26
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
27
 
30
- var cn = (0, _uiCore.cnCreate)('mfui-beta-benefits-icons-tile');
28
+ var cn = (0, _uiHelpers.cnCreate)('mfui-benefits-icons-tile');
31
29
 
32
30
  var BenefitsIconsTile = function BenefitsIconsTile(_ref) {
33
31
  var title = _ref.title,
34
32
  text = _ref.text,
35
33
  icon = _ref.icon,
36
34
  _ref$iconPosition = _ref.iconPosition,
37
- iconPosition = _ref$iconPosition === void 0 ? _types.IconPositionEnum.LEFT_TOP : _ref$iconPosition;
35
+ iconPosition = _ref$iconPosition === void 0 ? _types.IconPositionEnum.LEFT_TOP : _ref$iconPosition,
36
+ className = _ref.className;
38
37
  return /*#__PURE__*/React.createElement("div", {
39
- className: cn('', {
38
+ className: cn({
40
39
  'icon-position': iconPosition
41
- })
40
+ }, [className])
42
41
  }, /*#__PURE__*/React.createElement("div", {
43
42
  className: cn('svg-icon')
44
43
  }, icon), /*#__PURE__*/React.createElement("div", {
@@ -46,17 +45,17 @@ var BenefitsIconsTile = function BenefitsIconsTile(_ref) {
46
45
  }, title && /*#__PURE__*/React.createElement(_uiCore.Header, {
47
46
  className: cn('title'),
48
47
  as: "h5"
49
- }, (0, _htmr["default"])(title)), text && /*#__PURE__*/React.createElement(_uiCore.Paragraph, {
50
- className: cn('text'),
51
- hasMargin: false
52
- }, (0, _htmr["default"])(text))));
48
+ }, title), text && /*#__PURE__*/React.createElement("div", {
49
+ className: cn('content')
50
+ }, text)));
53
51
  };
54
52
 
55
53
  BenefitsIconsTile.propTypes = {
56
- title: _propTypes["default"].string,
57
- text: _propTypes["default"].string,
54
+ className: _propTypes["default"].string,
55
+ title: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node, _propTypes["default"].arrayOf(_propTypes["default"].node)]),
56
+ text: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].node, _propTypes["default"].arrayOf(_propTypes["default"].node)]),
58
57
  iconPosition: _propTypes["default"].oneOf(Object.values(_types.IconPositionEnum)),
59
- icon: _propTypes["default"].node
58
+ icon: _propTypes["default"].node.isRequired
60
59
  };
61
60
  var _default = BenefitsIconsTile;
62
61
  exports["default"] = _default;
@@ -5,10 +5,10 @@ h4,
5
5
  h5 {
6
6
  margin: 0;
7
7
  }
8
- .mfui-beta-benefits-icons {
9
- font-size: 10px;
8
+ .mfui-benefits-icons {
10
9
  overflow: hidden;
10
+ font-size: 10px;
11
11
  }
12
- .mfui-beta-benefits-icons__inner {
12
+ .mfui-benefits-icons__inner {
13
13
  margin-bottom: -48px;
14
14
  }
@@ -5,39 +5,46 @@ h4,
5
5
  h5 {
6
6
  margin: 0;
7
7
  }
8
- .mfui-beta-benefits-icons-tile {
8
+ .mfui-benefits-icons-tile {
9
9
  margin-bottom: 48px;
10
- padding: 0 16px;
11
10
  }
12
- .mfui-beta-benefits-icons-tile .mfui-beta-benefits-icons-tile__svg-icon {
11
+ .mfui-benefits-icons-tile .mfui-benefits-icons-tile__svg-icon {
13
12
  margin-bottom: 10px;
14
13
  }
15
- .mfui-beta-benefits-icons-tile__title + .mfui-beta-benefits-icons-tile__text {
14
+ .mfui-benefits-icons-tile__content {
15
+ font-size: 15px;
16
+ line-height: 24px;
17
+ font-weight: 400;
18
+ }
19
+ .mfui-benefits-icons-tile__title + .mfui-benefits-icons-tile__content {
16
20
  margin-top: 4px;
17
21
  }
18
- .mfui-beta-benefits-icons-tile__svg-icon {
19
- width: 44px;
20
- height: 44px;
22
+ .mfui-benefits-icons-tile__text {
23
+ margin-bottom: 0;
24
+ }
25
+ .mfui-benefits-icons-tile__svg-icon {
26
+ width: 40px;
27
+ height: 40px;
21
28
  overflow: hidden;
22
29
  }
23
- .mfui-beta-benefits-icons-tile_icon-position_left-side {
30
+ .mfui-benefits-icons-tile_icon-position_left-side {
24
31
  display: -webkit-box;
25
32
  display: -ms-flexbox;
26
33
  display: flex;
27
34
  }
28
- .mfui-beta-benefits-icons-tile_icon-position_left-side .mfui-beta-benefits-icons-tile__content-wrapper {
35
+ .mfui-benefits-icons-tile_icon-position_left-side .mfui-benefits-icons-tile__content-wrapper {
29
36
  padding-top: 10px;
30
37
  }
31
- .mfui-beta-benefits-icons-tile_icon-position_left-side .mfui-beta-benefits-icons-tile__svg-icon {
38
+ .mfui-benefits-icons-tile_icon-position_left-side .mfui-benefits-icons-tile__svg-icon {
32
39
  -ms-flex-negative: 0;
33
40
  flex-shrink: 0;
34
41
  margin-right: 14px;
35
42
  margin-bottom: 0;
36
43
  }
37
- .mfui-beta-benefits-icons-tile_icon-position_center-top {
44
+ .mfui-benefits-icons-tile_icon-position_center-top {
38
45
  text-align: center;
39
46
  }
40
- .mfui-beta-benefits-icons-tile_icon-position_center-top .mfui-beta-benefits-icons-tile__svg-icon {
47
+ .mfui-benefits-icons-tile_icon-position_center-top .mfui-benefits-icons-tile__svg-icon {
41
48
  margin-right: auto;
42
49
  margin-left: auto;
43
50
  }
@@ -2,9 +2,9 @@
2
2
  declare type TGridSizeValues = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12';
3
3
  export interface IBenefit {
4
4
  /** Заголовок бенефита */
5
- title?: string;
5
+ title?: string | React.ReactNode | React.ReactNode[];
6
6
  /** Основной текст в бенефите */
7
- text?: string;
7
+ text?: string | React.ReactNode | React.ReactNode[];
8
8
  /** Иконка */
9
9
  icon: React.ReactNode;
10
10
  }
@@ -14,6 +14,11 @@ export declare const IconPositionEnum: {
14
14
  readonly LEFT_SIDE: "left-side";
15
15
  };
16
16
  export declare type IconPosition = typeof IconPositionEnum[keyof typeof IconPositionEnum];
17
+ export declare const ItemsAlignEnum: {
18
+ readonly LEFT: "left";
19
+ readonly CENTER: "center";
20
+ };
21
+ export declare type ItemsAlignType = typeof ItemsAlignEnum[keyof typeof ItemsAlignEnum];
17
22
  export declare type GridConfig = {
18
23
  wide?: TGridSizeValues;
19
24
  desktop?: TGridSizeValues;
@@ -3,10 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.IconPositionEnum = void 0;
6
+ exports.ItemsAlignEnum = exports.IconPositionEnum = void 0;
7
7
  var IconPositionEnum = {
8
8
  LEFT_TOP: 'left-top',
9
9
  CENTER_TOP: 'center-top',
10
10
  LEFT_SIDE: 'left-side'
11
11
  };
12
- exports.IconPositionEnum = IconPositionEnum;
12
+ exports.IconPositionEnum = IconPositionEnum;
13
+ var ItemsAlignEnum = {
14
+ LEFT: 'left',
15
+ CENTER: 'center'
16
+ };
17
+ exports.ItemsAlignEnum = ItemsAlignEnum;
@@ -1,13 +1,22 @@
1
1
  import * as React from 'react';
2
- import './BenfitsPictures.less';
3
2
  import { IBenefit, GridGutterSize } from './types';
3
+ import './BenfitsPictures.less';
4
4
  export interface IBenefitsPicturesProps {
5
+ /** Ссылка на корневой элемент */
6
+ rootRef?: React.Ref<HTMLDivElement>;
5
7
  /** Данные для бенефитов */
6
8
  items: IBenefit[];
7
9
  /** Горизонтальное выравнивание */
8
10
  hAlign?: 'left' | 'center';
9
11
  /** Расстояние между бенефитами */
10
12
  gridGap?: GridGutterSize;
13
+ /** Дополнительный css класс для корневого элемента */
14
+ className?: string;
15
+ /** Дополнительные css классы для корневого и внутренних элементов */
16
+ classes?: {
17
+ root?: string;
18
+ item?: string;
19
+ };
11
20
  }
12
21
  declare const BenefitsPictures: React.FC<IBenefitsPicturesProps>;
13
22
  export default BenefitsPictures;
@@ -2,8 +2,6 @@
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
4
 
5
- require("core-js/modules/es.array.map");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -17,11 +15,17 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
17
15
 
18
16
  var React = _interopRequireWildcard(require("react"));
19
17
 
20
- var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _uiCore = require("@megafon/ui-core");
19
+
20
+ var _uiHelpers = require("@megafon/ui-helpers");
21
+
22
+ var _htmr = _interopRequireDefault(require("htmr"));
21
23
 
22
24
  var _lodash = _interopRequireDefault(require("lodash.throttle"));
23
25
 
24
- var _uiCore = require("@megafon/ui-core");
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
27
+
28
+ var _throttleTime = _interopRequireDefault(require("../../constants/throttleTime"));
25
29
 
26
30
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
27
31
 
@@ -128,14 +132,18 @@ var getCenterConfig = function getCenterConfig(count, index, gutterSize) {
128
132
  }
129
133
  };
130
134
 
131
- var cn = (0, _uiCore.cnCreate)('mfui-beta-benefits-pictures');
135
+ var cn = (0, _uiHelpers.cnCreate)('mfui-benefits-pictures');
132
136
 
133
137
  var BenefitsPictures = function BenefitsPictures(_ref) {
134
138
  var items = _ref.items,
135
139
  _ref$hAlign = _ref.hAlign,
136
140
  hAlign = _ref$hAlign === void 0 ? 'left' : _ref$hAlign,
137
141
  _ref$gridGap = _ref.gridGap,
138
- gridGap = _ref$gridGap === void 0 ? 'large' : _ref$gridGap;
142
+ gridGap = _ref$gridGap === void 0 ? 'large' : _ref$gridGap,
143
+ rootRef = _ref.rootRef,
144
+ className = _ref.className,
145
+ _ref$classes = _ref.classes,
146
+ classes = _ref$classes === void 0 ? {} : _ref$classes;
139
147
  var isLargeGutter = gridGap === 'large';
140
148
  var isGridCenterAlign = hAlign === 'center' && items.length !== ONLY_LEFT_ALIGN_ITEMS_COUNT;
141
149
 
@@ -149,22 +157,23 @@ var BenefitsPictures = function BenefitsPictures(_ref) {
149
157
  return;
150
158
  }
151
159
 
152
- if (window.innerWidth < _uiCore.breakpoints.desktopMiddleStart) {
160
+ if (window.innerWidth < _uiHelpers.breakpoints.DESKTOP_MIDDLE_START) {
153
161
  setCurrentGutter('medium');
154
162
  } else {
155
163
  setCurrentGutter('large');
156
164
  }
157
- }, []);
165
+ }, [isLargeGutter]);
158
166
  React.useEffect(function () {
159
- var throttledResizeHandler = (0, _lodash["default"])(resizeHandler, _uiCore.throttleTime.resize);
167
+ var throttledResizeHandler = (0, _lodash["default"])(resizeHandler, _throttleTime["default"].resize);
160
168
  resizeHandler();
161
169
  window.addEventListener('resize', throttledResizeHandler);
162
170
  return function () {
163
171
  return window.removeEventListener('resize', throttledResizeHandler);
164
172
  };
165
- }, []);
173
+ }, [resizeHandler]);
166
174
  return /*#__PURE__*/React.createElement("div", {
167
- className: cn()
175
+ className: cn([className, classes.root]),
176
+ ref: rootRef
168
177
  }, /*#__PURE__*/React.createElement(_uiCore.Grid, {
169
178
  guttersLeft: currentGutter,
170
179
  hAlign: isGridCenterAlign ? 'center' : 'left'
@@ -175,7 +184,7 @@ var BenefitsPictures = function BenefitsPictures(_ref) {
175
184
  return /*#__PURE__*/React.createElement(_uiCore.GridColumn, (0, _extends2["default"])({}, hAlign === 'left' ? getLeftConfig(items.length, index) : getCenterConfig(items.length, index, gridGap), {
176
185
  key: index
177
186
  }), /*#__PURE__*/React.createElement("div", {
178
- className: cn('item')
187
+ className: cn('item', [classes.item])
179
188
  }, /*#__PURE__*/React.createElement("img", {
180
189
  className: cn('img', {
181
190
  'h-align': hAlign
@@ -186,20 +195,28 @@ var BenefitsPictures = function BenefitsPictures(_ref) {
186
195
  className: cn('title'),
187
196
  hAlign: hAlign,
188
197
  as: "h3"
189
- }, title), /*#__PURE__*/React.createElement(_uiCore.Paragraph, {
198
+ }, (0, _htmr["default"])(title)), /*#__PURE__*/React.createElement(_uiCore.Paragraph, {
190
199
  align: hAlign
191
- }, text)));
200
+ }, (0, _htmr["default"])(text))));
192
201
  })));
193
202
  };
194
203
 
195
204
  BenefitsPictures.propTypes = {
205
+ rootRef: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].oneOfType([_propTypes["default"].shape({
206
+ current: _propTypes["default"].elementType
207
+ }), _propTypes["default"].any])]),
196
208
  items: _propTypes["default"].arrayOf(_propTypes["default"].shape({
197
209
  title: _propTypes["default"].string.isRequired,
198
210
  text: _propTypes["default"].string.isRequired,
199
211
  img: _propTypes["default"].string.isRequired
200
212
  }).isRequired).isRequired,
201
213
  hAlign: _propTypes["default"].oneOf(['left', 'center']),
202
- gridGap: _propTypes["default"].oneOf(['medium', 'large'])
214
+ gridGap: _propTypes["default"].oneOf(['medium', 'large']),
215
+ className: _propTypes["default"].string,
216
+ classes: _propTypes["default"].shape({
217
+ root: _propTypes["default"].string,
218
+ item: _propTypes["default"].string
219
+ })
203
220
  };
204
221
  var _default = BenefitsPictures;
205
222
  exports["default"] = _default;
@@ -5,15 +5,15 @@ h4,
5
5
  h5 {
6
6
  margin: 0;
7
7
  }
8
- .mfui-beta-benefits-pictures__img {
8
+ .mfui-benefits-pictures__img {
9
9
  max-width: 100%;
10
10
  margin-bottom: 32px;
11
11
  }
12
- .mfui-beta-benefits-pictures__img_h-align_center {
12
+ .mfui-benefits-pictures__img_h-align_center {
13
13
  display: block;
14
- margin-left: auto;
15
14
  margin-right: auto;
15
+ margin-left: auto;
16
16
  }
17
- .mfui-beta-benefits-pictures__title {
17
+ .mfui-benefits-pictures__title {
18
18
  margin-bottom: 12px;
19
19
  }
@@ -0,0 +1,46 @@
1
+ h1,
2
+ h2,
3
+ h3,
4
+ h4,
5
+ h5 {
6
+ margin: 0;
7
+ }
8
+ .mfui-breadcrumbs {
9
+ display: -webkit-box;
10
+ display: -ms-flexbox;
11
+ display: flex;
12
+ -ms-flex-wrap: wrap;
13
+ flex-wrap: wrap;
14
+ }
15
+ .mfui-breadcrumbs_color_black .mfui-breadcrumbs__item:before {
16
+ color: #333333;
17
+ }
18
+ .mfui-breadcrumbs_color_white .mfui-breadcrumbs__item:before {
19
+ color: #FFFFFF;
20
+ }
21
+ .mfui-breadcrumbs__icon {
22
+ position: relative;
23
+ width: 14px;
24
+ height: 3px;
25
+ margin-right: 10px;
26
+ }
27
+ .mfui-breadcrumbs__item {
28
+ position: relative;
29
+ margin-right: 10px;
30
+ padding-left: 22px;
31
+ }
32
+ .mfui-breadcrumbs__item:before {
33
+ content: '→';
34
+ position: absolute;
35
+ top: -2px;
36
+ left: 0;
37
+ }
38
+ .mfui-breadcrumbs__item:first-child {
39
+ padding-left: 0;
40
+ }
41
+ .mfui-breadcrumbs__item:first-child:before {
42
+ display: none;
43
+ }
44
+ .mfui-breadcrumbs__item:last-child {
45
+ pointer-events: none;
46
+ }
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import './Breadcrumbs.less';
3
+ declare type ItemType = {
4
+ title: string;
5
+ href?: string;
6
+ };
7
+ export declare const TextColor: {
8
+ readonly BLACK: "black";
9
+ readonly WHITE: "white";
10
+ };
11
+ declare type TextColorType = typeof TextColor[keyof typeof TextColor];
12
+ export declare type Props = {
13
+ className?: string;
14
+ classes?: {
15
+ item?: string;
16
+ };
17
+ items: ItemType[];
18
+ color?: TextColorType;
19
+ };
20
+ declare const Breadcrumbs: React.FC<Props>;
21
+ export default Breadcrumbs;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.TextColor = void 0;
7
+
8
+ require("core-js/modules/es.array.map");
9
+
10
+ require("core-js/modules/es.object.values");
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _uiCore = require("@megafon/ui-core");
15
+
16
+ var _uiHelpers = require("@megafon/ui-helpers");
17
+
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ var TextColor = {
23
+ BLACK: 'black',
24
+ WHITE: 'white'
25
+ };
26
+ exports.TextColor = TextColor;
27
+ var cn = (0, _uiHelpers.cnCreate)('mfui-breadcrumbs');
28
+
29
+ var Breadcrumbs = function Breadcrumbs(_ref) {
30
+ var items = _ref.items,
31
+ _ref$color = _ref.color,
32
+ color = _ref$color === void 0 ? 'black' : _ref$color,
33
+ className = _ref.className,
34
+ _ref$classes = _ref.classes,
35
+ classes = _ref$classes === void 0 ? {} : _ref$classes;
36
+ return /*#__PURE__*/_react["default"].createElement("div", {
37
+ className: cn({
38
+ color: color
39
+ }, className)
40
+ }, items.map(function (_ref2) {
41
+ var title = _ref2.title,
42
+ href = _ref2.href;
43
+ return /*#__PURE__*/_react["default"].createElement("div", {
44
+ className: cn('item', classes.item),
45
+ key: title
46
+ }, /*#__PURE__*/_react["default"].createElement(_uiCore.TextLink, {
47
+ href: href,
48
+ color: color
49
+ }, title));
50
+ }));
51
+ };
52
+
53
+ Breadcrumbs.propTypes = {
54
+ className: _propTypes["default"].string,
55
+ classes: _propTypes["default"].shape({
56
+ item: _propTypes["default"].string
57
+ }),
58
+ items: _propTypes["default"].arrayOf(_propTypes["default"].shape({
59
+ title: _propTypes["default"].string.isRequired,
60
+ href: _propTypes["default"].string
61
+ }).isRequired).isRequired,
62
+ color: _propTypes["default"].oneOf(Object.values(TextColor))
63
+ };
64
+ var _default = Breadcrumbs;
65
+ exports["default"] = _default;
@@ -0,0 +1,122 @@
1
+ h1,
2
+ h2,
3
+ h3,
4
+ h4,
5
+ h5 {
6
+ margin: 0;
7
+ }
8
+ .mfui-button-banner {
9
+ position: relative;
10
+ border: 1px solid #D8D8D8;
11
+ background-color: #FFFFFF;
12
+ border-radius: 0 8px 8px 0;
13
+ }
14
+ @media screen and (max-width: 767px) {
15
+ .mfui-button-banner {
16
+ border-radius: 0 0 8px 8px;
17
+ }
18
+ }
19
+ .mfui-button-banner:before {
20
+ content: '';
21
+ position: absolute;
22
+ top: 0;
23
+ bottom: 0;
24
+ left: 0;
25
+ width: 12px;
26
+ background-color: #00B956;
27
+ border-radius: 0 12px 12px 0;
28
+ }
29
+ @media screen and (max-width: 767px) {
30
+ .mfui-button-banner:before {
31
+ border-radius: 0 0 12px 12px;
32
+ }
33
+ }
34
+ @media screen and (max-width: 767px) {
35
+ .mfui-button-banner:before {
36
+ right: 0;
37
+ bottom: auto;
38
+ width: auto;
39
+ height: 12px;
40
+ }
41
+ }
42
+ .mfui-button-banner__content {
43
+ -webkit-box-sizing: border-box;
44
+ box-sizing: border-box;
45
+ }
46
+ @media screen and (max-width: 767px) {
47
+ .mfui-button-banner__content {
48
+ padding: 36px 16px 32px;
49
+ text-align: center;
50
+ }
51
+ }
52
+ @media screen and (min-width: 768px) and (max-width: 1023px) {
53
+ .mfui-button-banner__content {
54
+ padding: 32px 0;
55
+ }
56
+ }
57
+ @media screen and (min-width: 1024px) and (max-width: 1279px) {
58
+ .mfui-button-banner__content {
59
+ padding: 40px 0;
60
+ }
61
+ }
62
+ @media screen and (min-width: 1280px) {
63
+ .mfui-button-banner__content {
64
+ padding: 48px 0;
65
+ }
66
+ }
67
+ .mfui-button-banner__media {
68
+ display: -webkit-box;
69
+ display: -ms-flexbox;
70
+ display: flex;
71
+ -webkit-box-align: center;
72
+ -ms-flex-align: center;
73
+ align-items: center;
74
+ -webkit-box-pack: center;
75
+ -ms-flex-pack: center;
76
+ justify-content: center;
77
+ height: 100%;
78
+ padding: 0 20px;
79
+ overflow: hidden;
80
+ background-repeat: no-repeat;
81
+ background-position: center;
82
+ border-radius: 0 8px 8px 0;
83
+ }
84
+ @media screen and (max-width: 767px) {
85
+ .mfui-button-banner__media {
86
+ border-radius: 0 0 8px 8px;
87
+ }
88
+ }
89
+ @media screen and (max-width: 767px) {
90
+ .mfui-button-banner__media {
91
+ height: auto;
92
+ padding: 0 16px 24px;
93
+ }
94
+ }
95
+ .mfui-button-banner_scaling_cover .mfui-button-banner__media {
96
+ background-size: cover;
97
+ }
98
+ .mfui-button-banner_scaling_contain .mfui-button-banner__media {
99
+ background-size: contain;
100
+ }
101
+ .mfui-button-banner__header {
102
+ margin-bottom: 16px;
103
+ }
104
+ .mfui-button-banner__button {
105
+ max-width: 100%;
106
+ }
107
+ .mfui-button-banner__text {
108
+ font-size: 15px;
109
+ line-height: 24px;
110
+ font-weight: 400;
111
+ }
112
+ .mfui-button-banner_image .mfui-button-banner__media {
113
+ padding: 0;
114
+ }
115
+ @media screen and (max-width: 767px) {
116
+ .mfui-button-banner_image .mfui-button-banner__media {
117
+ height: 222px;
118
+ }
119
+ }
120
+ .mfui-button-banner_image .mfui-button-banner__text {
121
+ margin-bottom: 32px;
122
+ }
@@ -0,0 +1,54 @@
1
+ import React, { Ref } from 'react';
2
+ import './ButtonBanner.less';
3
+ export declare const ButtonColor: {
4
+ readonly GREEN: "green";
5
+ readonly PURPLE: "purple";
6
+ };
7
+ declare type ButtonColorType = typeof ButtonColor[keyof typeof ButtonColor];
8
+ export declare const ButtonTarget: {
9
+ readonly SELF: "_self";
10
+ readonly BLANK: "_blank";
11
+ };
12
+ declare type ButtonTargetType = typeof ButtonTarget[keyof typeof ButtonTarget];
13
+ export declare const ImageScaling: {
14
+ readonly COVER: "cover";
15
+ readonly CONTAIN: "contain";
16
+ };
17
+ declare type ImageScalingType = typeof ImageScaling[keyof typeof ImageScaling];
18
+ export interface IButtonBannerProps {
19
+ /** Дата атрибуты для корневого элемента */
20
+ dataAttrs?: {
21
+ [key: string]: string;
22
+ };
23
+ /** Дополнительный css класс для корневого элемента */
24
+ className?: string;
25
+ /** Дополнительный css классы для корневого и внутренних элементов */
26
+ classes?: {
27
+ root?: string;
28
+ button?: string;
29
+ };
30
+ /** Ссылка на корневой элемент */
31
+ rootRef?: Ref<HTMLDivElement>;
32
+ /** Заголовок */
33
+ title: string;
34
+ /** Текст */
35
+ text: string | React.ReactNode | React.ReactNode[];
36
+ /** URL изображения */
37
+ imageUrl?: string;
38
+ /** Текст кнопки */
39
+ buttonText: string;
40
+ /** URL кнопки */
41
+ buttonUrl?: string;
42
+ /** Download - свойство тега <a> */
43
+ buttonDownload?: boolean;
44
+ /** Target - свойство тега <a> */
45
+ buttonTarget?: ButtonTargetType;
46
+ /** Цвет кнопки */
47
+ buttonColor?: ButtonColorType;
48
+ /** Масштабирование изображения */
49
+ imageScaling?: ImageScalingType;
50
+ /** Обработчик клика по кнопке */
51
+ onButtonClick?: (e: React.SyntheticEvent<EventTarget>) => void;
52
+ }
53
+ declare const ButtonBanner: React.FC<IButtonBannerProps>;
54
+ export default ButtonBanner;