@megafon/ui-shared 4.16.0 → 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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
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
+
6
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)
7
18
 
8
19
 
@@ -31,10 +31,18 @@ export interface IStoreBannerProps {
31
31
  linkGoogle?: LinkHrefType;
32
32
  /** Обработчик клика по ссылке в Google Play */
33
33
  onClickGoogle?: LinkOnClickType;
34
- /** Ссылка на скачивание приложения в Huawei Store */
34
+ /** Ссылка на скачивание приложения в Huawei App Gallery */
35
35
  linkHuawei?: LinkHrefType;
36
- /** Обработчик клика по ссылке в Huawei Store */
36
+ /** Обработчик клика по ссылке в Huawei App Gallery */
37
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;
38
46
  /** Текст кнопки */
39
47
  textButton?: string;
40
48
  /** Ссылка для кнопки */
@@ -59,6 +67,8 @@ export interface IStoreBannerProps {
59
67
  appleLink?: string;
60
68
  googleLink?: string;
61
69
  huaweiLink?: string;
70
+ miStoreLink?: string;
71
+ ruStoreLink?: string;
62
72
  };
63
73
  /** Ссылка на корневой элемент */
64
74
  rootRef?: React.Ref<HTMLDivElement>;
@@ -69,6 +79,8 @@ export interface IStoreBannerProps {
69
79
  linkApple?: Record<string, string>;
70
80
  linkGoogle?: Record<string, string>;
71
81
  linkHuawei?: Record<string, string>;
82
+ linkMiStore?: Record<string, string>;
83
+ linkRuStore?: Record<string, string>;
72
84
  };
73
85
  }
74
86
  declare const StoreBanner: React.FC<IStoreBannerProps>;
@@ -29,11 +29,15 @@ var StoreBanner = function StoreBanner(_ref) {
29
29
  appleLinkClassName = _ref$classes.appleLink,
30
30
  googleLinkClassName = _ref$classes.googleLink,
31
31
  huaweiLinkClassName = _ref$classes.huaweiLink,
32
+ miStoreLinkClassName = _ref$classes.miStoreLink,
33
+ ruStoreLinkClassName = _ref$classes.ruStoreLink,
32
34
  title = _ref.title,
33
35
  text = _ref.text,
34
36
  linkApple = _ref.linkApple,
35
37
  linkGoogle = _ref.linkGoogle,
36
38
  linkHuawei = _ref.linkHuawei,
39
+ linkMiStore = _ref.linkMiStore,
40
+ linkRuStore = _ref.linkRuStore,
37
41
  linkButton = _ref.linkButton,
38
42
  _ref$textButton = _ref.textButton,
39
43
  textButton = _ref$textButton === void 0 ? 'Установите приложение' : _ref$textButton,
@@ -48,7 +52,9 @@ var StoreBanner = function StoreBanner(_ref) {
48
52
  dataAttrs = _ref.dataAttrs,
49
53
  onClickApple = _ref.onClickApple,
50
54
  onClickGoogle = _ref.onClickGoogle,
51
- onClickHuawei = _ref.onClickHuawei;
55
+ onClickHuawei = _ref.onClickHuawei,
56
+ onClickMiStore = _ref.onClickMiStore,
57
+ onClickRuStore = _ref.onClickRuStore;
52
58
  return /*#__PURE__*/React.createElement("div", _extends({
53
59
  className: cn({
54
60
  theme: theme,
@@ -106,6 +112,17 @@ var StoreBanner = function StoreBanner(_ref) {
106
112
  'google-play': true
107
113
  }, googleLinkClassName),
108
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
109
126
  }), linkHuawei && /*#__PURE__*/React.createElement(StoreButton, {
110
127
  dataAttrs: {
111
128
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.linkHuawei
@@ -117,6 +134,17 @@ var StoreBanner = function StoreBanner(_ref) {
117
134
  'huawei-store': true
118
135
  }, huaweiLinkClassName),
119
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
120
148
  })), linkButton && /*#__PURE__*/React.createElement(Button, {
121
149
  dataAttrs: {
122
150
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
@@ -150,6 +178,10 @@ StoreBanner.propTypes = {
150
178
  onClickGoogle: PropTypes.func,
151
179
  linkHuawei: PropTypes.string,
152
180
  onClickHuawei: PropTypes.func,
181
+ linkMiStore: PropTypes.string,
182
+ onClickMiStore: PropTypes.func,
183
+ linkRuStore: PropTypes.string,
184
+ onClickRuStore: PropTypes.func,
153
185
  textButton: PropTypes.string,
154
186
  linkButton: PropTypes.string,
155
187
  rel: PropTypes.string,
@@ -159,7 +191,10 @@ StoreBanner.propTypes = {
159
191
  className: PropTypes.string,
160
192
  classes: PropTypes.shape({
161
193
  appleLink: PropTypes.string,
162
- googleLink: PropTypes.string
194
+ googleLink: PropTypes.string,
195
+ huaweiLink: PropTypes.string,
196
+ miStoreLink: PropTypes.string,
197
+ ruStoreLink: PropTypes.string
163
198
  }),
164
199
  rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
165
200
  current: PropTypes.elementType
@@ -170,7 +205,9 @@ StoreBanner.propTypes = {
170
205
  button: PropTypes.objectOf(PropTypes.string.isRequired),
171
206
  linkApple: PropTypes.objectOf(PropTypes.string.isRequired),
172
207
  linkGoogle: PropTypes.objectOf(PropTypes.string.isRequired),
173
- 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)
174
211
  })
175
212
  };
176
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');
@@ -31,10 +31,18 @@ export interface IStoreBannerProps {
31
31
  linkGoogle?: LinkHrefType;
32
32
  /** Обработчик клика по ссылке в Google Play */
33
33
  onClickGoogle?: LinkOnClickType;
34
- /** Ссылка на скачивание приложения в Huawei Store */
34
+ /** Ссылка на скачивание приложения в Huawei App Gallery */
35
35
  linkHuawei?: LinkHrefType;
36
- /** Обработчик клика по ссылке в Huawei Store */
36
+ /** Обработчик клика по ссылке в Huawei App Gallery */
37
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;
38
46
  /** Текст кнопки */
39
47
  textButton?: string;
40
48
  /** Ссылка для кнопки */
@@ -59,6 +67,8 @@ export interface IStoreBannerProps {
59
67
  appleLink?: string;
60
68
  googleLink?: string;
61
69
  huaweiLink?: string;
70
+ miStoreLink?: string;
71
+ ruStoreLink?: string;
62
72
  };
63
73
  /** Ссылка на корневой элемент */
64
74
  rootRef?: React.Ref<HTMLDivElement>;
@@ -69,6 +79,8 @@ export interface IStoreBannerProps {
69
79
  linkApple?: Record<string, string>;
70
80
  linkGoogle?: Record<string, string>;
71
81
  linkHuawei?: Record<string, string>;
82
+ linkMiStore?: Record<string, string>;
83
+ linkRuStore?: Record<string, string>;
72
84
  };
73
85
  }
74
86
  declare const StoreBanner: React.FC<IStoreBannerProps>;
@@ -52,11 +52,15 @@ var StoreBanner = function StoreBanner(_ref) {
52
52
  appleLinkClassName = _ref$classes.appleLink,
53
53
  googleLinkClassName = _ref$classes.googleLink,
54
54
  huaweiLinkClassName = _ref$classes.huaweiLink,
55
+ miStoreLinkClassName = _ref$classes.miStoreLink,
56
+ ruStoreLinkClassName = _ref$classes.ruStoreLink,
55
57
  title = _ref.title,
56
58
  text = _ref.text,
57
59
  linkApple = _ref.linkApple,
58
60
  linkGoogle = _ref.linkGoogle,
59
61
  linkHuawei = _ref.linkHuawei,
62
+ linkMiStore = _ref.linkMiStore,
63
+ linkRuStore = _ref.linkRuStore,
60
64
  linkButton = _ref.linkButton,
61
65
  _ref$textButton = _ref.textButton,
62
66
  textButton = _ref$textButton === void 0 ? 'Установите приложение' : _ref$textButton,
@@ -71,7 +75,9 @@ var StoreBanner = function StoreBanner(_ref) {
71
75
  dataAttrs = _ref.dataAttrs,
72
76
  onClickApple = _ref.onClickApple,
73
77
  onClickGoogle = _ref.onClickGoogle,
74
- onClickHuawei = _ref.onClickHuawei;
78
+ onClickHuawei = _ref.onClickHuawei,
79
+ onClickMiStore = _ref.onClickMiStore,
80
+ onClickRuStore = _ref.onClickRuStore;
75
81
  return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
76
82
  className: cn({
77
83
  theme: theme,
@@ -129,6 +135,17 @@ var StoreBanner = function StoreBanner(_ref) {
129
135
  'google-play': true
130
136
  }, googleLinkClassName),
131
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
132
149
  }), linkHuawei && /*#__PURE__*/React.createElement(_StoreButton["default"], {
133
150
  dataAttrs: {
134
151
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.linkHuawei
@@ -140,6 +157,17 @@ var StoreBanner = function StoreBanner(_ref) {
140
157
  'huawei-store': true
141
158
  }, huaweiLinkClassName),
142
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
143
171
  })), linkButton && /*#__PURE__*/React.createElement(_uiCore.Button, {
144
172
  dataAttrs: {
145
173
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
@@ -173,6 +201,10 @@ StoreBanner.propTypes = {
173
201
  onClickGoogle: _propTypes["default"].func,
174
202
  linkHuawei: _propTypes["default"].string,
175
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,
176
208
  textButton: _propTypes["default"].string,
177
209
  linkButton: _propTypes["default"].string,
178
210
  rel: _propTypes["default"].string,
@@ -182,7 +214,10 @@ StoreBanner.propTypes = {
182
214
  className: _propTypes["default"].string,
183
215
  classes: _propTypes["default"].shape({
184
216
  appleLink: _propTypes["default"].string,
185
- googleLink: _propTypes["default"].string
217
+ googleLink: _propTypes["default"].string,
218
+ huaweiLink: _propTypes["default"].string,
219
+ miStoreLink: _propTypes["default"].string,
220
+ ruStoreLink: _propTypes["default"].string
186
221
  }),
187
222
  rootRef: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].oneOfType([_propTypes["default"].shape({
188
223
  current: _propTypes["default"].elementType
@@ -193,7 +228,9 @@ StoreBanner.propTypes = {
193
228
  button: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
194
229
  linkApple: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
195
230
  linkGoogle: _propTypes["default"].objectOf(_propTypes["default"].string.isRequired),
196
- 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)
197
234
  })
198
235
  };
199
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.16.0",
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.1",
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": "ff8786e64e8cc9220fc248899a2328d28bd159b0"
97
+ "gitHead": "c2d54353eccef1c32cac6aa03b91d48e98dcdb84"
98
98
  }