@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.
Files changed (40) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/es/components/Card/Card.css +39 -8
  3. package/dist/es/components/Card/Card.js +8 -6
  4. package/dist/es/components/StoreBanner/StoreBanner.d.ts +6 -0
  5. package/dist/es/components/StoreBanner/StoreBanner.js +20 -2
  6. package/dist/es/components/StoreButton/StoreButton.css +248 -6
  7. package/dist/es/components/StoreButton/StoreButton.d.ts +17 -1
  8. package/dist/es/components/StoreButton/StoreButton.js +27 -2
  9. package/dist/es/components/StoreButton/img/app-store-large.png +0 -0
  10. package/dist/es/components/StoreButton/img/galaxy-store-large.png +0 -0
  11. package/dist/es/components/StoreButton/img/google-play-large.png +0 -0
  12. package/dist/es/components/StoreButton/img/huawei-store-large.png +0 -0
  13. package/dist/es/components/StoreButton/img/mi-store-large.png +0 -0
  14. package/dist/es/components/StoreButton/img/ru-store-large.png +0 -0
  15. package/dist/es/components/StoreButton/img/v-appstore-large.png +0 -0
  16. package/dist/es/components/StoreButton/img/v-appstore.png +0 -0
  17. package/dist/es/components/VideoBanner/VideoBanner.d.ts +3 -2
  18. package/dist/es/components/VideoBanner/VideoBanner.js +10 -4
  19. package/dist/es/components/VideoBlock/VideoBlock.d.ts +1 -0
  20. package/dist/es/components/VideoBlock/VideoBlock.js +7 -3
  21. package/dist/lib/components/Card/Card.css +39 -8
  22. package/dist/lib/components/Card/Card.js +8 -6
  23. package/dist/lib/components/StoreBanner/StoreBanner.d.ts +6 -0
  24. package/dist/lib/components/StoreBanner/StoreBanner.js +20 -2
  25. package/dist/lib/components/StoreButton/StoreButton.css +248 -6
  26. package/dist/lib/components/StoreButton/StoreButton.d.ts +17 -1
  27. package/dist/lib/components/StoreButton/StoreButton.js +29 -3
  28. package/dist/lib/components/StoreButton/img/app-store-large.png +0 -0
  29. package/dist/lib/components/StoreButton/img/galaxy-store-large.png +0 -0
  30. package/dist/lib/components/StoreButton/img/google-play-large.png +0 -0
  31. package/dist/lib/components/StoreButton/img/huawei-store-large.png +0 -0
  32. package/dist/lib/components/StoreButton/img/mi-store-large.png +0 -0
  33. package/dist/lib/components/StoreButton/img/ru-store-large.png +0 -0
  34. package/dist/lib/components/StoreButton/img/v-appstore-large.png +0 -0
  35. package/dist/lib/components/StoreButton/img/v-appstore.png +0 -0
  36. package/dist/lib/components/VideoBanner/VideoBanner.d.ts +3 -2
  37. package/dist/lib/components/VideoBanner/VideoBanner.js +12 -5
  38. package/dist/lib/components/VideoBlock/VideoBlock.d.ts +1 -0
  39. package/dist/lib/components/VideoBlock/VideoBlock.js +9 -4
  40. 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", null, /*#__PURE__*/React.createElement("source", {
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", {
@@ -56,5 +56,6 @@ export interface IVideoBlockProps {
56
56
  /** Фикс для белого фона */
57
57
  fixWhiteVideoBackground?: boolean;
58
58
  }
59
+ export declare const testIdPrefix = "VideoBlock";
59
60
  declare const VideoBlock: React.FC<IVideoBlockProps>;
60
61
  export default VideoBlock;
@@ -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
- gap: 4px;
139
- -webkit-box-align: baseline;
140
- -ms-flex-align: baseline;
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-separator {
147
- -webkit-box-flex: 1;
148
- -ms-flex-positive: 1;
149
- flex-grow: 1;
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("div", {
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("div", {
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
- }, item.title), /*#__PURE__*/_react["default"].createElement("div", {
131
- className: cn('features-item-separator')
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
- }, item.value));
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
- rest = __rest(_a, ["href", "rel", "onClick", "theme", "className"]);
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
  })