@megafon/ui-core 5.7.1 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/dist/es/components/{Chip → Chips}/Chip.css +53 -32
- package/dist/es/components/Chips/Chip.d.ts +74 -0
- package/dist/es/components/{Chip → Chips}/Chip.js +45 -6
- package/dist/es/components/Chips/Chips.css +19 -0
- package/dist/es/components/Chips/Chips.d.ts +27 -0
- package/dist/es/components/Chips/Chips.js +129 -0
- package/dist/es/components/Chips/components/ChipsDropdown.css +106 -0
- package/dist/es/components/Chips/components/ChipsDropdown.d.ts +16 -0
- package/dist/es/components/Chips/components/ChipsDropdown.js +101 -0
- package/dist/es/components/ContentView/ContentView.css +61 -0
- package/dist/es/components/ContentView/ContentView.d.ts +49 -0
- package/dist/es/components/ContentView/ContentView.js +103 -0
- package/dist/es/components/ContentView/i/alarm.png +0 -0
- package/dist/es/components/ContentView/i/empty.png +0 -0
- package/dist/es/components/ContentView/i/error.png +0 -0
- package/dist/es/components/ContentView/i/fail.png +0 -0
- package/dist/es/components/ContentView/i/searchNoResult.png +0 -0
- package/dist/es/components/ContentView/i/submit.png +0 -0
- package/dist/es/components/ContentView/i/success.png +0 -0
- package/dist/es/components/ContentView/i/update.png +0 -0
- package/dist/es/components/ContentView/i/waiting.png +0 -0
- package/dist/es/components/Search/Search.d.ts +2 -0
- package/dist/es/components/Search/Search.js +7 -2
- package/dist/es/components/Sliders/Slider/Slider.css +127 -0
- package/dist/es/components/Sliders/Slider/Slider.d.ts +41 -0
- package/dist/es/components/Sliders/Slider/Slider.js +126 -0
- package/dist/es/components/Sliders/SliderRange/SliderRange.css +154 -0
- package/dist/es/components/Sliders/SliderRange/SliderRange.d.ts +49 -0
- package/dist/es/components/Sliders/SliderRange/SliderRange.js +227 -0
- package/dist/es/components/Sliders/SliderRange/helpers.d.ts +6 -0
- package/dist/es/components/Sliders/SliderRange/helpers.js +31 -0
- package/dist/es/components/Sliders/SliderRatio/SliderRatio.css +209 -0
- package/dist/es/components/Sliders/SliderRatio/SliderRatio.d.ts +42 -0
- package/dist/es/components/Sliders/SliderRatio/SliderRatio.js +206 -0
- package/dist/es/components/Sliders/SliderRatio/helpers.d.ts +15 -0
- package/dist/es/components/Sliders/SliderRatio/helpers.js +32 -0
- package/dist/es/components/Sliders/SliderRatio/i/thumb.png +0 -0
- package/dist/es/components/Sliders/SliderRatio/types.d.ts +8 -0
- package/dist/es/components/Sliders/SliderRatio/types.js +6 -0
- package/dist/es/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.css +83 -0
- package/dist/es/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.d.ts +23 -0
- package/dist/es/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.js +82 -0
- package/dist/es/components/Sliders/components/SliderScale/SliderScale.css +15 -0
- package/dist/es/components/Sliders/components/SliderScale/SliderScale.d.ts +19 -0
- package/dist/es/components/Sliders/components/SliderScale/SliderScale.js +51 -0
- package/dist/es/components/Sliders/components/SliderScale/helpers.d.ts +2 -0
- package/dist/es/components/Sliders/components/SliderScale/helpers.js +39 -0
- package/dist/es/components/Sliders/helpers.d.ts +2 -0
- package/dist/es/components/Sliders/helpers.js +33 -0
- package/dist/es/components/Switcher/Switcher.css +13 -0
- package/dist/es/components/Switcher/Switcher.d.ts +3 -1
- package/dist/es/components/Switcher/Switcher.js +5 -1
- package/dist/es/components/Tabs/Tabs.css +11 -3
- package/dist/es/components/TextField/i/textarea-resizer.svg +1 -0
- package/dist/es/index.d.ts +9 -2
- package/dist/es/index.js +9 -2
- package/dist/lib/components/{Chip → Chips}/Chip.css +53 -32
- package/dist/lib/components/Chips/Chip.d.ts +74 -0
- package/dist/lib/components/{Chip → Chips}/Chip.js +49 -7
- package/dist/lib/components/Chips/Chips.css +19 -0
- package/dist/lib/components/Chips/Chips.d.ts +27 -0
- package/dist/lib/components/Chips/Chips.js +159 -0
- package/dist/lib/components/Chips/components/ChipsDropdown.css +106 -0
- package/dist/lib/components/Chips/components/ChipsDropdown.d.ts +16 -0
- package/dist/lib/components/Chips/components/ChipsDropdown.js +131 -0
- package/dist/lib/components/ContentView/ContentView.css +61 -0
- package/dist/lib/components/ContentView/ContentView.d.ts +49 -0
- package/dist/lib/components/ContentView/ContentView.js +133 -0
- package/dist/lib/components/ContentView/i/alarm.png +0 -0
- package/dist/lib/components/ContentView/i/empty.png +0 -0
- package/dist/lib/components/ContentView/i/error.png +0 -0
- package/dist/lib/components/ContentView/i/fail.png +0 -0
- package/dist/lib/components/ContentView/i/searchNoResult.png +0 -0
- package/dist/lib/components/ContentView/i/submit.png +0 -0
- package/dist/lib/components/ContentView/i/success.png +0 -0
- package/dist/lib/components/ContentView/i/update.png +0 -0
- package/dist/lib/components/ContentView/i/waiting.png +0 -0
- package/dist/lib/components/Search/Search.d.ts +2 -0
- package/dist/lib/components/Search/Search.js +7 -2
- package/dist/lib/components/Sliders/Slider/Slider.css +127 -0
- package/dist/lib/components/Sliders/Slider/Slider.d.ts +41 -0
- package/dist/lib/components/Sliders/Slider/Slider.js +150 -0
- package/dist/lib/components/Sliders/SliderRange/SliderRange.css +154 -0
- package/dist/lib/components/Sliders/SliderRange/SliderRange.d.ts +49 -0
- package/dist/lib/components/Sliders/SliderRange/SliderRange.js +252 -0
- package/dist/lib/components/Sliders/SliderRange/helpers.d.ts +6 -0
- package/dist/lib/components/Sliders/SliderRange/helpers.js +48 -0
- package/dist/lib/components/Sliders/SliderRatio/SliderRatio.css +209 -0
- package/dist/lib/components/Sliders/SliderRatio/SliderRatio.d.ts +42 -0
- package/dist/lib/components/Sliders/SliderRatio/SliderRatio.js +237 -0
- package/dist/lib/components/Sliders/SliderRatio/helpers.d.ts +15 -0
- package/dist/lib/components/Sliders/SliderRatio/helpers.js +58 -0
- package/dist/lib/components/Sliders/SliderRatio/i/thumb.png +0 -0
- package/dist/lib/components/Sliders/SliderRatio/types.d.ts +8 -0
- package/dist/lib/components/Sliders/SliderRatio/types.js +13 -0
- package/dist/lib/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.css +83 -0
- package/dist/lib/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.d.ts +23 -0
- package/dist/lib/components/Sliders/components/SliderDisplayValue/SliderDisplayValue.js +104 -0
- package/dist/lib/components/Sliders/components/SliderScale/SliderScale.css +15 -0
- package/dist/lib/components/Sliders/components/SliderScale/SliderScale.d.ts +19 -0
- package/dist/lib/components/Sliders/components/SliderScale/SliderScale.js +74 -0
- package/dist/lib/components/Sliders/components/SliderScale/helpers.d.ts +2 -0
- package/dist/lib/components/Sliders/components/SliderScale/helpers.js +60 -0
- package/dist/lib/components/Sliders/helpers.d.ts +2 -0
- package/dist/lib/components/Sliders/helpers.js +47 -0
- package/dist/lib/components/Switcher/Switcher.css +13 -0
- package/dist/lib/components/Switcher/Switcher.d.ts +3 -1
- package/dist/lib/components/Switcher/Switcher.js +5 -1
- package/dist/lib/components/Tabs/Tabs.css +11 -3
- package/dist/lib/components/TextField/i/textarea-resizer.svg +1 -0
- package/dist/lib/index.d.ts +9 -2
- package/dist/lib/index.js +65 -9
- package/package.json +5 -4
- package/dist/es/components/Chip/Chip.d.ts +0 -36
- package/dist/lib/components/Chip/Chip.d.ts +0 -36
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
.mfui-slider-display-value {
|
|
2
|
+
display: -webkit-box;
|
|
3
|
+
display: -ms-flexbox;
|
|
4
|
+
display: flex;
|
|
5
|
+
max-width: 45%;
|
|
6
|
+
color: var(--content);
|
|
7
|
+
font-weight: 400;
|
|
8
|
+
background-color: var(--base);
|
|
9
|
+
}
|
|
10
|
+
.mfui-slider-display-value_interactive {
|
|
11
|
+
-webkit-box-align: center;
|
|
12
|
+
-ms-flex-align: center;
|
|
13
|
+
align-items: center;
|
|
14
|
+
min-width: 90px;
|
|
15
|
+
padding: 7px 16px;
|
|
16
|
+
border: 1px solid var(--spbSky2);
|
|
17
|
+
border-radius: 12px;
|
|
18
|
+
overflow: hidden;
|
|
19
|
+
cursor: text;
|
|
20
|
+
}
|
|
21
|
+
.mfui-slider-display-value_interactive.mfui-slider-display-value:hover,
|
|
22
|
+
.mfui-slider-display-value_interactive.mfui-slider-display-value_focus {
|
|
23
|
+
border-color: var(--content);
|
|
24
|
+
}
|
|
25
|
+
.mfui-slider-display-value_disabled {
|
|
26
|
+
border-color: var(--spbSky0);
|
|
27
|
+
color: var(--spbSky3);
|
|
28
|
+
background-color: var(--spbSky0);
|
|
29
|
+
cursor: default;
|
|
30
|
+
}
|
|
31
|
+
.mfui-slider-display-value_disabled.mfui-slider-display-value_interactive:hover {
|
|
32
|
+
border-color: var(--spbSky0);
|
|
33
|
+
}
|
|
34
|
+
.mfui-slider-display-value__box {
|
|
35
|
+
overflow: hidden;
|
|
36
|
+
}
|
|
37
|
+
.mfui-slider-display-value__line {
|
|
38
|
+
font-weight: 500;
|
|
39
|
+
}
|
|
40
|
+
.mfui-slider-display-value__unit {
|
|
41
|
+
margin-left: 4px;
|
|
42
|
+
}
|
|
43
|
+
.mfui-slider-display-value_interactive .mfui-slider-display-value__line {
|
|
44
|
+
height: 0;
|
|
45
|
+
visibility: hidden;
|
|
46
|
+
opacity: 0;
|
|
47
|
+
}
|
|
48
|
+
.mfui-slider-display-value__prefix {
|
|
49
|
+
margin-right: 4px;
|
|
50
|
+
color: var(--spbSky3);
|
|
51
|
+
}
|
|
52
|
+
.mfui-slider-display-value__input {
|
|
53
|
+
display: block;
|
|
54
|
+
width: 10px;
|
|
55
|
+
min-width: 100%;
|
|
56
|
+
margin: 0;
|
|
57
|
+
padding: 0;
|
|
58
|
+
border: none;
|
|
59
|
+
border-radius: 0;
|
|
60
|
+
color: inherit;
|
|
61
|
+
font-weight: 400;
|
|
62
|
+
background-color: transparent;
|
|
63
|
+
outline: none;
|
|
64
|
+
-webkit-box-shadow: none;
|
|
65
|
+
box-shadow: none;
|
|
66
|
+
cursor: text;
|
|
67
|
+
opacity: 1;
|
|
68
|
+
-webkit-appearance: none;
|
|
69
|
+
-moz-appearance: none;
|
|
70
|
+
appearance: none;
|
|
71
|
+
caret-color: var(--brandGreen);
|
|
72
|
+
font-family: inherit;
|
|
73
|
+
font-size: 15px;
|
|
74
|
+
line-height: 24px;
|
|
75
|
+
}
|
|
76
|
+
.mfui-slider-display-value__input::-webkit-outer-spin-button,
|
|
77
|
+
.mfui-slider-display-value__input::-webkit-inner-spin-button {
|
|
78
|
+
margin: 0;
|
|
79
|
+
-webkit-appearance: none;
|
|
80
|
+
}
|
|
81
|
+
.mfui-slider-display-value__input[type='number'] {
|
|
82
|
+
-moz-appearance: textfield;
|
|
83
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import './SliderDisplayValue.less';
|
|
3
|
+
export declare const DisplayValue: {
|
|
4
|
+
readonly LINE: "line";
|
|
5
|
+
readonly INPUT: "input";
|
|
6
|
+
};
|
|
7
|
+
export declare type DisplayValueType = typeof DisplayValue[keyof typeof DisplayValue];
|
|
8
|
+
export interface ISliderDisplayValue {
|
|
9
|
+
className?: string;
|
|
10
|
+
value: string | number;
|
|
11
|
+
displayValueType?: DisplayValueType;
|
|
12
|
+
displayValuePrefix?: string;
|
|
13
|
+
displayValueUnit?: string;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
dataAttrs?: {
|
|
16
|
+
root?: Record<string, string>;
|
|
17
|
+
input?: Record<string, string>;
|
|
18
|
+
};
|
|
19
|
+
onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
20
|
+
onBlur: () => void;
|
|
21
|
+
}
|
|
22
|
+
declare const SliderDisplayValue: React.FC<ISliderDisplayValue>;
|
|
23
|
+
export default SliderDisplayValue;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.DisplayValue = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
14
|
+
require("core-js/modules/es.object.values.js");
|
|
15
|
+
|
|
16
|
+
var React = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _uiHelpers = require("@megafon/ui-helpers");
|
|
19
|
+
|
|
20
|
+
var PropTypes = _interopRequireWildcard(require("prop-types"));
|
|
21
|
+
|
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
+
|
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
+
|
|
26
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
27
|
+
|
|
28
|
+
var DisplayValue = {
|
|
29
|
+
LINE: 'line',
|
|
30
|
+
INPUT: 'input'
|
|
31
|
+
};
|
|
32
|
+
exports.DisplayValue = DisplayValue;
|
|
33
|
+
var cn = (0, _uiHelpers.cnCreate)('mfui-slider-display-value');
|
|
34
|
+
|
|
35
|
+
var SliderDisplayValue = function SliderDisplayValue(_ref) {
|
|
36
|
+
var className = _ref.className,
|
|
37
|
+
value = _ref.value,
|
|
38
|
+
displayValueType = _ref.displayValueType,
|
|
39
|
+
displayValuePrefix = _ref.displayValuePrefix,
|
|
40
|
+
displayValueUnit = _ref.displayValueUnit,
|
|
41
|
+
disabled = _ref.disabled,
|
|
42
|
+
dataAttrs = _ref.dataAttrs,
|
|
43
|
+
onChange = _ref.onChange,
|
|
44
|
+
onBlur = _ref.onBlur;
|
|
45
|
+
|
|
46
|
+
var _React$useState = React.useState(false),
|
|
47
|
+
_React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
|
|
48
|
+
isFocused = _React$useState2[0],
|
|
49
|
+
setIsFocused = _React$useState2[1];
|
|
50
|
+
|
|
51
|
+
var isDisplayValueInput = displayValueType === DisplayValue.INPUT;
|
|
52
|
+
|
|
53
|
+
var handleInputBlur = function handleInputBlur() {
|
|
54
|
+
setIsFocused(false);
|
|
55
|
+
onBlur();
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
var handleInputFocus = function handleInputFocus() {
|
|
59
|
+
setIsFocused(true);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
return (
|
|
63
|
+
/*#__PURE__*/
|
|
64
|
+
// eslint-disable-next-line jsx-a11y/label-has-associated-control
|
|
65
|
+
React.createElement("label", (0, _extends2["default"])({
|
|
66
|
+
className: cn({
|
|
67
|
+
interactive: isDisplayValueInput,
|
|
68
|
+
focus: isFocused,
|
|
69
|
+
disabled: disabled
|
|
70
|
+
}, [className])
|
|
71
|
+
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), !!displayValuePrefix && /*#__PURE__*/React.createElement("div", {
|
|
72
|
+
className: cn('prefix')
|
|
73
|
+
}, displayValuePrefix), /*#__PURE__*/React.createElement("div", {
|
|
74
|
+
className: cn('box')
|
|
75
|
+
}, isDisplayValueInput && /*#__PURE__*/React.createElement("input", (0, _extends2["default"])({
|
|
76
|
+
className: cn('input'),
|
|
77
|
+
type: "number",
|
|
78
|
+
value: value,
|
|
79
|
+
onChange: onChange,
|
|
80
|
+
onBlur: handleInputBlur,
|
|
81
|
+
onFocus: handleInputFocus,
|
|
82
|
+
disabled: disabled
|
|
83
|
+
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.input))), /*#__PURE__*/React.createElement("div", {
|
|
84
|
+
className: cn('line')
|
|
85
|
+
}, value)), !!displayValueUnit && /*#__PURE__*/React.createElement("div", {
|
|
86
|
+
className: cn('unit')
|
|
87
|
+
}, displayValueUnit))
|
|
88
|
+
);
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
SliderDisplayValue.propTypes = {
|
|
92
|
+
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
|
|
93
|
+
displayValueType: PropTypes.oneOf(Object.values(DisplayValue)),
|
|
94
|
+
displayValueUnit: PropTypes.string,
|
|
95
|
+
disabled: PropTypes.bool,
|
|
96
|
+
onChange: PropTypes.func.isRequired,
|
|
97
|
+
onBlur: PropTypes.func.isRequired,
|
|
98
|
+
dataAttrs: PropTypes.shape({
|
|
99
|
+
root: PropTypes.objectOf(PropTypes.string.isRequired),
|
|
100
|
+
input: PropTypes.objectOf(PropTypes.string.isRequired)
|
|
101
|
+
})
|
|
102
|
+
};
|
|
103
|
+
var _default = SliderDisplayValue;
|
|
104
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
.mfui-slider-scale {
|
|
2
|
+
font-size: 12px;
|
|
3
|
+
line-height: 18px;
|
|
4
|
+
position: relative;
|
|
5
|
+
height: 18px;
|
|
6
|
+
margin: 8px 12px 0 12px;
|
|
7
|
+
}
|
|
8
|
+
.mfui-slider-scale_disabled {
|
|
9
|
+
color: var(--spbSky3);
|
|
10
|
+
}
|
|
11
|
+
.mfui-slider-scale__item {
|
|
12
|
+
position: absolute;
|
|
13
|
+
translate: -50% 0;
|
|
14
|
+
white-space: nowrap;
|
|
15
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import './SliderScale.less';
|
|
3
|
+
export declare const Scale: {
|
|
4
|
+
readonly BASE: "base";
|
|
5
|
+
readonly INTERVAL: "interval";
|
|
6
|
+
};
|
|
7
|
+
export declare type ScaleType = typeof Scale[keyof typeof Scale];
|
|
8
|
+
export interface ISliderScale {
|
|
9
|
+
minValue: number;
|
|
10
|
+
maxValue: number;
|
|
11
|
+
scale?: ScaleType;
|
|
12
|
+
customScale?: string[];
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
dataAttrs?: {
|
|
15
|
+
root?: Record<string, string>;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
declare const SliderScale: React.FC<ISliderScale>;
|
|
19
|
+
export default SliderScale;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.Scale = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
require("core-js/modules/es.array.map.js");
|
|
13
|
+
|
|
14
|
+
require("core-js/modules/es.object.values.js");
|
|
15
|
+
|
|
16
|
+
var React = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _uiHelpers = require("@megafon/ui-helpers");
|
|
19
|
+
|
|
20
|
+
var PropTypes = _interopRequireWildcard(require("prop-types"));
|
|
21
|
+
|
|
22
|
+
var _helpers = require("./helpers");
|
|
23
|
+
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
29
|
+
|
|
30
|
+
var Scale = {
|
|
31
|
+
BASE: 'base',
|
|
32
|
+
INTERVAL: 'interval'
|
|
33
|
+
};
|
|
34
|
+
exports.Scale = Scale;
|
|
35
|
+
var cn = (0, _uiHelpers.cnCreate)('mfui-slider-scale');
|
|
36
|
+
|
|
37
|
+
var SliderScale = function SliderScale(_ref) {
|
|
38
|
+
var minValue = _ref.minValue,
|
|
39
|
+
maxValue = _ref.maxValue,
|
|
40
|
+
_ref$scale = _ref.scale,
|
|
41
|
+
scale = _ref$scale === void 0 ? 'base' : _ref$scale,
|
|
42
|
+
customScale = _ref.customScale,
|
|
43
|
+
disabled = _ref.disabled,
|
|
44
|
+
dataAttrs = _ref.dataAttrs;
|
|
45
|
+
var builtInScale = scale === Scale.BASE ? [minValue, maxValue] : (0, _helpers.getIntervalScale)(minValue, maxValue);
|
|
46
|
+
var currentScale = customScale || builtInScale;
|
|
47
|
+
var leftOffset = 100 / (currentScale.length - 1);
|
|
48
|
+
return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
|
|
49
|
+
className: cn({
|
|
50
|
+
disabled: disabled
|
|
51
|
+
})
|
|
52
|
+
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), currentScale.map(function (item, i) {
|
|
53
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
54
|
+
className: cn('item'),
|
|
55
|
+
style: {
|
|
56
|
+
left: "calc(".concat(leftOffset * i, "%)")
|
|
57
|
+
},
|
|
58
|
+
key: i
|
|
59
|
+
}, item);
|
|
60
|
+
}));
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
SliderScale.propTypes = {
|
|
64
|
+
minValue: PropTypes.number.isRequired,
|
|
65
|
+
maxValue: PropTypes.number.isRequired,
|
|
66
|
+
scale: PropTypes.oneOf(Object.values(Scale)),
|
|
67
|
+
customScale: PropTypes.arrayOf(PropTypes.string.isRequired),
|
|
68
|
+
disabled: PropTypes.bool,
|
|
69
|
+
dataAttrs: PropTypes.shape({
|
|
70
|
+
root: PropTypes.objectOf(PropTypes.string.isRequired)
|
|
71
|
+
})
|
|
72
|
+
};
|
|
73
|
+
var _default = SliderScale;
|
|
74
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = exports.getIntervalScale = void 0;
|
|
7
|
+
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
|
|
10
|
+
require("core-js/modules/es.array.from.js");
|
|
11
|
+
|
|
12
|
+
require("core-js/modules/es.string.iterator.js");
|
|
13
|
+
|
|
14
|
+
require("core-js/modules/es.array.iterator.js");
|
|
15
|
+
|
|
16
|
+
require("core-js/modules/es.object.to-string.js");
|
|
17
|
+
|
|
18
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
19
|
+
|
|
20
|
+
require("core-js/modules/es.array.reduce.js");
|
|
21
|
+
|
|
22
|
+
require("core-js/modules/es.array.concat.js");
|
|
23
|
+
|
|
24
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
|
+
|
|
26
|
+
var SCALE_MAX_LENGTH = 10;
|
|
27
|
+
var SCALE_SEGMENT_COUNT = 9;
|
|
28
|
+
var SCALE_WITHOUT_EDGE_LENGTH = SCALE_MAX_LENGTH - 2;
|
|
29
|
+
|
|
30
|
+
var getIntervalScale = function getIntervalScale(minValue, maxValue) {
|
|
31
|
+
var valueDifference = maxValue - minValue;
|
|
32
|
+
|
|
33
|
+
if (valueDifference < SCALE_MAX_LENGTH) {
|
|
34
|
+
return Array.from({
|
|
35
|
+
length: valueDifference + 1
|
|
36
|
+
}, function (_, i) {
|
|
37
|
+
return minValue + i;
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
var interval = valueDifference / SCALE_SEGMENT_COUNT;
|
|
42
|
+
var midItems = Array.from(Array(SCALE_WITHOUT_EDGE_LENGTH).keys());
|
|
43
|
+
|
|
44
|
+
var _midItems$reduce = midItems.reduce(function (acc) {
|
|
45
|
+
return {
|
|
46
|
+
current: acc.current + interval,
|
|
47
|
+
items: [].concat((0, _toConsumableArray2["default"])(acc.items), [Math.round(acc.current + interval)])
|
|
48
|
+
};
|
|
49
|
+
}, {
|
|
50
|
+
current: minValue,
|
|
51
|
+
items: []
|
|
52
|
+
}),
|
|
53
|
+
items = _midItems$reduce.items;
|
|
54
|
+
|
|
55
|
+
return [minValue].concat((0, _toConsumableArray2["default"])(items), [maxValue]);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
exports.getIntervalScale = getIntervalScale;
|
|
59
|
+
var _default = getIntervalScale;
|
|
60
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getTrackSize = exports.getRangeValue = void 0;
|
|
7
|
+
|
|
8
|
+
require("core-js/modules/es.number.constructor.js");
|
|
9
|
+
|
|
10
|
+
require("core-js/modules/es.number.to-fixed.js");
|
|
11
|
+
|
|
12
|
+
var getRangeValue = function getRangeValue(value, minValue, maxValue, step) {
|
|
13
|
+
var numberValue = Number(value);
|
|
14
|
+
|
|
15
|
+
if (numberValue < minValue) {
|
|
16
|
+
return minValue;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
if (numberValue > maxValue) {
|
|
20
|
+
return maxValue;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
var valueDifference = maxValue - minValue;
|
|
24
|
+
var expectedStepCount = valueDifference / step;
|
|
25
|
+
var receivedStepCount = valueDifference / numberValue;
|
|
26
|
+
var stepPosition = Math.round(expectedStepCount / receivedStepCount);
|
|
27
|
+
return step * stepPosition;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
exports.getRangeValue = getRangeValue;
|
|
31
|
+
|
|
32
|
+
var getTrackSize = function getTrackSize() {
|
|
33
|
+
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
34
|
+
var minValue = arguments.length > 1 ? arguments[1] : undefined;
|
|
35
|
+
var maxValue = arguments.length > 2 ? arguments[2] : undefined;
|
|
36
|
+
var valueDifference = maxValue - minValue;
|
|
37
|
+
|
|
38
|
+
if (valueDifference <= 0) {
|
|
39
|
+
return 0;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
var finalValue = value - minValue;
|
|
43
|
+
var percent = finalValue * 100 / valueDifference;
|
|
44
|
+
return Number(percent.toFixed(3));
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
exports.getTrackSize = getTrackSize;
|
|
@@ -145,3 +145,16 @@
|
|
|
145
145
|
.mfui-switcher_disabled .mfui-switcher__content {
|
|
146
146
|
color: var(--spbSky3);
|
|
147
147
|
}
|
|
148
|
+
.mfui-switcher_theme_on-gray .mfui-switcher__input:not(.mfui-switcher__input_checked),
|
|
149
|
+
.mfui-switcher_theme_on-gray .mfui-switcher__input_disabled {
|
|
150
|
+
background-color: var(--spbSky2);
|
|
151
|
+
}
|
|
152
|
+
.mfui-switcher_theme_on-gray .mfui-switcher__input:not(.mfui-switcher__input_checked):not(.mfui-switcher__input_disabled):hover {
|
|
153
|
+
background-color: var(--spbSky3);
|
|
154
|
+
}
|
|
155
|
+
.mfui-switcher_theme_on-gray .mfui-switcher__input_disabled .mfui-switcher__pointer {
|
|
156
|
+
background-color: var(--spbSky3);
|
|
157
|
+
}
|
|
158
|
+
.mfui-switcher_theme_on-gray .mfui-switcher__timer-icon {
|
|
159
|
+
fill: var(--spbSky3);
|
|
160
|
+
}
|
|
@@ -12,11 +12,13 @@ export interface ISwitcherProps {
|
|
|
12
12
|
};
|
|
13
13
|
/** Дополнительный класс корневого элемента */
|
|
14
14
|
className?: string;
|
|
15
|
+
/** Тема */
|
|
16
|
+
theme?: 'on-white' | 'on-gray';
|
|
15
17
|
/** Управление состоянием вкл/выкл компонента */
|
|
16
18
|
checked?: boolean;
|
|
17
19
|
/** Состояние ожидание */
|
|
18
20
|
waiting?: boolean;
|
|
19
|
-
/**
|
|
21
|
+
/** Состояние отключения */
|
|
20
22
|
disabled?: boolean;
|
|
21
23
|
/** Состояние загрузки */
|
|
22
24
|
showLoader?: boolean;
|
|
@@ -36,6 +36,8 @@ var cn = (0, _uiHelpers.cnCreate)('mfui-switcher');
|
|
|
36
36
|
var Switcher = function Switcher(_ref) {
|
|
37
37
|
var dataAttrs = _ref.dataAttrs,
|
|
38
38
|
className = _ref.className,
|
|
39
|
+
_ref$theme = _ref.theme,
|
|
40
|
+
theme = _ref$theme === void 0 ? 'on-white' : _ref$theme,
|
|
39
41
|
_ref$checked = _ref.checked,
|
|
40
42
|
checked = _ref$checked === void 0 ? false : _ref$checked,
|
|
41
43
|
_ref$disabled = _ref.disabled,
|
|
@@ -65,7 +67,8 @@ var Switcher = function Switcher(_ref) {
|
|
|
65
67
|
}, [isInteractiveDisabled, onChange]);
|
|
66
68
|
return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
|
|
67
69
|
className: cn({
|
|
68
|
-
disabled: disabled
|
|
70
|
+
disabled: disabled,
|
|
71
|
+
theme: theme
|
|
69
72
|
}, className)
|
|
70
73
|
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), isLeftContent && /*#__PURE__*/React.createElement("div", {
|
|
71
74
|
className: cn('content', {
|
|
@@ -106,6 +109,7 @@ Switcher.propTypes = {
|
|
|
106
109
|
className: PropTypes.string,
|
|
107
110
|
textSize: PropTypes.oneOf(['small', 'medium']),
|
|
108
111
|
textPosition: PropTypes.oneOf(['left', 'right']),
|
|
112
|
+
theme: PropTypes.oneOf(['on-white', 'on-gray']),
|
|
109
113
|
checked: PropTypes.bool,
|
|
110
114
|
disabled: PropTypes.bool,
|
|
111
115
|
waiting: PropTypes.bool,
|
|
@@ -80,12 +80,20 @@
|
|
|
80
80
|
left: auto;
|
|
81
81
|
z-index: 0;
|
|
82
82
|
border-radius: 8px;
|
|
83
|
-
|
|
83
|
+
overflow: hidden;
|
|
84
|
+
background-color: var(--base);
|
|
84
85
|
-webkit-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
|
|
85
86
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
|
|
86
87
|
-webkit-transition-duration: 0.3s;
|
|
87
88
|
transition-duration: 0.3s;
|
|
88
89
|
}
|
|
90
|
+
.mfui-tabs__underline:before {
|
|
91
|
+
content: '';
|
|
92
|
+
position: absolute;
|
|
93
|
+
width: 100%;
|
|
94
|
+
height: 100%;
|
|
95
|
+
background-color: var(--stcWhite20);
|
|
96
|
+
}
|
|
89
97
|
.mfui-tabs__arrow {
|
|
90
98
|
position: absolute;
|
|
91
99
|
top: 50%;
|
|
@@ -178,9 +186,9 @@
|
|
|
178
186
|
padding-left: 8px;
|
|
179
187
|
}
|
|
180
188
|
.mfui-tabs__tab-inner_current {
|
|
181
|
-
color: var(--
|
|
189
|
+
color: var(--content);
|
|
182
190
|
cursor: auto;
|
|
183
|
-
fill: var(--
|
|
191
|
+
fill: var(--content);
|
|
184
192
|
}
|
|
185
193
|
.mfui-tabs__tab-icon {
|
|
186
194
|
width: 32px;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="12" height="12" xmlns="http://www.w3.org/2000/svg"><path d="M1 11L11 1M7 11l4-4"/></svg>
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -7,9 +7,12 @@ export { default as Caption } from './components/Caption/Caption';
|
|
|
7
7
|
export { default as Carousel } from './components/Carousel/Carousel';
|
|
8
8
|
export { default as Checkbox } from './components/Checkbox/Checkbox';
|
|
9
9
|
export { default as checkBreakpointsPropTypes } from './components/Carousel/checkBreakpointsPropTypes';
|
|
10
|
-
export { default as Chip } from './components/
|
|
10
|
+
export { default as Chip } from './components/Chips/Chip';
|
|
11
|
+
export { default as Chips } from './components/Chips/Chips';
|
|
12
|
+
export { default as ChipsDropdown } from './components/Chips/components/ChipsDropdown';
|
|
11
13
|
export { default as Collapse } from './components/Collapse/Collapse';
|
|
12
14
|
export { default as ContentArea } from './components/ContentArea/ContentArea';
|
|
15
|
+
export { default as ContentView } from './components/ContentView/ContentView';
|
|
13
16
|
export { default as Counter } from './components/Counter/Counter';
|
|
14
17
|
export { default as CounterBadge } from './components/Badges/components/CounterBadge/CounterBadge';
|
|
15
18
|
export { default as countGraphemes } from './components/TextField/utils/countGraphemes';
|
|
@@ -17,7 +20,6 @@ export { default as Day } from './components/Calendar/components/Day/Day';
|
|
|
17
20
|
export { default as Grid } from './components/Grid/Grid';
|
|
18
21
|
export { default as GridColumn } from './components/Grid/GridColumn';
|
|
19
22
|
export { default as Header } from './components/Header/Header';
|
|
20
|
-
export { default as helpers } from './components/Pagination/helpers';
|
|
21
23
|
export { default as Link } from './components/Link/Link';
|
|
22
24
|
export { default as List } from './components/List/List';
|
|
23
25
|
export { default as ListItem } from './components/List/ListItem';
|
|
@@ -38,6 +40,11 @@ export { default as Search } from './components/Search/Search';
|
|
|
38
40
|
export { default as Select } from './components/Select/Select';
|
|
39
41
|
export { default as Selector } from './components/Selector/Selector';
|
|
40
42
|
export { default as selectReducer } from './components/Select/reducer/selectReducer';
|
|
43
|
+
export { default as Slider } from './components/Sliders/Slider/Slider';
|
|
44
|
+
export { default as SliderDisplayValue } from './components/Sliders/components/SliderDisplayValue/SliderDisplayValue';
|
|
45
|
+
export { default as SliderRange } from './components/Sliders/SliderRange/SliderRange';
|
|
46
|
+
export { default as SliderRatio } from './components/Sliders/SliderRatio/SliderRatio';
|
|
47
|
+
export { default as SliderScale } from './components/Sliders/components/SliderScale/SliderScale';
|
|
41
48
|
export { default as Snackbar } from './components/Snackbar/Snackbar';
|
|
42
49
|
export { default as SnackbarTimer } from './components/Snackbar/SnackbarTimer/SnackbarTimer';
|
|
43
50
|
export { default as Switcher } from './components/Switcher/Switcher';
|