@megafon/ui-shared 4.15.1 → 4.17.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 (28) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/es/components/StoreBanner/StoreBanner.css +42 -0
  3. package/dist/es/components/StoreBanner/StoreBanner.d.ts +17 -2
  4. package/dist/es/components/StoreBanner/StoreBanner.js +45 -5
  5. package/dist/es/components/StoreBanner/doc/img/iphone12Screen.png +0 -0
  6. package/dist/es/components/StoreBanner/img/iphone12.png +0 -0
  7. package/dist/es/components/StoreButton/StoreButton.css +6 -0
  8. package/dist/es/components/StoreButton/StoreButton.d.ts +4 -2
  9. package/dist/es/components/StoreButton/StoreButton.js +3 -1
  10. package/dist/es/components/StoreButton/img/app-store.png +0 -0
  11. package/dist/es/components/StoreButton/img/google-play.png +0 -0
  12. package/dist/es/components/StoreButton/img/huawei-store.png +0 -0
  13. package/dist/es/components/StoreButton/img/mi-store.png +0 -0
  14. package/dist/es/components/StoreButton/img/ru-store.png +0 -0
  15. package/dist/lib/components/StoreBanner/StoreBanner.css +42 -0
  16. package/dist/lib/components/StoreBanner/StoreBanner.d.ts +17 -2
  17. package/dist/lib/components/StoreBanner/StoreBanner.js +45 -5
  18. package/dist/lib/components/StoreBanner/doc/img/iphone12Screen.png +0 -0
  19. package/dist/lib/components/StoreBanner/img/iphone12.png +0 -0
  20. package/dist/lib/components/StoreButton/StoreButton.css +6 -0
  21. package/dist/lib/components/StoreButton/StoreButton.d.ts +4 -2
  22. package/dist/lib/components/StoreButton/StoreButton.js +3 -1
  23. package/dist/lib/components/StoreButton/img/app-store.png +0 -0
  24. package/dist/lib/components/StoreButton/img/google-play.png +0 -0
  25. package/dist/lib/components/StoreButton/img/huawei-store.png +0 -0
  26. package/dist/lib/components/StoreButton/img/mi-store.png +0 -0
  27. package/dist/lib/components/StoreButton/img/ru-store.png +0 -0
  28. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -3,6 +3,28 @@
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
+ # [4.17.0](https://github.com/MegafonWebLab/megafon-ui/compare/@megafon/ui-shared@4.16.0...@megafon/ui-shared@4.17.0) (2023-04-11)
7
+
8
+
9
+ ### Features
10
+
11
+ * **storebanner:** add RuStore and MiStore buttons ([9ed93d1](https://github.com/MegafonWebLab/megafon-ui/commit/9ed93d1e972276d18e8f955d42b665cf18aa8af4))
12
+
13
+
14
+
15
+
16
+
17
+ # [4.16.0](https://github.com/MegafonWebLab/megafon-ui/compare/@megafon/ui-shared@4.15.1...@megafon/ui-shared@4.16.0) (2023-04-04)
18
+
19
+
20
+ ### Features
21
+
22
+ * **storebanner:** add new mask for iphone 12 and content left on mobile ([8702938](https://github.com/MegafonWebLab/megafon-ui/commit/8702938d1bf9c0b1bbdc80f045e2bc329da1c99d))
23
+
24
+
25
+
26
+
27
+
6
28
  ## [4.15.1](https://github.com/MegafonWebLab/megafon-ui/compare/@megafon/ui-shared@4.15.0...@megafon/ui-shared@4.15.1) (2023-03-27)
7
29
 
8
30
 
@@ -92,6 +92,48 @@ h5 {
92
92
  top: 63px;
93
93
  }
94
94
  }
95
+ .mfui-store-banner_mask_iphone-12 .mfui-store-banner__device-mask {
96
+ position: relative;
97
+ z-index: 2;
98
+ background-image: url('./img/iphone12.png');
99
+ }
100
+ .mfui-store-banner_mask_iphone-12 .mfui-store-banner__screen {
101
+ top: 16px;
102
+ z-index: 1;
103
+ width: 87%;
104
+ }
105
+ @media screen and (min-width: 1024px) and (max-width: 1279px) {
106
+ .mfui-store-banner_mask_iphone-12 .mfui-store-banner__screen {
107
+ top: 18px;
108
+ }
109
+ }
110
+ @media screen and (min-width: 768px) and (max-width: 1023px) {
111
+ .mfui-store-banner_mask_iphone-12 .mfui-store-banner__screen {
112
+ top: 13px;
113
+ }
114
+ }
115
+ @media screen and (max-width: 767px) {
116
+ .mfui-store-banner_mask_iphone-12 .mfui-store-banner__screen {
117
+ top: 35px;
118
+ }
119
+ }
120
+ @media screen and (max-width: 767px) {
121
+ .mfui-store-banner_content-left-mobile .mfui-store-banner__content {
122
+ text-align: left;
123
+ }
124
+ }
125
+ @media screen and (max-width: 767px) {
126
+ .mfui-store-banner_content-left-mobile .mfui-store-banner__stores {
127
+ -webkit-box-pack: start;
128
+ -ms-flex-pack: start;
129
+ justify-content: flex-start;
130
+ }
131
+ }
132
+ @media screen and (max-width: 767px) {
133
+ .mfui-store-banner_content-left-mobile .mfui-store-banner__button {
134
+ margin: 0;
135
+ }
136
+ }
95
137
  @media screen and (min-width: 1024px) {
96
138
  .mfui-store-banner__container {
97
139
  padding-top: 30px;
@@ -13,6 +13,7 @@ export declare const DeviceMask: {
13
13
  readonly NEW_IPHONE: "new-iphone";
14
14
  readonly BLACK_IPHONE: "black-iphone";
15
15
  readonly WHITE_IPHONE: "white-iphone";
16
+ readonly IPHONE_12: "iphone-12";
16
17
  };
17
18
  declare type DeviceMaskType = typeof DeviceMask[keyof typeof DeviceMask];
18
19
  declare type LinkHrefType = StoreButtonPropsType['href'];
@@ -30,10 +31,18 @@ export interface IStoreBannerProps {
30
31
  linkGoogle?: LinkHrefType;
31
32
  /** Обработчик клика по ссылке в Google Play */
32
33
  onClickGoogle?: LinkOnClickType;
33
- /** Ссылка на скачивание приложения в Huawei Store */
34
+ /** Ссылка на скачивание приложения в Huawei App Gallery */
34
35
  linkHuawei?: LinkHrefType;
35
- /** Обработчик клика по ссылке в Huawei Store */
36
+ /** Обработчик клика по ссылке в Huawei App Gallery */
36
37
  onClickHuawei?: LinkOnClickType;
38
+ /** Ссылка на скачивание приложения в RuStore */
39
+ linkRuStore?: LinkHrefType;
40
+ /** Обработчик клика по ссылке в RuStore */
41
+ onClickRuStore?: LinkOnClickType;
42
+ /** Ссылка на скачивание приложения в Mi App Store */
43
+ linkMiStore?: LinkHrefType;
44
+ /** Обработчик клика по ссылке в Mi App Store */
45
+ onClickMiStore?: LinkOnClickType;
37
46
  /** Текст кнопки */
38
47
  textButton?: string;
39
48
  /** Ссылка для кнопки */
@@ -48,6 +57,8 @@ export interface IStoreBannerProps {
48
57
  deviceMask: DeviceMaskType;
49
58
  /** Изображение на дисплее телефона */
50
59
  imageSrc: string;
60
+ /** Выравнивание контента слева на мобильном разрешении */
61
+ isContentLeftMobile?: boolean;
51
62
  /** Дополнительный класс корневого элемента */
52
63
  className?: string;
53
64
  /** Дополнительные классы для корневого и внутренних элементов */
@@ -56,6 +67,8 @@ export interface IStoreBannerProps {
56
67
  appleLink?: string;
57
68
  googleLink?: string;
58
69
  huaweiLink?: string;
70
+ miStoreLink?: string;
71
+ ruStoreLink?: string;
59
72
  };
60
73
  /** Ссылка на корневой элемент */
61
74
  rootRef?: React.Ref<HTMLDivElement>;
@@ -66,6 +79,8 @@ export interface IStoreBannerProps {
66
79
  linkApple?: Record<string, string>;
67
80
  linkGoogle?: Record<string, string>;
68
81
  linkHuawei?: Record<string, string>;
82
+ linkMiStore?: Record<string, string>;
83
+ linkRuStore?: Record<string, string>;
69
84
  };
70
85
  }
71
86
  declare const StoreBanner: React.FC<IStoreBannerProps>;
@@ -16,7 +16,8 @@ export var DeviceMask = {
16
16
  ANDROID: 'android',
17
17
  NEW_IPHONE: 'new-iphone',
18
18
  BLACK_IPHONE: 'black-iphone',
19
- WHITE_IPHONE: 'white-iphone'
19
+ WHITE_IPHONE: 'white-iphone',
20
+ IPHONE_12: 'iphone-12'
20
21
  };
21
22
  var cn = cnCreate('mfui-store-banner');
22
23
 
@@ -28,11 +29,15 @@ var StoreBanner = function StoreBanner(_ref) {
28
29
  appleLinkClassName = _ref$classes.appleLink,
29
30
  googleLinkClassName = _ref$classes.googleLink,
30
31
  huaweiLinkClassName = _ref$classes.huaweiLink,
32
+ miStoreLinkClassName = _ref$classes.miStoreLink,
33
+ ruStoreLinkClassName = _ref$classes.ruStoreLink,
31
34
  title = _ref.title,
32
35
  text = _ref.text,
33
36
  linkApple = _ref.linkApple,
34
37
  linkGoogle = _ref.linkGoogle,
35
38
  linkHuawei = _ref.linkHuawei,
39
+ linkMiStore = _ref.linkMiStore,
40
+ linkRuStore = _ref.linkRuStore,
36
41
  linkButton = _ref.linkButton,
37
42
  _ref$textButton = _ref.textButton,
38
43
  textButton = _ref$textButton === void 0 ? 'Установите приложение' : _ref$textButton,
@@ -42,15 +47,19 @@ var StoreBanner = function StoreBanner(_ref) {
42
47
  _ref$theme = _ref.theme,
43
48
  theme = _ref$theme === void 0 ? 'default' : _ref$theme,
44
49
  deviceMask = _ref.deviceMask,
50
+ isContentLeftMobile = _ref.isContentLeftMobile,
45
51
  rootRef = _ref.rootRef,
46
52
  dataAttrs = _ref.dataAttrs,
47
53
  onClickApple = _ref.onClickApple,
48
54
  onClickGoogle = _ref.onClickGoogle,
49
- onClickHuawei = _ref.onClickHuawei;
55
+ onClickHuawei = _ref.onClickHuawei,
56
+ onClickMiStore = _ref.onClickMiStore,
57
+ onClickRuStore = _ref.onClickRuStore;
50
58
  return /*#__PURE__*/React.createElement("div", _extends({
51
59
  className: cn({
52
60
  theme: theme,
53
- mask: deviceMask
61
+ mask: deviceMask,
62
+ 'content-left-mobile': isContentLeftMobile
54
63
  }, [className, rootClassName]),
55
64
  ref: rootRef
56
65
  }, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), /*#__PURE__*/React.createElement("div", {
@@ -103,6 +112,17 @@ var StoreBanner = function StoreBanner(_ref) {
103
112
  'google-play': true
104
113
  }, googleLinkClassName),
105
114
  onClick: onClickGoogle
115
+ }), linkRuStore && /*#__PURE__*/React.createElement(StoreButton, {
116
+ dataAttrs: {
117
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.linkRuStore
118
+ },
119
+ theme: StoreButtonTheme.RU_STORE,
120
+ href: linkRuStore,
121
+ rel: rel,
122
+ className: cn('store-link', {
123
+ 'ru-store': true
124
+ }, ruStoreLinkClassName),
125
+ onClick: onClickRuStore
106
126
  }), linkHuawei && /*#__PURE__*/React.createElement(StoreButton, {
107
127
  dataAttrs: {
108
128
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.linkHuawei
@@ -114,6 +134,17 @@ var StoreBanner = function StoreBanner(_ref) {
114
134
  'huawei-store': true
115
135
  }, huaweiLinkClassName),
116
136
  onClick: onClickHuawei
137
+ }), linkMiStore && /*#__PURE__*/React.createElement(StoreButton, {
138
+ dataAttrs: {
139
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.linkMiStore
140
+ },
141
+ theme: StoreButtonTheme.MI_STORE,
142
+ href: linkMiStore,
143
+ rel: rel,
144
+ className: cn('store-link', {
145
+ 'mi-store': true
146
+ }, miStoreLinkClassName),
147
+ onClick: onClickMiStore
117
148
  })), linkButton && /*#__PURE__*/React.createElement(Button, {
118
149
  dataAttrs: {
119
150
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
@@ -147,6 +178,10 @@ StoreBanner.propTypes = {
147
178
  onClickGoogle: PropTypes.func,
148
179
  linkHuawei: PropTypes.string,
149
180
  onClickHuawei: PropTypes.func,
181
+ linkMiStore: PropTypes.string,
182
+ onClickMiStore: PropTypes.func,
183
+ linkRuStore: PropTypes.string,
184
+ onClickRuStore: PropTypes.func,
150
185
  textButton: PropTypes.string,
151
186
  linkButton: PropTypes.string,
152
187
  rel: PropTypes.string,
@@ -156,7 +191,10 @@ StoreBanner.propTypes = {
156
191
  className: PropTypes.string,
157
192
  classes: PropTypes.shape({
158
193
  appleLink: PropTypes.string,
159
- googleLink: PropTypes.string
194
+ googleLink: PropTypes.string,
195
+ huaweiLink: PropTypes.string,
196
+ miStoreLink: PropTypes.string,
197
+ ruStoreLink: PropTypes.string
160
198
  }),
161
199
  rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
162
200
  current: PropTypes.elementType
@@ -167,7 +205,9 @@ StoreBanner.propTypes = {
167
205
  button: PropTypes.objectOf(PropTypes.string.isRequired),
168
206
  linkApple: PropTypes.objectOf(PropTypes.string.isRequired),
169
207
  linkGoogle: PropTypes.objectOf(PropTypes.string.isRequired),
170
- linkHuawei: PropTypes.objectOf(PropTypes.string.isRequired)
208
+ linkHuawei: PropTypes.objectOf(PropTypes.string.isRequired),
209
+ linkMiStore: PropTypes.objectOf(PropTypes.string.isRequired),
210
+ linkRuStore: PropTypes.objectOf(PropTypes.string.isRequired)
171
211
  })
172
212
  };
173
213
  export default StoreBanner;
@@ -13,3 +13,9 @@
13
13
  .mfui-store-button_theme_huawei-store {
14
14
  background-image: url('./img/huawei-store.png');
15
15
  }
16
+ .mfui-store-button_theme_mi-store {
17
+ background-image: url('./img/mi-store.png');
18
+ }
19
+ .mfui-store-button_theme_ru-store {
20
+ background-image: url('./img/ru-store.png');
21
+ }
@@ -2,9 +2,11 @@ import * as React from 'react';
2
2
  import { Link } from '@megafon/ui-core';
3
3
  import './StoreButton.less';
4
4
  export declare enum Theme {
5
- GOOGLE_PLAY = "google-play",
6
5
  APP_STORE = "app-store",
7
- HUAWEI_STORE = "huawei-store"
6
+ GOOGLE_PLAY = "google-play",
7
+ HUAWEI_STORE = "huawei-store",
8
+ MI_STORE = "mi-store",
9
+ RU_STORE = "ru-store"
8
10
  }
9
11
  declare type LinkPropTypes = React.ComponentProps<typeof Link>;
10
12
  export declare type Props = Required<Pick<LinkPropTypes, 'href'>> & Pick<LinkPropTypes, 'target' | 'rel' | 'onClick' | 'dataAttrs'> & {
@@ -24,9 +24,11 @@ import "./StoreButton.css";
24
24
  export var Theme;
25
25
 
26
26
  (function (Theme) {
27
- Theme["GOOGLE_PLAY"] = "google-play";
28
27
  Theme["APP_STORE"] = "app-store";
28
+ Theme["GOOGLE_PLAY"] = "google-play";
29
29
  Theme["HUAWEI_STORE"] = "huawei-store";
30
+ Theme["MI_STORE"] = "mi-store";
31
+ Theme["RU_STORE"] = "ru-store";
30
32
  })(Theme || (Theme = {}));
31
33
 
32
34
  var cn = cnCreate('mfui-store-button');
@@ -92,6 +92,48 @@ h5 {
92
92
  top: 63px;
93
93
  }
94
94
  }
95
+ .mfui-store-banner_mask_iphone-12 .mfui-store-banner__device-mask {
96
+ position: relative;
97
+ z-index: 2;
98
+ background-image: url('./img/iphone12.png');
99
+ }
100
+ .mfui-store-banner_mask_iphone-12 .mfui-store-banner__screen {
101
+ top: 16px;
102
+ z-index: 1;
103
+ width: 87%;
104
+ }
105
+ @media screen and (min-width: 1024px) and (max-width: 1279px) {
106
+ .mfui-store-banner_mask_iphone-12 .mfui-store-banner__screen {
107
+ top: 18px;
108
+ }
109
+ }
110
+ @media screen and (min-width: 768px) and (max-width: 1023px) {
111
+ .mfui-store-banner_mask_iphone-12 .mfui-store-banner__screen {
112
+ top: 13px;
113
+ }
114
+ }
115
+ @media screen and (max-width: 767px) {
116
+ .mfui-store-banner_mask_iphone-12 .mfui-store-banner__screen {
117
+ top: 35px;
118
+ }
119
+ }
120
+ @media screen and (max-width: 767px) {
121
+ .mfui-store-banner_content-left-mobile .mfui-store-banner__content {
122
+ text-align: left;
123
+ }
124
+ }
125
+ @media screen and (max-width: 767px) {
126
+ .mfui-store-banner_content-left-mobile .mfui-store-banner__stores {
127
+ -webkit-box-pack: start;
128
+ -ms-flex-pack: start;
129
+ justify-content: flex-start;
130
+ }
131
+ }
132
+ @media screen and (max-width: 767px) {
133
+ .mfui-store-banner_content-left-mobile .mfui-store-banner__button {
134
+ margin: 0;
135
+ }
136
+ }
95
137
  @media screen and (min-width: 1024px) {
96
138
  .mfui-store-banner__container {
97
139
  padding-top: 30px;
@@ -13,6 +13,7 @@ export declare const DeviceMask: {
13
13
  readonly NEW_IPHONE: "new-iphone";
14
14
  readonly BLACK_IPHONE: "black-iphone";
15
15
  readonly WHITE_IPHONE: "white-iphone";
16
+ readonly IPHONE_12: "iphone-12";
16
17
  };
17
18
  declare type DeviceMaskType = typeof DeviceMask[keyof typeof DeviceMask];
18
19
  declare type LinkHrefType = StoreButtonPropsType['href'];
@@ -30,10 +31,18 @@ export interface IStoreBannerProps {
30
31
  linkGoogle?: LinkHrefType;
31
32
  /** Обработчик клика по ссылке в Google Play */
32
33
  onClickGoogle?: LinkOnClickType;
33
- /** Ссылка на скачивание приложения в Huawei Store */
34
+ /** Ссылка на скачивание приложения в Huawei App Gallery */
34
35
  linkHuawei?: LinkHrefType;
35
- /** Обработчик клика по ссылке в Huawei Store */
36
+ /** Обработчик клика по ссылке в Huawei App Gallery */
36
37
  onClickHuawei?: LinkOnClickType;
38
+ /** Ссылка на скачивание приложения в RuStore */
39
+ linkRuStore?: LinkHrefType;
40
+ /** Обработчик клика по ссылке в RuStore */
41
+ onClickRuStore?: LinkOnClickType;
42
+ /** Ссылка на скачивание приложения в Mi App Store */
43
+ linkMiStore?: LinkHrefType;
44
+ /** Обработчик клика по ссылке в Mi App Store */
45
+ onClickMiStore?: LinkOnClickType;
37
46
  /** Текст кнопки */
38
47
  textButton?: string;
39
48
  /** Ссылка для кнопки */
@@ -48,6 +57,8 @@ export interface IStoreBannerProps {
48
57
  deviceMask: DeviceMaskType;
49
58
  /** Изображение на дисплее телефона */
50
59
  imageSrc: string;
60
+ /** Выравнивание контента слева на мобильном разрешении */
61
+ isContentLeftMobile?: boolean;
51
62
  /** Дополнительный класс корневого элемента */
52
63
  className?: string;
53
64
  /** Дополнительные классы для корневого и внутренних элементов */
@@ -56,6 +67,8 @@ export interface IStoreBannerProps {
56
67
  appleLink?: string;
57
68
  googleLink?: string;
58
69
  huaweiLink?: string;
70
+ miStoreLink?: string;
71
+ ruStoreLink?: string;
59
72
  };
60
73
  /** Ссылка на корневой элемент */
61
74
  rootRef?: React.Ref<HTMLDivElement>;
@@ -66,6 +79,8 @@ export interface IStoreBannerProps {
66
79
  linkApple?: Record<string, string>;
67
80
  linkGoogle?: Record<string, string>;
68
81
  linkHuawei?: Record<string, string>;
82
+ linkMiStore?: Record<string, string>;
83
+ linkRuStore?: Record<string, string>;
69
84
  };
70
85
  }
71
86
  declare const StoreBanner: React.FC<IStoreBannerProps>;
@@ -38,7 +38,8 @@ var DeviceMask = {
38
38
  ANDROID: 'android',
39
39
  NEW_IPHONE: 'new-iphone',
40
40
  BLACK_IPHONE: 'black-iphone',
41
- WHITE_IPHONE: 'white-iphone'
41
+ WHITE_IPHONE: 'white-iphone',
42
+ IPHONE_12: 'iphone-12'
42
43
  };
43
44
  exports.DeviceMask = DeviceMask;
44
45
  var cn = (0, _uiHelpers.cnCreate)('mfui-store-banner');
@@ -51,11 +52,15 @@ var StoreBanner = function StoreBanner(_ref) {
51
52
  appleLinkClassName = _ref$classes.appleLink,
52
53
  googleLinkClassName = _ref$classes.googleLink,
53
54
  huaweiLinkClassName = _ref$classes.huaweiLink,
55
+ miStoreLinkClassName = _ref$classes.miStoreLink,
56
+ ruStoreLinkClassName = _ref$classes.ruStoreLink,
54
57
  title = _ref.title,
55
58
  text = _ref.text,
56
59
  linkApple = _ref.linkApple,
57
60
  linkGoogle = _ref.linkGoogle,
58
61
  linkHuawei = _ref.linkHuawei,
62
+ linkMiStore = _ref.linkMiStore,
63
+ linkRuStore = _ref.linkRuStore,
59
64
  linkButton = _ref.linkButton,
60
65
  _ref$textButton = _ref.textButton,
61
66
  textButton = _ref$textButton === void 0 ? 'Установите приложение' : _ref$textButton,
@@ -65,15 +70,19 @@ var StoreBanner = function StoreBanner(_ref) {
65
70
  _ref$theme = _ref.theme,
66
71
  theme = _ref$theme === void 0 ? 'default' : _ref$theme,
67
72
  deviceMask = _ref.deviceMask,
73
+ isContentLeftMobile = _ref.isContentLeftMobile,
68
74
  rootRef = _ref.rootRef,
69
75
  dataAttrs = _ref.dataAttrs,
70
76
  onClickApple = _ref.onClickApple,
71
77
  onClickGoogle = _ref.onClickGoogle,
72
- onClickHuawei = _ref.onClickHuawei;
78
+ onClickHuawei = _ref.onClickHuawei,
79
+ onClickMiStore = _ref.onClickMiStore,
80
+ onClickRuStore = _ref.onClickRuStore;
73
81
  return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
74
82
  className: cn({
75
83
  theme: theme,
76
- mask: deviceMask
84
+ mask: deviceMask,
85
+ 'content-left-mobile': isContentLeftMobile
77
86
  }, [className, rootClassName]),
78
87
  ref: rootRef
79
88
  }, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), /*#__PURE__*/React.createElement("div", {
@@ -126,6 +135,17 @@ var StoreBanner = function StoreBanner(_ref) {
126
135
  'google-play': true
127
136
  }, googleLinkClassName),
128
137
  onClick: onClickGoogle
138
+ }), linkRuStore && /*#__PURE__*/React.createElement(_StoreButton["default"], {
139
+ dataAttrs: {
140
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.linkRuStore
141
+ },
142
+ theme: _StoreButton.Theme.RU_STORE,
143
+ href: linkRuStore,
144
+ rel: rel,
145
+ className: cn('store-link', {
146
+ 'ru-store': true
147
+ }, ruStoreLinkClassName),
148
+ onClick: onClickRuStore
129
149
  }), linkHuawei && /*#__PURE__*/React.createElement(_StoreButton["default"], {
130
150
  dataAttrs: {
131
151
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.linkHuawei
@@ -137,6 +157,17 @@ var StoreBanner = function StoreBanner(_ref) {
137
157
  'huawei-store': true
138
158
  }, huaweiLinkClassName),
139
159
  onClick: onClickHuawei
160
+ }), linkMiStore && /*#__PURE__*/React.createElement(_StoreButton["default"], {
161
+ dataAttrs: {
162
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.linkMiStore
163
+ },
164
+ theme: _StoreButton.Theme.MI_STORE,
165
+ href: linkMiStore,
166
+ rel: rel,
167
+ className: cn('store-link', {
168
+ 'mi-store': true
169
+ }, miStoreLinkClassName),
170
+ onClick: onClickMiStore
140
171
  })), linkButton && /*#__PURE__*/React.createElement(_uiCore.Button, {
141
172
  dataAttrs: {
142
173
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
@@ -170,6 +201,10 @@ StoreBanner.propTypes = {
170
201
  onClickGoogle: _propTypes["default"].func,
171
202
  linkHuawei: _propTypes["default"].string,
172
203
  onClickHuawei: _propTypes["default"].func,
204
+ linkMiStore: _propTypes["default"].string,
205
+ onClickMiStore: _propTypes["default"].func,
206
+ linkRuStore: _propTypes["default"].string,
207
+ onClickRuStore: _propTypes["default"].func,
173
208
  textButton: _propTypes["default"].string,
174
209
  linkButton: _propTypes["default"].string,
175
210
  rel: _propTypes["default"].string,
@@ -179,7 +214,10 @@ StoreBanner.propTypes = {
179
214
  className: _propTypes["default"].string,
180
215
  classes: _propTypes["default"].shape({
181
216
  appleLink: _propTypes["default"].string,
182
- googleLink: _propTypes["default"].string
217
+ googleLink: _propTypes["default"].string,
218
+ huaweiLink: _propTypes["default"].string,
219
+ miStoreLink: _propTypes["default"].string,
220
+ ruStoreLink: _propTypes["default"].string
183
221
  }),
184
222
  rootRef: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].oneOfType([_propTypes["default"].shape({
185
223
  current: _propTypes["default"].elementType
@@ -190,7 +228,9 @@ StoreBanner.propTypes = {
190
228
  button: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
191
229
  linkApple: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
192
230
  linkGoogle: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
193
- linkHuawei: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired)
231
+ linkHuawei: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
232
+ linkMiStore: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
233
+ linkRuStore: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired)
194
234
  })
195
235
  };
196
236
  var _default = StoreBanner;
@@ -13,3 +13,9 @@
13
13
  .mfui-store-button_theme_huawei-store {
14
14
  background-image: url('./img/huawei-store.png');
15
15
  }
16
+ .mfui-store-button_theme_mi-store {
17
+ background-image: url('./img/mi-store.png');
18
+ }
19
+ .mfui-store-button_theme_ru-store {
20
+ background-image: url('./img/ru-store.png');
21
+ }
@@ -2,9 +2,11 @@ import * as React from 'react';
2
2
  import { Link } from '@megafon/ui-core';
3
3
  import './StoreButton.less';
4
4
  export declare enum Theme {
5
- GOOGLE_PLAY = "google-play",
6
5
  APP_STORE = "app-store",
7
- HUAWEI_STORE = "huawei-store"
6
+ GOOGLE_PLAY = "google-play",
7
+ HUAWEI_STORE = "huawei-store",
8
+ MI_STORE = "mi-store",
9
+ RU_STORE = "ru-store"
8
10
  }
9
11
  declare type LinkPropTypes = React.ComponentProps<typeof Link>;
10
12
  export declare type Props = Required<Pick<LinkPropTypes, 'href'>> & Pick<LinkPropTypes, 'target' | 'rel' | 'onClick' | 'dataAttrs'> & {
@@ -46,9 +46,11 @@ var Theme;
46
46
  exports.Theme = Theme;
47
47
 
48
48
  (function (Theme) {
49
- Theme["GOOGLE_PLAY"] = "google-play";
50
49
  Theme["APP_STORE"] = "app-store";
50
+ Theme["GOOGLE_PLAY"] = "google-play";
51
51
  Theme["HUAWEI_STORE"] = "huawei-store";
52
+ Theme["MI_STORE"] = "mi-store";
53
+ Theme["RU_STORE"] = "ru-store";
52
54
  })(Theme || (exports.Theme = Theme = {}));
53
55
 
54
56
  var cn = (0, _uiHelpers.cnCreate)('mfui-store-button');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@megafon/ui-shared",
3
- "version": "4.15.1",
3
+ "version": "4.17.0",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -52,7 +52,7 @@
52
52
  "@babel/preset-env": "^7.8.6",
53
53
  "@babel/preset-react": "^7.8.3",
54
54
  "@babel/preset-typescript": "^7.8.3",
55
- "@megafon/ui-icons": "^2.8.1",
55
+ "@megafon/ui-icons": "^2.9.0",
56
56
  "@svgr/core": "^2.4.1",
57
57
  "@testing-library/jest-dom": "5.16.2",
58
58
  "@testing-library/react": "12.1.2",
@@ -86,7 +86,7 @@
86
86
  },
87
87
  "dependencies": {
88
88
  "@babel/runtime": "^7.8.4",
89
- "@megafon/ui-core": "^4.15.0",
89
+ "@megafon/ui-core": "^4.15.2",
90
90
  "@megafon/ui-helpers": "^2.4.0",
91
91
  "core-js": "^3.6.4",
92
92
  "htmr": "^0.9.2",
@@ -94,5 +94,5 @@
94
94
  "prop-types": "^15.7.2",
95
95
  "swiper": "^6.5.6"
96
96
  },
97
- "gitHead": "2b3c9ee6628b04ef8cf0105476716cac5558db02"
97
+ "gitHead": "c2d54353eccef1c32cac6aa03b91d48e98dcdb84"
98
98
  }