@megafon/ui-shared 4.5.3 → 4.7.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 (42) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/es/components/AccordionBox/AccordionBox.d.ts +2 -0
  3. package/dist/es/components/AccordionBox/AccordionBox.js +1 -0
  4. package/dist/es/components/Breadcrumbs/Breadcrumbs.css +0 -6
  5. package/dist/es/components/Breadcrumbs/Breadcrumbs.d.ts +22 -12
  6. package/dist/es/components/Breadcrumbs/Breadcrumbs.js +43 -37
  7. package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.css +16 -0
  8. package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.d.ts +29 -0
  9. package/dist/es/components/Breadcrumbs/components/BreadcrumbsItem.js +82 -0
  10. package/dist/es/components/FaqWrapper/FaqWrapper.d.ts +3 -0
  11. package/dist/es/components/FaqWrapper/FaqWrapper.js +11 -0
  12. package/dist/es/components/PageTitle/PageTitle.d.ts +2 -0
  13. package/dist/es/components/PageTitle/PageTitle.js +4 -0
  14. package/dist/es/components/TextWithIcon/TextWithIconItem.d.ts +5 -0
  15. package/dist/es/components/TextWithIcon/TextWithIconItem.js +20 -7
  16. package/dist/es/components/VideoBanner/VideoBanner.d.ts +2 -0
  17. package/dist/es/components/VideoBanner/VideoBanner.js +6 -2
  18. package/dist/es/components/VideoBlock/VideoBlock.d.ts +2 -0
  19. package/dist/es/components/VideoBlock/VideoBlock.js +9 -4
  20. package/dist/es/index.d.ts +2 -0
  21. package/dist/es/index.js +2 -0
  22. package/dist/lib/components/AccordionBox/AccordionBox.d.ts +2 -0
  23. package/dist/lib/components/AccordionBox/AccordionBox.js +1 -0
  24. package/dist/lib/components/Breadcrumbs/Breadcrumbs.css +0 -6
  25. package/dist/lib/components/Breadcrumbs/Breadcrumbs.d.ts +22 -12
  26. package/dist/lib/components/Breadcrumbs/Breadcrumbs.js +51 -41
  27. package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.css +16 -0
  28. package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.d.ts +29 -0
  29. package/dist/lib/components/Breadcrumbs/components/BreadcrumbsItem.js +99 -0
  30. package/dist/lib/components/FaqWrapper/FaqWrapper.d.ts +3 -0
  31. package/dist/lib/components/FaqWrapper/FaqWrapper.js +21 -0
  32. package/dist/lib/components/PageTitle/PageTitle.d.ts +2 -0
  33. package/dist/lib/components/PageTitle/PageTitle.js +4 -0
  34. package/dist/lib/components/TextWithIcon/TextWithIconItem.d.ts +5 -0
  35. package/dist/lib/components/TextWithIcon/TextWithIconItem.js +21 -6
  36. package/dist/lib/components/VideoBanner/VideoBanner.d.ts +2 -0
  37. package/dist/lib/components/VideoBanner/VideoBanner.js +6 -2
  38. package/dist/lib/components/VideoBlock/VideoBlock.d.ts +2 -0
  39. package/dist/lib/components/VideoBlock/VideoBlock.js +9 -4
  40. package/dist/lib/index.d.ts +2 -0
  41. package/dist/lib/index.js +16 -0
  42. package/package.json +5 -5
@@ -1,27 +1,37 @@
1
1
  import React from 'react';
2
+ import { TextColor } from './components/BreadcrumbsItem';
2
3
  import './Breadcrumbs.less';
3
4
  declare type ItemObjectType = {
4
5
  title?: string;
5
6
  href?: string;
6
7
  };
7
8
  declare type ItemType = JSX.Element | ItemObjectType;
8
- export declare const TextColor: {
9
- readonly DEFAULT: "default";
10
- readonly BLACK: "black";
11
- readonly WHITE: "white";
12
- };
13
- declare type TextColorType = typeof TextColor[keyof typeof TextColor];
9
+ export declare type TextColorType = typeof TextColor[keyof typeof TextColor];
14
10
  export declare type Props = {
15
- dataAttrs?: {
16
- root?: Record<string, string>;
17
- link?: Record<string, string>;
18
- };
11
+ /** Дополнительный класс корневого элемента */
19
12
  className?: string;
13
+ /** Список элементов */
14
+ items: ItemType[];
15
+ /** Цвет */
16
+ color?: TextColorType;
17
+ /** Включить микроразметку */
18
+ hasMicrodata?: boolean;
19
+ /** Дополнительные классы для корневого и внутренних элементов */
20
20
  classes?: {
21
21
  item?: string;
22
+ itemTitle?: string;
23
+ lastItemTitle?: string;
24
+ link?: string;
25
+ };
26
+ /** Дополнительные data атрибуты к внутренним элементам */
27
+ dataAttrs?: {
28
+ root?: Record<string, string>;
29
+ item?: Record<string, string>;
30
+ itemInner?: Record<string, string>;
31
+ itemTitle?: Record<string, string>;
32
+ itemMeta?: Record<string, string>;
33
+ link?: Record<string, string>;
22
34
  };
23
- items: ItemType[];
24
- color?: TextColorType;
25
35
  };
26
36
  declare const Breadcrumbs: React.FC<Props>;
27
37
  export default Breadcrumbs;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports["default"] = exports.TextColor = void 0;
8
+ exports["default"] = void 0;
7
9
 
8
10
  require("core-js/modules/es.array.map");
9
11
 
@@ -15,28 +17,21 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
15
17
 
16
18
  var _react = _interopRequireDefault(require("react"));
17
19
 
18
- var _uiCore = require("@megafon/ui-core");
19
-
20
20
  var _uiHelpers = require("@megafon/ui-helpers");
21
21
 
22
22
  var _propTypes = _interopRequireDefault(require("prop-types"));
23
23
 
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
24
+ var _BreadcrumbsItem = _interopRequireWildcard(require("./components/BreadcrumbsItem"));
25
25
 
26
- var TextColor = {
27
- DEFAULT: 'default',
28
- BLACK: 'black',
29
- WHITE: 'white'
30
- };
31
- exports.TextColor = TextColor;
26
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
32
27
 
33
- function isObjectElement(item) {
34
- return !_react["default"].isValidElement(item);
35
- }
28
+ 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; }
36
29
 
37
- function isJSXElement(item) {
38
- return _react["default"].isValidElement(item);
39
- }
30
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
31
+
32
+ var isObjectElement = function isObjectElement(item) {
33
+ return !_react["default"].isValidElement(item);
34
+ };
40
35
 
41
36
  var cn = (0, _uiHelpers.cnCreate)('mfui-breadcrumbs');
42
37
 
@@ -47,50 +42,65 @@ var Breadcrumbs = function Breadcrumbs(_ref) {
47
42
  className = _ref.className,
48
43
  _ref$classes = _ref.classes,
49
44
  classes = _ref$classes === void 0 ? {} : _ref$classes,
50
- dataAttrs = _ref.dataAttrs;
51
- return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
45
+ dataAttrs = _ref.dataAttrs,
46
+ _ref$hasMicrodata = _ref.hasMicrodata,
47
+ hasMicrodata = _ref$hasMicrodata === void 0 ? false : _ref$hasMicrodata;
48
+ return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
52
49
  className: cn({
53
50
  color: color
54
51
  }, className)
52
+ }, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), hasMicrodata && {
53
+ itemScope: true,
54
+ itemType: 'https://schema.org/BreadcrumbList'
55
55
  }), items.map(function (item, i) {
56
- if (isJSXElement(item)) {
57
- return /*#__PURE__*/_react["default"].createElement("div", {
58
- className: cn('item', classes.item),
59
- key: i
60
- }, item);
61
- }
62
-
63
- if (isObjectElement(item)) {
64
- return /*#__PURE__*/_react["default"].createElement("div", {
65
- className: cn('item', classes.item),
66
- key: item.title
67
- }, /*#__PURE__*/_react["default"].createElement(_uiCore.TextLink, {
68
- href: item.href,
69
- color: color,
70
- dataAttrs: {
71
- root: (dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.link) ? (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.link, i + 1)) : undefined
72
- }
73
- }, item.title));
74
- }
75
-
76
- return null;
56
+ return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
57
+ className: cn('item', classes.item)
58
+ }, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.item, i + 1), {
59
+ key: i
60
+ }), isObjectElement(item) ? /*#__PURE__*/_react["default"].createElement(_BreadcrumbsItem["default"], {
61
+ title: item.title,
62
+ href: item.href,
63
+ color: color,
64
+ index: i,
65
+ isLastItem: i === items.length - 1,
66
+ hasMicrodata: hasMicrodata,
67
+ dataAttrs: {
68
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.itemInner,
69
+ link: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.link,
70
+ itemTitle: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.itemTitle,
71
+ meta: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.itemMeta
72
+ },
73
+ classes: {
74
+ link: classes === null || classes === void 0 ? void 0 : classes.link,
75
+ itemTitle: classes === null || classes === void 0 ? void 0 : classes.itemTitle,
76
+ lastItemTitle: classes === null || classes === void 0 ? void 0 : classes.lastItemTitle
77
+ }
78
+ }) : item);
77
79
  }));
78
80
  };
79
81
 
80
82
  Breadcrumbs.propTypes = {
81
83
  dataAttrs: _propTypes["default"].shape({
82
84
  root: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
85
+ item: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
86
+ itemInner: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
87
+ itemTitle: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
88
+ itemMeta: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
83
89
  link: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired)
84
90
  }),
85
91
  className: _propTypes["default"].string,
86
92
  classes: _propTypes["default"].shape({
87
- item: _propTypes["default"].string
93
+ item: _propTypes["default"].string,
94
+ itemTitle: _propTypes["default"].string,
95
+ lastItemTitle: _propTypes["default"].string,
96
+ link: _propTypes["default"].string
88
97
  }),
89
98
  items: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].element.isRequired), _propTypes["default"].arrayOf(_propTypes["default"].shape({
90
99
  title: _propTypes["default"].string,
91
100
  href: _propTypes["default"].string
92
101
  }).isRequired)]).isRequired,
93
- color: _propTypes["default"].oneOf(Object.values(TextColor))
102
+ color: _propTypes["default"].oneOf(Object.values(_BreadcrumbsItem.TextColor)),
103
+ hasMicrodata: _propTypes["default"].bool
94
104
  };
95
105
  var _default = Breadcrumbs;
96
106
  exports["default"] = _default;
@@ -0,0 +1,16 @@
1
+ h1,
2
+ h2,
3
+ h3,
4
+ h4,
5
+ h5 {
6
+ margin: 0;
7
+ }
8
+ .mfui-breadcrumbs-item_color_default {
9
+ color: var(--content);
10
+ }
11
+ .mfui-breadcrumbs-item_color_black {
12
+ color: var(--stcBlack);
13
+ }
14
+ .mfui-breadcrumbs-item_color_white {
15
+ color: var(--stcWhite);
16
+ }
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import './BreadcrumbsItem.less';
3
+ export declare const TextColor: {
4
+ readonly DEFAULT: "default";
5
+ readonly BLACK: "black";
6
+ readonly WHITE: "white";
7
+ };
8
+ declare type TextColorType = typeof TextColor[keyof typeof TextColor];
9
+ export declare type Props = {
10
+ title?: string;
11
+ href?: string;
12
+ color?: TextColorType;
13
+ index?: number;
14
+ isLastItem?: boolean;
15
+ hasMicrodata?: boolean;
16
+ classes?: {
17
+ link?: string;
18
+ itemTitle?: string;
19
+ lastItemTitle?: string;
20
+ };
21
+ dataAttrs?: {
22
+ root?: Record<string, string>;
23
+ link?: Record<string, string>;
24
+ itemTitle?: Record<string, string>;
25
+ meta?: Record<string, string>;
26
+ };
27
+ };
28
+ declare const BreadcrumbsItem: React.FC<Props>;
29
+ export default BreadcrumbsItem;
@@ -0,0 +1,99 @@
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.object.values");
9
+
10
+ require("core-js/modules/es.string.link");
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _uiCore = require("@megafon/ui-core");
17
+
18
+ var _uiHelpers = require("@megafon/ui-helpers");
19
+
20
+ var _propTypes = _interopRequireDefault(require("prop-types"));
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
+
24
+ var TextColor = {
25
+ DEFAULT: 'default',
26
+ BLACK: 'black',
27
+ WHITE: 'white'
28
+ };
29
+ exports.TextColor = TextColor;
30
+ var cn = (0, _uiHelpers.cnCreate)('mfui-breadcrumbs-item');
31
+
32
+ var BreadcrumbsItem = function BreadcrumbsItem(_ref) {
33
+ var title = _ref.title,
34
+ href = _ref.href,
35
+ color = _ref.color,
36
+ _ref$index = _ref.index,
37
+ index = _ref$index === void 0 ? 0 : _ref$index,
38
+ _ref$isLastItem = _ref.isLastItem,
39
+ isLastItem = _ref$isLastItem === void 0 ? false : _ref$isLastItem,
40
+ _ref$hasMicrodata = _ref.hasMicrodata,
41
+ hasMicrodata = _ref$hasMicrodata === void 0 ? false : _ref$hasMicrodata,
42
+ classes = _ref.classes,
43
+ dataAttrs = _ref.dataAttrs;
44
+
45
+ if (isLastItem) {
46
+ return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
47
+ className: cn({
48
+ color: color
49
+ })
50
+ }, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root, index + 1)), /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({
51
+ className: classes === null || classes === void 0 ? void 0 : classes.lastItemTitle
52
+ }, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.itemTitle, index + 1)), title));
53
+ }
54
+
55
+ return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
56
+ className: cn()
57
+ }, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root, index + 1), hasMicrodata && {
58
+ itemScope: true,
59
+ itemProp: 'itemListElement',
60
+ itemType: 'https://schema.org/ListItem'
61
+ }), /*#__PURE__*/_react["default"].createElement(_uiCore.TextLink, {
62
+ className: classes === null || classes === void 0 ? void 0 : classes.link,
63
+ href: href,
64
+ color: color,
65
+ dataAttrs: {
66
+ root: (dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.link) ? (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.link, index + 1)) : undefined
67
+ },
68
+ itemProp: hasMicrodata ? 'item' : undefined
69
+ }, /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({
70
+ className: classes === null || classes === void 0 ? void 0 : classes.itemTitle
71
+ }, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.itemTitle, index + 1), hasMicrodata && {
72
+ itemProp: 'name'
73
+ }), title)), hasMicrodata && /*#__PURE__*/_react["default"].createElement("meta", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.meta, index + 1), {
74
+ itemProp: "position",
75
+ content: String(index + 1)
76
+ })));
77
+ };
78
+
79
+ BreadcrumbsItem.propTypes = {
80
+ title: _propTypes["default"].string,
81
+ href: _propTypes["default"].string,
82
+ color: _propTypes["default"].oneOf(Object.values(TextColor)),
83
+ index: _propTypes["default"].number,
84
+ isLastItem: _propTypes["default"].bool,
85
+ hasMicrodata: _propTypes["default"].bool,
86
+ classes: _propTypes["default"].shape({
87
+ link: _propTypes["default"].string,
88
+ itemTitle: _propTypes["default"].string,
89
+ lastItemTitle: _propTypes["default"].string
90
+ }),
91
+ dataAttrs: _propTypes["default"].shape({
92
+ root: _propTypes["default"].objectOf(_propTypes["default"].string),
93
+ link: _propTypes["default"].objectOf(_propTypes["default"].string),
94
+ itemTitle: _propTypes["default"].objectOf(_propTypes["default"].string),
95
+ meta: _propTypes["default"].objectOf(_propTypes["default"].string)
96
+ })
97
+ };
98
+ var _default = BreadcrumbsItem;
99
+ exports["default"] = _default;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const FaqWrapper: React.FC;
3
+ export default FaqWrapper;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ var FaqWrapper = function FaqWrapper(_ref) {
13
+ var children = _ref.children;
14
+ return /*#__PURE__*/_react["default"].createElement("div", {
15
+ itemScope: true,
16
+ itemType: "http://schema.org/FAQPage"
17
+ }, children);
18
+ };
19
+
20
+ var _default = FaqWrapper;
21
+ exports["default"] = _default;
@@ -16,6 +16,8 @@ declare type Props = {
16
16
  badge?: string;
17
17
  /** Растягивание компонента на всю доступную ширину */
18
18
  isFullWidth?: boolean;
19
+ /** Включить микроразметку для хлебных крошек */
20
+ hasBreadcrumbsMicrodata?: boolean;
19
21
  /** Класс для корневого элемента */
20
22
  className?: string;
21
23
  /** Дополнительные классы для внутренних элементов */
@@ -34,6 +34,8 @@ var PageTitle = function PageTitle(_ref) {
34
34
  badge = _ref.badge,
35
35
  _ref$isFullWidth = _ref.isFullWidth,
36
36
  isFullWidth = _ref$isFullWidth === void 0 ? true : _ref$isFullWidth,
37
+ _ref$hasBreadcrumbsMi = _ref.hasBreadcrumbsMicrodata,
38
+ hasBreadcrumbsMicrodata = _ref$hasBreadcrumbsMi === void 0 ? false : _ref$hasBreadcrumbsMi,
37
39
  className = _ref.className,
38
40
  _ref$classes = _ref.classes,
39
41
  classes = _ref$classes === void 0 ? {} : _ref$classes,
@@ -63,6 +65,7 @@ var PageTitle = function PageTitle(_ref) {
63
65
  className: cn([className]),
64
66
  ref: rootRef
65
67
  }), (breadcrumbs === null || breadcrumbs === void 0 ? void 0 : breadcrumbs.length) && /*#__PURE__*/React.createElement(_Breadcrumbs["default"], {
68
+ hasMicrodata: hasBreadcrumbsMicrodata,
66
69
  items: breadcrumbs,
67
70
  dataAttrs: {
68
71
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.breadcrumbs,
@@ -85,6 +88,7 @@ PageTitle.propTypes = {
85
88
  }).isRequired),
86
89
  badge: _propTypes["default"].string,
87
90
  isFullWidth: _propTypes["default"].bool,
91
+ hasBreadcrumbsMicrodata: _propTypes["default"].bool,
88
92
  className: _propTypes["default"].string,
89
93
  classes: _propTypes["default"].shape({
90
94
  breadcrumbs: _propTypes["default"].string
@@ -1,6 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import './TextWithIconItem.less';
3
3
  export interface ITextWithIconItem {
4
+ /** Дополнительные классы для внутренних элементов */
5
+ classes?: {
6
+ icon?: string;
7
+ text?: string;
8
+ };
4
9
  /** Текст */
5
10
  text: string | string[];
6
11
  /** Иконка */
@@ -7,6 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
 
10
+ require("core-js/modules/es.array.is-array");
11
+
12
+ require("core-js/modules/es.array.map");
13
+
10
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
15
 
12
16
  var React = _interopRequireWildcard(require("react"));
@@ -24,23 +28,34 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
24
28
  var cn = (0, _uiHelpers.cnCreate)('mfui-text-with-icon-item');
25
29
 
26
30
  var TextWithIconItem = function TextWithIconItem(_ref) {
27
- var text = _ref.text,
31
+ var className = _ref.className,
32
+ _ref$classes = _ref.classes,
33
+ classes = _ref$classes === void 0 ? {} : _ref$classes,
34
+ text = _ref.text,
28
35
  icon = _ref.icon,
29
36
  rootRef = _ref.rootRef,
30
37
  dataAttrs = _ref.dataAttrs,
31
38
  _ref$centeringOnMobil = _ref.centeringOnMobile,
32
- centeringOnMobile = _ref$centeringOnMobil === void 0 ? true : _ref$centeringOnMobil,
33
- className = _ref.className;
39
+ centeringOnMobile = _ref$centeringOnMobil === void 0 ? true : _ref$centeringOnMobil;
40
+ var renderText = React.useMemo(function () {
41
+ if (Array.isArray(text)) {
42
+ return text.map(function (item) {
43
+ return (0, _uiHelpers.convert)(item, _uiHelpers.textConvertConfig);
44
+ });
45
+ }
46
+
47
+ return (0, _uiHelpers.convert)(text, _uiHelpers.textConvertConfig);
48
+ }, [text]);
34
49
  return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
35
50
  className: cn({
36
51
  'centering-on-mobile': centeringOnMobile
37
52
  }, [className]),
38
53
  ref: rootRef
39
54
  }, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), /*#__PURE__*/React.createElement("div", {
40
- className: cn('svg-icon')
55
+ className: cn('svg-icon', [classes.icon])
41
56
  }, icon), /*#__PURE__*/React.createElement("div", {
42
- className: cn('text')
43
- }, text));
57
+ className: cn('text', [classes.text])
58
+ }, renderText));
44
59
  };
45
60
 
46
61
  TextWithIconItem.propTypes = {
@@ -96,6 +96,8 @@ interface IVideoBannerProps {
96
96
  imageDesktopWide?: string;
97
97
  /** Хлебные крошки */
98
98
  breadcrumbs?: BreadCrumbsItemsType;
99
+ /** Включить микроразметку хлебных крошек */
100
+ hasBreadcrumbsMicrodata?: boolean;
99
101
  }
100
102
  declare const VideoBanner: React.FC<IVideoBannerProps>;
101
103
  export default VideoBanner;
@@ -97,7 +97,9 @@ var VideoBanner = function VideoBanner(_ref2) {
97
97
  isMuted = _ref2$isMuted === void 0 ? true : _ref2$isMuted,
98
98
  breadcrumbs = _ref2.breadcrumbs,
99
99
  _ref2$videoMobile = _ref2.videoMobile,
100
- videoMobile = _ref2$videoMobile === void 0 ? false : _ref2$videoMobile;
100
+ videoMobile = _ref2$videoMobile === void 0 ? false : _ref2$videoMobile,
101
+ _ref2$hasBreadcrumbsM = _ref2.hasBreadcrumbsMicrodata,
102
+ hasBreadcrumbsMicrodata = _ref2$hasBreadcrumbsM === void 0 ? false : _ref2$hasBreadcrumbsM;
101
103
 
102
104
  var _React$useState = _react["default"].useState(true),
103
105
  _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
@@ -243,6 +245,7 @@ var VideoBanner = function VideoBanner(_ref2) {
243
245
  }), /*#__PURE__*/_react["default"].createElement(_uiCore.ContentArea, null, /*#__PURE__*/_react["default"].createElement("div", {
244
246
  className: cn('wrapper')
245
247
  }, !!(breadcrumbs === null || breadcrumbs === void 0 ? void 0 : breadcrumbs.length) && /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
248
+ hasMicrodata: hasBreadcrumbsMicrodata,
246
249
  dataAttrs: {
247
250
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.breadcrumbs,
248
251
  link: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.breadcrumbsLink
@@ -314,7 +317,8 @@ VideoBanner.propTypes = {
314
317
  breadcrumbs: PropTypes.arrayOf(PropTypes.shape({
315
318
  title: PropTypes.string.isRequired,
316
319
  href: PropTypes.string
317
- }).isRequired)
320
+ }).isRequired),
321
+ hasBreadcrumbsMicrodata: PropTypes.bool
318
322
  };
319
323
  var _default = VideoBanner;
320
324
  exports["default"] = _default;
@@ -49,6 +49,8 @@ export interface IVideoBlockProps {
49
49
  poster?: string;
50
50
  /** Расположение контента справа от видео. Только для десктопа */
51
51
  contentPositionRight?: boolean;
52
+ /** Воспроизводит видео на iOS устройствах без перехода в полноэкранный режим */
53
+ playsinline?: boolean;
52
54
  }
53
55
  declare const VideoBlock: React.FC<IVideoBlockProps>;
54
56
  export default VideoBlock;
@@ -48,7 +48,9 @@ var VideoBlock = function VideoBlock(_ref) {
48
48
  isAutoplay = _ref$isAutoplay === void 0 ? false : _ref$isAutoplay,
49
49
  _ref$contentPositionR = _ref.contentPositionRight,
50
50
  contentPositionRight = _ref$contentPositionR === void 0 ? false : _ref$contentPositionR,
51
- poster = _ref.poster;
51
+ poster = _ref.poster,
52
+ _ref$playsinline = _ref.playsinline,
53
+ playsinline = _ref$playsinline === void 0 ? false : _ref$playsinline;
52
54
 
53
55
  var renderVideo = _react["default"].useCallback(function () {
54
56
  switch (videoType) {
@@ -63,7 +65,8 @@ var VideoBlock = function VideoBlock(_ref) {
63
65
  var showinfo = "&showinfo=0";
64
66
  var ivLoadPolicy = "&iv_load_policy=3";
65
67
  var playlist = "&playlist=".concat(videoSrc);
66
- var src = "".concat(url).concat(autoplay).concat(mute).concat(loop).concat(rel).concat(controls).concat(showinfo).concat(ivLoadPolicy).concat(playlist);
68
+ var playsinlineProp = "&playsinline=".concat(playsinline ? 1 : 0);
69
+ var src = "".concat(url).concat(autoplay).concat(mute).concat(loop).concat(rel).concat(controls).concat(showinfo).concat(ivLoadPolicy).concat(playlist).concat(playsinlineProp);
67
70
  return /*#__PURE__*/_react["default"].createElement("div", {
68
71
  className: cn('youtube')
69
72
  }, /*#__PURE__*/_react["default"].createElement("iframe", {
@@ -89,7 +92,8 @@ var VideoBlock = function VideoBlock(_ref) {
89
92
  muted: isMuted,
90
93
  controls: !isAutoplay,
91
94
  loop: true,
92
- poster: poster
95
+ poster: poster,
96
+ playsInline: playsinline
93
97
  }, /*#__PURE__*/_react["default"].createElement("source", {
94
98
  src: videoSrc,
95
99
  type: "video/mp4"
@@ -102,7 +106,7 @@ var VideoBlock = function VideoBlock(_ref) {
102
106
  return null;
103
107
  }
104
108
  }
105
- }, [videoType, videoSrc, isAutoplay, isMuted, poster]);
109
+ }, [videoType, videoSrc, isAutoplay, isMuted, poster, playsinline]);
106
110
 
107
111
  var renderContent = _react["default"].useCallback(function (_ref2) {
108
112
  var title = _ref2.title,
@@ -197,6 +201,7 @@ VideoBlock.propTypes = {
197
201
  isMuted: _propTypes["default"].bool,
198
202
  isAutoplay: _propTypes["default"].bool,
199
203
  poster: _propTypes["default"].string,
204
+ playsinline: _propTypes["default"].bool,
200
205
  contentPositionRight: _propTypes["default"].bool
201
206
  };
202
207
  var _default = VideoBlock;
@@ -4,6 +4,7 @@ export { default as BenefitsIcons } from './components/BenefitsIcons/BenefitsIco
4
4
  export { default as BenefitsIconsTile } from './components/BenefitsIcons/BenefitsIconsTile';
5
5
  export { default as BenefitsPictures } from './components/BenefitsPictures/BenefitsPictures';
6
6
  export { default as Breadcrumbs } from './components/Breadcrumbs/Breadcrumbs';
7
+ export { default as BreadcrumbsItem } from './components/Breadcrumbs/components/BreadcrumbsItem';
7
8
  export { default as ButtonBanner } from './components/ButtonBanner/ButtonBanner';
8
9
  export { default as ButtonLinkBox } from './components/ButtonLinkBox/ButtonLinkBox';
9
10
  export { default as Card } from './components/Card/Card';
@@ -12,6 +13,7 @@ export { default as CarouselBox } from './components/CarouselBox/CarouselBox';
12
13
  export { default as Container } from './components/Container/Container';
13
14
  export { default as DownloadLink } from './components/DownloadLinks/DownloadLink';
14
15
  export { default as DownloadLinks } from './components/DownloadLinks/DownloadLinks';
16
+ export { default as FaqWrapper } from './components/FaqWrapper/FaqWrapper';
15
17
  export { default as Instructions } from './components/Instructions/Instructions';
16
18
  export { default as PageTitle } from './components/PageTitle/PageTitle';
17
19
  export { default as Partners } from './components/Partners/Partners';
package/dist/lib/index.js CHANGED
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "Breadcrumbs", {
39
39
  return _Breadcrumbs["default"];
40
40
  }
41
41
  });
42
+ Object.defineProperty(exports, "BreadcrumbsItem", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _BreadcrumbsItem["default"];
46
+ }
47
+ });
42
48
  Object.defineProperty(exports, "ButtonBanner", {
43
49
  enumerable: true,
44
50
  get: function get() {
@@ -87,6 +93,12 @@ Object.defineProperty(exports, "DownloadLinks", {
87
93
  return _DownloadLinks["default"];
88
94
  }
89
95
  });
96
+ Object.defineProperty(exports, "FaqWrapper", {
97
+ enumerable: true,
98
+ get: function get() {
99
+ return _FaqWrapper["default"];
100
+ }
101
+ });
90
102
  Object.defineProperty(exports, "Instructions", {
91
103
  enumerable: true,
92
104
  get: function get() {
@@ -232,6 +244,8 @@ var _BenefitsPictures = _interopRequireDefault(require("./components/BenefitsPic
232
244
 
233
245
  var _Breadcrumbs = _interopRequireDefault(require("./components/Breadcrumbs/Breadcrumbs"));
234
246
 
247
+ var _BreadcrumbsItem = _interopRequireDefault(require("./components/Breadcrumbs/components/BreadcrumbsItem"));
248
+
235
249
  var _ButtonBanner = _interopRequireDefault(require("./components/ButtonBanner/ButtonBanner"));
236
250
 
237
251
  var _ButtonLinkBox = _interopRequireDefault(require("./components/ButtonLinkBox/ButtonLinkBox"));
@@ -248,6 +262,8 @@ var _DownloadLink = _interopRequireDefault(require("./components/DownloadLinks/D
248
262
 
249
263
  var _DownloadLinks = _interopRequireDefault(require("./components/DownloadLinks/DownloadLinks"));
250
264
 
265
+ var _FaqWrapper = _interopRequireDefault(require("./components/FaqWrapper/FaqWrapper"));
266
+
251
267
  var _Instructions = _interopRequireDefault(require("./components/Instructions/Instructions"));
252
268
 
253
269
  var _PageTitle = _interopRequireDefault(require("./components/PageTitle/PageTitle"));