@megafon/ui-shared 4.19.0 → 4.20.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,34 @@
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.20.1](https://github.com/MegafonWebLab/megafon-ui/compare/@megafon/ui-shared@4.20.0...@megafon/ui-shared@4.20.1) (2023-06-05)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **storebanner:** fix new mask for iphone 12 and green theme ([c7da417](https://github.com/MegafonWebLab/megafon-ui/commit/c7da417b7919eb4564eadfc2a6ee20895daf7740))
12
+
13
+
14
+
15
+
16
+
17
+ # [4.20.0](https://github.com/MegafonWebLab/megafon-ui/compare/@megafon/ui-shared@4.19.0...@megafon/ui-shared@4.20.0) (2023-05-23)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **counterbadge:** fix required props ([6824153](https://github.com/MegafonWebLab/megafon-ui/commit/6824153b4f2543eb3961cd408c447c8bcb9cd83d))
23
+
24
+
25
+ ### Features
26
+
27
+ * **container:** add bottomShadow props ([b8d8249](https://github.com/MegafonWebLab/megafon-ui/commit/b8d82492b7300211548b71049820264bdc54a761))
28
+ * **videobanner:** add bottomShadow prop ([b103f1d](https://github.com/MegafonWebLab/megafon-ui/commit/b103f1defc5562bd50ef1ff5dcd5e568310378cf))
29
+
30
+
31
+
32
+
33
+
6
34
  # [4.19.0](https://github.com/MegafonWebLab/megafon-ui/compare/@megafon/ui-shared@4.18.3...@megafon/ui-shared@4.19.0) (2023-05-17)
7
35
 
8
36
 
@@ -6,6 +6,7 @@ h5 {
6
6
  margin: 0;
7
7
  }
8
8
  .mfui-container {
9
+ position: relative;
9
10
  padding-bottom: 96px;
10
11
  }
11
12
  .mfui-container_bg-color_default {
@@ -27,11 +28,17 @@ h5 {
27
28
  .mfui-container {
28
29
  padding-bottom: 72px;
29
30
  }
31
+ .mfui-container_bottom-shadow:after {
32
+ bottom: 72px !important;
33
+ }
30
34
  }
31
35
  @media screen and (max-width: 767px) {
32
36
  .mfui-container {
33
37
  padding-bottom: 48px;
34
38
  }
39
+ .mfui-container_bottom-shadow:after {
40
+ bottom: 48px !important;
41
+ }
35
42
  }
36
43
  .mfui-container_bg-color_default + .mfui-container_bg-color_light-gray {
37
44
  padding-top: 96px;
@@ -3073,9 +3080,22 @@ h5 {
3073
3080
  margin-top: 24px;
3074
3081
  }
3075
3082
  }
3083
+ .mfui-container_bottom-shadow:after {
3084
+ content: '';
3085
+ position: absolute;
3086
+ right: 0;
3087
+ bottom: 96px;
3088
+ width: 100%;
3089
+ height: 100%;
3090
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(95.25%, rgba(255, 255, 255, 0)), to(rgba(0, 0, 0, 0.024)));
3091
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0) 95.25%, rgba(0, 0, 0, 0.024) 100%);
3092
+ }
3076
3093
  .mfui-container_disable-padding-top {
3077
3094
  padding-top: 0 !important;
3078
3095
  }
3079
3096
  .mfui-container_disable-padding-bottom {
3080
3097
  padding-bottom: 0 !important;
3081
3098
  }
3099
+ .mfui-container_disable-padding-bottom.mfui-container_bottom-shadow:after {
3100
+ bottom: 0 !important;
3101
+ }
@@ -21,6 +21,8 @@ declare type Props = {
21
21
  disablePaddingTop?: boolean;
22
22
  /** Отключить отступ снизу */
23
23
  disablePaddingBottom?: boolean;
24
+ /** Включить тень в нижней части компонента */
25
+ bottomShadow?: boolean;
24
26
  };
25
27
  declare const Container: React.FC<Props>;
26
28
  export default Container;
@@ -21,10 +21,13 @@ var Container = function Container(_ref) {
21
21
  className = _ref.className,
22
22
  children = _ref.children,
23
23
  disablePaddingTop = _ref.disablePaddingTop,
24
- disablePaddingBottom = _ref.disablePaddingBottom;
24
+ disablePaddingBottom = _ref.disablePaddingBottom,
25
+ _ref$bottomShadow = _ref.bottomShadow,
26
+ bottomShadow = _ref$bottomShadow === void 0 ? false : _ref$bottomShadow;
25
27
  return /*#__PURE__*/React.createElement("div", {
26
28
  className: cn({
27
29
  'bg-color': backgroundColor,
30
+ 'bottom-shadow': bottomShadow,
28
31
  'disable-padding-top': disablePaddingTop,
29
32
  'disable-padding-bottom': disablePaddingBottom
30
33
  }, [className]),
@@ -41,6 +44,7 @@ Container.propTypes = {
41
44
  current: PropTypes.elementType
42
45
  }), PropTypes.any])]),
43
46
  disablePaddingTop: PropTypes.bool,
44
- disablePaddingBottom: PropTypes.bool
47
+ disablePaddingBottom: PropTypes.bool,
48
+ bottomShadow: PropTypes.bool
45
49
  };
46
50
  export default Container;
@@ -0,0 +1,66 @@
1
+ h1,
2
+ h2,
3
+ h3,
4
+ h4,
5
+ h5 {
6
+ margin: 0;
7
+ }
8
+ .mfui-device-mask {
9
+ position: relative;
10
+ width: 250px;
11
+ height: 550px;
12
+ overflow: hidden;
13
+ background-repeat: no-repeat;
14
+ background-size: cover;
15
+ }
16
+ .mfui-device-mask__screen-content {
17
+ position: absolute;
18
+ z-index: 0;
19
+ width: 214px;
20
+ height: 462px;
21
+ overflow: hidden;
22
+ }
23
+ .mfui-device-mask__screen-content_android {
24
+ top: 10px;
25
+ left: 10px;
26
+ width: 228px;
27
+ height: 460px;
28
+ }
29
+ .mfui-device-mask__screen-content_iphone {
30
+ top: 16px;
31
+ left: 16px;
32
+ width: 218px;
33
+ height: 469px;
34
+ }
35
+ .mfui-device-mask__screen-content_black-iphone,
36
+ .mfui-device-mask__screen-content_white-iphone {
37
+ top: 60px;
38
+ left: 17px;
39
+ width: 216px;
40
+ height: 381px;
41
+ }
42
+ .mfui-device-mask__screen-content > * {
43
+ max-width: 100%;
44
+ }
45
+ .mfui-device-mask__device {
46
+ position: absolute;
47
+ top: 0;
48
+ left: 0;
49
+ z-index: 1;
50
+ width: 100%;
51
+ height: 100%;
52
+ background-repeat: no-repeat;
53
+ background-size: 100% auto;
54
+ }
55
+ .mfui-device-mask__device_android {
56
+ background-image: url('./i/android.png');
57
+ }
58
+ .mfui-device-mask__device_iphone {
59
+ background-image: url('./i/iphone.png');
60
+ }
61
+ .mfui-device-mask__device_black-iphone {
62
+ background-image: url('./i/black-iphone.png');
63
+ }
64
+ .mfui-device-mask__device_white-iphone {
65
+ background-image: url('./i/white-iphone.png');
66
+ }
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import './DeviceMask.less';
3
+ export declare const Devices: {
4
+ readonly IPHONE: "iphone";
5
+ readonly ANDROID: "android";
6
+ readonly BLACK_IPHONE: "black-iphone";
7
+ readonly WHITE_IPHONE: "white-iphone";
8
+ };
9
+ declare type DevicesType = typeof Devices[keyof typeof Devices];
10
+ export interface IDeviceMaskProps {
11
+ device: DevicesType;
12
+ screenContent: React.ReactNode;
13
+ }
14
+ declare const DeviceMask: React.FC<IDeviceMaskProps>;
15
+ export default DeviceMask;
@@ -0,0 +1,25 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import React from 'react';
3
+ import { cnCreate } from '@megafon/ui-helpers';
4
+ import "./DeviceMask.css";
5
+ export var Devices = {
6
+ IPHONE: 'iphone',
7
+ ANDROID: 'android',
8
+ BLACK_IPHONE: 'black-iphone',
9
+ WHITE_IPHONE: 'white-iphone'
10
+ };
11
+ var cn = cnCreate('mfui-device-mask');
12
+
13
+ var DeviceMask = function DeviceMask(_ref) {
14
+ var device = _ref.device,
15
+ screenContent = _ref.screenContent;
16
+ return /*#__PURE__*/React.createElement("div", {
17
+ className: cn()
18
+ }, /*#__PURE__*/React.createElement("div", {
19
+ className: cn('screen-content', _defineProperty({}, device, true))
20
+ }, screenContent), /*#__PURE__*/React.createElement("div", {
21
+ className: cn('device', _defineProperty({}, device, true))
22
+ }));
23
+ };
24
+
25
+ export default DeviceMask;
@@ -33,6 +33,16 @@ h5 {
33
33
  margin-left: -16px;
34
34
  }
35
35
  }
36
+ .mfui-video-banner_bottom-shadow:after {
37
+ content: '';
38
+ position: absolute;
39
+ right: 0;
40
+ bottom: 0;
41
+ width: 100%;
42
+ height: 100%;
43
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(95.25%, rgba(255, 255, 255, 0)), to(rgba(0, 0, 0, 0.024)));
44
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0) 95.25%, rgba(0, 0, 0, 0.024) 100%);
45
+ }
36
46
  .mfui-video-banner__wrapper {
37
47
  display: -webkit-box;
38
48
  display: -ms-flexbox;
@@ -104,6 +104,8 @@ interface IVideoBannerProps {
104
104
  breadcrumbs?: BreadCrumbsItemsType;
105
105
  /** Включить микроразметку хлебных крошек */
106
106
  hasBreadcrumbsMicrodata?: boolean;
107
+ /** Включить тень в нижней части компонента */
108
+ bottomShadow?: boolean;
107
109
  }
108
110
  declare const VideoBanner: React.FC<IVideoBannerProps>;
109
111
  export default VideoBanner;
@@ -68,7 +68,9 @@ var VideoBanner = function VideoBanner(_ref2) {
68
68
  _ref2$videoMobile = _ref2.videoMobile,
69
69
  videoMobile = _ref2$videoMobile === void 0 ? false : _ref2$videoMobile,
70
70
  _ref2$hasBreadcrumbsM = _ref2.hasBreadcrumbsMicrodata,
71
- hasBreadcrumbsMicrodata = _ref2$hasBreadcrumbsM === void 0 ? false : _ref2$hasBreadcrumbsM;
71
+ hasBreadcrumbsMicrodata = _ref2$hasBreadcrumbsM === void 0 ? false : _ref2$hasBreadcrumbsM,
72
+ _ref2$bottomShadow = _ref2.bottomShadow,
73
+ bottomShadow = _ref2$bottomShadow === void 0 ? false : _ref2$bottomShadow;
72
74
 
73
75
  var _React$useState = React.useState(true),
74
76
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -208,9 +210,12 @@ var VideoBanner = function VideoBanner(_ref2) {
208
210
  window.removeEventListener('resize', resizeHandlerThrottled);
209
211
  };
210
212
  }, [setIsMobile]);
211
- return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
212
- className: cn([className, classes.root]),
213
+ return /*#__PURE__*/React.createElement("div", _extends({
213
214
  ref: rootRef
215
+ }, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
216
+ className: cn({
217
+ 'bottom-shadow': bottomShadow
218
+ }, [className, classes.root])
214
219
  }), /*#__PURE__*/React.createElement(ContentArea, null, /*#__PURE__*/React.createElement("div", {
215
220
  className: cn('wrapper')
216
221
  }, !!(breadcrumbs === null || breadcrumbs === void 0 ? void 0 : breadcrumbs.length) && /*#__PURE__*/React.createElement(Breadcrumbs, {
@@ -290,6 +295,7 @@ VideoBanner.propTypes = {
290
295
  title: PropTypes.string.isRequired,
291
296
  href: PropTypes.string
292
297
  }).isRequired),
293
- hasBreadcrumbsMicrodata: PropTypes.bool
298
+ hasBreadcrumbsMicrodata: PropTypes.bool,
299
+ bottomShadow: PropTypes.bool
294
300
  };
295
301
  export default VideoBanner;
@@ -15,6 +15,7 @@ export { default as Card } from './components/Card/Card';
15
15
  export { default as CardsBox } from './components/CardsBox/CardsBox';
16
16
  export { default as CarouselBox } from './components/CarouselBox/CarouselBox';
17
17
  export { default as Container } from './components/Container/Container';
18
+ export { default as DeviceMask } from './components/DeviceMask/DeviceMask';
18
19
  export { default as DownloadLink } from './components/DownloadLinks/DownloadLink';
19
20
  export { default as DownloadLinks } from './components/DownloadLinks/DownloadLinks';
20
21
  export { default as FaqWrapper } from './components/FaqWrapper/FaqWrapper';
package/dist/es/index.js CHANGED
@@ -15,6 +15,7 @@ export { default as Card } from "./components/Card/Card";
15
15
  export { default as CardsBox } from "./components/CardsBox/CardsBox";
16
16
  export { default as CarouselBox } from "./components/CarouselBox/CarouselBox";
17
17
  export { default as Container } from "./components/Container/Container";
18
+ export { default as DeviceMask } from "./components/DeviceMask/DeviceMask";
18
19
  export { default as DownloadLink } from "./components/DownloadLinks/DownloadLink";
19
20
  export { default as DownloadLinks } from "./components/DownloadLinks/DownloadLinks";
20
21
  export { default as FaqWrapper } from "./components/FaqWrapper/FaqWrapper";
@@ -6,6 +6,7 @@ h5 {
6
6
  margin: 0;
7
7
  }
8
8
  .mfui-container {
9
+ position: relative;
9
10
  padding-bottom: 96px;
10
11
  }
11
12
  .mfui-container_bg-color_default {
@@ -27,11 +28,17 @@ h5 {
27
28
  .mfui-container {
28
29
  padding-bottom: 72px;
29
30
  }
31
+ .mfui-container_bottom-shadow:after {
32
+ bottom: 72px !important;
33
+ }
30
34
  }
31
35
  @media screen and (max-width: 767px) {
32
36
  .mfui-container {
33
37
  padding-bottom: 48px;
34
38
  }
39
+ .mfui-container_bottom-shadow:after {
40
+ bottom: 48px !important;
41
+ }
35
42
  }
36
43
  .mfui-container_bg-color_default + .mfui-container_bg-color_light-gray {
37
44
  padding-top: 96px;
@@ -3073,9 +3080,22 @@ h5 {
3073
3080
  margin-top: 24px;
3074
3081
  }
3075
3082
  }
3083
+ .mfui-container_bottom-shadow:after {
3084
+ content: '';
3085
+ position: absolute;
3086
+ right: 0;
3087
+ bottom: 96px;
3088
+ width: 100%;
3089
+ height: 100%;
3090
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(95.25%, rgba(255, 255, 255, 0)), to(rgba(0, 0, 0, 0.024)));
3091
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0) 95.25%, rgba(0, 0, 0, 0.024) 100%);
3092
+ }
3076
3093
  .mfui-container_disable-padding-top {
3077
3094
  padding-top: 0 !important;
3078
3095
  }
3079
3096
  .mfui-container_disable-padding-bottom {
3080
3097
  padding-bottom: 0 !important;
3081
3098
  }
3099
+ .mfui-container_disable-padding-bottom.mfui-container_bottom-shadow:after {
3100
+ bottom: 0 !important;
3101
+ }
@@ -21,6 +21,8 @@ declare type Props = {
21
21
  disablePaddingTop?: boolean;
22
22
  /** Отключить отступ снизу */
23
23
  disablePaddingBottom?: boolean;
24
+ /** Включить тень в нижней части компонента */
25
+ bottomShadow?: boolean;
24
26
  };
25
27
  declare const Container: React.FC<Props>;
26
28
  export default Container;
@@ -35,10 +35,13 @@ var Container = function Container(_ref) {
35
35
  className = _ref.className,
36
36
  children = _ref.children,
37
37
  disablePaddingTop = _ref.disablePaddingTop,
38
- disablePaddingBottom = _ref.disablePaddingBottom;
38
+ disablePaddingBottom = _ref.disablePaddingBottom,
39
+ _ref$bottomShadow = _ref.bottomShadow,
40
+ bottomShadow = _ref$bottomShadow === void 0 ? false : _ref$bottomShadow;
39
41
  return /*#__PURE__*/_react["default"].createElement("div", {
40
42
  className: cn({
41
43
  'bg-color': backgroundColor,
44
+ 'bottom-shadow': bottomShadow,
42
45
  'disable-padding-top': disablePaddingTop,
43
46
  'disable-padding-bottom': disablePaddingBottom
44
47
  }, [className]),
@@ -55,7 +58,8 @@ Container.propTypes = {
55
58
  current: _propTypes["default"].elementType
56
59
  }), _propTypes["default"].any])]),
57
60
  disablePaddingTop: _propTypes["default"].bool,
58
- disablePaddingBottom: _propTypes["default"].bool
61
+ disablePaddingBottom: _propTypes["default"].bool,
62
+ bottomShadow: _propTypes["default"].bool
59
63
  };
60
64
  var _default = Container;
61
65
  exports["default"] = _default;
@@ -0,0 +1,66 @@
1
+ h1,
2
+ h2,
3
+ h3,
4
+ h4,
5
+ h5 {
6
+ margin: 0;
7
+ }
8
+ .mfui-device-mask {
9
+ position: relative;
10
+ width: 250px;
11
+ height: 550px;
12
+ overflow: hidden;
13
+ background-repeat: no-repeat;
14
+ background-size: cover;
15
+ }
16
+ .mfui-device-mask__screen-content {
17
+ position: absolute;
18
+ z-index: 0;
19
+ width: 214px;
20
+ height: 462px;
21
+ overflow: hidden;
22
+ }
23
+ .mfui-device-mask__screen-content_android {
24
+ top: 10px;
25
+ left: 10px;
26
+ width: 228px;
27
+ height: 460px;
28
+ }
29
+ .mfui-device-mask__screen-content_iphone {
30
+ top: 16px;
31
+ left: 16px;
32
+ width: 218px;
33
+ height: 469px;
34
+ }
35
+ .mfui-device-mask__screen-content_black-iphone,
36
+ .mfui-device-mask__screen-content_white-iphone {
37
+ top: 60px;
38
+ left: 17px;
39
+ width: 216px;
40
+ height: 381px;
41
+ }
42
+ .mfui-device-mask__screen-content > * {
43
+ max-width: 100%;
44
+ }
45
+ .mfui-device-mask__device {
46
+ position: absolute;
47
+ top: 0;
48
+ left: 0;
49
+ z-index: 1;
50
+ width: 100%;
51
+ height: 100%;
52
+ background-repeat: no-repeat;
53
+ background-size: 100% auto;
54
+ }
55
+ .mfui-device-mask__device_android {
56
+ background-image: url('./i/android.png');
57
+ }
58
+ .mfui-device-mask__device_iphone {
59
+ background-image: url('./i/iphone.png');
60
+ }
61
+ .mfui-device-mask__device_black-iphone {
62
+ background-image: url('./i/black-iphone.png');
63
+ }
64
+ .mfui-device-mask__device_white-iphone {
65
+ background-image: url('./i/white-iphone.png');
66
+ }
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import './DeviceMask.less';
3
+ export declare const Devices: {
4
+ readonly IPHONE: "iphone";
5
+ readonly ANDROID: "android";
6
+ readonly BLACK_IPHONE: "black-iphone";
7
+ readonly WHITE_IPHONE: "white-iphone";
8
+ };
9
+ declare type DevicesType = typeof Devices[keyof typeof Devices];
10
+ export interface IDeviceMaskProps {
11
+ device: DevicesType;
12
+ screenContent: React.ReactNode;
13
+ }
14
+ declare const DeviceMask: React.FC<IDeviceMaskProps>;
15
+ export default DeviceMask;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Devices = void 0;
7
+
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _uiHelpers = require("@megafon/ui-helpers");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ var Devices = {
17
+ IPHONE: 'iphone',
18
+ ANDROID: 'android',
19
+ BLACK_IPHONE: 'black-iphone',
20
+ WHITE_IPHONE: 'white-iphone'
21
+ };
22
+ exports.Devices = Devices;
23
+ var cn = (0, _uiHelpers.cnCreate)('mfui-device-mask');
24
+
25
+ var DeviceMask = function DeviceMask(_ref) {
26
+ var device = _ref.device,
27
+ screenContent = _ref.screenContent;
28
+ return /*#__PURE__*/_react["default"].createElement("div", {
29
+ className: cn()
30
+ }, /*#__PURE__*/_react["default"].createElement("div", {
31
+ className: cn('screen-content', (0, _defineProperty2["default"])({}, device, true))
32
+ }, screenContent), /*#__PURE__*/_react["default"].createElement("div", {
33
+ className: cn('device', (0, _defineProperty2["default"])({}, device, true))
34
+ }));
35
+ };
36
+
37
+ var _default = DeviceMask;
38
+ exports["default"] = _default;
@@ -33,6 +33,16 @@ h5 {
33
33
  margin-left: -16px;
34
34
  }
35
35
  }
36
+ .mfui-video-banner_bottom-shadow:after {
37
+ content: '';
38
+ position: absolute;
39
+ right: 0;
40
+ bottom: 0;
41
+ width: 100%;
42
+ height: 100%;
43
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(95.25%, rgba(255, 255, 255, 0)), to(rgba(0, 0, 0, 0.024)));
44
+ background: linear-gradient(180deg, rgba(255, 255, 255, 0) 95.25%, rgba(0, 0, 0, 0.024) 100%);
45
+ }
36
46
  .mfui-video-banner__wrapper {
37
47
  display: -webkit-box;
38
48
  display: -ms-flexbox;
@@ -104,6 +104,8 @@ interface IVideoBannerProps {
104
104
  breadcrumbs?: BreadCrumbsItemsType;
105
105
  /** Включить микроразметку хлебных крошек */
106
106
  hasBreadcrumbsMicrodata?: boolean;
107
+ /** Включить тень в нижней части компонента */
108
+ bottomShadow?: boolean;
107
109
  }
108
110
  declare const VideoBanner: React.FC<IVideoBannerProps>;
109
111
  export default VideoBanner;
@@ -100,7 +100,9 @@ var VideoBanner = function VideoBanner(_ref2) {
100
100
  _ref2$videoMobile = _ref2.videoMobile,
101
101
  videoMobile = _ref2$videoMobile === void 0 ? false : _ref2$videoMobile,
102
102
  _ref2$hasBreadcrumbsM = _ref2.hasBreadcrumbsMicrodata,
103
- hasBreadcrumbsMicrodata = _ref2$hasBreadcrumbsM === void 0 ? false : _ref2$hasBreadcrumbsM;
103
+ hasBreadcrumbsMicrodata = _ref2$hasBreadcrumbsM === void 0 ? false : _ref2$hasBreadcrumbsM,
104
+ _ref2$bottomShadow = _ref2.bottomShadow,
105
+ bottomShadow = _ref2$bottomShadow === void 0 ? false : _ref2$bottomShadow;
104
106
 
105
107
  var _React$useState = _react["default"].useState(true),
106
108
  _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
@@ -244,9 +246,12 @@ var VideoBanner = function VideoBanner(_ref2) {
244
246
  };
245
247
  }, [setIsMobile]);
246
248
 
247
- return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
248
- className: cn([className, classes.root]),
249
+ return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
249
250
  ref: rootRef
251
+ }, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
252
+ className: cn({
253
+ 'bottom-shadow': bottomShadow
254
+ }, [className, classes.root])
250
255
  }), /*#__PURE__*/_react["default"].createElement(_uiCore.ContentArea, null, /*#__PURE__*/_react["default"].createElement("div", {
251
256
  className: cn('wrapper')
252
257
  }, !!(breadcrumbs === null || breadcrumbs === void 0 ? void 0 : breadcrumbs.length) && /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
@@ -326,7 +331,8 @@ VideoBanner.propTypes = {
326
331
  title: PropTypes.string.isRequired,
327
332
  href: PropTypes.string
328
333
  }).isRequired),
329
- hasBreadcrumbsMicrodata: PropTypes.bool
334
+ hasBreadcrumbsMicrodata: PropTypes.bool,
335
+ bottomShadow: PropTypes.bool
330
336
  };
331
337
  var _default = VideoBanner;
332
338
  exports["default"] = _default;
@@ -15,6 +15,7 @@ export { default as Card } from './components/Card/Card';
15
15
  export { default as CardsBox } from './components/CardsBox/CardsBox';
16
16
  export { default as CarouselBox } from './components/CarouselBox/CarouselBox';
17
17
  export { default as Container } from './components/Container/Container';
18
+ export { default as DeviceMask } from './components/DeviceMask/DeviceMask';
18
19
  export { default as DownloadLink } from './components/DownloadLinks/DownloadLink';
19
20
  export { default as DownloadLinks } from './components/DownloadLinks/DownloadLinks';
20
21
  export { default as FaqWrapper } from './components/FaqWrapper/FaqWrapper';
package/dist/lib/index.js CHANGED
@@ -105,6 +105,12 @@ Object.defineProperty(exports, "Container", {
105
105
  return _Container["default"];
106
106
  }
107
107
  });
108
+ Object.defineProperty(exports, "DeviceMask", {
109
+ enumerable: true,
110
+ get: function get() {
111
+ return _DeviceMask["default"];
112
+ }
113
+ });
108
114
  Object.defineProperty(exports, "DownloadLink", {
109
115
  enumerable: true,
110
116
  get: function get() {
@@ -308,6 +314,8 @@ var _CarouselBox = _interopRequireDefault(require("./components/CarouselBox/Caro
308
314
 
309
315
  var _Container = _interopRequireDefault(require("./components/Container/Container"));
310
316
 
317
+ var _DeviceMask = _interopRequireDefault(require("./components/DeviceMask/DeviceMask"));
318
+
311
319
  var _DownloadLink = _interopRequireDefault(require("./components/DownloadLinks/DownloadLink"));
312
320
 
313
321
  var _DownloadLinks = _interopRequireDefault(require("./components/DownloadLinks/DownloadLinks"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@megafon/ui-shared",
3
- "version": "4.19.0",
3
+ "version": "4.20.1",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -86,7 +86,7 @@
86
86
  },
87
87
  "dependencies": {
88
88
  "@babel/runtime": "^7.8.4",
89
- "@megafon/ui-core": "^4.16.0",
89
+ "@megafon/ui-core": "^4.16.1",
90
90
  "@megafon/ui-helpers": "^2.5.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": "7e5ec2880019da52a81060df8e96320269ab5f2f"
97
+ "gitHead": "a5c7e2036b6bd896caecea24f7ddab0fd3648309"
98
98
  }