@megafon/ui-shared 5.4.2 → 5.5.1

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 +23 -0
  2. package/dist/es/components/StoreBanner/StoreBanner.d.ts +6 -0
  3. package/dist/es/components/StoreBanner/StoreBanner.js +20 -2
  4. package/dist/es/components/StoreButton/StoreButton.css +248 -6
  5. package/dist/es/components/StoreButton/StoreButton.d.ts +17 -1
  6. package/dist/es/components/StoreButton/StoreButton.js +27 -2
  7. package/dist/es/components/StoreButton/img/app-store-large.png +0 -0
  8. package/dist/es/components/StoreButton/img/galaxy-store-large.png +0 -0
  9. package/dist/es/components/StoreButton/img/google-play-large.png +0 -0
  10. package/dist/es/components/StoreButton/img/huawei-store-large.png +0 -0
  11. package/dist/es/components/StoreButton/img/mi-store-large.png +0 -0
  12. package/dist/es/components/StoreButton/img/ru-store-large.png +0 -0
  13. package/dist/es/components/StoreButton/img/v-appstore-large.png +0 -0
  14. package/dist/es/components/StoreButton/img/v-appstore.png +0 -0
  15. package/dist/lib/components/StoreBanner/StoreBanner.d.ts +6 -0
  16. package/dist/lib/components/StoreBanner/StoreBanner.js +20 -2
  17. package/dist/lib/components/StoreButton/StoreButton.css +248 -6
  18. package/dist/lib/components/StoreButton/StoreButton.d.ts +17 -1
  19. package/dist/lib/components/StoreButton/StoreButton.js +29 -3
  20. package/dist/lib/components/StoreButton/img/app-store-large.png +0 -0
  21. package/dist/lib/components/StoreButton/img/galaxy-store-large.png +0 -0
  22. package/dist/lib/components/StoreButton/img/google-play-large.png +0 -0
  23. package/dist/lib/components/StoreButton/img/huawei-store-large.png +0 -0
  24. package/dist/lib/components/StoreButton/img/mi-store-large.png +0 -0
  25. package/dist/lib/components/StoreButton/img/ru-store-large.png +0 -0
  26. package/dist/lib/components/StoreButton/img/v-appstore-large.png +0 -0
  27. package/dist/lib/components/StoreButton/img/v-appstore.png +0 -0
  28. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -3,6 +3,29 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [5.5.1](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/compare/@megafon/ui-shared@5.5.0...@megafon/ui-shared@5.5.1) (2024-02-05)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **storebutton:** fix prop types ([ba0e5e6](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/commit/ba0e5e6cd9fe2c716f6529abba8361e70a24e6c6))
12
+
13
+
14
+
15
+
16
+
17
+ # [5.5.0](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/compare/@megafon/ui-shared@5.4.2...@megafon/ui-shared@5.5.0) (2024-01-30)
18
+
19
+
20
+ ### Features
21
+
22
+ * **storebanner:** add v-appstore button to banner ([b11115e](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/commit/b11115e6436c2f6d8486aea78dd356e4447abefb))
23
+ * **storebutton:** add v-appstore button, add size props ([5096d03](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/commit/5096d039e91623807caf07b9f2d1347b24529bca))
24
+
25
+
26
+
27
+
28
+
6
29
  ## [5.4.2](https://hq-gitlab.megafon.ru/site-portal/services/megafon-ui/compare/@megafon/ui-shared@5.4.1...@megafon/ui-shared@5.4.2) (2024-01-22)
7
30
 
8
31
 
@@ -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>;
@@ -33,6 +33,7 @@ var StoreBanner = function StoreBanner(_ref) {
33
33
  huaweiLinkClassName = _ref$classes.huaweiLink,
34
34
  miStoreLinkClassName = _ref$classes.miStoreLink,
35
35
  ruStoreLinkClassName = _ref$classes.ruStoreLink,
36
+ vAppstoreLinkClassName = _ref$classes.vAppstoreLink,
36
37
  buttonClassName = _ref$classes.button,
37
38
  title = _ref.title,
38
39
  text = _ref.text,
@@ -42,6 +43,7 @@ var StoreBanner = function StoreBanner(_ref) {
42
43
  linkHuawei = _ref.linkHuawei,
43
44
  linkMiStore = _ref.linkMiStore,
44
45
  linkRuStore = _ref.linkRuStore,
46
+ linkVAppstore = _ref.linkVAppstore,
45
47
  linkButton = _ref.linkButton,
46
48
  _ref$textButton = _ref.textButton,
47
49
  textButton = _ref$textButton === void 0 ? 'Установите приложение' : _ref$textButton,
@@ -59,7 +61,8 @@ var StoreBanner = function StoreBanner(_ref) {
59
61
  onClickGoogle = _ref.onClickGoogle,
60
62
  onClickHuawei = _ref.onClickHuawei,
61
63
  onClickMiStore = _ref.onClickMiStore,
62
- onClickRuStore = _ref.onClickRuStore;
64
+ onClickRuStore = _ref.onClickRuStore,
65
+ onClickVAppstore = _ref.onClickVAppstore;
63
66
  return /*#__PURE__*/React.createElement("div", _extends({
64
67
  className: cn({
65
68
  theme: theme,
@@ -163,6 +166,17 @@ var StoreBanner = function StoreBanner(_ref) {
163
166
  'mi-store': true
164
167
  }, miStoreLinkClassName),
165
168
  onClick: onClickMiStore
169
+ }), linkVAppstore && /*#__PURE__*/React.createElement(StoreButton, {
170
+ dataAttrs: {
171
+ root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.linkVAppstore
172
+ },
173
+ theme: StoreButtonTheme.V_APPSTORE,
174
+ href: linkVAppstore,
175
+ rel: rel,
176
+ className: cn('store-link', {
177
+ 'v-appstore': true
178
+ }, vAppstoreLinkClassName),
179
+ onClick: onClickVAppstore
166
180
  })), linkButton && /*#__PURE__*/React.createElement(Button, {
167
181
  dataAttrs: {
168
182
  root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
@@ -202,6 +216,8 @@ StoreBanner.propTypes = {
202
216
  onClickMiStore: PropTypes.func,
203
217
  linkRuStore: PropTypes.string,
204
218
  onClickRuStore: PropTypes.func,
219
+ linkVAppstore: PropTypes.string,
220
+ onClickVAppstore: PropTypes.func,
205
221
  textButton: PropTypes.string,
206
222
  linkButton: PropTypes.string,
207
223
  rel: PropTypes.string,
@@ -216,6 +232,7 @@ StoreBanner.propTypes = {
216
232
  huaweiLink: PropTypes.string,
217
233
  miStoreLink: PropTypes.string,
218
234
  ruStoreLink: PropTypes.string,
235
+ vAppstoreLink: PropTypes.string,
219
236
  button: PropTypes.string
220
237
  }),
221
238
  rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
@@ -230,7 +247,8 @@ StoreBanner.propTypes = {
230
247
  linkGoogle: PropTypes.objectOf(PropTypes.string.isRequired),
231
248
  linkHuawei: PropTypes.objectOf(PropTypes.string.isRequired),
232
249
  linkMiStore: PropTypes.objectOf(PropTypes.string.isRequired),
233
- linkRuStore: PropTypes.objectOf(PropTypes.string.isRequired)
250
+ linkRuStore: PropTypes.objectOf(PropTypes.string.isRequired),
251
+ linkVAppstore: PropTypes.objectOf(PropTypes.string.isRequired)
234
252
  })
235
253
  };
236
254
  export 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;
@@ -21,6 +21,14 @@ import { Link } from '@megafon/ui-core';
21
21
  import { cnCreate } from '@megafon/ui-helpers';
22
22
  import PropTypes from 'prop-types';
23
23
  import "./StoreButton.css";
24
+ export var ButtonSizes;
25
+
26
+ (function (ButtonSizes) {
27
+ ButtonSizes["SMALL"] = "small";
28
+ ButtonSizes["MEDIUM"] = "medium";
29
+ ButtonSizes["LARGE"] = "large";
30
+ })(ButtonSizes || (ButtonSizes = {}));
31
+
24
32
  export var Theme;
25
33
 
26
34
  (function (Theme) {
@@ -30,6 +38,7 @@ export var Theme;
30
38
  Theme["HUAWEI_STORE"] = "huawei-store";
31
39
  Theme["MI_STORE"] = "mi-store";
32
40
  Theme["RU_STORE"] = "ru-store";
41
+ Theme["V_APPSTORE"] = "v-appstore";
33
42
  })(Theme || (Theme = {}));
34
43
 
35
44
  var cn = cnCreate('mfui-store-button');
@@ -40,14 +49,25 @@ var StoreButton = function StoreButton(_a) {
40
49
  onClick = _a.onClick,
41
50
  theme = _a.theme,
42
51
  className = _a.className,
43
- rest = __rest(_a, ["href", "rel", "onClick", "theme", "className"]);
52
+ _a$sizeAll = _a.sizeAll,
53
+ sizeAll = _a$sizeAll === void 0 ? ButtonSizes.MEDIUM : _a$sizeAll,
54
+ sizeWide = _a.sizeWide,
55
+ sizeDesktop = _a.sizeDesktop,
56
+ sizeTablet = _a.sizeTablet,
57
+ sizeMobile = _a.sizeMobile,
58
+ rest = __rest(_a, ["href", "rel", "onClick", "theme", "className", "sizeAll", "sizeWide", "sizeDesktop", "sizeTablet", "sizeMobile"]);
44
59
 
45
60
  return /*#__PURE__*/React.createElement(Link, _extends({}, rest, {
46
61
  href: href,
47
62
  rel: rel,
48
63
  onClick: onClick,
49
64
  className: cn({
50
- theme: theme
65
+ theme: theme,
66
+ 'size-all': sizeAll,
67
+ 'size-wide': sizeWide,
68
+ 'size-desktop': sizeDesktop,
69
+ 'size-tablet': sizeTablet,
70
+ 'size-mobile': sizeMobile
51
71
  }, className)
52
72
  }));
53
73
  };
@@ -59,6 +79,11 @@ StoreButton.propTypes = {
59
79
  onClick: PropTypes.func,
60
80
  className: PropTypes.string,
61
81
  target: PropTypes.oneOf(['_self', '_blank', '_parent', '_top']),
82
+ sizeAll: PropTypes.oneOf(Object.values(ButtonSizes)).isRequired,
83
+ sizeWide: PropTypes.oneOf(Object.values(ButtonSizes)).isRequired,
84
+ sizeDesktop: PropTypes.oneOf(Object.values(ButtonSizes)).isRequired,
85
+ sizeTablet: PropTypes.oneOf(Object.values(ButtonSizes)).isRequired,
86
+ sizeMobile: PropTypes.oneOf(Object.values(ButtonSizes)).isRequired,
62
87
  dataAttrs: PropTypes.shape({
63
88
  root: PropTypes.objectOf(PropTypes.string.isRequired)
64
89
  })
@@ -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
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@megafon/ui-shared",
3
- "version": "5.4.2",
3
+ "version": "5.5.1",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -48,7 +48,7 @@
48
48
  "@babel/preset-env": "^7.8.6",
49
49
  "@babel/preset-react": "^7.8.3",
50
50
  "@babel/preset-typescript": "^7.8.3",
51
- "@megafon/ui-icons": "^2.18.0",
51
+ "@megafon/ui-icons": "^2.19.0",
52
52
  "@svgr/core": "^2.4.1",
53
53
  "@testing-library/jest-dom": "5.16.2",
54
54
  "@testing-library/react": "12.1.2",
@@ -82,7 +82,7 @@
82
82
  },
83
83
  "dependencies": {
84
84
  "@babel/runtime": "^7.8.4",
85
- "@megafon/ui-core": "^5.4.5",
85
+ "@megafon/ui-core": "^5.4.6",
86
86
  "@megafon/ui-helpers": "^2.5.4",
87
87
  "core-js": "^3.6.4",
88
88
  "htmr": "^0.9.2",
@@ -90,5 +90,5 @@
90
90
  "prop-types": "^15.7.2",
91
91
  "swiper": "^6.5.6"
92
92
  },
93
- "gitHead": "372cdb83f6be5d3a870df80e80c60b10f33cd91a"
93
+ "gitHead": "45f465c02b46c8d9011f4dbb353341f861e6a612"
94
94
  }