@megafon/ui-shared 5.11.0 → 5.13.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.
- package/CHANGELOG.md +30 -0
- package/dist/es/components/BenefitsIcons/BenefitsIcons.d.ts +4 -0
- package/dist/es/components/BenefitsIcons/BenefitsIcons.js +25 -6
- package/dist/es/components/BenefitsIcons/BenefitsIconsTile.js +24 -10
- package/dist/es/components/BenefitsIcons/types.d.ts +12 -0
- package/dist/es/components/ButtonBanner/ButtonBanner.d.ts +7 -0
- package/dist/es/components/ButtonBanner/ButtonBanner.js +8 -0
- package/dist/es/components/ImageBanner/ImageBanner.css +3 -0
- package/dist/es/components/ImageBanner/ImageBanner.d.ts +7 -0
- package/dist/es/components/ImageBanner/ImageBanner.js +15 -7
- package/dist/es/components/Instructions/Instructions.css +176 -39
- package/dist/es/components/Instructions/Instructions.d.ts +9 -0
- package/dist/es/components/Instructions/Instructions.js +35 -21
- package/dist/es/components/Instructions/img/iphone15.png +0 -0
- package/dist/es/components/Instructions/img/laptop-new.png +0 -0
- package/dist/es/helpers/getColumnConfig.d.ts +1 -1
- package/dist/lib/components/BenefitsIcons/BenefitsIcons.d.ts +4 -0
- package/dist/lib/components/BenefitsIcons/BenefitsIcons.js +24 -5
- package/dist/lib/components/BenefitsIcons/BenefitsIconsTile.js +26 -11
- package/dist/lib/components/BenefitsIcons/types.d.ts +12 -0
- package/dist/lib/components/ButtonBanner/ButtonBanner.d.ts +7 -0
- package/dist/lib/components/ButtonBanner/ButtonBanner.js +10 -1
- package/dist/lib/components/ImageBanner/ImageBanner.css +3 -0
- package/dist/lib/components/ImageBanner/ImageBanner.d.ts +7 -0
- package/dist/lib/components/ImageBanner/ImageBanner.js +15 -7
- package/dist/lib/components/Instructions/Instructions.css +176 -39
- package/dist/lib/components/Instructions/Instructions.d.ts +9 -0
- package/dist/lib/components/Instructions/Instructions.js +39 -22
- package/dist/lib/components/Instructions/img/iphone15.png +0 -0
- package/dist/lib/components/Instructions/img/laptop-new.png +0 -0
- package/dist/lib/helpers/getColumnConfig.d.ts +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
@@ -3,6 +3,36 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
5
5
|
|
6
|
+
# [5.13.0](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/compare/@megafon/ui-shared@5.12.0...@megafon/ui-shared@5.13.0) (2024-06-17)
|
7
|
+
|
8
|
+
|
9
|
+
### Features
|
10
|
+
|
11
|
+
* **buttonbanner:** add prop buttonType ([adff95d](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/commit/adff95de303e64fd51829001a276fa9696fb4676))
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
# [5.12.0](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/compare/@megafon/ui-shared@5.11.0...@megafon/ui-shared@5.12.0) (2024-06-10)
|
18
|
+
|
19
|
+
|
20
|
+
### Bug Fixes
|
21
|
+
|
22
|
+
* **imagebanner:** fix ad block position ([6f958b4](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/commit/6f958b477cc936bf969e244a07dc0ed63279484b))
|
23
|
+
|
24
|
+
|
25
|
+
### Features
|
26
|
+
|
27
|
+
* **benefitsicons:** add dataAttrs and classes ([815db75](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/commit/815db75aece85803a0055a531bd92db49d514652))
|
28
|
+
* **benefitsicons:** review fixes ([229c5f7](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/commit/229c5f73fa9609495a146cfa562db2478752c3b4))
|
29
|
+
* **imagebanner:** add classes props for ImageBanner ([42d2738](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/commit/42d2738a6c77bf780b9a47fd27353083d0f7d7a0))
|
30
|
+
* **insctructions:** add new views ([4470aec](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/commit/4470aec0acaf59ae2d3b0979c59ec7760237221c))
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
|
6
36
|
# [5.11.0](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/compare/@megafon/ui-shared@5.10.2...@megafon/ui-shared@5.11.0) (2024-06-03)
|
7
37
|
|
8
38
|
|
@@ -2,6 +2,10 @@ import * as React from 'react';
|
|
2
2
|
import { IconPosition, IBenefit, BackgroundType } from './types';
|
3
3
|
import './style/BenefitsIcons.less';
|
4
4
|
export interface IBenefitsIcons {
|
5
|
+
/** Дополнительные data атрибуты к внутренним элементам */
|
6
|
+
dataAttrs?: {
|
7
|
+
root?: Record<string, string>;
|
8
|
+
};
|
5
9
|
/** Ссылка на корневой элемент */
|
6
10
|
rootRef?: React.Ref<HTMLDivElement>;
|
7
11
|
/** Позиция иконки */
|
@@ -4,7 +4,7 @@ import "core-js/modules/es.array.map.js";
|
|
4
4
|
import "core-js/modules/es.object.values.js";
|
5
5
|
import * as React from 'react';
|
6
6
|
import { Grid, GridColumn } from '@megafon/ui-core';
|
7
|
-
import { cnCreate, breakpoints } from '@megafon/ui-helpers';
|
7
|
+
import { cnCreate, breakpoints, filterDataAttrs } from '@megafon/ui-helpers';
|
8
8
|
import throttle from 'lodash.throttle';
|
9
9
|
import PropTypes from 'prop-types';
|
10
10
|
import throttleTime from "../../constants/throttleTime";
|
@@ -16,7 +16,8 @@ var testIdPrefix = 'BenefitsIcons';
|
|
16
16
|
var cn = cnCreate('mfui-benefits-icons');
|
17
17
|
|
18
18
|
var BenefitsIcons = function BenefitsIcons(_ref) {
|
19
|
-
var
|
19
|
+
var dataAttrs = _ref.dataAttrs,
|
20
|
+
rootRef = _ref.rootRef,
|
20
21
|
_ref$iconPosition = _ref.iconPosition,
|
21
22
|
iconPosition = _ref$iconPosition === void 0 ? 'left-top' : _ref$iconPosition,
|
22
23
|
_ref$background = _ref.background,
|
@@ -59,13 +60,13 @@ var BenefitsIcons = function BenefitsIcons(_ref) {
|
|
59
60
|
window.removeEventListener('resize', resizeHandlerThrottled);
|
60
61
|
};
|
61
62
|
}, [iconPosition, inOneColumn, resizeHandler]);
|
62
|
-
return /*#__PURE__*/React.createElement("div", {
|
63
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
63
64
|
className: cn({
|
64
65
|
'one-column': inOneColumn,
|
65
66
|
background: background
|
66
67
|
}, [className, classes.root]),
|
67
68
|
ref: rootRef
|
68
|
-
}, /*#__PURE__*/React.createElement("div", {
|
69
|
+
}), /*#__PURE__*/React.createElement("div", {
|
69
70
|
className: cn('inner')
|
70
71
|
}, /*#__PURE__*/React.createElement(Grid, {
|
71
72
|
className: classes.grid,
|
@@ -83,7 +84,9 @@ var BenefitsIcons = function BenefitsIcons(_ref) {
|
|
83
84
|
var title = _ref2.title,
|
84
85
|
text = _ref2.text,
|
85
86
|
icon = _ref2.icon,
|
86
|
-
alt = _ref2.alt
|
87
|
+
alt = _ref2.alt,
|
88
|
+
itemClasses = _ref2.classes,
|
89
|
+
itemDataAttrs = _ref2.dataAttrs;
|
87
90
|
var columnConfig = inOneColumn ? getOneColumnConfig(iconPosition) : getMultiColumnConfig(iconPosition, items.length, i);
|
88
91
|
return /*#__PURE__*/React.createElement(GridColumn, _extends({
|
89
92
|
className: cn('column', [classes.gridColumn]),
|
@@ -95,6 +98,8 @@ var BenefitsIcons = function BenefitsIcons(_ref) {
|
|
95
98
|
}
|
96
99
|
}, columnConfig), /*#__PURE__*/React.createElement(BenefitsIconsTile, {
|
97
100
|
className: cn('tile', [classes.item]),
|
101
|
+
classes: itemClasses,
|
102
|
+
dataAttrs: itemDataAttrs,
|
98
103
|
title: title,
|
99
104
|
text: text,
|
100
105
|
icon: icon,
|
@@ -106,6 +111,9 @@ var BenefitsIcons = function BenefitsIcons(_ref) {
|
|
106
111
|
};
|
107
112
|
|
108
113
|
BenefitsIcons.propTypes = {
|
114
|
+
dataAttrs: PropTypes.shape({
|
115
|
+
root: PropTypes.objectOf(PropTypes.string.isRequired)
|
116
|
+
}),
|
109
117
|
rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
|
110
118
|
current: PropTypes.elementType
|
111
119
|
}), PropTypes.any])]),
|
@@ -113,9 +121,20 @@ BenefitsIcons.propTypes = {
|
|
113
121
|
background: PropTypes.oneOf(Object.values(BackgroundEnum)),
|
114
122
|
inOneColumn: PropTypes.bool,
|
115
123
|
items: PropTypes.arrayOf(PropTypes.shape({
|
124
|
+
dataAttrs: PropTypes.shape({
|
125
|
+
root: PropTypes.objectOf(PropTypes.string.isRequired)
|
126
|
+
}),
|
127
|
+
classes: PropTypes.shape({
|
128
|
+
root: PropTypes.string,
|
129
|
+
icon: PropTypes.string,
|
130
|
+
title: PropTypes.string,
|
131
|
+
text: PropTypes.string,
|
132
|
+
contentWrapper: PropTypes.string
|
133
|
+
}),
|
116
134
|
title: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
|
117
135
|
text: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
|
118
|
-
icon: PropTypes.node.isRequired
|
136
|
+
icon: PropTypes.node.isRequired,
|
137
|
+
alt: PropTypes.string
|
119
138
|
}).isRequired).isRequired,
|
120
139
|
className: PropTypes.string,
|
121
140
|
classes: PropTypes.shape({
|
@@ -1,7 +1,8 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
1
2
|
import "core-js/modules/es.object.values.js";
|
2
3
|
import * as React from 'react';
|
3
4
|
import { Header } from '@megafon/ui-core';
|
4
|
-
import { cnCreate } from '@megafon/ui-helpers';
|
5
|
+
import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
|
5
6
|
import PropTypes from 'prop-types';
|
6
7
|
import { IconPositionEnum, BackgroundEnum } from "./types";
|
7
8
|
import "./style/BenefitsIconsTile.css";
|
@@ -9,7 +10,10 @@ var testIdPrefix = 'BenefitsIconsTile';
|
|
9
10
|
var cn = cnCreate('mfui-benefits-icons-tile');
|
10
11
|
|
11
12
|
var BenefitsIconsTile = function BenefitsIconsTile(_ref) {
|
12
|
-
var
|
13
|
+
var dataAttrs = _ref.dataAttrs,
|
14
|
+
_ref$classes = _ref.classes,
|
15
|
+
classes = _ref$classes === void 0 ? {} : _ref$classes,
|
16
|
+
title = _ref.title,
|
13
17
|
text = _ref.text,
|
14
18
|
icon = _ref.icon,
|
15
19
|
iconPosition = _ref.iconPosition,
|
@@ -20,7 +24,7 @@ var BenefitsIconsTile = function BenefitsIconsTile(_ref) {
|
|
20
24
|
var renderIcon = function renderIcon() {
|
21
25
|
if (typeof icon === 'string') {
|
22
26
|
return /*#__PURE__*/React.createElement("img", {
|
23
|
-
className: cn('img-icon'),
|
27
|
+
className: cn('img-icon', [classes.icon]),
|
24
28
|
src: icon,
|
25
29
|
alt: alt,
|
26
30
|
"data-testid": "".concat(testIdPrefix, "-img")
|
@@ -28,32 +32,42 @@ var BenefitsIconsTile = function BenefitsIconsTile(_ref) {
|
|
28
32
|
}
|
29
33
|
|
30
34
|
return /*#__PURE__*/React.createElement("div", {
|
31
|
-
className: cn('svg-icon'),
|
35
|
+
className: cn('svg-icon', [classes.icon]),
|
32
36
|
"data-testid": "".concat(testIdPrefix, "-svg")
|
33
37
|
}, icon);
|
34
38
|
};
|
35
39
|
|
36
|
-
return /*#__PURE__*/React.createElement("div", {
|
40
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
37
41
|
className: cn({
|
38
42
|
'icon-position': iconPosition,
|
39
43
|
background: background,
|
40
44
|
image: typeof icon === 'string'
|
41
|
-
}, [className]),
|
45
|
+
}, [className, classes.root]),
|
42
46
|
"data-testid": "".concat(testIdPrefix, "-root")
|
43
|
-
}, /*#__PURE__*/React.createElement("div", {
|
47
|
+
}), /*#__PURE__*/React.createElement("div", {
|
44
48
|
className: cn('inner')
|
45
49
|
}, renderIcon(), /*#__PURE__*/React.createElement("div", {
|
46
|
-
className: cn('content-wrapper')
|
50
|
+
className: cn('content-wrapper', [classes.contentWrapper])
|
47
51
|
}, title && /*#__PURE__*/React.createElement(Header, {
|
48
|
-
className: cn('title'),
|
52
|
+
className: cn('title', [classes.title]),
|
49
53
|
as: "h5"
|
50
54
|
}, title), text && /*#__PURE__*/React.createElement("div", {
|
51
|
-
className: cn('content')
|
55
|
+
className: cn('content', [classes.text])
|
52
56
|
}, text))));
|
53
57
|
};
|
54
58
|
|
55
59
|
BenefitsIconsTile.propTypes = {
|
60
|
+
dataAttrs: PropTypes.shape({
|
61
|
+
root: PropTypes.objectOf(PropTypes.string.isRequired)
|
62
|
+
}),
|
56
63
|
className: PropTypes.string,
|
64
|
+
classes: PropTypes.shape({
|
65
|
+
root: PropTypes.string,
|
66
|
+
icon: PropTypes.string,
|
67
|
+
title: PropTypes.string,
|
68
|
+
text: PropTypes.string,
|
69
|
+
contentWrapper: PropTypes.string
|
70
|
+
}),
|
57
71
|
title: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
|
58
72
|
text: PropTypes.oneOfType([PropTypes.string, PropTypes.node, PropTypes.arrayOf(PropTypes.node)]),
|
59
73
|
iconPosition: PropTypes.oneOf(Object.values(IconPositionEnum)),
|
@@ -1,6 +1,18 @@
|
|
1
1
|
/// <reference types="react" />
|
2
2
|
declare type TGridSizeValues = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12';
|
3
3
|
export interface IBenefit {
|
4
|
+
/** Дополнительные data атрибуты к внутренним элементам */
|
5
|
+
dataAttrs?: {
|
6
|
+
root?: Record<string, string>;
|
7
|
+
};
|
8
|
+
/** Дополнительные классы для корневого и внутренних элементов */
|
9
|
+
classes?: {
|
10
|
+
root?: string;
|
11
|
+
icon?: string;
|
12
|
+
title?: string;
|
13
|
+
text?: string;
|
14
|
+
contentWrapper?: string;
|
15
|
+
};
|
4
16
|
/** Заголовок бенефита */
|
5
17
|
title?: string | React.ReactNode | React.ReactNode[];
|
6
18
|
/** Основной текст в бенефите */
|
@@ -5,6 +5,11 @@ export declare const ButtonColor: {
|
|
5
5
|
readonly PURPLE: "purple";
|
6
6
|
};
|
7
7
|
declare type ButtonColorType = typeof ButtonColor[keyof typeof ButtonColor];
|
8
|
+
export declare const ButtonTypes: {
|
9
|
+
readonly PRIMARY: "primary";
|
10
|
+
readonly OUTLINE: "outline";
|
11
|
+
};
|
12
|
+
declare type ButtonTypesType = typeof ButtonTypes[keyof typeof ButtonTypes];
|
8
13
|
export declare const ButtonTarget: {
|
9
14
|
readonly SELF: "_self";
|
10
15
|
readonly BLANK: "_blank";
|
@@ -46,6 +51,8 @@ export interface IButtonBannerProps {
|
|
46
51
|
buttonTarget?: ButtonTargetType;
|
47
52
|
/** Цвет кнопки */
|
48
53
|
buttonColor?: ButtonColorType;
|
54
|
+
/** Тип кнопки */
|
55
|
+
buttonType?: ButtonTypesType;
|
49
56
|
/** Rel - атрибут тега <a> */
|
50
57
|
buttonRel?: string;
|
51
58
|
/** Масштабирование изображения */
|
@@ -9,6 +9,10 @@ export var ButtonColor = {
|
|
9
9
|
GREEN: 'green',
|
10
10
|
PURPLE: 'purple'
|
11
11
|
};
|
12
|
+
export var ButtonTypes = {
|
13
|
+
PRIMARY: 'primary',
|
14
|
+
OUTLINE: 'outline'
|
15
|
+
};
|
12
16
|
export var ButtonTarget = {
|
13
17
|
SELF: '_self',
|
14
18
|
BLANK: '_blank'
|
@@ -44,6 +48,8 @@ var ButtonBanner = function ButtonBanner(_ref) {
|
|
44
48
|
buttonTarget = _ref$buttonTarget === void 0 ? '_self' : _ref$buttonTarget,
|
45
49
|
_ref$buttonColor = _ref.buttonColor,
|
46
50
|
buttonColor = _ref$buttonColor === void 0 ? 'green' : _ref$buttonColor,
|
51
|
+
_ref$buttonType = _ref.buttonType,
|
52
|
+
buttonType = _ref$buttonType === void 0 ? 'primary' : _ref$buttonType,
|
47
53
|
buttonRel = _ref.buttonRel,
|
48
54
|
_ref$imageScaling = _ref.imageScaling,
|
49
55
|
imageScaling = _ref$imageScaling === void 0 ? 'cover' : _ref$imageScaling,
|
@@ -57,6 +63,7 @@ var ButtonBanner = function ButtonBanner(_ref) {
|
|
57
63
|
rel: buttonRel,
|
58
64
|
target: buttonTarget,
|
59
65
|
theme: buttonColor,
|
66
|
+
type: buttonType,
|
60
67
|
onClick: onButtonClick,
|
61
68
|
download: buttonDownload
|
62
69
|
}, buttonText);
|
@@ -113,6 +120,7 @@ ButtonBanner.propTypes = {
|
|
113
120
|
buttonDownload: PropTypes.bool,
|
114
121
|
buttonTarget: PropTypes.oneOf(Object.values(ButtonTarget)),
|
115
122
|
buttonColor: PropTypes.oneOf(Object.values(ButtonColor)),
|
123
|
+
buttonType: PropTypes.oneOf(Object.values(ButtonTypes)),
|
116
124
|
buttonRel: PropTypes.string,
|
117
125
|
onButtonClick: PropTypes.func
|
118
126
|
};
|
@@ -43,6 +43,13 @@ export interface IImageBannerProps {
|
|
43
43
|
classes?: {
|
44
44
|
root?: string;
|
45
45
|
image?: string;
|
46
|
+
title?: string;
|
47
|
+
description?: string;
|
48
|
+
cost?: string;
|
49
|
+
badgesContainer?: string;
|
50
|
+
badges?: string;
|
51
|
+
badge?: string;
|
52
|
+
adBlock?: string;
|
46
53
|
};
|
47
54
|
/** Ссылка на корневой элемент */
|
48
55
|
rootRef?: Ref<HTMLDivElement>;
|
@@ -92,32 +92,33 @@ var ImageBanner = function ImageBanner(_ref2) {
|
|
92
92
|
var navTheme = getTheme(backgroundColor);
|
93
93
|
var hasImage = !!(imageMobile || imageMobile2x || imageDesktop || imageDesktop2x);
|
94
94
|
var renderBadges = !!badges.length && /*#__PURE__*/React.createElement("div", {
|
95
|
-
className: cn('badges')
|
95
|
+
className: cn('badges', [classes.badges])
|
96
96
|
}, badges.map(function (_ref3) {
|
97
97
|
var text = _ref3.text,
|
98
98
|
iconType = _ref3.iconType;
|
99
99
|
return /*#__PURE__*/React.createElement(PriceBadge, {
|
100
|
+
className: classes.badge,
|
100
101
|
theme: navTheme,
|
101
102
|
iconType: iconType,
|
102
103
|
key: text
|
103
104
|
}, text);
|
104
105
|
}));
|
105
106
|
var renderAdBlock = !!adBlock && /*#__PURE__*/React.createElement("div", {
|
106
|
-
className: cn('ad-block')
|
107
|
+
className: cn('ad-block', [classes.adBlock])
|
107
108
|
}, adBlock);
|
108
109
|
var renderContent = /*#__PURE__*/React.createElement("div", {
|
109
110
|
className: cn('content')
|
110
111
|
}, /*#__PURE__*/React.createElement("div", {
|
111
|
-
className: cn('badges-container')
|
112
|
+
className: cn('badges-container', [classes.badgesContainer])
|
112
113
|
}, renderBadges, renderAdBlock), !!title && /*#__PURE__*/React.createElement(Header, {
|
113
|
-
className: cn('title'),
|
114
|
+
className: cn('title', [classes.title]),
|
114
115
|
color: "inherit"
|
115
116
|
}, typeof title === 'string' ? convert(title, titleConvertConfig) : title), !!description && /*#__PURE__*/React.createElement(Header, {
|
116
|
-
className: cn('description'),
|
117
|
+
className: cn('description', [classes.description]),
|
117
118
|
as: "h5",
|
118
119
|
color: "inherit"
|
119
120
|
}, typeof description === 'string' ? convert(description, titleConvertConfig) : description), !!cost && /*#__PURE__*/React.createElement("div", {
|
120
|
-
className: cn('cost')
|
121
|
+
className: cn('cost', [classes.cost])
|
121
122
|
}, convert(cost, typographyConfig)), !!children && !!React.Children.count(children) && /*#__PURE__*/React.createElement("div", {
|
122
123
|
className: cn('children')
|
123
124
|
}, children));
|
@@ -158,7 +159,14 @@ ImageBanner.propTypes = {
|
|
158
159
|
className: PropTypes.string,
|
159
160
|
classes: PropTypes.shape({
|
160
161
|
root: PropTypes.string,
|
161
|
-
image: PropTypes.string
|
162
|
+
image: PropTypes.string,
|
163
|
+
title: PropTypes.string,
|
164
|
+
description: PropTypes.string,
|
165
|
+
cost: PropTypes.string,
|
166
|
+
badgesContainer: PropTypes.string,
|
167
|
+
badges: PropTypes.string,
|
168
|
+
badge: PropTypes.string,
|
169
|
+
adBlock: PropTypes.string
|
162
170
|
}),
|
163
171
|
rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
|
164
172
|
current: PropTypes.elementType
|