@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
@@ -230,6 +230,9 @@ declare const _default: {
230
230
  'nav.TreeView': {
231
231
  lazy: () => any;
232
232
  };
233
+ 'nav.ButtonGroupView': {
234
+ lazy: () => any;
235
+ };
233
236
  'typography.TextView': {
234
237
  lazy: () => any;
235
238
  };
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
@@ -77,5 +77,6 @@
77
77
  @import './nav/Nav/NavListView';
78
78
  @import './nav/Nav/NavTabsView';
79
79
  @import './nav/Tree/TreeView';
80
+ @import './nav/ButtonGroup/ButtonGroupView';
80
81
  @import './typography/Text/TextView';
81
82
  @import './typography/Title/TitleView';
@@ -0,0 +1,2 @@
1
+ import { IButtonGroupViewProps } from '@steroidsjs/core/ui/nav/ButtonGroup/ButtonGroup';
2
+ export default function ButtonGroupView(props: IButtonGroupViewProps): JSX.Element;
@@ -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.59",
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.40",
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.40"
56
+ "@steroidsjs/core": "^3.0 || >=3.0.0-beta.42"
57
57
  }
58
58
  }
@@ -15,7 +15,7 @@
15
15
  }
16
16
  &:focus,
17
17
  &:focus-visible {
18
- border: 4px solid map-get($colorMap, color-light);
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);