@megafon/ui-shared 5.4.1 → 5.5.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 +23 -0
- package/dist/es/components/Card/Card.css +39 -8
- package/dist/es/components/Card/Card.js +8 -6
- package/dist/es/components/StoreBanner/StoreBanner.d.ts +6 -0
- package/dist/es/components/StoreBanner/StoreBanner.js +20 -2
- package/dist/es/components/StoreButton/StoreButton.css +248 -6
- package/dist/es/components/StoreButton/StoreButton.d.ts +17 -1
- package/dist/es/components/StoreButton/StoreButton.js +27 -2
- package/dist/es/components/StoreButton/img/app-store-large.png +0 -0
- package/dist/es/components/StoreButton/img/galaxy-store-large.png +0 -0
- package/dist/es/components/StoreButton/img/google-play-large.png +0 -0
- package/dist/es/components/StoreButton/img/huawei-store-large.png +0 -0
- package/dist/es/components/StoreButton/img/mi-store-large.png +0 -0
- package/dist/es/components/StoreButton/img/ru-store-large.png +0 -0
- package/dist/es/components/StoreButton/img/v-appstore-large.png +0 -0
- package/dist/es/components/StoreButton/img/v-appstore.png +0 -0
- package/dist/es/components/VideoBanner/VideoBanner.d.ts +3 -2
- package/dist/es/components/VideoBanner/VideoBanner.js +10 -4
- package/dist/es/components/VideoBlock/VideoBlock.d.ts +1 -0
- package/dist/es/components/VideoBlock/VideoBlock.js +7 -3
- package/dist/lib/components/Card/Card.css +39 -8
- package/dist/lib/components/Card/Card.js +8 -6
- package/dist/lib/components/StoreBanner/StoreBanner.d.ts +6 -0
- package/dist/lib/components/StoreBanner/StoreBanner.js +20 -2
- package/dist/lib/components/StoreButton/StoreButton.css +248 -6
- package/dist/lib/components/StoreButton/StoreButton.d.ts +17 -1
- package/dist/lib/components/StoreButton/StoreButton.js +29 -3
- package/dist/lib/components/StoreButton/img/app-store-large.png +0 -0
- package/dist/lib/components/StoreButton/img/galaxy-store-large.png +0 -0
- package/dist/lib/components/StoreButton/img/google-play-large.png +0 -0
- package/dist/lib/components/StoreButton/img/huawei-store-large.png +0 -0
- package/dist/lib/components/StoreButton/img/mi-store-large.png +0 -0
- package/dist/lib/components/StoreButton/img/ru-store-large.png +0 -0
- package/dist/lib/components/StoreButton/img/v-appstore-large.png +0 -0
- package/dist/lib/components/StoreButton/img/v-appstore.png +0 -0
- package/dist/lib/components/VideoBanner/VideoBanner.d.ts +3 -2
- package/dist/lib/components/VideoBanner/VideoBanner.js +12 -5
- package/dist/lib/components/VideoBlock/VideoBlock.d.ts +1 -0
- package/dist/lib/components/VideoBlock/VideoBlock.js +9 -4
- package/package.json +4 -4
@@ -13,6 +13,7 @@ import * as PropTypes from 'prop-types';
|
|
13
13
|
import throttleTime from "../../constants/throttleTime";
|
14
14
|
import Breadcrumbs from "../Breadcrumbs/Breadcrumbs";
|
15
15
|
import "./VideoBanner.css";
|
16
|
+
export var testIdPrefix = 'VideoBanner';
|
16
17
|
var cn = cnCreate('mfui-video-banner');
|
17
18
|
export var ClassName;
|
18
19
|
|
@@ -112,7 +113,8 @@ var VideoBanner = function VideoBanner(_ref2) {
|
|
112
113
|
className: cn('content', {
|
113
114
|
'text-color': textColor,
|
114
115
|
'text-color-mobile': textColorMobile
|
115
|
-
})
|
116
|
+
}),
|
117
|
+
"data-testid": "".concat(testIdPrefix, "-content")
|
116
118
|
}, /*#__PURE__*/React.createElement(Header, {
|
117
119
|
className: cn('title'),
|
118
120
|
as: "h1",
|
@@ -171,7 +173,8 @@ var VideoBanner = function VideoBanner(_ref2) {
|
|
171
173
|
width: "100%",
|
172
174
|
height: "100%",
|
173
175
|
frameBorder: "0",
|
174
|
-
allow: "autoplay"
|
176
|
+
allow: "autoplay",
|
177
|
+
"data-testid": "".concat(testIdPrefix, "-iframe-video")
|
175
178
|
});
|
176
179
|
}
|
177
180
|
|
@@ -184,7 +187,8 @@ var VideoBanner = function VideoBanner(_ref2) {
|
|
184
187
|
className: cn('video', [classes.video]),
|
185
188
|
autoPlay: true,
|
186
189
|
loop: true,
|
187
|
-
muted: isMuted
|
190
|
+
muted: isMuted,
|
191
|
+
"data-testid": "".concat(testIdPrefix, "-video")
|
188
192
|
}, /*#__PURE__*/React.createElement("source", {
|
189
193
|
src: videoSrc,
|
190
194
|
type: "video/mp4"
|
@@ -230,7 +234,9 @@ var VideoBanner = function VideoBanner(_ref2) {
|
|
230
234
|
classes: {
|
231
235
|
item: classes.breadcrumbs
|
232
236
|
}
|
233
|
-
}), content && renderContent(content), isRenderVideo && renderVideo(), !isRenderVideo && /*#__PURE__*/React.createElement("picture",
|
237
|
+
}), content && renderContent(content), isRenderVideo && renderVideo(), !isRenderVideo && /*#__PURE__*/React.createElement("picture", {
|
238
|
+
"data-testid": "".concat(testIdPrefix, "-picture")
|
239
|
+
}, /*#__PURE__*/React.createElement("source", {
|
234
240
|
media: "(min-width: ".concat(breakpoints.DESKTOP_MIDDLE_START, "px)"),
|
235
241
|
srcSet: imageDesktopWide
|
236
242
|
}), /*#__PURE__*/React.createElement("source", {
|
@@ -12,6 +12,7 @@ export var VideoTypes = {
|
|
12
12
|
YOUTUBE: 'youtube',
|
13
13
|
VIDEO: 'video'
|
14
14
|
};
|
15
|
+
export var testIdPrefix = 'VideoBlock';
|
15
16
|
var cn = cnCreate('mfui-video-block');
|
16
17
|
|
17
18
|
var VideoBlock = function VideoBlock(_ref) {
|
@@ -60,7 +61,8 @@ var VideoBlock = function VideoBlock(_ref) {
|
|
60
61
|
frameBorder: "0",
|
61
62
|
allow: "autoplay",
|
62
63
|
title: "iframe",
|
63
|
-
allowFullScreen: true
|
64
|
+
allowFullScreen: true,
|
65
|
+
"data-testid": "".concat(testIdPrefix, "-iframe-video")
|
64
66
|
}));
|
65
67
|
}
|
66
68
|
|
@@ -78,7 +80,8 @@ var VideoBlock = function VideoBlock(_ref) {
|
|
78
80
|
controls: !isAutoplay,
|
79
81
|
loop: true,
|
80
82
|
poster: poster,
|
81
|
-
playsInline: playsinline
|
83
|
+
playsInline: playsinline,
|
84
|
+
"data-testid": "".concat(testIdPrefix, "-video")
|
82
85
|
}, /*#__PURE__*/React.createElement("source", {
|
83
86
|
src: videoSrc,
|
84
87
|
type: "video/mp4"
|
@@ -103,7 +106,8 @@ var VideoBlock = function VideoBlock(_ref) {
|
|
103
106
|
return /*#__PURE__*/React.createElement("div", {
|
104
107
|
className: cn('content', {
|
105
108
|
'position-right': contentPositionRight
|
106
|
-
})
|
109
|
+
}),
|
110
|
+
"data-testid": "".concat(testIdPrefix, "-content")
|
107
111
|
}, /*#__PURE__*/React.createElement(Header, {
|
108
112
|
as: "h2",
|
109
113
|
className: cn('header')
|
@@ -130,27 +130,58 @@ h5 {
|
|
130
130
|
flex-direction: column;
|
131
131
|
gap: 12px;
|
132
132
|
margin-top: 16px;
|
133
|
+
overflow: hidden;
|
134
|
+
}
|
135
|
+
.mfui-card__features-list {
|
136
|
+
margin: 0;
|
137
|
+
padding: 0;
|
138
|
+
list-style: none;
|
133
139
|
}
|
134
140
|
.mfui-card__features-item {
|
141
|
+
position: relative;
|
135
142
|
display: -webkit-box;
|
136
143
|
display: -ms-flexbox;
|
137
144
|
display: flex;
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
align-items: baseline;
|
145
|
+
-webkit-box-align: end;
|
146
|
+
-ms-flex-align: end;
|
147
|
+
align-items: flex-end;
|
142
148
|
-webkit-box-pack: justify;
|
143
149
|
-ms-flex-pack: justify;
|
144
150
|
justify-content: space-between;
|
145
151
|
}
|
146
|
-
.mfui-card__features-item
|
147
|
-
|
148
|
-
|
149
|
-
|
152
|
+
.mfui-card__features-item:before {
|
153
|
+
content: '';
|
154
|
+
position: absolute;
|
155
|
+
bottom: 0.4em;
|
156
|
+
width: 100%;
|
150
157
|
height: 2px;
|
151
158
|
background-image: radial-gradient(circle, var(--spbSky3) 1px, transparent 1px);
|
152
159
|
background-size: 6px 2px;
|
153
160
|
}
|
161
|
+
.mfui-card__features-item-value {
|
162
|
+
-ms-flex-negative: 0;
|
163
|
+
flex-shrink: 0;
|
164
|
+
text-align: end;
|
165
|
+
}
|
166
|
+
.mfui-card__features-item-text {
|
167
|
+
position: relative;
|
168
|
+
z-index: 1;
|
169
|
+
background-color: var(--base);
|
170
|
+
-webkit-transition: background-color 0.3s;
|
171
|
+
transition: background-color 0.3s;
|
172
|
+
}
|
173
|
+
.mfui-card_view_background .mfui-card__features-item-text {
|
174
|
+
background-color: var(--spbSky0);
|
175
|
+
}
|
176
|
+
.mfui-card_link.mfui-card_view_background:hover .mfui-card__features-item-text {
|
177
|
+
background-color: var(--spbSky1);
|
178
|
+
}
|
179
|
+
.mfui-card__features-item-title .mfui-card__features-item-text {
|
180
|
+
padding-right: 4px;
|
181
|
+
}
|
182
|
+
.mfui-card__features-item-value .mfui-card__features-item-text {
|
183
|
+
padding-left: 4px;
|
184
|
+
}
|
154
185
|
.mfui-card__icons {
|
155
186
|
margin-top: 16px;
|
156
187
|
}
|
@@ -119,19 +119,21 @@ var Card = function Card(_ref5) {
|
|
119
119
|
if (featuresList) {
|
120
120
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
121
121
|
className: cn('features')
|
122
|
-
}, /*#__PURE__*/_react["default"].createElement("
|
122
|
+
}, /*#__PURE__*/_react["default"].createElement("ul", {
|
123
123
|
className: cn('features-list')
|
124
124
|
}, featuresList.items.map(function (item, i) {
|
125
|
-
return /*#__PURE__*/_react["default"].createElement("
|
125
|
+
return /*#__PURE__*/_react["default"].createElement("li", {
|
126
126
|
className: cn('features-item'),
|
127
127
|
key: i
|
128
128
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
129
129
|
className: cn('features-item-title')
|
130
|
-
},
|
131
|
-
className: cn('features-item-
|
132
|
-
}), /*#__PURE__*/_react["default"].createElement("div", {
|
130
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
131
|
+
className: cn('features-item-text')
|
132
|
+
}, item.title)), /*#__PURE__*/_react["default"].createElement("div", {
|
133
133
|
className: cn('features-item-value')
|
134
|
-
},
|
134
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
135
|
+
className: cn('features-item-text')
|
136
|
+
}, item.value)));
|
135
137
|
})), featuresList.desc);
|
136
138
|
}
|
137
139
|
|
@@ -47,6 +47,10 @@ export interface IStoreBannerProps {
|
|
47
47
|
linkMiStore?: LinkHrefType;
|
48
48
|
/** Обработчик клика по ссылке в Mi App Store */
|
49
49
|
onClickMiStore?: LinkOnClickType;
|
50
|
+
/** Ссылка на скачивание приложения в V-Appstore */
|
51
|
+
linkVAppstore?: LinkHrefType;
|
52
|
+
/** Обработчик клика по ссылке в V-Appstore */
|
53
|
+
onClickVAppstore?: LinkOnClickType;
|
50
54
|
/** Текст кнопки */
|
51
55
|
textButton?: string;
|
52
56
|
/** Ссылка для кнопки */
|
@@ -74,6 +78,7 @@ export interface IStoreBannerProps {
|
|
74
78
|
huaweiLink?: string;
|
75
79
|
miStoreLink?: string;
|
76
80
|
ruStoreLink?: string;
|
81
|
+
vAppstoreLink?: string;
|
77
82
|
button?: string;
|
78
83
|
};
|
79
84
|
/** Ссылка на корневой элемент */
|
@@ -88,6 +93,7 @@ export interface IStoreBannerProps {
|
|
88
93
|
linkHuawei?: Record<string, string>;
|
89
94
|
linkMiStore?: Record<string, string>;
|
90
95
|
linkRuStore?: Record<string, string>;
|
96
|
+
linkVAppstore?: Record<string, string>;
|
91
97
|
};
|
92
98
|
}
|
93
99
|
declare const StoreBanner: React.FC<IStoreBannerProps>;
|
@@ -56,6 +56,7 @@ var StoreBanner = function StoreBanner(_ref) {
|
|
56
56
|
huaweiLinkClassName = _ref$classes.huaweiLink,
|
57
57
|
miStoreLinkClassName = _ref$classes.miStoreLink,
|
58
58
|
ruStoreLinkClassName = _ref$classes.ruStoreLink,
|
59
|
+
vAppstoreLinkClassName = _ref$classes.vAppstoreLink,
|
59
60
|
buttonClassName = _ref$classes.button,
|
60
61
|
title = _ref.title,
|
61
62
|
text = _ref.text,
|
@@ -65,6 +66,7 @@ var StoreBanner = function StoreBanner(_ref) {
|
|
65
66
|
linkHuawei = _ref.linkHuawei,
|
66
67
|
linkMiStore = _ref.linkMiStore,
|
67
68
|
linkRuStore = _ref.linkRuStore,
|
69
|
+
linkVAppstore = _ref.linkVAppstore,
|
68
70
|
linkButton = _ref.linkButton,
|
69
71
|
_ref$textButton = _ref.textButton,
|
70
72
|
textButton = _ref$textButton === void 0 ? 'Установите приложение' : _ref$textButton,
|
@@ -82,7 +84,8 @@ var StoreBanner = function StoreBanner(_ref) {
|
|
82
84
|
onClickGoogle = _ref.onClickGoogle,
|
83
85
|
onClickHuawei = _ref.onClickHuawei,
|
84
86
|
onClickMiStore = _ref.onClickMiStore,
|
85
|
-
onClickRuStore = _ref.onClickRuStore
|
87
|
+
onClickRuStore = _ref.onClickRuStore,
|
88
|
+
onClickVAppstore = _ref.onClickVAppstore;
|
86
89
|
return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
|
87
90
|
className: cn({
|
88
91
|
theme: theme,
|
@@ -186,6 +189,17 @@ var StoreBanner = function StoreBanner(_ref) {
|
|
186
189
|
'mi-store': true
|
187
190
|
}, miStoreLinkClassName),
|
188
191
|
onClick: onClickMiStore
|
192
|
+
}), linkVAppstore && /*#__PURE__*/React.createElement(_StoreButton["default"], {
|
193
|
+
dataAttrs: {
|
194
|
+
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.linkVAppstore
|
195
|
+
},
|
196
|
+
theme: _StoreButton.Theme.V_APPSTORE,
|
197
|
+
href: linkVAppstore,
|
198
|
+
rel: rel,
|
199
|
+
className: cn('store-link', {
|
200
|
+
'v-appstore': true
|
201
|
+
}, vAppstoreLinkClassName),
|
202
|
+
onClick: onClickVAppstore
|
189
203
|
})), linkButton && /*#__PURE__*/React.createElement(_uiCore.Button, {
|
190
204
|
dataAttrs: {
|
191
205
|
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
|
@@ -225,6 +239,8 @@ StoreBanner.propTypes = {
|
|
225
239
|
onClickMiStore: _propTypes["default"].func,
|
226
240
|
linkRuStore: _propTypes["default"].string,
|
227
241
|
onClickRuStore: _propTypes["default"].func,
|
242
|
+
linkVAppstore: _propTypes["default"].string,
|
243
|
+
onClickVAppstore: _propTypes["default"].func,
|
228
244
|
textButton: _propTypes["default"].string,
|
229
245
|
linkButton: _propTypes["default"].string,
|
230
246
|
rel: _propTypes["default"].string,
|
@@ -239,6 +255,7 @@ StoreBanner.propTypes = {
|
|
239
255
|
huaweiLink: _propTypes["default"].string,
|
240
256
|
miStoreLink: _propTypes["default"].string,
|
241
257
|
ruStoreLink: _propTypes["default"].string,
|
258
|
+
vAppstoreLink: _propTypes["default"].string,
|
242
259
|
button: _propTypes["default"].string
|
243
260
|
}),
|
244
261
|
rootRef: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
@@ -253,7 +270,8 @@ StoreBanner.propTypes = {
|
|
253
270
|
linkGoogle: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
|
254
271
|
linkHuawei: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
|
255
272
|
linkMiStore: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
|
256
|
-
linkRuStore: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired)
|
273
|
+
linkRuStore: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
|
274
|
+
linkVAppstore: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired)
|
257
275
|
})
|
258
276
|
};
|
259
277
|
var _default = StoreBanner;
|
@@ -1,24 +1,266 @@
|
|
1
|
+
h1,
|
2
|
+
h2,
|
3
|
+
h3,
|
4
|
+
h4,
|
5
|
+
h5 {
|
6
|
+
margin: 0;
|
7
|
+
}
|
1
8
|
.mfui-store-button {
|
2
9
|
border-radius: 8px;
|
3
10
|
background-repeat: no-repeat;
|
4
11
|
background-position: center;
|
5
12
|
background-size: cover;
|
6
13
|
}
|
7
|
-
.mfui-store-button_theme_app-store
|
14
|
+
.mfui-store-button_size-all_small.mfui-store-button_theme_app-store,
|
15
|
+
.mfui-store-button_size-all_medium.mfui-store-button_theme_app-store {
|
8
16
|
background-image: url('./img/app-store.png');
|
9
17
|
}
|
10
|
-
.mfui-store-button_theme_galaxy-store
|
18
|
+
.mfui-store-button_size-all_small.mfui-store-button_theme_galaxy-store,
|
19
|
+
.mfui-store-button_size-all_medium.mfui-store-button_theme_galaxy-store {
|
11
20
|
background-image: url('./img/galaxy-store.png');
|
12
21
|
}
|
13
|
-
.mfui-store-button_theme_google-play
|
22
|
+
.mfui-store-button_size-all_small.mfui-store-button_theme_google-play,
|
23
|
+
.mfui-store-button_size-all_medium.mfui-store-button_theme_google-play {
|
14
24
|
background-image: url('./img/google-play.png');
|
15
25
|
}
|
16
|
-
.mfui-store-button_theme_huawei-store
|
26
|
+
.mfui-store-button_size-all_small.mfui-store-button_theme_huawei-store,
|
27
|
+
.mfui-store-button_size-all_medium.mfui-store-button_theme_huawei-store {
|
17
28
|
background-image: url('./img/huawei-store.png');
|
18
29
|
}
|
19
|
-
.mfui-store-button_theme_mi-store
|
30
|
+
.mfui-store-button_size-all_small.mfui-store-button_theme_mi-store,
|
31
|
+
.mfui-store-button_size-all_medium.mfui-store-button_theme_mi-store {
|
20
32
|
background-image: url('./img/mi-store.png');
|
21
33
|
}
|
22
|
-
.mfui-store-button_theme_ru-store
|
34
|
+
.mfui-store-button_size-all_small.mfui-store-button_theme_ru-store,
|
35
|
+
.mfui-store-button_size-all_medium.mfui-store-button_theme_ru-store {
|
23
36
|
background-image: url('./img/ru-store.png');
|
24
37
|
}
|
38
|
+
.mfui-store-button_size-all_small.mfui-store-button_theme_v-appstore,
|
39
|
+
.mfui-store-button_size-all_medium.mfui-store-button_theme_v-appstore {
|
40
|
+
background-image: url('./img/v-appstore.png');
|
41
|
+
}
|
42
|
+
.mfui-store-button_size-all_large.mfui-store-button_theme_app-store {
|
43
|
+
background-image: url('./img/app-store-large.png');
|
44
|
+
}
|
45
|
+
.mfui-store-button_size-all_large.mfui-store-button_theme_galaxy-store {
|
46
|
+
background-image: url('./img/galaxy-store-large.png');
|
47
|
+
}
|
48
|
+
.mfui-store-button_size-all_large.mfui-store-button_theme_google-play {
|
49
|
+
background-image: url('./img/google-play-large.png');
|
50
|
+
}
|
51
|
+
.mfui-store-button_size-all_large.mfui-store-button_theme_huawei-store {
|
52
|
+
background-image: url('./img/huawei-store-large.png');
|
53
|
+
}
|
54
|
+
.mfui-store-button_size-all_large.mfui-store-button_theme_mi-store {
|
55
|
+
background-image: url('./img/mi-store-large.png');
|
56
|
+
}
|
57
|
+
.mfui-store-button_size-all_large.mfui-store-button_theme_ru-store {
|
58
|
+
background-image: url('./img/ru-store-large.png');
|
59
|
+
}
|
60
|
+
.mfui-store-button_size-all_large.mfui-store-button_theme_v-appstore {
|
61
|
+
background-image: url('./img/v-appstore-large.png');
|
62
|
+
}
|
63
|
+
@media screen and (min-width: 1024px) {
|
64
|
+
.mfui-store-button_size-desktop_small.mfui-store-button_theme_app-store,
|
65
|
+
.mfui-store-button_size-desktop_medium.mfui-store-button_theme_app-store {
|
66
|
+
background-image: url('./img/app-store.png');
|
67
|
+
}
|
68
|
+
.mfui-store-button_size-desktop_small.mfui-store-button_theme_galaxy-store,
|
69
|
+
.mfui-store-button_size-desktop_medium.mfui-store-button_theme_galaxy-store {
|
70
|
+
background-image: url('./img/galaxy-store.png');
|
71
|
+
}
|
72
|
+
.mfui-store-button_size-desktop_small.mfui-store-button_theme_google-play,
|
73
|
+
.mfui-store-button_size-desktop_medium.mfui-store-button_theme_google-play {
|
74
|
+
background-image: url('./img/google-play.png');
|
75
|
+
}
|
76
|
+
.mfui-store-button_size-desktop_small.mfui-store-button_theme_huawei-store,
|
77
|
+
.mfui-store-button_size-desktop_medium.mfui-store-button_theme_huawei-store {
|
78
|
+
background-image: url('./img/huawei-store.png');
|
79
|
+
}
|
80
|
+
.mfui-store-button_size-desktop_small.mfui-store-button_theme_mi-store,
|
81
|
+
.mfui-store-button_size-desktop_medium.mfui-store-button_theme_mi-store {
|
82
|
+
background-image: url('./img/mi-store.png');
|
83
|
+
}
|
84
|
+
.mfui-store-button_size-desktop_small.mfui-store-button_theme_ru-store,
|
85
|
+
.mfui-store-button_size-desktop_medium.mfui-store-button_theme_ru-store {
|
86
|
+
background-image: url('./img/ru-store.png');
|
87
|
+
}
|
88
|
+
.mfui-store-button_size-desktop_small.mfui-store-button_theme_v-appstore,
|
89
|
+
.mfui-store-button_size-desktop_medium.mfui-store-button_theme_v-appstore {
|
90
|
+
background-image: url('./img/v-appstore.png');
|
91
|
+
}
|
92
|
+
.mfui-store-button_size-desktop_large.mfui-store-button_theme_app-store {
|
93
|
+
background-image: url('./img/app-store-large.png');
|
94
|
+
}
|
95
|
+
.mfui-store-button_size-desktop_large.mfui-store-button_theme_galaxy-store {
|
96
|
+
background-image: url('./img/galaxy-store-large.png');
|
97
|
+
}
|
98
|
+
.mfui-store-button_size-desktop_large.mfui-store-button_theme_google-play {
|
99
|
+
background-image: url('./img/google-play-large.png');
|
100
|
+
}
|
101
|
+
.mfui-store-button_size-desktop_large.mfui-store-button_theme_huawei-store {
|
102
|
+
background-image: url('./img/huawei-store-large.png');
|
103
|
+
}
|
104
|
+
.mfui-store-button_size-desktop_large.mfui-store-button_theme_mi-store {
|
105
|
+
background-image: url('./img/mi-store-large.png');
|
106
|
+
}
|
107
|
+
.mfui-store-button_size-desktop_large.mfui-store-button_theme_ru-store {
|
108
|
+
background-image: url('./img/ru-store-large.png');
|
109
|
+
}
|
110
|
+
.mfui-store-button_size-desktop_large.mfui-store-button_theme_v-appstore {
|
111
|
+
background-image: url('./img/v-appstore-large.png');
|
112
|
+
}
|
113
|
+
}
|
114
|
+
@media screen and (min-width: 1280px) {
|
115
|
+
.mfui-store-button_size-wide_small.mfui-store-button_theme_app-store,
|
116
|
+
.mfui-store-button_size-wide_medium.mfui-store-button_theme_app-store {
|
117
|
+
background-image: url('./img/app-store.png');
|
118
|
+
}
|
119
|
+
.mfui-store-button_size-wide_small.mfui-store-button_theme_galaxy-store,
|
120
|
+
.mfui-store-button_size-wide_medium.mfui-store-button_theme_galaxy-store {
|
121
|
+
background-image: url('./img/galaxy-store.png');
|
122
|
+
}
|
123
|
+
.mfui-store-button_size-wide_small.mfui-store-button_theme_google-play,
|
124
|
+
.mfui-store-button_size-wide_medium.mfui-store-button_theme_google-play {
|
125
|
+
background-image: url('./img/google-play.png');
|
126
|
+
}
|
127
|
+
.mfui-store-button_size-wide_small.mfui-store-button_theme_huawei-store,
|
128
|
+
.mfui-store-button_size-wide_medium.mfui-store-button_theme_huawei-store {
|
129
|
+
background-image: url('./img/huawei-store.png');
|
130
|
+
}
|
131
|
+
.mfui-store-button_size-wide_small.mfui-store-button_theme_mi-store,
|
132
|
+
.mfui-store-button_size-wide_medium.mfui-store-button_theme_mi-store {
|
133
|
+
background-image: url('./img/mi-store.png');
|
134
|
+
}
|
135
|
+
.mfui-store-button_size-wide_small.mfui-store-button_theme_ru-store,
|
136
|
+
.mfui-store-button_size-wide_medium.mfui-store-button_theme_ru-store {
|
137
|
+
background-image: url('./img/ru-store.png');
|
138
|
+
}
|
139
|
+
.mfui-store-button_size-wide_small.mfui-store-button_theme_v-appstore,
|
140
|
+
.mfui-store-button_size-wide_medium.mfui-store-button_theme_v-appstore {
|
141
|
+
background-image: url('./img/v-appstore.png');
|
142
|
+
}
|
143
|
+
.mfui-store-button_size-wide_large.mfui-store-button_theme_app-store {
|
144
|
+
background-image: url('./img/app-store-large.png');
|
145
|
+
}
|
146
|
+
.mfui-store-button_size-wide_large.mfui-store-button_theme_galaxy-store {
|
147
|
+
background-image: url('./img/galaxy-store-large.png');
|
148
|
+
}
|
149
|
+
.mfui-store-button_size-wide_large.mfui-store-button_theme_google-play {
|
150
|
+
background-image: url('./img/google-play-large.png');
|
151
|
+
}
|
152
|
+
.mfui-store-button_size-wide_large.mfui-store-button_theme_huawei-store {
|
153
|
+
background-image: url('./img/huawei-store-large.png');
|
154
|
+
}
|
155
|
+
.mfui-store-button_size-wide_large.mfui-store-button_theme_mi-store {
|
156
|
+
background-image: url('./img/mi-store-large.png');
|
157
|
+
}
|
158
|
+
.mfui-store-button_size-wide_large.mfui-store-button_theme_ru-store {
|
159
|
+
background-image: url('./img/ru-store-large.png');
|
160
|
+
}
|
161
|
+
.mfui-store-button_size-wide_large.mfui-store-button_theme_v-appstore {
|
162
|
+
background-image: url('./img/v-appstore-large.png');
|
163
|
+
}
|
164
|
+
}
|
165
|
+
@media screen and (min-width: 768px) and (max-width: 1023px) {
|
166
|
+
.mfui-store-button_size-tablet_small.mfui-store-button_theme_app-store,
|
167
|
+
.mfui-store-button_size-tablet_medium.mfui-store-button_theme_app-store {
|
168
|
+
background-image: url('./img/app-store.png');
|
169
|
+
}
|
170
|
+
.mfui-store-button_size-tablet_small.mfui-store-button_theme_galaxy-store,
|
171
|
+
.mfui-store-button_size-tablet_medium.mfui-store-button_theme_galaxy-store {
|
172
|
+
background-image: url('./img/galaxy-store.png');
|
173
|
+
}
|
174
|
+
.mfui-store-button_size-tablet_small.mfui-store-button_theme_google-play,
|
175
|
+
.mfui-store-button_size-tablet_medium.mfui-store-button_theme_google-play {
|
176
|
+
background-image: url('./img/google-play.png');
|
177
|
+
}
|
178
|
+
.mfui-store-button_size-tablet_small.mfui-store-button_theme_huawei-store,
|
179
|
+
.mfui-store-button_size-tablet_medium.mfui-store-button_theme_huawei-store {
|
180
|
+
background-image: url('./img/huawei-store.png');
|
181
|
+
}
|
182
|
+
.mfui-store-button_size-tablet_small.mfui-store-button_theme_mi-store,
|
183
|
+
.mfui-store-button_size-tablet_medium.mfui-store-button_theme_mi-store {
|
184
|
+
background-image: url('./img/mi-store.png');
|
185
|
+
}
|
186
|
+
.mfui-store-button_size-tablet_small.mfui-store-button_theme_ru-store,
|
187
|
+
.mfui-store-button_size-tablet_medium.mfui-store-button_theme_ru-store {
|
188
|
+
background-image: url('./img/ru-store.png');
|
189
|
+
}
|
190
|
+
.mfui-store-button_size-tablet_small.mfui-store-button_theme_v-appstore,
|
191
|
+
.mfui-store-button_size-tablet_medium.mfui-store-button_theme_v-appstore {
|
192
|
+
background-image: url('./img/v-appstore.png');
|
193
|
+
}
|
194
|
+
.mfui-store-button_size-tablet_large.mfui-store-button_theme_app-store {
|
195
|
+
background-image: url('./img/app-store-large.png');
|
196
|
+
}
|
197
|
+
.mfui-store-button_size-tablet_large.mfui-store-button_theme_galaxy-store {
|
198
|
+
background-image: url('./img/galaxy-store-large.png');
|
199
|
+
}
|
200
|
+
.mfui-store-button_size-tablet_large.mfui-store-button_theme_google-play {
|
201
|
+
background-image: url('./img/google-play-large.png');
|
202
|
+
}
|
203
|
+
.mfui-store-button_size-tablet_large.mfui-store-button_theme_huawei-store {
|
204
|
+
background-image: url('./img/huawei-store-large.png');
|
205
|
+
}
|
206
|
+
.mfui-store-button_size-tablet_large.mfui-store-button_theme_mi-store {
|
207
|
+
background-image: url('./img/mi-store-large.png');
|
208
|
+
}
|
209
|
+
.mfui-store-button_size-tablet_large.mfui-store-button_theme_ru-store {
|
210
|
+
background-image: url('./img/ru-store-large.png');
|
211
|
+
}
|
212
|
+
.mfui-store-button_size-tablet_large.mfui-store-button_theme_v-appstore {
|
213
|
+
background-image: url('./img/v-appstore-large.png');
|
214
|
+
}
|
215
|
+
}
|
216
|
+
@media screen and (max-width: 767px) {
|
217
|
+
.mfui-store-button_size-mobile_small.mfui-store-button_theme_app-store,
|
218
|
+
.mfui-store-button_size-mobile_medium.mfui-store-button_theme_app-store {
|
219
|
+
background-image: url('./img/app-store.png');
|
220
|
+
}
|
221
|
+
.mfui-store-button_size-mobile_small.mfui-store-button_theme_galaxy-store,
|
222
|
+
.mfui-store-button_size-mobile_medium.mfui-store-button_theme_galaxy-store {
|
223
|
+
background-image: url('./img/galaxy-store.png');
|
224
|
+
}
|
225
|
+
.mfui-store-button_size-mobile_small.mfui-store-button_theme_google-play,
|
226
|
+
.mfui-store-button_size-mobile_medium.mfui-store-button_theme_google-play {
|
227
|
+
background-image: url('./img/google-play.png');
|
228
|
+
}
|
229
|
+
.mfui-store-button_size-mobile_small.mfui-store-button_theme_huawei-store,
|
230
|
+
.mfui-store-button_size-mobile_medium.mfui-store-button_theme_huawei-store {
|
231
|
+
background-image: url('./img/huawei-store.png');
|
232
|
+
}
|
233
|
+
.mfui-store-button_size-mobile_small.mfui-store-button_theme_mi-store,
|
234
|
+
.mfui-store-button_size-mobile_medium.mfui-store-button_theme_mi-store {
|
235
|
+
background-image: url('./img/mi-store.png');
|
236
|
+
}
|
237
|
+
.mfui-store-button_size-mobile_small.mfui-store-button_theme_ru-store,
|
238
|
+
.mfui-store-button_size-mobile_medium.mfui-store-button_theme_ru-store {
|
239
|
+
background-image: url('./img/ru-store.png');
|
240
|
+
}
|
241
|
+
.mfui-store-button_size-mobile_small.mfui-store-button_theme_v-appstore,
|
242
|
+
.mfui-store-button_size-mobile_medium.mfui-store-button_theme_v-appstore {
|
243
|
+
background-image: url('./img/v-appstore.png');
|
244
|
+
}
|
245
|
+
.mfui-store-button_size-mobile_large.mfui-store-button_theme_app-store {
|
246
|
+
background-image: url('./img/app-store-large.png');
|
247
|
+
}
|
248
|
+
.mfui-store-button_size-mobile_large.mfui-store-button_theme_galaxy-store {
|
249
|
+
background-image: url('./img/galaxy-store-large.png');
|
250
|
+
}
|
251
|
+
.mfui-store-button_size-mobile_large.mfui-store-button_theme_google-play {
|
252
|
+
background-image: url('./img/google-play-large.png');
|
253
|
+
}
|
254
|
+
.mfui-store-button_size-mobile_large.mfui-store-button_theme_huawei-store {
|
255
|
+
background-image: url('./img/huawei-store-large.png');
|
256
|
+
}
|
257
|
+
.mfui-store-button_size-mobile_large.mfui-store-button_theme_mi-store {
|
258
|
+
background-image: url('./img/mi-store-large.png');
|
259
|
+
}
|
260
|
+
.mfui-store-button_size-mobile_large.mfui-store-button_theme_ru-store {
|
261
|
+
background-image: url('./img/ru-store-large.png');
|
262
|
+
}
|
263
|
+
.mfui-store-button_size-mobile_large.mfui-store-button_theme_v-appstore {
|
264
|
+
background-image: url('./img/v-appstore-large.png');
|
265
|
+
}
|
266
|
+
}
|
@@ -1,13 +1,19 @@
|
|
1
1
|
import * as React from 'react';
|
2
2
|
import { Link } from '@megafon/ui-core';
|
3
3
|
import './StoreButton.less';
|
4
|
+
export declare enum ButtonSizes {
|
5
|
+
SMALL = "small",
|
6
|
+
MEDIUM = "medium",
|
7
|
+
LARGE = "large"
|
8
|
+
}
|
4
9
|
export declare enum Theme {
|
5
10
|
APP_STORE = "app-store",
|
6
11
|
GALAXY_STORE = "galaxy-store",
|
7
12
|
GOOGLE_PLAY = "google-play",
|
8
13
|
HUAWEI_STORE = "huawei-store",
|
9
14
|
MI_STORE = "mi-store",
|
10
|
-
RU_STORE = "ru-store"
|
15
|
+
RU_STORE = "ru-store",
|
16
|
+
V_APPSTORE = "v-appstore"
|
11
17
|
}
|
12
18
|
declare type LinkPropTypes = React.ComponentProps<typeof Link>;
|
13
19
|
export declare type Props = Required<Pick<LinkPropTypes, 'href'>> & Pick<LinkPropTypes, 'target' | 'rel' | 'onClick' | 'dataAttrs'> & {
|
@@ -15,6 +21,16 @@ export declare type Props = Required<Pick<LinkPropTypes, 'href'>> & Pick<LinkPro
|
|
15
21
|
theme: Theme;
|
16
22
|
/** Дополнительный класс */
|
17
23
|
className?: string;
|
24
|
+
/** Размер на всех разрешениях экрана */
|
25
|
+
sizeAll?: ButtonSizes;
|
26
|
+
/** Размер на разрешении экрана 1280+ */
|
27
|
+
sizeWide?: ButtonSizes;
|
28
|
+
/** Размер на разрешении экрана 1024+ */
|
29
|
+
sizeDesktop?: ButtonSizes;
|
30
|
+
/** Размер на разрешении экрана 768-1023 */
|
31
|
+
sizeTablet?: ButtonSizes;
|
32
|
+
/** Размер на разрешении экрана 0-767 */
|
33
|
+
sizeMobile?: ButtonSizes;
|
18
34
|
};
|
19
35
|
declare const StoreButton: React.FC<Props>;
|
20
36
|
export default StoreButton;
|
@@ -5,7 +5,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
6
6
|
value: true
|
7
7
|
});
|
8
|
-
exports["default"] = exports.Theme = void 0;
|
8
|
+
exports["default"] = exports.Theme = exports.ButtonSizes = void 0;
|
9
9
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
11
11
|
|
@@ -42,6 +42,15 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
|
|
42
42
|
return t;
|
43
43
|
};
|
44
44
|
|
45
|
+
var ButtonSizes;
|
46
|
+
exports.ButtonSizes = ButtonSizes;
|
47
|
+
|
48
|
+
(function (ButtonSizes) {
|
49
|
+
ButtonSizes["SMALL"] = "small";
|
50
|
+
ButtonSizes["MEDIUM"] = "medium";
|
51
|
+
ButtonSizes["LARGE"] = "large";
|
52
|
+
})(ButtonSizes || (exports.ButtonSizes = ButtonSizes = {}));
|
53
|
+
|
45
54
|
var Theme;
|
46
55
|
exports.Theme = Theme;
|
47
56
|
|
@@ -52,6 +61,7 @@ exports.Theme = Theme;
|
|
52
61
|
Theme["HUAWEI_STORE"] = "huawei-store";
|
53
62
|
Theme["MI_STORE"] = "mi-store";
|
54
63
|
Theme["RU_STORE"] = "ru-store";
|
64
|
+
Theme["V_APPSTORE"] = "v-appstore";
|
55
65
|
})(Theme || (exports.Theme = Theme = {}));
|
56
66
|
|
57
67
|
var cn = (0, _uiHelpers.cnCreate)('mfui-store-button');
|
@@ -62,14 +72,25 @@ var StoreButton = function StoreButton(_a) {
|
|
62
72
|
onClick = _a.onClick,
|
63
73
|
theme = _a.theme,
|
64
74
|
className = _a.className,
|
65
|
-
|
75
|
+
_a$sizeAll = _a.sizeAll,
|
76
|
+
sizeAll = _a$sizeAll === void 0 ? ButtonSizes.MEDIUM : _a$sizeAll,
|
77
|
+
sizeWide = _a.sizeWide,
|
78
|
+
sizeDesktop = _a.sizeDesktop,
|
79
|
+
sizeTablet = _a.sizeTablet,
|
80
|
+
sizeMobile = _a.sizeMobile,
|
81
|
+
rest = __rest(_a, ["href", "rel", "onClick", "theme", "className", "sizeAll", "sizeWide", "sizeDesktop", "sizeTablet", "sizeMobile"]);
|
66
82
|
|
67
83
|
return /*#__PURE__*/React.createElement(_uiCore.Link, (0, _extends2["default"])({}, rest, {
|
68
84
|
href: href,
|
69
85
|
rel: rel,
|
70
86
|
onClick: onClick,
|
71
87
|
className: cn({
|
72
|
-
theme: theme
|
88
|
+
theme: theme,
|
89
|
+
'size-all': sizeAll,
|
90
|
+
'size-wide': sizeWide,
|
91
|
+
'size-desktop': sizeDesktop,
|
92
|
+
'size-tablet': sizeTablet,
|
93
|
+
'size-mobile': sizeMobile
|
73
94
|
}, className)
|
74
95
|
}));
|
75
96
|
};
|
@@ -81,6 +102,11 @@ StoreButton.propTypes = {
|
|
81
102
|
onClick: _propTypes["default"].func,
|
82
103
|
className: _propTypes["default"].string,
|
83
104
|
target: _propTypes["default"].oneOf(['_self', '_blank', '_parent', '_top']),
|
105
|
+
sizeAll: _propTypes["default"].oneOf(Object.values(ButtonSizes)).isRequired,
|
106
|
+
sizeWide: _propTypes["default"].oneOf(Object.values(ButtonSizes)).isRequired,
|
107
|
+
sizeDesktop: _propTypes["default"].oneOf(Object.values(ButtonSizes)).isRequired,
|
108
|
+
sizeTablet: _propTypes["default"].oneOf(Object.values(ButtonSizes)).isRequired,
|
109
|
+
sizeMobile: _propTypes["default"].oneOf(Object.values(ButtonSizes)).isRequired,
|
84
110
|
dataAttrs: _propTypes["default"].shape({
|
85
111
|
root: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired)
|
86
112
|
})
|
Binary file
|