@steroidsjs/bootstrap 3.0.0-beta.59 → 3.0.0-beta.60
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/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -233,6 +233,9 @@ exports["default"] = {
|
|
|
233
233
|
'nav.TreeView': {
|
|
234
234
|
lazy: function () { return require('./nav/Tree/TreeView')["default"]; }
|
|
235
235
|
},
|
|
236
|
+
'nav.ButtonGroupView': {
|
|
237
|
+
lazy: function () { return require('./nav/ButtonGroup/ButtonGroupView')["default"]; }
|
|
238
|
+
},
|
|
236
239
|
'typography.TextView': {
|
|
237
240
|
lazy: function () { return require('./typography/Text/TextView')["default"]; }
|
|
238
241
|
},
|
package/index.scss
CHANGED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
exports.__esModule = true;
|
|
17
|
+
var react_1 = __importDefault(require("react"));
|
|
18
|
+
var hooks_1 = require("@steroidsjs/core/hooks");
|
|
19
|
+
var form_1 = require("@steroidsjs/core/ui/form");
|
|
20
|
+
function ButtonGroupView(props) {
|
|
21
|
+
var bem = (0, hooks_1.useBem)('ButtonGroupView');
|
|
22
|
+
return (react_1["default"].createElement("div", { className: bem(bem.block({
|
|
23
|
+
size: props.size
|
|
24
|
+
}), props.className), style: props.style }, props.items.map(function (item, index) {
|
|
25
|
+
var isActive = props.activeButton === item.id;
|
|
26
|
+
return (react_1["default"].createElement(form_1.Button, __assign({ key: index, className: bem.element('button', {
|
|
27
|
+
"default": !isActive,
|
|
28
|
+
active: isActive
|
|
29
|
+
}), label: item.label, onClick: function () { return props.onClick(item.id); } }, props.buttonProps)));
|
|
30
|
+
})));
|
|
31
|
+
}
|
|
32
|
+
exports["default"] = ButtonGroupView;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
@import "../../scss/variables/";
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
--button-group-background: #DBE2E6;
|
|
5
|
+
--button-group-separator-color: #CBD5DB;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
html[data-theme="dark"] {
|
|
9
|
+
--button-group-background: #333646;
|
|
10
|
+
--button-group-separator-color: #ADAAB3;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
$button-group-background: var(--button-group-background);
|
|
14
|
+
$button-group-separator-color: var(--button-group-separator-color);
|
|
15
|
+
|
|
16
|
+
.ButtonGroupView {
|
|
17
|
+
display: flex;
|
|
18
|
+
padding: 4px;
|
|
19
|
+
width: fit-content;
|
|
20
|
+
background-color: $button-group-background;
|
|
21
|
+
|
|
22
|
+
$sizes: () !default;
|
|
23
|
+
$sizes: map-merge(
|
|
24
|
+
(
|
|
25
|
+
"lg": (
|
|
26
|
+
"border-radius": 16px,
|
|
27
|
+
),
|
|
28
|
+
"md": (
|
|
29
|
+
"border-radius": 16px,
|
|
30
|
+
),
|
|
31
|
+
"sm": (
|
|
32
|
+
"border-radius": 12px,
|
|
33
|
+
),
|
|
34
|
+
),
|
|
35
|
+
$sizes
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
&_size {
|
|
39
|
+
@each $size, $sizeMap in $sizes {
|
|
40
|
+
&_#{$size} {
|
|
41
|
+
border-radius: map-get($sizeMap, border-radius);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&__button {
|
|
47
|
+
&_default {
|
|
48
|
+
background-color: transparent;
|
|
49
|
+
border-color: transparent;
|
|
50
|
+
color: $text-color;
|
|
51
|
+
transition: opacity $transition-duration ease-in-out;
|
|
52
|
+
|
|
53
|
+
&:hover {
|
|
54
|
+
background-color: transparent;
|
|
55
|
+
border-color: transparent;
|
|
56
|
+
color: $text-color;
|
|
57
|
+
opacity: 0.7;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&:active {
|
|
61
|
+
box-shadow: none;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
&:not(:first-child) {
|
|
65
|
+
&::after {
|
|
66
|
+
content: '';
|
|
67
|
+
display: block;
|
|
68
|
+
position: absolute;
|
|
69
|
+
top: 50%;
|
|
70
|
+
left: 0;
|
|
71
|
+
transform: translateY(-50%);
|
|
72
|
+
width: 1px;
|
|
73
|
+
height: 12px;
|
|
74
|
+
background-color: $button-group-separator-color;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&_active + &_default::after {
|
|
80
|
+
display: none;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steroidsjs/bootstrap",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.60",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "Vladimir Kozhin <hello@kozhindev.com>",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"react-use": "^17.4.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@steroidsjs/core": "^3.0 || >=3.0.0-beta.
|
|
38
|
+
"@steroidsjs/core": "^3.0 || >=3.0.0-beta.42",
|
|
39
39
|
"@steroidsjs/eslint-config": "^2.1.4",
|
|
40
40
|
"@types/enzyme": "^3.10.8",
|
|
41
41
|
"@types/googlemaps": "^3.43.3",
|
|
@@ -53,6 +53,6 @@
|
|
|
53
53
|
"typescript": "^4.9.5"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
|
-
"@steroidsjs/core": "^3.0 || >=3.0.0-beta.
|
|
56
|
+
"@steroidsjs/core": "^3.0 || >=3.0.0-beta.42"
|
|
57
57
|
}
|
|
58
58
|
}
|
package/scss/mixins/button.scss
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
}
|
|
16
16
|
&:focus,
|
|
17
17
|
&:focus-visible {
|
|
18
|
-
|
|
18
|
+
box-shadow: 0 0 0 4px map-get($colorMap, color-light), 0 0 0 4px map-get($colorMap, color-light);
|
|
19
19
|
}
|
|
20
20
|
&:active {
|
|
21
21
|
background-color: map-get($colorMap, color-light);
|