@megafon/ui-shared 6.13.0 → 6.15.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/dist/es/components/BenefitsIcons/style/BenefitsIcons.css +2 -0
- package/dist/es/components/BenefitsIcons/style/BenefitsIconsTile.css +7 -1
- package/dist/es/components/BenefitsIcons/types.d.ts +2 -0
- package/dist/es/components/BenefitsIcons/types.js +3 -1
- package/dist/es/components/Container/Container.css +376 -0
- package/dist/es/components/Partners/Partners.d.ts +1 -0
- package/dist/es/components/Partners/Partners.js +7 -2
- package/dist/es/components/PictureBox/PictureBox.css +88 -0
- package/dist/es/components/PictureBox/PictureBox.d.ts +46 -0
- package/dist/es/components/PictureBox/PictureBox.js +134 -0
- package/dist/es/components/PictureBox/img/mac-book-1x.png +0 -0
- package/dist/es/components/PictureBox/img/mac-book-2x.png +0 -0
- package/dist/es/helpers/getColumnConfig.d.ts +1 -1
- package/dist/es/index.d.ts +1 -0
- package/dist/es/index.js +1 -0
- package/dist/lib/components/BenefitsIcons/style/BenefitsIcons.css +2 -0
- package/dist/lib/components/BenefitsIcons/style/BenefitsIconsTile.css +7 -1
- package/dist/lib/components/BenefitsIcons/types.d.ts +2 -0
- package/dist/lib/components/BenefitsIcons/types.js +3 -1
- package/dist/lib/components/Container/Container.css +376 -0
- package/dist/lib/components/Partners/Partners.d.ts +1 -0
- package/dist/lib/components/Partners/Partners.js +7 -2
- package/dist/lib/components/PictureBox/PictureBox.css +88 -0
- package/dist/lib/components/PictureBox/PictureBox.d.ts +46 -0
- package/dist/lib/components/PictureBox/PictureBox.js +155 -0
- package/dist/lib/components/PictureBox/img/mac-book-1x.png +0 -0
- package/dist/lib/components/PictureBox/img/mac-book-2x.png +0 -0
- package/dist/lib/helpers/getColumnConfig.d.ts +1 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +8 -0
- package/package.json +3 -3
@@ -30,6 +30,7 @@ var Partners = function Partners(_ref) {
|
|
30
30
|
_ref$classes = _ref$classes === void 0 ? {} : _ref$classes;
|
31
31
|
var root = _ref$classes.root,
|
32
32
|
itemClass = _ref$classes.itemClass,
|
33
|
+
slide = _ref$classes.slide,
|
33
34
|
dataAttrs = _ref.dataAttrs,
|
34
35
|
className = _ref.className,
|
35
36
|
items = _ref.items,
|
@@ -84,6 +85,9 @@ var Partners = function Partners(_ref) {
|
|
84
85
|
var topRow = items.slice(0, halfItemsLength);
|
85
86
|
var bottomRow = items.slice(halfItemsLength);
|
86
87
|
return /*#__PURE__*/React.createElement(Carousel, {
|
88
|
+
classes: {
|
89
|
+
slide: cn('slide', [slide])
|
90
|
+
},
|
87
91
|
slidesSettings: slidesSettings,
|
88
92
|
onChange: onChange,
|
89
93
|
onNextClick: onNextClick,
|
@@ -102,7 +106,7 @@ var Partners = function Partners(_ref) {
|
|
102
106
|
className: cn('slide')
|
103
107
|
}, renderItem(item, i), renderItem(bottomRow[i], i));
|
104
108
|
}));
|
105
|
-
}, [items, onChange, onNextClick, onPrevClick, renderItem]);
|
109
|
+
}, [items, slide, onChange, onNextClick, onPrevClick, renderItem]);
|
106
110
|
return /*#__PURE__*/React.createElement("div", _extends({
|
107
111
|
ref: rootRef,
|
108
112
|
className: cn([root, className])
|
@@ -115,7 +119,8 @@ Partners.propTypes = {
|
|
115
119
|
}), PropTypes.any])]),
|
116
120
|
classes: PropTypes.shape({
|
117
121
|
root: PropTypes.string,
|
118
|
-
itemClass: PropTypes.string
|
122
|
+
itemClass: PropTypes.string,
|
123
|
+
slide: PropTypes.string
|
119
124
|
}),
|
120
125
|
dataAttrs: PropTypes.shape({
|
121
126
|
root: PropTypes.objectOf(PropTypes.string.isRequired),
|
@@ -0,0 +1,88 @@
|
|
1
|
+
h1,
|
2
|
+
h2,
|
3
|
+
h3,
|
4
|
+
h4,
|
5
|
+
h5 {
|
6
|
+
margin: 0;
|
7
|
+
}
|
8
|
+
.mfui-v6-picture-box_mask_none .mfui-v6-picture-box__image {
|
9
|
+
width: 100%;
|
10
|
+
border-radius: 24px;
|
11
|
+
vertical-align: top;
|
12
|
+
}
|
13
|
+
@media screen and (min-width: 768px) {
|
14
|
+
.mfui-v6-picture-box_mask_none .mfui-v6-picture-box__image {
|
15
|
+
height: 414px;
|
16
|
+
-o-object-fit: cover;
|
17
|
+
object-fit: cover;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
@media screen and (min-width: 1280px) {
|
21
|
+
.mfui-v6-picture-box_mask_none .mfui-v6-picture-box__image {
|
22
|
+
height: 520px;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
.mfui-v6-picture-box_mask_mac-book .mfui-v6-picture-box__image {
|
26
|
+
position: absolute;
|
27
|
+
top: 2%;
|
28
|
+
right: 0;
|
29
|
+
left: 0;
|
30
|
+
width: 82%;
|
31
|
+
height: 87%;
|
32
|
+
margin: 0 auto;
|
33
|
+
border-top-left-radius: 1.4% 2.29885057%;
|
34
|
+
border-top-right-radius: 1.4% 2.29885057%;
|
35
|
+
-o-object-fit: cover;
|
36
|
+
object-fit: cover;
|
37
|
+
}
|
38
|
+
.mfui-v6-picture-box__content {
|
39
|
+
-ms-flex-item-align: center;
|
40
|
+
align-self: center;
|
41
|
+
margin-top: 32px;
|
42
|
+
}
|
43
|
+
@media screen and (min-width: 1024px) {
|
44
|
+
.mfui-v6-picture-box__content {
|
45
|
+
margin-top: 0;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
@media screen and (min-width: 1024px) and (max-width: 1279px) {
|
49
|
+
.mfui-v6-picture-box_align_left .mfui-v6-picture-box__content {
|
50
|
+
margin-left: 12px;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
@media screen and (min-width: 1280px) {
|
54
|
+
.mfui-v6-picture-box_align_left .mfui-v6-picture-box__content {
|
55
|
+
margin-left: 44px;
|
56
|
+
}
|
57
|
+
}
|
58
|
+
@media screen and (min-width: 1024px) and (max-width: 1279px) {
|
59
|
+
.mfui-v6-picture-box_align_right .mfui-v6-picture-box__content {
|
60
|
+
margin-right: 12px;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
@media screen and (min-width: 1280px) {
|
64
|
+
.mfui-v6-picture-box_align_right .mfui-v6-picture-box__content {
|
65
|
+
margin-right: 44px;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
.mfui-v6-picture-box__button-wrapper {
|
69
|
+
display: -webkit-box;
|
70
|
+
display: -ms-flexbox;
|
71
|
+
display: flex;
|
72
|
+
-ms-flex-wrap: wrap;
|
73
|
+
flex-wrap: wrap;
|
74
|
+
gap: 20px;
|
75
|
+
margin-top: 32px;
|
76
|
+
}
|
77
|
+
.mfui-v6-picture-box_mask_mac-book .mfui-v6-picture-box__mask {
|
78
|
+
position: relative;
|
79
|
+
padding-bottom: 60.9%;
|
80
|
+
background-image: url('./img/mac-book-1x.png');
|
81
|
+
background-repeat: no-repeat;
|
82
|
+
background-size: 100% auto;
|
83
|
+
}
|
84
|
+
@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min--moz-device-pixel-ratio: 2), screen and (min-device-pixel-ratio: 2), screen and (min-resolution: 192dpi), screen and (min-resolution: 2dppx) {
|
85
|
+
.mfui-v6-picture-box_mask_mac-book .mfui-v6-picture-box__mask {
|
86
|
+
background-image: url('./img/mac-book-2x.png');
|
87
|
+
}
|
88
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import './PictureBox.less';
|
3
|
+
declare type ImageType = {
|
4
|
+
src: string;
|
5
|
+
src2x?: string;
|
6
|
+
align?: 'right' | 'left';
|
7
|
+
alt?: string;
|
8
|
+
};
|
9
|
+
declare type ButtonType = {
|
10
|
+
title?: string;
|
11
|
+
href?: string;
|
12
|
+
target?: '_self' | '_blank';
|
13
|
+
rel?: string;
|
14
|
+
onClick?: (e: React.SyntheticEvent<EventTarget>) => void;
|
15
|
+
};
|
16
|
+
export interface IPictureBoxProps {
|
17
|
+
/** Изображение */
|
18
|
+
image: ImageType;
|
19
|
+
/** Кнопка */
|
20
|
+
button?: ButtonType;
|
21
|
+
/** Дополнительная кнопка */
|
22
|
+
extraButton?: ButtonType;
|
23
|
+
/** Маска */
|
24
|
+
pictureMask?: 'mac-book' | 'none';
|
25
|
+
/** Ссылка на корневой элемент */
|
26
|
+
rootRef?: React.Ref<HTMLDivElement>;
|
27
|
+
/** Дополнительный класс для корневого элемента */
|
28
|
+
className?: string;
|
29
|
+
/** Дополнительный класс корневого элемента */
|
30
|
+
classes?: {
|
31
|
+
root?: string;
|
32
|
+
button?: string;
|
33
|
+
extraButton?: string;
|
34
|
+
};
|
35
|
+
/** Дополнительные data атрибуты к внутренним элементам */
|
36
|
+
dataAttrs?: {
|
37
|
+
root?: Record<string, string>;
|
38
|
+
button?: Record<string, string>;
|
39
|
+
extraButton?: Record<string, string>;
|
40
|
+
image?: Record<string, string>;
|
41
|
+
mask?: Record<string, string>;
|
42
|
+
buttonsWrapper?: Record<string, string>;
|
43
|
+
};
|
44
|
+
}
|
45
|
+
declare const PictureBox: React.FC<IPictureBoxProps>;
|
46
|
+
export default PictureBox;
|
@@ -0,0 +1,134 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
import "core-js/modules/es.array.concat.js";
|
3
|
+
import * as React from 'react';
|
4
|
+
import { Button, Grid, GridColumn } from '@megafon/ui-core';
|
5
|
+
import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
|
6
|
+
import PropTypes from 'prop-types';
|
7
|
+
import "./PictureBox.css";
|
8
|
+
var cn = cnCreate('mfui-v6-picture-box');
|
9
|
+
|
10
|
+
var PictureBox = function PictureBox(_ref) {
|
11
|
+
var image = _ref.image,
|
12
|
+
button = _ref.button,
|
13
|
+
extraButton = _ref.extraButton,
|
14
|
+
_ref$pictureMask = _ref.pictureMask,
|
15
|
+
pictureMask = _ref$pictureMask === void 0 ? 'none' : _ref$pictureMask,
|
16
|
+
dataAttrs = _ref.dataAttrs,
|
17
|
+
className = _ref.className,
|
18
|
+
classes = _ref.classes,
|
19
|
+
rootRef = _ref.rootRef,
|
20
|
+
children = _ref.children;
|
21
|
+
var imageSrc = image.src,
|
22
|
+
imageSrc2x = image.src2x,
|
23
|
+
_image$align = image.align,
|
24
|
+
imageAlign = _image$align === void 0 ? 'left' : _image$align,
|
25
|
+
_image$alt = image.alt,
|
26
|
+
imageAlt = _image$alt === void 0 ? '' : _image$alt;
|
27
|
+
var imageOrder = imageAlign === 'left' ? '0' : '1';
|
28
|
+
|
29
|
+
var renderImg = function renderImg() {
|
30
|
+
var srcSet = imageSrc2x ? "".concat(imageSrc, ", ").concat(imageSrc2x, " 2x") : undefined;
|
31
|
+
var img = /*#__PURE__*/React.createElement("img", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.image), {
|
32
|
+
className: cn('image'),
|
33
|
+
srcSet: srcSet,
|
34
|
+
src: imageSrc,
|
35
|
+
alt: imageAlt
|
36
|
+
}));
|
37
|
+
|
38
|
+
if (pictureMask !== 'none') {
|
39
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.mask), {
|
40
|
+
className: cn('mask')
|
41
|
+
}), img);
|
42
|
+
}
|
43
|
+
|
44
|
+
return img;
|
45
|
+
};
|
46
|
+
|
47
|
+
var renderButtons = function renderButtons() {
|
48
|
+
if (!button && !extraButton) {
|
49
|
+
return null;
|
50
|
+
}
|
51
|
+
|
52
|
+
return /*#__PURE__*/React.createElement("div", _extends({}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.buttonsWrapper), {
|
53
|
+
className: cn('button-wrapper')
|
54
|
+
}), !!button && /*#__PURE__*/React.createElement(Button, {
|
55
|
+
href: button.href,
|
56
|
+
target: button.target,
|
57
|
+
rel: button.rel,
|
58
|
+
dataAttrs: {
|
59
|
+
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.button
|
60
|
+
},
|
61
|
+
classes: {
|
62
|
+
root: classes === null || classes === void 0 ? void 0 : classes.button
|
63
|
+
},
|
64
|
+
onClick: button.onClick
|
65
|
+
}, button.title), !!extraButton && /*#__PURE__*/React.createElement(Button, {
|
66
|
+
href: extraButton.href,
|
67
|
+
target: extraButton.target,
|
68
|
+
rel: extraButton.rel,
|
69
|
+
type: "outline",
|
70
|
+
dataAttrs: {
|
71
|
+
root: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.extraButton
|
72
|
+
},
|
73
|
+
classes: {
|
74
|
+
root: classes === null || classes === void 0 ? void 0 : classes.extraButton
|
75
|
+
},
|
76
|
+
onClick: extraButton.onClick
|
77
|
+
}, extraButton.title));
|
78
|
+
};
|
79
|
+
|
80
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
81
|
+
className: cn({
|
82
|
+
align: imageAlign,
|
83
|
+
mask: pictureMask
|
84
|
+
}, [classes === null || classes === void 0 ? void 0 : classes.root, className])
|
85
|
+
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
86
|
+
ref: rootRef
|
87
|
+
}), /*#__PURE__*/React.createElement(Grid, {
|
88
|
+
guttersLeft: "medium"
|
89
|
+
}, /*#__PURE__*/React.createElement(GridColumn, {
|
90
|
+
all: "7",
|
91
|
+
tablet: "12",
|
92
|
+
mobile: "12",
|
93
|
+
orderWide: imageOrder,
|
94
|
+
orderDesktop: imageOrder
|
95
|
+
}, renderImg()), /*#__PURE__*/React.createElement(GridColumn, {
|
96
|
+
all: "5",
|
97
|
+
tablet: "12",
|
98
|
+
mobile: "12",
|
99
|
+
flex: true
|
100
|
+
}, /*#__PURE__*/React.createElement("div", {
|
101
|
+
className: cn('content')
|
102
|
+
}, children, renderButtons()))));
|
103
|
+
};
|
104
|
+
|
105
|
+
PictureBox.propTypes = {
|
106
|
+
image: PropTypes.shape({
|
107
|
+
src: PropTypes.string.isRequired,
|
108
|
+
src2x: PropTypes.string,
|
109
|
+
align: PropTypes.oneOf(['right', 'left']),
|
110
|
+
alt: PropTypes.string
|
111
|
+
}).isRequired,
|
112
|
+
button: PropTypes.shape({
|
113
|
+
title: PropTypes.string,
|
114
|
+
href: PropTypes.string,
|
115
|
+
target: PropTypes.oneOf(['_self', '_blank']),
|
116
|
+
rel: PropTypes.string,
|
117
|
+
onClick: PropTypes.func
|
118
|
+
}),
|
119
|
+
extraButton: PropTypes.shape({
|
120
|
+
title: PropTypes.string,
|
121
|
+
href: PropTypes.string,
|
122
|
+
target: PropTypes.oneOf(['_self', '_blank']),
|
123
|
+
rel: PropTypes.string,
|
124
|
+
onClick: PropTypes.func
|
125
|
+
}),
|
126
|
+
pictureMask: PropTypes.oneOf(['mac-book', 'none']),
|
127
|
+
className: PropTypes.string,
|
128
|
+
classes: PropTypes.objectOf(PropTypes.string),
|
129
|
+
dataAttrs: PropTypes.objectOf(PropTypes.object),
|
130
|
+
rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
|
131
|
+
current: PropTypes.elementType
|
132
|
+
}), PropTypes.any])])
|
133
|
+
};
|
134
|
+
export default PictureBox;
|
Binary file
|
Binary file
|
@@ -1,2 +1,2 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
export declare const getColumnConfig: (isFullWidth: boolean) => Pick<React.PropsWithChildren<import("
|
2
|
+
export declare const getColumnConfig: (isFullWidth: boolean) => Pick<React.PropsWithChildren<import("@megafon/ui-core/dist/lib/components/Grid/GridColumn").IGridColumn>, "all" | "wide" | "mobile" | "desktop" | "tablet">;
|
package/dist/es/index.d.ts
CHANGED
@@ -30,6 +30,7 @@ export { default as Instructions } from './components/Instructions/Instructions'
|
|
30
30
|
export { default as NotificationBox } from './components/NotificationBox/NotificationBox';
|
31
31
|
export { default as PageTitle } from './components/PageTitle/PageTitle';
|
32
32
|
export { default as Partners } from './components/Partners/Partners';
|
33
|
+
export { default as PictureBox } from './components/PictureBox/PictureBox';
|
33
34
|
export { default as PictureWithDescription } from './components/PictureWithDescription/PictureWithDescription';
|
34
35
|
export { default as PromoCard } from './components/PromoCards/components/PromoCard/PromoCard';
|
35
36
|
export { default as PromoCards } from './components/PromoCards/PromoCards';
|
package/dist/es/index.js
CHANGED
@@ -30,6 +30,7 @@ export { default as Instructions } from "./components/Instructions/Instructions"
|
|
30
30
|
export { default as NotificationBox } from "./components/NotificationBox/NotificationBox";
|
31
31
|
export { default as PageTitle } from "./components/PageTitle/PageTitle";
|
32
32
|
export { default as Partners } from "./components/Partners/Partners";
|
33
|
+
export { default as PictureBox } from "./components/PictureBox/PictureBox";
|
33
34
|
export { default as PictureWithDescription } from "./components/PictureWithDescription/PictureWithDescription";
|
34
35
|
export { default as PromoCard } from "./components/PromoCards/components/PromoCard/PromoCard";
|
35
36
|
export { default as PromoCards } from "./components/PromoCards/PromoCards";
|
@@ -8,7 +8,7 @@ h5 {
|
|
8
8
|
.mfui-v6-benefits-icons-tile {
|
9
9
|
min-height: 100%;
|
10
10
|
padding: 24px;
|
11
|
-
border-radius:
|
11
|
+
border-radius: 24px;
|
12
12
|
}
|
13
13
|
.mfui-v6-benefits-icons-tile_background_transparent {
|
14
14
|
padding: 0;
|
@@ -22,6 +22,12 @@ h5 {
|
|
22
22
|
.mfui-v6-benefits-icons-tile_background_purple {
|
23
23
|
background-color: var(--brandPurple20);
|
24
24
|
}
|
25
|
+
.mfui-v6-benefits-icons-tile_background_white {
|
26
|
+
background-color: var(--base);
|
27
|
+
}
|
28
|
+
.mfui-v6-benefits-icons-tile_background_stroke {
|
29
|
+
border: 1px solid var(--spbSky2);
|
30
|
+
}
|
25
31
|
.mfui-v6-benefits-icons-tile .mfui-v6-benefits-icons-tile__svg-icon {
|
26
32
|
margin-bottom: 10px;
|
27
33
|
}
|
@@ -38,6 +38,8 @@ export declare const BackgroundEnum: {
|
|
38
38
|
readonly GRAY: "gray";
|
39
39
|
readonly GREEN: "green";
|
40
40
|
readonly PURPLE: "purple";
|
41
|
+
readonly WHITE: "white";
|
42
|
+
readonly STROKE: "stroke";
|
41
43
|
};
|
42
44
|
export declare type BackgroundType = typeof BackgroundEnum[keyof typeof BackgroundEnum];
|
43
45
|
export declare type GridConfig = {
|