@steroidsjs/bootstrap 2.1.3 → 2.1.4
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.
|
@@ -29,6 +29,11 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
29
29
|
__setModuleDefault(result, mod);
|
|
30
30
|
return result;
|
|
31
31
|
};
|
|
32
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
33
|
+
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
|
|
34
|
+
to[j] = from[i];
|
|
35
|
+
return to;
|
|
36
|
+
};
|
|
32
37
|
exports.__esModule = true;
|
|
33
38
|
var React = __importStar(require("react"));
|
|
34
39
|
var react_1 = require("react");
|
|
@@ -41,6 +46,22 @@ function DropDownFieldView(props) {
|
|
|
41
46
|
inputRef.current.focus();
|
|
42
47
|
}
|
|
43
48
|
}, [props.isAutoComplete, props.isOpened, props.isSearchAutoFocus]);
|
|
49
|
+
var renderItem = function (item, level) {
|
|
50
|
+
if (level === void 0) { level = 0; }
|
|
51
|
+
if (props.groupAttribute && Array.isArray(item[props.groupAttribute])) {
|
|
52
|
+
return __spreadArray([
|
|
53
|
+
(React.createElement("div", { key: String(item[props.primaryKey]), className: bem.element('drop-down-item', 'group') }, item.label))
|
|
54
|
+
], item[props.groupAttribute].map(function (subItem) { return renderItem(subItem, level + 1); }));
|
|
55
|
+
}
|
|
56
|
+
return (React.createElement("div", { key: String(item[props.primaryKey]), className: bem.element('drop-down-item', {
|
|
57
|
+
hover: props.hoveredId === item[props.primaryKey],
|
|
58
|
+
select: props.selectedIds.includes(item[props.primaryKey]),
|
|
59
|
+
level: level
|
|
60
|
+
}), onClick: function (e) {
|
|
61
|
+
e.preventDefault();
|
|
62
|
+
props.onItemSelect(item[props.primaryKey]);
|
|
63
|
+
}, onFocus: function () { return props.onItemHover(item[props.primaryKey]); }, onMouseOver: function () { return props.onItemHover(item[props.primaryKey]); } }, item.label));
|
|
64
|
+
};
|
|
44
65
|
var bem = hooks_1.useBem('DropDownFieldView');
|
|
45
66
|
return (React.createElement("div", { ref: props.forwardedRef, className: bem(bem.block({ size: props.size }), props.className), style: props.style },
|
|
46
67
|
React.createElement("div", { className: bem.element('selected-items', {
|
|
@@ -73,12 +94,6 @@ function DropDownFieldView(props) {
|
|
|
73
94
|
props.isOpened && (React.createElement("div", { className: bem.element('drop-down') },
|
|
74
95
|
props.isAutoComplete && (React.createElement("div", { className: bem.element('search') },
|
|
75
96
|
React.createElement("input", __assign({}, props.searchInputProps, { ref: inputRef, onChange: function (e) { return props.searchInputProps.onChange(e.target.value); }, className: bem('form-control', 'form-control-' + props.size, bem.element('search-input'), props.searchInputProps.className) })))),
|
|
76
|
-
React.createElement("div", { className: bem.element('drop-down-list') }, props.items.map(function (item) { return (
|
|
77
|
-
hover: props.hoveredId === item[props.primaryKey],
|
|
78
|
-
select: props.selectedIds.includes(item[props.primaryKey])
|
|
79
|
-
}), onClick: function (e) {
|
|
80
|
-
e.preventDefault();
|
|
81
|
-
props.onItemSelect(item[props.primaryKey]);
|
|
82
|
-
}, onFocus: function () { return props.onItemHover(item[props.primaryKey]); }, onMouseOver: function () { return props.onItemHover(item[props.primaryKey]); } }, item.label)); }))))));
|
|
97
|
+
React.createElement("div", { className: bem.element('drop-down-list') }, props.items.map(function (item) { return renderItem(item); }))))));
|
|
83
98
|
}
|
|
84
99
|
exports["default"] = DropDownFieldView;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
&_size_sm {
|
|
8
8
|
font-size: 0.7875rem;
|
|
9
9
|
}
|
|
10
|
+
|
|
10
11
|
&_size_lg {
|
|
11
12
|
font-size: 1.25rem;
|
|
12
13
|
}
|
|
@@ -73,12 +74,14 @@
|
|
|
73
74
|
opacity: .5;
|
|
74
75
|
}
|
|
75
76
|
}
|
|
77
|
+
|
|
76
78
|
&_size_sm &__selected-items {
|
|
77
79
|
padding: 0.25rem 0.5rem;
|
|
78
80
|
line-height: 1.5;
|
|
79
81
|
border-radius: 0.2rem;
|
|
80
82
|
height: 31px;
|
|
81
83
|
}
|
|
84
|
+
|
|
82
85
|
&_size_lg &__selected-items {
|
|
83
86
|
padding: 0.5rem 1rem;
|
|
84
87
|
line-height: 1.5;
|
|
@@ -86,7 +89,7 @@
|
|
|
86
89
|
height: 48px;
|
|
87
90
|
}
|
|
88
91
|
|
|
89
|
-
&__selected-item-multiple{
|
|
92
|
+
&__selected-item-multiple {
|
|
90
93
|
cursor: default;
|
|
91
94
|
margin-right: 5px;
|
|
92
95
|
padding: 0 4px 0 8px;
|
|
@@ -96,21 +99,22 @@
|
|
|
96
99
|
border-radius: 2px;
|
|
97
100
|
background: #f5f5f5;
|
|
98
101
|
}
|
|
99
|
-
|
|
102
|
+
|
|
103
|
+
&__selected-item-multiple-remove {
|
|
100
104
|
cursor: pointer;
|
|
101
105
|
margin-left: 6px;
|
|
102
106
|
|
|
103
107
|
display: flex;
|
|
104
108
|
align-items: center;
|
|
105
109
|
|
|
106
|
-
svg{
|
|
110
|
+
svg {
|
|
107
111
|
width: 10px;
|
|
108
112
|
opacity: .5;
|
|
109
113
|
transition: opacity .1s ease-in;
|
|
110
114
|
}
|
|
111
115
|
|
|
112
|
-
&:hover{
|
|
113
|
-
svg{
|
|
116
|
+
&:hover {
|
|
117
|
+
svg {
|
|
114
118
|
opacity: 1;
|
|
115
119
|
}
|
|
116
120
|
}
|
|
@@ -126,8 +130,7 @@
|
|
|
126
130
|
cursor: pointer;
|
|
127
131
|
|
|
128
132
|
&::before,
|
|
129
|
-
&::after
|
|
130
|
-
{
|
|
133
|
+
&::after {
|
|
131
134
|
display: block;
|
|
132
135
|
position: absolute;
|
|
133
136
|
top: 50%;
|
|
@@ -176,6 +179,7 @@
|
|
|
176
179
|
width: 100%;
|
|
177
180
|
}
|
|
178
181
|
}
|
|
182
|
+
|
|
179
183
|
&_size_sm &__search {
|
|
180
184
|
padding: 0.1rem 0.2rem;
|
|
181
185
|
}
|
|
@@ -189,6 +193,14 @@
|
|
|
189
193
|
background-color: transparent;
|
|
190
194
|
border: unset;
|
|
191
195
|
|
|
196
|
+
&_group {
|
|
197
|
+
font-weight: bold;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
&_level_1 {
|
|
201
|
+
padding-left: 1.25rem
|
|
202
|
+
}
|
|
203
|
+
|
|
192
204
|
&_hover {
|
|
193
205
|
background-color: $dropdown-divider-bg;
|
|
194
206
|
}
|
|
@@ -198,12 +210,15 @@
|
|
|
198
210
|
color: #152536;
|
|
199
211
|
}
|
|
200
212
|
}
|
|
213
|
+
|
|
201
214
|
&_size_sm &__drop-down-item {
|
|
202
215
|
padding: 0.25rem 0.5rem;
|
|
203
216
|
}
|
|
217
|
+
|
|
204
218
|
&_size_lg &__drop-down-item {
|
|
205
219
|
padding: 0.5rem 1rem;
|
|
206
220
|
}
|
|
221
|
+
|
|
207
222
|
&__placeholder {
|
|
208
223
|
color: #fff;
|
|
209
224
|
}
|