@megafon/ui-core 8.0.5 → 8.1.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/Parameter/Parameter.css +1 -0
- package/dist/es/components/Parameter/Parameter.d.ts +59 -0
- package/dist/es/components/Parameter/Parameter.js +139 -0
- package/dist/es/components/Parameter/components/ParameterDescription.css +1 -0
- package/dist/es/components/Parameter/components/ParameterDescription.d.ts +16 -0
- package/dist/es/components/Parameter/components/ParameterDescription.js +39 -0
- package/dist/es/components/Parameter/helpers.d.ts +6 -0
- package/dist/es/components/Parameter/helpers.js +10 -0
- package/dist/es/index.d.ts +2 -0
- package/dist/es/index.js +2 -0
- package/dist/lib/components/Parameter/Parameter.css +1 -0
- package/dist/lib/components/Parameter/Parameter.d.ts +59 -0
- package/dist/lib/components/Parameter/Parameter.js +148 -0
- package/dist/lib/components/Parameter/components/ParameterDescription.css +1 -0
- package/dist/lib/components/Parameter/components/ParameterDescription.d.ts +16 -0
- package/dist/lib/components/Parameter/components/ParameterDescription.js +48 -0
- package/dist/lib/components/Parameter/helpers.d.ts +6 -0
- package/dist/lib/components/Parameter/helpers.js +16 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.js +14 -0
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@charset "UTF-8";h1,h2,h3,h4,h5{margin:0}.mfui-parameter__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:24px 0}.mfui-parameter_border-top.mfui-parameter_border-color_default .mfui-parameter__wrapper{border-top:1px solid var(--spbSky1)}.mfui-parameter_border-bottom.mfui-parameter_border-color_default .mfui-parameter__wrapper{border-bottom:1px solid var(--spbSky1)}.mfui-parameter_border-top.mfui-parameter_border-color_darker .mfui-parameter__wrapper{border-top:1px solid var(--spbSky2)}.mfui-parameter_border-bottom.mfui-parameter_border-color_darker .mfui-parameter__wrapper{border-bottom:1px solid var(--spbSky2)}.mfui-parameter__main{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.mfui-parameter__main:not(:first-child){margin-top:24px}.mfui-parameter__main_with-out-title{margin-top:16px!important}.mfui-parameter__main_with-badge{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.mfui-parameter__title-item_size_default{font-size:15px;font-weight:500;line-height:24px}.mfui-parameter__title-item_size_big{font-size:18px;font-weight:500;letter-spacing:.5px;line-height:24px}@media screen and (min-width:1280px){.mfui-parameter__title-item_size_big{font-size:20px;line-height:28px}}@media screen and (max-width:767px){.mfui-parameter__title-item{font-size:15px;font-weight:500;line-height:24px}}.mfui-parameter__icon{display:inline-block;height:24px;margin-left:1px;margin-right:8px;overflow:hidden;vertical-align:bottom;width:24px}.mfui-parameter__badge{margin-bottom:8px}@media screen and (min-width:768px){.mfui-parameter__title .mfui-parameter__desc{width:100%}}.mfui-parameter__tooltip{cursor:pointer;display:inline-block;height:20px;margin-left:8px;vertical-align:text-bottom;width:20px;fill:var(--spbSky2)}.mfui-parameter__tooltip-inner{max-width:350px}.mfui-parameter__desc{margin-top:12px}@media screen and (min-width:768px){.mfui-parameter__desc{width:70%}}.mfui-parameter__desc_collapsible{margin-top:12px}.mfui-parameter__value-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-radius:8px;padding:4px 8px;text-align:right;white-space:pre-line}.mfui-parameter__value-wrapper_frame_default{background:var(--base)}.mfui-parameter__value-wrapper_frame_gray{background:var(--spbSky0)}.mfui-parameter__value{font-size:18px;font-weight:500;letter-spacing:.5px;line-height:24px}@media screen and (min-width:1280px){.mfui-parameter__value{font-size:20px;line-height:28px}}@media screen and (max-width:767px){.mfui-parameter__value{font-size:15px;font-weight:500;line-height:24px}}.mfui-parameter__value-unit:before{content:" "}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import PromoBadge from '../Badges/PromoBadge/PromoBadge';
|
|
3
|
+
import { DescriptionType } from './components/ParameterDescription';
|
|
4
|
+
import './Parameter.scss';
|
|
5
|
+
type BadgeTypesType = React.ComponentProps<typeof PromoBadge>['type'];
|
|
6
|
+
type BadgeColorType = React.ComponentProps<typeof PromoBadge>['color'];
|
|
7
|
+
type TitleSizeType = 'default' | 'big';
|
|
8
|
+
type ValueFrameColorType = 'none' | 'default' | 'gray';
|
|
9
|
+
type ItemType = {
|
|
10
|
+
title?: React.ReactNode[];
|
|
11
|
+
titleSize?: TitleSizeType;
|
|
12
|
+
description?: DescriptionType[];
|
|
13
|
+
value?: string | React.ReactNode;
|
|
14
|
+
valueUnit?: string;
|
|
15
|
+
valueFrameColor?: ValueFrameColorType;
|
|
16
|
+
};
|
|
17
|
+
export interface IParameter {
|
|
18
|
+
/** Массив с данными для строки */
|
|
19
|
+
items: ItemType[];
|
|
20
|
+
/** Дополнительный класс для основного контейнера */
|
|
21
|
+
className?: string;
|
|
22
|
+
/** Текст для бейджа */
|
|
23
|
+
badge?: string;
|
|
24
|
+
/** DEPRECATED. Тип бэйджа (используйте badgeColor) */
|
|
25
|
+
badgeType?: BadgeTypesType;
|
|
26
|
+
/** Цвет бейджа */
|
|
27
|
+
badgeColor?: BadgeColorType;
|
|
28
|
+
/** Текст тултипа */
|
|
29
|
+
tooltip?: string;
|
|
30
|
+
/** Отключить верхнюю границу */
|
|
31
|
+
disableBorderTop?: boolean;
|
|
32
|
+
/** Наличие нижней границы */
|
|
33
|
+
borderBottom?: boolean;
|
|
34
|
+
/** Цвет верхней и нижней границ */
|
|
35
|
+
borderColor?: 'default' | 'darker';
|
|
36
|
+
/** Единое значение для всей строки */
|
|
37
|
+
mergedValue?: string;
|
|
38
|
+
/** Иконка для строки */
|
|
39
|
+
icon?: React.ReactNode;
|
|
40
|
+
/** Растягивание компонента на всю доступную ширину */
|
|
41
|
+
fullWidth?: boolean;
|
|
42
|
+
/** Дополнительные data атрибуты к внутренним элементам */
|
|
43
|
+
dataAttrs?: {
|
|
44
|
+
root?: Record<string, string>;
|
|
45
|
+
moreLink?: Record<string, string>;
|
|
46
|
+
itemTitle?: Record<string, string>;
|
|
47
|
+
itemValue?: Record<string, string>;
|
|
48
|
+
};
|
|
49
|
+
/** Дополнительные классы для внутренних элементов */
|
|
50
|
+
classes?: {
|
|
51
|
+
title?: string;
|
|
52
|
+
openedDescription?: string;
|
|
53
|
+
toggleDescription?: string;
|
|
54
|
+
};
|
|
55
|
+
/** Ссылка на корневой элемент */
|
|
56
|
+
rootRef?: React.Ref<HTMLDivElement>;
|
|
57
|
+
}
|
|
58
|
+
declare const Parameter: React.FC<IParameter>;
|
|
59
|
+
export default Parameter;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import "core-js/modules/es.symbol.js";
|
|
3
|
+
import "core-js/modules/es.symbol.description.js";
|
|
4
|
+
import "core-js/modules/es.array.map.js";
|
|
5
|
+
import * as React from 'react';
|
|
6
|
+
import { cnCreate, filterDataAttrs, convert } from '@megafon/ui-helpers';
|
|
7
|
+
import PromoBadge from "../Badges/PromoBadge/PromoBadge";
|
|
8
|
+
import Caption from "../Caption/Caption";
|
|
9
|
+
import Grid from "../Grid/Grid";
|
|
10
|
+
import GridColumn from "../Grid/GridColumn";
|
|
11
|
+
import Tooltip from "../Tooltip/Tooltip";
|
|
12
|
+
import ParameterDescription from "./components/ParameterDescription";
|
|
13
|
+
import { getColumnConfig } from "./helpers";
|
|
14
|
+
import "./Parameter.css";
|
|
15
|
+
var InfoIcon = function InfoIcon(props) {
|
|
16
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
|
17
|
+
viewBox: "0 0 20 20"
|
|
18
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
19
|
+
d: "M10 2c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm0 5c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1zm1 8V9H9v6h2z"
|
|
20
|
+
}));
|
|
21
|
+
};
|
|
22
|
+
var cn = cnCreate('mfui-parameter');
|
|
23
|
+
var Parameter = function Parameter(_ref) {
|
|
24
|
+
var items = _ref.items,
|
|
25
|
+
className = _ref.className,
|
|
26
|
+
_ref$badge = _ref.badge,
|
|
27
|
+
badge = _ref$badge === void 0 ? '' : _ref$badge,
|
|
28
|
+
_ref$badgeType = _ref.badgeType,
|
|
29
|
+
badgeType = _ref$badgeType === void 0 ? 'popular' : _ref$badgeType,
|
|
30
|
+
badgeColor = _ref.badgeColor,
|
|
31
|
+
tooltip = _ref.tooltip,
|
|
32
|
+
icon = _ref.icon,
|
|
33
|
+
_ref$disableBorderTop = _ref.disableBorderTop,
|
|
34
|
+
disableBorderTop = _ref$disableBorderTop === void 0 ? false : _ref$disableBorderTop,
|
|
35
|
+
_ref$borderBottom = _ref.borderBottom,
|
|
36
|
+
borderBottom = _ref$borderBottom === void 0 ? false : _ref$borderBottom,
|
|
37
|
+
_ref$borderColor = _ref.borderColor,
|
|
38
|
+
borderColor = _ref$borderColor === void 0 ? 'default' : _ref$borderColor,
|
|
39
|
+
_ref$mergedValue = _ref.mergedValue,
|
|
40
|
+
mergedValue = _ref$mergedValue === void 0 ? '' : _ref$mergedValue,
|
|
41
|
+
_ref$fullWidth = _ref.fullWidth,
|
|
42
|
+
fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,
|
|
43
|
+
_ref$classes = _ref.classes,
|
|
44
|
+
classes = _ref$classes === void 0 ? {} : _ref$classes,
|
|
45
|
+
dataAttrs = _ref.dataAttrs,
|
|
46
|
+
rootRef = _ref.rootRef;
|
|
47
|
+
var tooltipRef = React.useRef(null);
|
|
48
|
+
var renderTitle = function renderTitle(titles, titleSize, isFirstItem) {
|
|
49
|
+
return titles === null || titles === void 0 ? void 0 : titles.map(function (titleItem, i) {
|
|
50
|
+
var isFirstTitle = i === 0;
|
|
51
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
52
|
+
key: i,
|
|
53
|
+
className: cn('title-item', {
|
|
54
|
+
size: titleSize
|
|
55
|
+
}, [classes.title])
|
|
56
|
+
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.itemTitle, i + 1)), icon && isFirstTitle && /*#__PURE__*/React.createElement("div", {
|
|
57
|
+
className: cn('icon')
|
|
58
|
+
}, icon), titleItem, tooltip && isFirstItem && isFirstTitle && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
className: cn('tooltip'),
|
|
60
|
+
ref: tooltipRef
|
|
61
|
+
}, /*#__PURE__*/React.createElement(InfoIcon, null)), /*#__PURE__*/React.createElement(Tooltip, {
|
|
62
|
+
className: cn('tooltip-inner'),
|
|
63
|
+
triggerElement: tooltipRef
|
|
64
|
+
}, tooltip)));
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
var renderDescription = function renderDescription(description) {
|
|
68
|
+
return description === null || description === void 0 ? void 0 : description.map(function (_ref2, j) {
|
|
69
|
+
var value = _ref2.value,
|
|
70
|
+
isCollapsible = _ref2.isCollapsible;
|
|
71
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
72
|
+
className: cn('desc', {
|
|
73
|
+
collapsible: isCollapsible
|
|
74
|
+
}),
|
|
75
|
+
key: j
|
|
76
|
+
}, /*#__PURE__*/React.createElement(ParameterDescription, {
|
|
77
|
+
value: value,
|
|
78
|
+
isCollapsible: isCollapsible,
|
|
79
|
+
dataAttrs: {
|
|
80
|
+
moreLink: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.moreLink
|
|
81
|
+
},
|
|
82
|
+
classes: {
|
|
83
|
+
open: classes.openedDescription,
|
|
84
|
+
toggle: classes.toggleDescription
|
|
85
|
+
}
|
|
86
|
+
}));
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
var renderValue = function renderValue(valueFrameColor, value, valueUnit) {
|
|
90
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
91
|
+
className: cn('value-wrapper', {
|
|
92
|
+
frame: valueFrameColor
|
|
93
|
+
})
|
|
94
|
+
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.itemValue)), /*#__PURE__*/React.createElement("div", {
|
|
95
|
+
className: cn('value')
|
|
96
|
+
}, typeof value === 'string' ? convert(value, {}) : value), valueUnit && /*#__PURE__*/React.createElement(Caption, {
|
|
97
|
+
className: cn('value-unit'),
|
|
98
|
+
hasMargin: false
|
|
99
|
+
}, convert(valueUnit, {})));
|
|
100
|
+
};
|
|
101
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
102
|
+
className: cn({
|
|
103
|
+
'border-top': !disableBorderTop,
|
|
104
|
+
'border-bottom': borderBottom,
|
|
105
|
+
'border-color': borderColor
|
|
106
|
+
}, [className])
|
|
107
|
+
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
|
108
|
+
ref: rootRef
|
|
109
|
+
}), /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(GridColumn, getColumnConfig(fullWidth), /*#__PURE__*/React.createElement("div", {
|
|
110
|
+
className: cn('wrapper')
|
|
111
|
+
}, items.map(function (_ref3, i) {
|
|
112
|
+
var title = _ref3.title,
|
|
113
|
+
value = _ref3.value,
|
|
114
|
+
description = _ref3.description,
|
|
115
|
+
_ref3$valueUnit = _ref3.valueUnit,
|
|
116
|
+
valueUnit = _ref3$valueUnit === void 0 ? '' : _ref3$valueUnit,
|
|
117
|
+
_ref3$titleSize = _ref3.titleSize,
|
|
118
|
+
titleSize = _ref3$titleSize === void 0 ? 'default' : _ref3$titleSize,
|
|
119
|
+
_ref3$valueFrameColor = _ref3.valueFrameColor,
|
|
120
|
+
valueFrameColor = _ref3$valueFrameColor === void 0 ? 'none' : _ref3$valueFrameColor;
|
|
121
|
+
var isFirstItem = i === 0;
|
|
122
|
+
var isRenderBadge = isFirstItem && !!badge;
|
|
123
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
124
|
+
key: i
|
|
125
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
126
|
+
className: cn('main', {
|
|
127
|
+
'with-badge': isRenderBadge,
|
|
128
|
+
'with-out-title': !title
|
|
129
|
+
})
|
|
130
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
131
|
+
className: cn('title')
|
|
132
|
+
}, isRenderBadge && /*#__PURE__*/React.createElement(PromoBadge, {
|
|
133
|
+
className: cn('badge'),
|
|
134
|
+
type: badgeType,
|
|
135
|
+
color: badgeColor
|
|
136
|
+
}, badge), title ? renderTitle(title, titleSize, isFirstItem) : renderDescription(description)), mergedValue && isFirstItem && renderValue(valueFrameColor, mergedValue, valueUnit), !mergedValue && value && renderValue(valueFrameColor, value, valueUnit)), title && renderDescription(description));
|
|
137
|
+
})))));
|
|
138
|
+
};
|
|
139
|
+
export default Parameter;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
h1,h2,h3,h4,h5{margin:0}.mfui-parameter-description__collapse{color:var(--systemBlue);cursor:pointer;font-size:12px;-webkit-text-decoration:underline dashed var(--systemBlue);text-decoration:underline dashed var(--systemBlue)}.mfui-parameter-description__content-inner{margin-bottom:8px}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import './ParameterDescription.scss';
|
|
3
|
+
export type DescriptionType = {
|
|
4
|
+
value: string | React.ReactNode[];
|
|
5
|
+
isCollapsible?: boolean;
|
|
6
|
+
classes?: {
|
|
7
|
+
toggle?: string;
|
|
8
|
+
open?: string;
|
|
9
|
+
};
|
|
10
|
+
dataAttrs?: {
|
|
11
|
+
root?: Record<string, string>;
|
|
12
|
+
moreLink?: Record<string, string>;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
declare const ParameterDescription: React.FC<DescriptionType>;
|
|
16
|
+
export default ParameterDescription;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { cnCreate, filterDataAttrs } from '@megafon/ui-helpers';
|
|
5
|
+
import Collapse from "../../_Collapse/Collapse";
|
|
6
|
+
import "./ParameterDescription.css";
|
|
7
|
+
var cn = cnCreate('mfui-parameter-description');
|
|
8
|
+
var ParameterDescription = function ParameterDescription(_ref) {
|
|
9
|
+
var value = _ref.value,
|
|
10
|
+
_ref$isCollapsible = _ref.isCollapsible,
|
|
11
|
+
isCollapsible = _ref$isCollapsible === void 0 ? false : _ref$isCollapsible,
|
|
12
|
+
_ref$classes = _ref.classes,
|
|
13
|
+
classes = _ref$classes === void 0 ? {} : _ref$classes,
|
|
14
|
+
dataAttrs = _ref.dataAttrs;
|
|
15
|
+
var _React$useState = React.useState(false),
|
|
16
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
17
|
+
isOpened = _React$useState2[0],
|
|
18
|
+
setIsOpened = _React$useState2[1];
|
|
19
|
+
var handleClickDesc = React.useCallback(function () {
|
|
20
|
+
return setIsOpened(!isOpened);
|
|
21
|
+
}, [isOpened]);
|
|
22
|
+
if (isCollapsible) {
|
|
23
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
24
|
+
className: cn([isOpened ? classes.open : undefined])
|
|
25
|
+
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), /*#__PURE__*/React.createElement(Collapse, {
|
|
26
|
+
className: cn('content'),
|
|
27
|
+
classNameContainer: cn('content-inner'),
|
|
28
|
+
isOpened: isOpened
|
|
29
|
+
}, value), /*#__PURE__*/React.createElement("span", _extends({
|
|
30
|
+
className: cn('collapse', classes.toggle)
|
|
31
|
+
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.moreLink), {
|
|
32
|
+
onClick: handleClickDesc
|
|
33
|
+
}), isOpened ? 'Скрыть' : 'Подробнее'));
|
|
34
|
+
}
|
|
35
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
36
|
+
className: cn()
|
|
37
|
+
}, value);
|
|
38
|
+
};
|
|
39
|
+
export default ParameterDescription;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import GridColumn from '../Grid/GridColumn';
|
|
3
|
+
type GridColumnPropsType = React.ComponentProps<typeof GridColumn>;
|
|
4
|
+
type GridColumnConfigType = Partial<Pick<GridColumnPropsType, 'all' | 'wide' | 'desktop' | 'tablet' | 'mobile'>>;
|
|
5
|
+
export declare const getColumnConfig: (isFullWidth: boolean) => GridColumnConfigType;
|
|
6
|
+
export {};
|
package/dist/es/index.d.ts
CHANGED
|
@@ -43,6 +43,8 @@ export { default as PaginationButton } from './components/Pagination/components/
|
|
|
43
43
|
export { default as PaginationButtons } from './components/Pagination/components/PaginationButtons/PaginationButtons';
|
|
44
44
|
export { default as PaginationNavigation } from './components/Pagination/components/PaginationNavigation/PaginationNavigation';
|
|
45
45
|
export { default as Paragraph } from './components/Paragraph/Paragraph';
|
|
46
|
+
export { default as Parameter } from './components/Parameter/Parameter';
|
|
47
|
+
export { default as ParameterDescription } from './components/Parameter/components/ParameterDescription';
|
|
46
48
|
export { default as Preloader } from './components/Preloader/Preloader';
|
|
47
49
|
export { default as PriceBadge } from './components/Badges/PriceBadge/PriceBadge';
|
|
48
50
|
export { default as PromoBadge } from './components/Badges/PromoBadge/PromoBadge';
|
package/dist/es/index.js
CHANGED
|
@@ -43,6 +43,8 @@ export { default as PaginationButton } from "./components/Pagination/components/
|
|
|
43
43
|
export { default as PaginationButtons } from "./components/Pagination/components/PaginationButtons/PaginationButtons";
|
|
44
44
|
export { default as PaginationNavigation } from "./components/Pagination/components/PaginationNavigation/PaginationNavigation";
|
|
45
45
|
export { default as Paragraph } from "./components/Paragraph/Paragraph";
|
|
46
|
+
export { default as Parameter } from "./components/Parameter/Parameter";
|
|
47
|
+
export { default as ParameterDescription } from "./components/Parameter/components/ParameterDescription";
|
|
46
48
|
export { default as Preloader } from "./components/Preloader/Preloader";
|
|
47
49
|
export { default as PriceBadge } from "./components/Badges/PriceBadge/PriceBadge";
|
|
48
50
|
export { default as PromoBadge } from "./components/Badges/PromoBadge/PromoBadge";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@charset "UTF-8";h1,h2,h3,h4,h5{margin:0}.mfui-parameter__wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:24px 0}.mfui-parameter_border-top.mfui-parameter_border-color_default .mfui-parameter__wrapper{border-top:1px solid var(--spbSky1)}.mfui-parameter_border-bottom.mfui-parameter_border-color_default .mfui-parameter__wrapper{border-bottom:1px solid var(--spbSky1)}.mfui-parameter_border-top.mfui-parameter_border-color_darker .mfui-parameter__wrapper{border-top:1px solid var(--spbSky2)}.mfui-parameter_border-bottom.mfui-parameter_border-color_darker .mfui-parameter__wrapper{border-bottom:1px solid var(--spbSky2)}.mfui-parameter__main{display:-webkit-box;display:-ms-flexbox;display:flex;gap:20px;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.mfui-parameter__main:not(:first-child){margin-top:24px}.mfui-parameter__main_with-out-title{margin-top:16px!important}.mfui-parameter__main_with-badge{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.mfui-parameter__title-item_size_default{font-size:15px;font-weight:500;line-height:24px}.mfui-parameter__title-item_size_big{font-size:18px;font-weight:500;letter-spacing:.5px;line-height:24px}@media screen and (min-width:1280px){.mfui-parameter__title-item_size_big{font-size:20px;line-height:28px}}@media screen and (max-width:767px){.mfui-parameter__title-item{font-size:15px;font-weight:500;line-height:24px}}.mfui-parameter__icon{display:inline-block;height:24px;margin-left:1px;margin-right:8px;overflow:hidden;vertical-align:bottom;width:24px}.mfui-parameter__badge{margin-bottom:8px}@media screen and (min-width:768px){.mfui-parameter__title .mfui-parameter__desc{width:100%}}.mfui-parameter__tooltip{cursor:pointer;display:inline-block;height:20px;margin-left:8px;vertical-align:text-bottom;width:20px;fill:var(--spbSky2)}.mfui-parameter__tooltip-inner{max-width:350px}.mfui-parameter__desc{margin-top:12px}@media screen and (min-width:768px){.mfui-parameter__desc{width:70%}}.mfui-parameter__desc_collapsible{margin-top:12px}.mfui-parameter__value-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;border-radius:8px;padding:4px 8px;text-align:right;white-space:pre-line}.mfui-parameter__value-wrapper_frame_default{background:var(--base)}.mfui-parameter__value-wrapper_frame_gray{background:var(--spbSky0)}.mfui-parameter__value{font-size:18px;font-weight:500;letter-spacing:.5px;line-height:24px}@media screen and (min-width:1280px){.mfui-parameter__value{font-size:20px;line-height:28px}}@media screen and (max-width:767px){.mfui-parameter__value{font-size:15px;font-weight:500;line-height:24px}}.mfui-parameter__value-unit:before{content:" "}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import PromoBadge from '../Badges/PromoBadge/PromoBadge';
|
|
3
|
+
import { DescriptionType } from './components/ParameterDescription';
|
|
4
|
+
import './Parameter.scss';
|
|
5
|
+
type BadgeTypesType = React.ComponentProps<typeof PromoBadge>['type'];
|
|
6
|
+
type BadgeColorType = React.ComponentProps<typeof PromoBadge>['color'];
|
|
7
|
+
type TitleSizeType = 'default' | 'big';
|
|
8
|
+
type ValueFrameColorType = 'none' | 'default' | 'gray';
|
|
9
|
+
type ItemType = {
|
|
10
|
+
title?: React.ReactNode[];
|
|
11
|
+
titleSize?: TitleSizeType;
|
|
12
|
+
description?: DescriptionType[];
|
|
13
|
+
value?: string | React.ReactNode;
|
|
14
|
+
valueUnit?: string;
|
|
15
|
+
valueFrameColor?: ValueFrameColorType;
|
|
16
|
+
};
|
|
17
|
+
export interface IParameter {
|
|
18
|
+
/** Массив с данными для строки */
|
|
19
|
+
items: ItemType[];
|
|
20
|
+
/** Дополнительный класс для основного контейнера */
|
|
21
|
+
className?: string;
|
|
22
|
+
/** Текст для бейджа */
|
|
23
|
+
badge?: string;
|
|
24
|
+
/** DEPRECATED. Тип бэйджа (используйте badgeColor) */
|
|
25
|
+
badgeType?: BadgeTypesType;
|
|
26
|
+
/** Цвет бейджа */
|
|
27
|
+
badgeColor?: BadgeColorType;
|
|
28
|
+
/** Текст тултипа */
|
|
29
|
+
tooltip?: string;
|
|
30
|
+
/** Отключить верхнюю границу */
|
|
31
|
+
disableBorderTop?: boolean;
|
|
32
|
+
/** Наличие нижней границы */
|
|
33
|
+
borderBottom?: boolean;
|
|
34
|
+
/** Цвет верхней и нижней границ */
|
|
35
|
+
borderColor?: 'default' | 'darker';
|
|
36
|
+
/** Единое значение для всей строки */
|
|
37
|
+
mergedValue?: string;
|
|
38
|
+
/** Иконка для строки */
|
|
39
|
+
icon?: React.ReactNode;
|
|
40
|
+
/** Растягивание компонента на всю доступную ширину */
|
|
41
|
+
fullWidth?: boolean;
|
|
42
|
+
/** Дополнительные data атрибуты к внутренним элементам */
|
|
43
|
+
dataAttrs?: {
|
|
44
|
+
root?: Record<string, string>;
|
|
45
|
+
moreLink?: Record<string, string>;
|
|
46
|
+
itemTitle?: Record<string, string>;
|
|
47
|
+
itemValue?: Record<string, string>;
|
|
48
|
+
};
|
|
49
|
+
/** Дополнительные классы для внутренних элементов */
|
|
50
|
+
classes?: {
|
|
51
|
+
title?: string;
|
|
52
|
+
openedDescription?: string;
|
|
53
|
+
toggleDescription?: string;
|
|
54
|
+
};
|
|
55
|
+
/** Ссылка на корневой элемент */
|
|
56
|
+
rootRef?: React.Ref<HTMLDivElement>;
|
|
57
|
+
}
|
|
58
|
+
declare const Parameter: React.FC<IParameter>;
|
|
59
|
+
export default Parameter;
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
require("core-js/modules/es.symbol.js");
|
|
10
|
+
require("core-js/modules/es.symbol.description.js");
|
|
11
|
+
require("core-js/modules/es.array.map.js");
|
|
12
|
+
var React = _interopRequireWildcard(require("react"));
|
|
13
|
+
var _uiHelpers = require("@megafon/ui-helpers");
|
|
14
|
+
var _PromoBadge = _interopRequireDefault(require("../Badges/PromoBadge/PromoBadge"));
|
|
15
|
+
var _Caption = _interopRequireDefault(require("../Caption/Caption"));
|
|
16
|
+
var _Grid = _interopRequireDefault(require("../Grid/Grid"));
|
|
17
|
+
var _GridColumn = _interopRequireDefault(require("../Grid/GridColumn"));
|
|
18
|
+
var _Tooltip = _interopRequireDefault(require("../Tooltip/Tooltip"));
|
|
19
|
+
var _ParameterDescription = _interopRequireDefault(require("./components/ParameterDescription"));
|
|
20
|
+
var _helpers = require("./helpers");
|
|
21
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
22
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
23
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
24
|
+
var InfoIcon = function InfoIcon(props) {
|
|
25
|
+
return /*#__PURE__*/React.createElement("svg", (0, _extends2["default"])({
|
|
26
|
+
viewBox: "0 0 20 20"
|
|
27
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
28
|
+
d: "M10 2c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8zm0 5c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1zm1 8V9H9v6h2z"
|
|
29
|
+
}));
|
|
30
|
+
};
|
|
31
|
+
var cn = (0, _uiHelpers.cnCreate)('mfui-parameter');
|
|
32
|
+
var Parameter = function Parameter(_ref) {
|
|
33
|
+
var items = _ref.items,
|
|
34
|
+
className = _ref.className,
|
|
35
|
+
_ref$badge = _ref.badge,
|
|
36
|
+
badge = _ref$badge === void 0 ? '' : _ref$badge,
|
|
37
|
+
_ref$badgeType = _ref.badgeType,
|
|
38
|
+
badgeType = _ref$badgeType === void 0 ? 'popular' : _ref$badgeType,
|
|
39
|
+
badgeColor = _ref.badgeColor,
|
|
40
|
+
tooltip = _ref.tooltip,
|
|
41
|
+
icon = _ref.icon,
|
|
42
|
+
_ref$disableBorderTop = _ref.disableBorderTop,
|
|
43
|
+
disableBorderTop = _ref$disableBorderTop === void 0 ? false : _ref$disableBorderTop,
|
|
44
|
+
_ref$borderBottom = _ref.borderBottom,
|
|
45
|
+
borderBottom = _ref$borderBottom === void 0 ? false : _ref$borderBottom,
|
|
46
|
+
_ref$borderColor = _ref.borderColor,
|
|
47
|
+
borderColor = _ref$borderColor === void 0 ? 'default' : _ref$borderColor,
|
|
48
|
+
_ref$mergedValue = _ref.mergedValue,
|
|
49
|
+
mergedValue = _ref$mergedValue === void 0 ? '' : _ref$mergedValue,
|
|
50
|
+
_ref$fullWidth = _ref.fullWidth,
|
|
51
|
+
fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,
|
|
52
|
+
_ref$classes = _ref.classes,
|
|
53
|
+
classes = _ref$classes === void 0 ? {} : _ref$classes,
|
|
54
|
+
dataAttrs = _ref.dataAttrs,
|
|
55
|
+
rootRef = _ref.rootRef;
|
|
56
|
+
var tooltipRef = React.useRef(null);
|
|
57
|
+
var renderTitle = function renderTitle(titles, titleSize, isFirstItem) {
|
|
58
|
+
return titles === null || titles === void 0 ? void 0 : titles.map(function (titleItem, i) {
|
|
59
|
+
var isFirstTitle = i === 0;
|
|
60
|
+
return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
|
|
61
|
+
key: i,
|
|
62
|
+
className: cn('title-item', {
|
|
63
|
+
size: titleSize
|
|
64
|
+
}, [classes.title])
|
|
65
|
+
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.itemTitle, i + 1)), icon && isFirstTitle && /*#__PURE__*/React.createElement("div", {
|
|
66
|
+
className: cn('icon')
|
|
67
|
+
}, icon), titleItem, tooltip && isFirstItem && isFirstTitle && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
68
|
+
className: cn('tooltip'),
|
|
69
|
+
ref: tooltipRef
|
|
70
|
+
}, /*#__PURE__*/React.createElement(InfoIcon, null)), /*#__PURE__*/React.createElement(_Tooltip["default"], {
|
|
71
|
+
className: cn('tooltip-inner'),
|
|
72
|
+
triggerElement: tooltipRef
|
|
73
|
+
}, tooltip)));
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
var renderDescription = function renderDescription(description) {
|
|
77
|
+
return description === null || description === void 0 ? void 0 : description.map(function (_ref2, j) {
|
|
78
|
+
var value = _ref2.value,
|
|
79
|
+
isCollapsible = _ref2.isCollapsible;
|
|
80
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
81
|
+
className: cn('desc', {
|
|
82
|
+
collapsible: isCollapsible
|
|
83
|
+
}),
|
|
84
|
+
key: j
|
|
85
|
+
}, /*#__PURE__*/React.createElement(_ParameterDescription["default"], {
|
|
86
|
+
value: value,
|
|
87
|
+
isCollapsible: isCollapsible,
|
|
88
|
+
dataAttrs: {
|
|
89
|
+
moreLink: dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.moreLink
|
|
90
|
+
},
|
|
91
|
+
classes: {
|
|
92
|
+
open: classes.openedDescription,
|
|
93
|
+
toggle: classes.toggleDescription
|
|
94
|
+
}
|
|
95
|
+
}));
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
var renderValue = function renderValue(valueFrameColor, value, valueUnit) {
|
|
99
|
+
return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
|
|
100
|
+
className: cn('value-wrapper', {
|
|
101
|
+
frame: valueFrameColor
|
|
102
|
+
})
|
|
103
|
+
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.itemValue)), /*#__PURE__*/React.createElement("div", {
|
|
104
|
+
className: cn('value')
|
|
105
|
+
}, typeof value === 'string' ? (0, _uiHelpers.convert)(value, {}) : value), valueUnit && /*#__PURE__*/React.createElement(_Caption["default"], {
|
|
106
|
+
className: cn('value-unit'),
|
|
107
|
+
hasMargin: false
|
|
108
|
+
}, (0, _uiHelpers.convert)(valueUnit, {})));
|
|
109
|
+
};
|
|
110
|
+
return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
|
|
111
|
+
className: cn({
|
|
112
|
+
'border-top': !disableBorderTop,
|
|
113
|
+
'border-bottom': borderBottom,
|
|
114
|
+
'border-color': borderColor
|
|
115
|
+
}, [className])
|
|
116
|
+
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root), {
|
|
117
|
+
ref: rootRef
|
|
118
|
+
}), /*#__PURE__*/React.createElement(_Grid["default"], null, /*#__PURE__*/React.createElement(_GridColumn["default"], (0, _helpers.getColumnConfig)(fullWidth), /*#__PURE__*/React.createElement("div", {
|
|
119
|
+
className: cn('wrapper')
|
|
120
|
+
}, items.map(function (_ref3, i) {
|
|
121
|
+
var title = _ref3.title,
|
|
122
|
+
value = _ref3.value,
|
|
123
|
+
description = _ref3.description,
|
|
124
|
+
_ref3$valueUnit = _ref3.valueUnit,
|
|
125
|
+
valueUnit = _ref3$valueUnit === void 0 ? '' : _ref3$valueUnit,
|
|
126
|
+
_ref3$titleSize = _ref3.titleSize,
|
|
127
|
+
titleSize = _ref3$titleSize === void 0 ? 'default' : _ref3$titleSize,
|
|
128
|
+
_ref3$valueFrameColor = _ref3.valueFrameColor,
|
|
129
|
+
valueFrameColor = _ref3$valueFrameColor === void 0 ? 'none' : _ref3$valueFrameColor;
|
|
130
|
+
var isFirstItem = i === 0;
|
|
131
|
+
var isRenderBadge = isFirstItem && !!badge;
|
|
132
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
133
|
+
key: i
|
|
134
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
135
|
+
className: cn('main', {
|
|
136
|
+
'with-badge': isRenderBadge,
|
|
137
|
+
'with-out-title': !title
|
|
138
|
+
})
|
|
139
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
140
|
+
className: cn('title')
|
|
141
|
+
}, isRenderBadge && /*#__PURE__*/React.createElement(_PromoBadge["default"], {
|
|
142
|
+
className: cn('badge'),
|
|
143
|
+
type: badgeType,
|
|
144
|
+
color: badgeColor
|
|
145
|
+
}, badge), title ? renderTitle(title, titleSize, isFirstItem) : renderDescription(description)), mergedValue && isFirstItem && renderValue(valueFrameColor, mergedValue, valueUnit), !mergedValue && value && renderValue(valueFrameColor, value, valueUnit)), title && renderDescription(description));
|
|
146
|
+
})))));
|
|
147
|
+
};
|
|
148
|
+
var _default = exports["default"] = Parameter;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
h1,h2,h3,h4,h5{margin:0}.mfui-parameter-description__collapse{color:var(--systemBlue);cursor:pointer;font-size:12px;-webkit-text-decoration:underline dashed var(--systemBlue);text-decoration:underline dashed var(--systemBlue)}.mfui-parameter-description__content-inner{margin-bottom:8px}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import './ParameterDescription.scss';
|
|
3
|
+
export type DescriptionType = {
|
|
4
|
+
value: string | React.ReactNode[];
|
|
5
|
+
isCollapsible?: boolean;
|
|
6
|
+
classes?: {
|
|
7
|
+
toggle?: string;
|
|
8
|
+
open?: string;
|
|
9
|
+
};
|
|
10
|
+
dataAttrs?: {
|
|
11
|
+
root?: Record<string, string>;
|
|
12
|
+
moreLink?: Record<string, string>;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
declare const ParameterDescription: React.FC<DescriptionType>;
|
|
16
|
+
export default ParameterDescription;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _uiHelpers = require("@megafon/ui-helpers");
|
|
12
|
+
var _Collapse = _interopRequireDefault(require("../../_Collapse/Collapse"));
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
16
|
+
var cn = (0, _uiHelpers.cnCreate)('mfui-parameter-description');
|
|
17
|
+
var ParameterDescription = function ParameterDescription(_ref) {
|
|
18
|
+
var value = _ref.value,
|
|
19
|
+
_ref$isCollapsible = _ref.isCollapsible,
|
|
20
|
+
isCollapsible = _ref$isCollapsible === void 0 ? false : _ref$isCollapsible,
|
|
21
|
+
_ref$classes = _ref.classes,
|
|
22
|
+
classes = _ref$classes === void 0 ? {} : _ref$classes,
|
|
23
|
+
dataAttrs = _ref.dataAttrs;
|
|
24
|
+
var _React$useState = React.useState(false),
|
|
25
|
+
_React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
|
|
26
|
+
isOpened = _React$useState2[0],
|
|
27
|
+
setIsOpened = _React$useState2[1];
|
|
28
|
+
var handleClickDesc = React.useCallback(function () {
|
|
29
|
+
return setIsOpened(!isOpened);
|
|
30
|
+
}, [isOpened]);
|
|
31
|
+
if (isCollapsible) {
|
|
32
|
+
return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
|
|
33
|
+
className: cn([isOpened ? classes.open : undefined])
|
|
34
|
+
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), /*#__PURE__*/React.createElement(_Collapse["default"], {
|
|
35
|
+
className: cn('content'),
|
|
36
|
+
classNameContainer: cn('content-inner'),
|
|
37
|
+
isOpened: isOpened
|
|
38
|
+
}, value), /*#__PURE__*/React.createElement("span", (0, _extends2["default"])({
|
|
39
|
+
className: cn('collapse', classes.toggle)
|
|
40
|
+
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.moreLink), {
|
|
41
|
+
onClick: handleClickDesc
|
|
42
|
+
}), isOpened ? 'Скрыть' : 'Подробнее'));
|
|
43
|
+
}
|
|
44
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
45
|
+
className: cn()
|
|
46
|
+
}, value);
|
|
47
|
+
};
|
|
48
|
+
var _default = exports["default"] = ParameterDescription;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import GridColumn from '../Grid/GridColumn';
|
|
3
|
+
type GridColumnPropsType = React.ComponentProps<typeof GridColumn>;
|
|
4
|
+
type GridColumnConfigType = Partial<Pick<GridColumnPropsType, 'all' | 'wide' | 'desktop' | 'tablet' | 'mobile'>>;
|
|
5
|
+
export declare const getColumnConfig: (isFullWidth: boolean) => GridColumnConfigType;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getColumnConfig = void 0;
|
|
7
|
+
var getColumnConfig = exports.getColumnConfig = function getColumnConfig(isFullWidth) {
|
|
8
|
+
return isFullWidth ? {
|
|
9
|
+
all: '12'
|
|
10
|
+
} : {
|
|
11
|
+
wide: '8',
|
|
12
|
+
desktop: '10',
|
|
13
|
+
tablet: '12',
|
|
14
|
+
mobile: '12'
|
|
15
|
+
};
|
|
16
|
+
};
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -43,6 +43,8 @@ export { default as PaginationButton } from './components/Pagination/components/
|
|
|
43
43
|
export { default as PaginationButtons } from './components/Pagination/components/PaginationButtons/PaginationButtons';
|
|
44
44
|
export { default as PaginationNavigation } from './components/Pagination/components/PaginationNavigation/PaginationNavigation';
|
|
45
45
|
export { default as Paragraph } from './components/Paragraph/Paragraph';
|
|
46
|
+
export { default as Parameter } from './components/Parameter/Parameter';
|
|
47
|
+
export { default as ParameterDescription } from './components/Parameter/components/ParameterDescription';
|
|
46
48
|
export { default as Preloader } from './components/Preloader/Preloader';
|
|
47
49
|
export { default as PriceBadge } from './components/Badges/PriceBadge/PriceBadge';
|
|
48
50
|
export { default as PromoBadge } from './components/Badges/PromoBadge/PromoBadge';
|
package/dist/lib/index.js
CHANGED
|
@@ -261,6 +261,18 @@ Object.defineProperty(exports, "Paragraph", {
|
|
|
261
261
|
return _Paragraph["default"];
|
|
262
262
|
}
|
|
263
263
|
});
|
|
264
|
+
Object.defineProperty(exports, "Parameter", {
|
|
265
|
+
enumerable: true,
|
|
266
|
+
get: function get() {
|
|
267
|
+
return _Parameter["default"];
|
|
268
|
+
}
|
|
269
|
+
});
|
|
270
|
+
Object.defineProperty(exports, "ParameterDescription", {
|
|
271
|
+
enumerable: true,
|
|
272
|
+
get: function get() {
|
|
273
|
+
return _ParameterDescription["default"];
|
|
274
|
+
}
|
|
275
|
+
});
|
|
264
276
|
Object.defineProperty(exports, "Preloader", {
|
|
265
277
|
enumerable: true,
|
|
266
278
|
get: function get() {
|
|
@@ -528,6 +540,8 @@ var _PaginationButton = _interopRequireDefault(require("./components/Pagination/
|
|
|
528
540
|
var _PaginationButtons = _interopRequireDefault(require("./components/Pagination/components/PaginationButtons/PaginationButtons"));
|
|
529
541
|
var _PaginationNavigation = _interopRequireDefault(require("./components/Pagination/components/PaginationNavigation/PaginationNavigation"));
|
|
530
542
|
var _Paragraph = _interopRequireDefault(require("./components/Paragraph/Paragraph"));
|
|
543
|
+
var _Parameter = _interopRequireDefault(require("./components/Parameter/Parameter"));
|
|
544
|
+
var _ParameterDescription = _interopRequireDefault(require("./components/Parameter/components/ParameterDescription"));
|
|
531
545
|
var _Preloader = _interopRequireDefault(require("./components/Preloader/Preloader"));
|
|
532
546
|
var _PriceBadge = _interopRequireDefault(require("./components/Badges/PriceBadge/PriceBadge"));
|
|
533
547
|
var _PromoBadge = _interopRequireDefault(require("./components/Badges/PromoBadge/PromoBadge"));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@megafon/ui-core",
|
|
3
|
-
"version": "8.0
|
|
3
|
+
"version": "8.1.0",
|
|
4
4
|
"files": [
|
|
5
5
|
"dist",
|
|
6
6
|
"styles"
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"@babel/preset-env": "^7.8.6",
|
|
51
51
|
"@babel/preset-react": "^7.8.3",
|
|
52
52
|
"@babel/preset-typescript": "^7.8.3",
|
|
53
|
-
"@megafon/ui-icons": "^3.8.
|
|
53
|
+
"@megafon/ui-icons": "^3.8.1",
|
|
54
54
|
"@svgr/core": "^2.4.1",
|
|
55
55
|
"@testing-library/jest-dom": "^6.5.0",
|
|
56
56
|
"@testing-library/react": "^16.0.1",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"@datepicker-react/hooks": "^2.7.0",
|
|
90
90
|
"@dnd-kit/core": "^6.1.0",
|
|
91
91
|
"@dnd-kit/sortable": "^8.0.0",
|
|
92
|
-
"@megafon/ui-helpers": "^4.0.
|
|
92
|
+
"@megafon/ui-helpers": "^4.0.1",
|
|
93
93
|
"@mona-health/react-input-mask": "^3.0.3",
|
|
94
94
|
"@popperjs/core": "^2.11.8",
|
|
95
95
|
"core-js": "^3.6.4",
|
|
@@ -104,5 +104,5 @@
|
|
|
104
104
|
"simplebar-react": "^3.2.5",
|
|
105
105
|
"swiper": "^11.1.1"
|
|
106
106
|
},
|
|
107
|
-
"gitHead": "
|
|
107
|
+
"gitHead": "d9a710f4c5a27033a3b69898b7baa6e997b3b2f4"
|
|
108
108
|
}
|