@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
|
@@ -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;
|
|
@@ -19,6 +19,8 @@ var cn = cnCreate('mfui-switcher');
|
|
|
19
19
|
var Switcher = function Switcher(_ref) {
|
|
20
20
|
var dataAttrs = _ref.dataAttrs,
|
|
21
21
|
className = _ref.className,
|
|
22
|
+
_ref$theme = _ref.theme,
|
|
23
|
+
theme = _ref$theme === void 0 ? 'on-white' : _ref$theme,
|
|
22
24
|
_ref$checked = _ref.checked,
|
|
23
25
|
checked = _ref$checked === void 0 ? false : _ref$checked,
|
|
24
26
|
_ref$disabled = _ref.disabled,
|
|
@@ -48,7 +50,8 @@ var Switcher = function Switcher(_ref) {
|
|
|
48
50
|
}, [isInteractiveDisabled, onChange]);
|
|
49
51
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
50
52
|
className: cn({
|
|
51
|
-
disabled: disabled
|
|
53
|
+
disabled: disabled,
|
|
54
|
+
theme: theme
|
|
52
55
|
}, className)
|
|
53
56
|
}, filterDataAttrs(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.root)), isLeftContent && /*#__PURE__*/React.createElement("div", {
|
|
54
57
|
className: cn('content', {
|
|
@@ -89,6 +92,7 @@ Switcher.propTypes = {
|
|
|
89
92
|
className: PropTypes.string,
|
|
90
93
|
textSize: PropTypes.oneOf(['small', 'medium']),
|
|
91
94
|
textPosition: PropTypes.oneOf(['left', 'right']),
|
|
95
|
+
theme: PropTypes.oneOf(['on-white', 'on-gray']),
|
|
92
96
|
checked: PropTypes.bool,
|
|
93
97
|
disabled: PropTypes.bool,
|
|
94
98
|
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/es/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';
|
package/dist/es/index.js
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";
|
|
@@ -11,9 +11,6 @@
|
|
|
11
11
|
align-items: center;
|
|
12
12
|
-webkit-box-sizing: border-box;
|
|
13
13
|
box-sizing: border-box;
|
|
14
|
-
min-width: -webkit-fit-content;
|
|
15
|
-
min-width: -moz-fit-content;
|
|
16
|
-
min-width: fit-content;
|
|
17
14
|
padding: 8px 20px;
|
|
18
15
|
border: none;
|
|
19
16
|
border-radius: 20px;
|
|
@@ -43,6 +40,47 @@
|
|
|
43
40
|
.mfui-chip:hover {
|
|
44
41
|
background-color: var(--spbSky1);
|
|
45
42
|
}
|
|
43
|
+
.mfui-chip__inner {
|
|
44
|
+
overflow: hidden;
|
|
45
|
+
white-space: nowrap;
|
|
46
|
+
text-overflow: ellipsis;
|
|
47
|
+
}
|
|
48
|
+
.mfui-chip__counter {
|
|
49
|
+
display: -webkit-inline-box;
|
|
50
|
+
display: -ms-inline-flexbox;
|
|
51
|
+
display: inline-flex;
|
|
52
|
+
-webkit-box-align: center;
|
|
53
|
+
-ms-flex-align: center;
|
|
54
|
+
align-items: center;
|
|
55
|
+
margin-left: 6px;
|
|
56
|
+
color: var(--spbSky3);
|
|
57
|
+
}
|
|
58
|
+
@media screen and (max-width: 767px) {
|
|
59
|
+
.mfui-chip__counter {
|
|
60
|
+
margin-left: 4px;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
.mfui-chip__icon,
|
|
64
|
+
.mfui-chip__icon-arrow {
|
|
65
|
+
display: block;
|
|
66
|
+
width: 20px;
|
|
67
|
+
min-width: 20px;
|
|
68
|
+
max-height: 20px;
|
|
69
|
+
}
|
|
70
|
+
.mfui-chip__icon svg,
|
|
71
|
+
.mfui-chip__icon-arrow svg {
|
|
72
|
+
display: block;
|
|
73
|
+
width: 100%;
|
|
74
|
+
height: 100%;
|
|
75
|
+
}
|
|
76
|
+
.mfui-chip__icon {
|
|
77
|
+
margin-right: 6px;
|
|
78
|
+
}
|
|
79
|
+
@media screen and (max-width: 767px) {
|
|
80
|
+
.mfui-chip__icon {
|
|
81
|
+
margin-right: 4px;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
46
84
|
.mfui-chip_disabled,
|
|
47
85
|
.mfui-chip_disabled:hover {
|
|
48
86
|
color: var(--spbSky3);
|
|
@@ -54,6 +92,10 @@
|
|
|
54
92
|
.mfui-chip_disabled:hover svg {
|
|
55
93
|
fill: var(--spbSky3);
|
|
56
94
|
}
|
|
95
|
+
.mfui-chip_disabled .mfui-chip__counter,
|
|
96
|
+
.mfui-chip_disabled:hover .mfui-chip__counter {
|
|
97
|
+
color: var(--spbSky2);
|
|
98
|
+
}
|
|
57
99
|
.mfui-chip_checked,
|
|
58
100
|
.mfui-chip_checked:hover {
|
|
59
101
|
color: var(--stcWhite);
|
|
@@ -63,6 +105,10 @@
|
|
|
63
105
|
.mfui-chip_checked:hover svg {
|
|
64
106
|
fill: var(--stcWhite);
|
|
65
107
|
}
|
|
108
|
+
.mfui-chip_checked .mfui-chip__counter,
|
|
109
|
+
.mfui-chip_checked:hover .mfui-chip__counter {
|
|
110
|
+
color: var(--stcWhite);
|
|
111
|
+
}
|
|
66
112
|
.mfui-chip_checked.mfui-chip_color_black,
|
|
67
113
|
.mfui-chip_checked.mfui-chip_color_black:hover {
|
|
68
114
|
color: var(--base);
|
|
@@ -72,6 +118,10 @@
|
|
|
72
118
|
.mfui-chip_checked.mfui-chip_color_black:hover svg {
|
|
73
119
|
fill: var(--base);
|
|
74
120
|
}
|
|
121
|
+
.mfui-chip_checked.mfui-chip_color_black .mfui-chip__counter,
|
|
122
|
+
.mfui-chip_checked.mfui-chip_color_black:hover .mfui-chip__counter {
|
|
123
|
+
color: var(--base);
|
|
124
|
+
}
|
|
75
125
|
.mfui-chip_with-icon {
|
|
76
126
|
padding-left: 16px;
|
|
77
127
|
}
|
|
@@ -80,32 +130,3 @@
|
|
|
80
130
|
padding-left: 8px;
|
|
81
131
|
}
|
|
82
132
|
}
|
|
83
|
-
.mfui-chip__inner {
|
|
84
|
-
display: -webkit-inline-box;
|
|
85
|
-
display: -ms-inline-flexbox;
|
|
86
|
-
display: inline-flex;
|
|
87
|
-
-webkit-box-align: center;
|
|
88
|
-
-ms-flex-align: center;
|
|
89
|
-
align-items: center;
|
|
90
|
-
-webkit-box-pack: center;
|
|
91
|
-
-ms-flex-pack: center;
|
|
92
|
-
justify-content: center;
|
|
93
|
-
white-space: nowrap;
|
|
94
|
-
}
|
|
95
|
-
.mfui-chip__icon {
|
|
96
|
-
display: block;
|
|
97
|
-
width: 20px;
|
|
98
|
-
min-width: 20px;
|
|
99
|
-
max-height: 20px;
|
|
100
|
-
margin-right: 6px;
|
|
101
|
-
}
|
|
102
|
-
@media screen and (max-width: 767px) {
|
|
103
|
-
.mfui-chip__icon {
|
|
104
|
-
margin-right: 4px;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
.mfui-chip__icon svg {
|
|
108
|
-
display: block;
|
|
109
|
-
width: 100%;
|
|
110
|
-
height: 100%;
|
|
111
|
-
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import React, { Ref } from 'react';
|
|
2
|
+
import * as PropTypes from 'prop-types';
|
|
3
|
+
import './Chip.less';
|
|
4
|
+
export declare type ChipIdType = number | string;
|
|
5
|
+
export declare const ChipColors: {
|
|
6
|
+
readonly DEFAULT: "default";
|
|
7
|
+
readonly BLACK: "black";
|
|
8
|
+
};
|
|
9
|
+
export declare type ChipColorsType = typeof ChipColors[keyof typeof ChipColors];
|
|
10
|
+
export declare const ChipArrow: {
|
|
11
|
+
readonly UP: "up";
|
|
12
|
+
readonly DOWN: "down";
|
|
13
|
+
};
|
|
14
|
+
export declare type ChipArrowType = typeof ChipArrow[keyof typeof ChipArrow];
|
|
15
|
+
export interface IChipProps {
|
|
16
|
+
/** Идентификатор */
|
|
17
|
+
id: ChipIdType;
|
|
18
|
+
/** Набор цветов для компонента */
|
|
19
|
+
color?: ChipColorsType;
|
|
20
|
+
/** Отображение в отмеченном (зажатом) состоянии */
|
|
21
|
+
checked?: boolean;
|
|
22
|
+
/** Отключенное состояние */
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
/** Иконка */
|
|
25
|
+
icon?: JSX.Element;
|
|
26
|
+
/** Значение счетчика */
|
|
27
|
+
counterValue?: number;
|
|
28
|
+
/** Стрелка вверх или вниз */
|
|
29
|
+
arrow?: ChipArrowType;
|
|
30
|
+
/** Обработчик нажатия */
|
|
31
|
+
onClick?: (e: React.SyntheticEvent<EventTarget>, id?: ChipIdType) => void;
|
|
32
|
+
/** Дочерние элементы */
|
|
33
|
+
children?: React.ReactNode;
|
|
34
|
+
/** Дополнительный класс корневого элемента */
|
|
35
|
+
className?: string;
|
|
36
|
+
/** Дополнительные классы для внутренних элементов */
|
|
37
|
+
classes?: {
|
|
38
|
+
root?: string;
|
|
39
|
+
inner?: string;
|
|
40
|
+
icon?: string;
|
|
41
|
+
counter?: string;
|
|
42
|
+
};
|
|
43
|
+
/** Дополнительные data атрибуты к внутренним элементам */
|
|
44
|
+
dataAttrs?: {
|
|
45
|
+
root?: Record<string, string>;
|
|
46
|
+
inner?: Record<string, string>;
|
|
47
|
+
icon?: Record<string, string>;
|
|
48
|
+
counter?: Record<string, string>;
|
|
49
|
+
arrow?: Record<string, string>;
|
|
50
|
+
};
|
|
51
|
+
/** Ссылка на элемент */
|
|
52
|
+
rootRef?: Ref<HTMLButtonElement>;
|
|
53
|
+
}
|
|
54
|
+
declare const Chip: React.FC<IChipProps>;
|
|
55
|
+
export declare const ChipPropType: {
|
|
56
|
+
id: PropTypes.Validator<string | number>;
|
|
57
|
+
color: PropTypes.Requireable<"default" | "black">;
|
|
58
|
+
checked: PropTypes.Requireable<boolean>;
|
|
59
|
+
disabled: PropTypes.Requireable<boolean>;
|
|
60
|
+
icon: PropTypes.Requireable<PropTypes.ReactElementLike>;
|
|
61
|
+
counterValue: PropTypes.Requireable<number>;
|
|
62
|
+
arrow: PropTypes.Requireable<"down" | "up">;
|
|
63
|
+
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
64
|
+
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
65
|
+
className: PropTypes.Requireable<string>;
|
|
66
|
+
classes: PropTypes.Requireable<{
|
|
67
|
+
[x: string]: string | null | undefined;
|
|
68
|
+
}>;
|
|
69
|
+
dataAttrs: PropTypes.Requireable<{
|
|
70
|
+
[x: string]: object | null | undefined;
|
|
71
|
+
}>;
|
|
72
|
+
rootRef: PropTypes.Requireable<any>;
|
|
73
|
+
};
|
|
74
|
+
export default Chip;
|
|
@@ -5,10 +5,12 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports["default"] = void 0;
|
|
8
|
+
exports["default"] = exports.ChipPropType = exports.ChipArrow = exports.ChipColors = void 0;
|
|
9
9
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
|
|
12
|
+
require("core-js/modules/es.object.values.js");
|
|
13
|
+
|
|
12
14
|
var _react = _interopRequireDefault(require("react"));
|
|
13
15
|
|
|
14
16
|
var _uiHelpers = require("@megafon/ui-helpers");
|
|
@@ -21,6 +23,36 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
21
23
|
|
|
22
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
23
25
|
|
|
26
|
+
var ArrowDown = function ArrowDown(props) {
|
|
27
|
+
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({
|
|
28
|
+
viewBox: "0 0 20 20"
|
|
29
|
+
}, props), /*#__PURE__*/_react["default"].createElement("path", {
|
|
30
|
+
d: "M6 8h8l-4 5z",
|
|
31
|
+
fillRule: "evenodd",
|
|
32
|
+
clipRule: "evenodd"
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var ArrowUp = function ArrowUp(props) {
|
|
37
|
+
return /*#__PURE__*/_react["default"].createElement("svg", (0, _extends2["default"])({
|
|
38
|
+
viewBox: "0 0 20 20"
|
|
39
|
+
}, props), /*#__PURE__*/_react["default"].createElement("path", {
|
|
40
|
+
d: "M14 12H6l4-5z",
|
|
41
|
+
fillRule: "evenodd",
|
|
42
|
+
clipRule: "evenodd"
|
|
43
|
+
}));
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
var ChipColors = {
|
|
47
|
+
DEFAULT: 'default',
|
|
48
|
+
BLACK: 'black'
|
|
49
|
+
};
|
|
50
|
+
exports.ChipColors = ChipColors;
|
|
51
|
+
var ChipArrow = {
|
|
52
|
+
UP: 'up',
|
|
53
|
+
DOWN: 'down'
|
|
54
|
+
};
|
|
55
|
+
exports.ChipArrow = ChipArrow;
|
|
24
56
|
var cn = (0, _uiHelpers.cnCreate)('mfui-chip');
|
|
25
57
|
|
|
26
58
|
var Chip = function Chip(_ref) {
|
|
@@ -32,6 +64,8 @@ var Chip = function Chip(_ref) {
|
|
|
32
64
|
_ref$disabled = _ref.disabled,
|
|
33
65
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
34
66
|
icon = _ref.icon,
|
|
67
|
+
counterValue = _ref.counterValue,
|
|
68
|
+
arrow = _ref.arrow,
|
|
35
69
|
onClick = _ref.onClick,
|
|
36
70
|
children = _ref.children,
|
|
37
71
|
className = _ref.className,
|
|
@@ -60,23 +94,31 @@ var Chip = function Chip(_ref) {
|
|
|
60
94
|
className: cn('icon', [classes.icon])
|
|
61
95
|
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.icon)), icon), /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({
|
|
62
96
|
className: cn('inner', [classes.inner])
|
|
63
|
-
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.inner)), children))
|
|
97
|
+
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.inner)), children), !!counterValue && /*#__PURE__*/_react["default"].createElement("span", (0, _extends2["default"])({
|
|
98
|
+
className: cn('counter', [classes.counter])
|
|
99
|
+
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.counter)), counterValue), !!arrow && /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
|
|
100
|
+
className: cn('icon-arrow')
|
|
101
|
+
}, (0, _uiHelpers.filterDataAttrs)(dataAttrs === null || dataAttrs === void 0 ? void 0 : dataAttrs.arrow)), arrow === 'up' ? /*#__PURE__*/_react["default"].createElement(ArrowUp, null) : /*#__PURE__*/_react["default"].createElement(ArrowDown, null)));
|
|
64
102
|
};
|
|
65
103
|
|
|
66
|
-
|
|
67
|
-
id: PropTypes.string.isRequired,
|
|
68
|
-
color: PropTypes.oneOf(
|
|
104
|
+
var ChipPropType = {
|
|
105
|
+
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
|
|
106
|
+
color: PropTypes.oneOf(Object.values(ChipColors)),
|
|
69
107
|
checked: PropTypes.bool,
|
|
70
108
|
disabled: PropTypes.bool,
|
|
71
109
|
icon: PropTypes.element,
|
|
110
|
+
counterValue: PropTypes.number,
|
|
111
|
+
arrow: PropTypes.oneOf(Object.values(ChipArrow)),
|
|
112
|
+
onClick: PropTypes.func,
|
|
113
|
+
children: PropTypes.node,
|
|
72
114
|
className: PropTypes.string,
|
|
73
115
|
classes: PropTypes.objectOf(PropTypes.string),
|
|
74
116
|
dataAttrs: PropTypes.objectOf(PropTypes.object),
|
|
75
|
-
onClick: PropTypes.func,
|
|
76
|
-
children: PropTypes.node,
|
|
77
117
|
rootRef: PropTypes.oneOfType([PropTypes.func, PropTypes.oneOfType([PropTypes.shape({
|
|
78
118
|
current: PropTypes.elementType
|
|
79
119
|
}), PropTypes.any])])
|
|
80
120
|
};
|
|
121
|
+
exports.ChipPropType = ChipPropType;
|
|
122
|
+
Chip.propTypes = ChipPropType;
|
|
81
123
|
var _default = Chip;
|
|
82
124
|
exports["default"] = _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
.mfui-chips {
|
|
2
|
+
display: -webkit-box;
|
|
3
|
+
display: -ms-flexbox;
|
|
4
|
+
display: flex;
|
|
5
|
+
-ms-flex-wrap: wrap;
|
|
6
|
+
flex-wrap: wrap;
|
|
7
|
+
gap: 12px;
|
|
8
|
+
width: 100%;
|
|
9
|
+
}
|
|
10
|
+
@media screen and (max-width: 767px) {
|
|
11
|
+
.mfui-chips {
|
|
12
|
+
gap: 8px;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
.mfui-chips_hidden {
|
|
16
|
+
display: grid;
|
|
17
|
+
grid-template-columns: repeat(auto-fit, minMax(0, -webkit-min-content));
|
|
18
|
+
grid-template-columns: repeat(auto-fit, minMax(0, min-content));
|
|
19
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ChipColorsType, ChipIdType, IChipProps } from './Chip';
|
|
3
|
+
import './Chips.less';
|
|
4
|
+
export interface IChipsProps {
|
|
5
|
+
/** Массив элементов */
|
|
6
|
+
items: IChipProps[];
|
|
7
|
+
/** Значение */
|
|
8
|
+
value: ChipIdType;
|
|
9
|
+
/** Цвет активного элемента */
|
|
10
|
+
color?: ChipColorsType;
|
|
11
|
+
/** Количество отображаемых элементов на всех разрешениях экрана */
|
|
12
|
+
visibleItemsCountAll?: number;
|
|
13
|
+
/** Количество отображаемых элементов на разрешении 768 - 1023 */
|
|
14
|
+
visibleItemsCountTablet?: number;
|
|
15
|
+
/** Количество отображаемых элементов на разрешении 1024 - 1279 */
|
|
16
|
+
visibleItemsCountDesktop?: number;
|
|
17
|
+
/** Количество отображаемых элементов на разрешении 1280+ */
|
|
18
|
+
visibleItemsCountWide?: number;
|
|
19
|
+
/** Название дополнительной кнопки */
|
|
20
|
+
moreTitle?: string;
|
|
21
|
+
/** Обработчик изменения значения */
|
|
22
|
+
onChange?: (id: ChipIdType, e?: React.SyntheticEvent<EventTarget>) => void;
|
|
23
|
+
/** Дополнительный класс корневого элемента */
|
|
24
|
+
className?: string;
|
|
25
|
+
}
|
|
26
|
+
declare const Chips: React.FC<IChipsProps>;
|
|
27
|
+
export default Chips;
|
|
@@ -0,0 +1,159 @@
|
|
|
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"] = 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.array.slice.js");
|
|
15
|
+
|
|
16
|
+
require("core-js/modules/es.array.map.js");
|
|
17
|
+
|
|
18
|
+
require("core-js/modules/es.object.values.js");
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireDefault(require("react"));
|
|
21
|
+
|
|
22
|
+
var _uiHelpers = require("@megafon/ui-helpers");
|
|
23
|
+
|
|
24
|
+
var _throttleTime = _interopRequireDefault(require("@megafon/ui-shared/src/constants/throttleTime"));
|
|
25
|
+
|
|
26
|
+
var _lodash = _interopRequireDefault(require("lodash.throttle"));
|
|
27
|
+
|
|
28
|
+
var PropTypes = _interopRequireWildcard(require("prop-types"));
|
|
29
|
+
|
|
30
|
+
var _Chip = _interopRequireWildcard(require("./Chip"));
|
|
31
|
+
|
|
32
|
+
var _ChipsDropdown = _interopRequireDefault(require("./components/ChipsDropdown"));
|
|
33
|
+
|
|
34
|
+
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); }
|
|
35
|
+
|
|
36
|
+
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; }
|
|
37
|
+
|
|
38
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
39
|
+
|
|
40
|
+
var DESKTOP_SMALL_START = _uiHelpers.breakpoints.DESKTOP_SMALL_START,
|
|
41
|
+
DESKTOP_MIDDLE_START = _uiHelpers.breakpoints.DESKTOP_MIDDLE_START,
|
|
42
|
+
MOBILE_BIG_START = _uiHelpers.breakpoints.MOBILE_BIG_START;
|
|
43
|
+
var cn = (0, _uiHelpers.cnCreate)('mfui-chips');
|
|
44
|
+
|
|
45
|
+
var Chips = function Chips(_ref) {
|
|
46
|
+
var items = _ref.items,
|
|
47
|
+
value = _ref.value,
|
|
48
|
+
_ref$color = _ref.color,
|
|
49
|
+
color = _ref$color === void 0 ? 'default' : _ref$color,
|
|
50
|
+
_ref$moreTitle = _ref.moreTitle,
|
|
51
|
+
moreTitle = _ref$moreTitle === void 0 ? 'Еще' : _ref$moreTitle,
|
|
52
|
+
visibleItemsCountAll = _ref.visibleItemsCountAll,
|
|
53
|
+
visibleItemsCountTablet = _ref.visibleItemsCountTablet,
|
|
54
|
+
visibleItemsCountDesktop = _ref.visibleItemsCountDesktop,
|
|
55
|
+
visibleItemsCountWide = _ref.visibleItemsCountWide,
|
|
56
|
+
onChange = _ref.onChange,
|
|
57
|
+
className = _ref.className;
|
|
58
|
+
|
|
59
|
+
var _React$useState = _react["default"].useState(value),
|
|
60
|
+
_React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
|
|
61
|
+
selectedId = _React$useState2[0],
|
|
62
|
+
setSelectedId = _React$useState2[1];
|
|
63
|
+
|
|
64
|
+
var _React$useState3 = _react["default"].useState(visibleItemsCountAll),
|
|
65
|
+
_React$useState4 = (0, _slicedToArray2["default"])(_React$useState3, 2),
|
|
66
|
+
visibleItemsCount = _React$useState4[0],
|
|
67
|
+
setVisibleItemsCount = _React$useState4[1];
|
|
68
|
+
|
|
69
|
+
var _React$useState5 = _react["default"].useState([]),
|
|
70
|
+
_React$useState6 = (0, _slicedToArray2["default"])(_React$useState5, 2),
|
|
71
|
+
visibleItems = _React$useState6[0],
|
|
72
|
+
setVisibleItems = _React$useState6[1];
|
|
73
|
+
|
|
74
|
+
var _React$useState7 = _react["default"].useState(null),
|
|
75
|
+
_React$useState8 = (0, _slicedToArray2["default"])(_React$useState7, 2),
|
|
76
|
+
hiddenItems = _React$useState8[0],
|
|
77
|
+
setHiddenItems = _React$useState8[1];
|
|
78
|
+
|
|
79
|
+
var handleClick = _react["default"].useCallback(function (e, id) {
|
|
80
|
+
e.persist();
|
|
81
|
+
setSelectedId(id);
|
|
82
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(id, e);
|
|
83
|
+
}, [onChange]);
|
|
84
|
+
|
|
85
|
+
_react["default"].useEffect(function () {
|
|
86
|
+
var resizeHandler = function resizeHandler() {
|
|
87
|
+
var windowWidth = window.innerWidth;
|
|
88
|
+
|
|
89
|
+
if (visibleItemsCountWide && windowWidth >= DESKTOP_MIDDLE_START) {
|
|
90
|
+
setVisibleItemsCount(visibleItemsCountWide);
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
if (visibleItemsCountDesktop && windowWidth >= DESKTOP_SMALL_START && windowWidth < DESKTOP_MIDDLE_START) {
|
|
95
|
+
setVisibleItemsCount(visibleItemsCountDesktop);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (visibleItemsCountTablet && windowWidth >= MOBILE_BIG_START && windowWidth < DESKTOP_SMALL_START) {
|
|
100
|
+
setVisibleItemsCount(visibleItemsCountTablet);
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
setVisibleItemsCount(visibleItemsCountAll);
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
var resizeHandlerThrottled = (0, _lodash["default"])(resizeHandler, _throttleTime["default"].resize);
|
|
108
|
+
resizeHandler();
|
|
109
|
+
window.addEventListener('resize', resizeHandlerThrottled);
|
|
110
|
+
return function () {
|
|
111
|
+
window.removeEventListener('resize', resizeHandlerThrottled);
|
|
112
|
+
};
|
|
113
|
+
}, [visibleItemsCountAll, visibleItemsCountDesktop, visibleItemsCountTablet, visibleItemsCountWide]);
|
|
114
|
+
|
|
115
|
+
_react["default"].useEffect(function () {
|
|
116
|
+
if (visibleItemsCount && items.length > visibleItemsCount) {
|
|
117
|
+
setVisibleItems(items.slice(0, visibleItemsCount));
|
|
118
|
+
setHiddenItems(items.slice(visibleItemsCount));
|
|
119
|
+
} else {
|
|
120
|
+
setVisibleItems(items);
|
|
121
|
+
setHiddenItems(null);
|
|
122
|
+
}
|
|
123
|
+
}, [items, visibleItemsCount]);
|
|
124
|
+
|
|
125
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
126
|
+
className: cn({
|
|
127
|
+
hidden: !!hiddenItems
|
|
128
|
+
}, [className])
|
|
129
|
+
}, visibleItems.map(function (item) {
|
|
130
|
+
return /*#__PURE__*/_react["default"].createElement(_Chip["default"], (0, _extends2["default"])({
|
|
131
|
+
key: item.id
|
|
132
|
+
}, item, {
|
|
133
|
+
checked: item.id === selectedId,
|
|
134
|
+
color: color,
|
|
135
|
+
onClick: handleClick
|
|
136
|
+
}), !!(item === null || item === void 0 ? void 0 : item.children) && item.children);
|
|
137
|
+
}), !!hiddenItems && /*#__PURE__*/_react["default"].createElement(_ChipsDropdown["default"], {
|
|
138
|
+
value: selectedId,
|
|
139
|
+
items: hiddenItems,
|
|
140
|
+
moreTitle: moreTitle,
|
|
141
|
+
color: color,
|
|
142
|
+
onClick: handleClick
|
|
143
|
+
}));
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
Chips.propTypes = {
|
|
147
|
+
items: PropTypes.arrayOf(PropTypes.shape(_Chip.ChipPropType).isRequired).isRequired,
|
|
148
|
+
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,
|
|
149
|
+
color: PropTypes.oneOf(Object.values(_Chip.ChipColors)),
|
|
150
|
+
visibleItemsCountAll: PropTypes.number,
|
|
151
|
+
visibleItemsCountTablet: PropTypes.number,
|
|
152
|
+
visibleItemsCountDesktop: PropTypes.number,
|
|
153
|
+
visibleItemsCountWide: PropTypes.number,
|
|
154
|
+
moreTitle: PropTypes.string,
|
|
155
|
+
onChange: PropTypes.func,
|
|
156
|
+
className: PropTypes.string
|
|
157
|
+
};
|
|
158
|
+
var _default = Chips;
|
|
159
|
+
exports["default"] = _default;
|