@steroidsjs/bootstrap 3.0.0-beta.66 → 3.0.0-beta.68

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.
Files changed (41) hide show
  1. package/content/Alert/AlertView.scss +1 -1
  2. package/form/Button/ButtonView.scss +10 -4
  3. package/form/ImageField/ImageFieldView.js +14 -2
  4. package/form/ImageField/ImageFieldView.scss +7 -24
  5. package/form/RateField/RateFieldView.scss +3 -1
  6. package/form/TimeField/TimeFieldView.js +16 -14
  7. package/form/TimeField/TimeFieldView.scss +19 -68
  8. package/form/TimeField/TimePanelView.scss +62 -68
  9. package/icons/svgs/star.svg +2 -2
  10. package/index.scss +1 -0
  11. package/layout/Header/HeaderView.js +1 -1
  12. package/layout/Header/HeaderView.scss +10 -3
  13. package/layout/Notifications/NotificationsItemView.js +9 -8
  14. package/layout/Notifications/NotificationsItemView.scss +1 -39
  15. package/layout/Notifications/NotificationsView.scss +3 -0
  16. package/list/ControlsColumnView/ControlsColumnView.scss +7 -1
  17. package/list/Empty/EmptyView.js +1 -1
  18. package/list/Empty/EmptyView.scss +5 -1
  19. package/list/List/ListView.scss +3 -7
  20. package/list/PaginationSize/PaginationSizeView.js +5 -5
  21. package/list/PaginationSize/PaginationSizeView.scss +0 -8
  22. package/nav/ButtonGroup/ButtonGroupView.js +6 -5
  23. package/nav/Controls/ControlsView.scss +9 -1
  24. package/nav/Nav/NavBarView.js +9 -4
  25. package/nav/Nav/NavBarView.scss +32 -1
  26. package/nav/Nav/NavButtonView.js +8 -2
  27. package/nav/Nav/NavButtonView.scss +6 -5
  28. package/nav/Nav/NavIconView.js +7 -2
  29. package/nav/Nav/NavIconView.scss +6 -7
  30. package/nav/Nav/NavLinkView.js +8 -2
  31. package/nav/Nav/NavLinkView.scss +14 -5
  32. package/nav/Nav/NavListView.js +11 -7
  33. package/nav/Nav/NavListView.scss +11 -10
  34. package/nav/Nav/NavTabsView.js +9 -4
  35. package/nav/Nav/NavTabsView.scss +47 -1
  36. package/nav/Tree/TreeView.scss +57 -53
  37. package/package.json +3 -3
  38. package/scss/mixins/date.scss +4 -0
  39. package/scss/mixins/index.scss +2 -1
  40. package/scss/mixins/navs.scss +39 -0
  41. package/scss/variables/common/colors.scss +6 -0
@@ -108,7 +108,7 @@ $alert-themes: map-merge(
108
108
  }
109
109
 
110
110
  &__wrapper {
111
- width: 508px;
111
+ max-width: 508px;
112
112
  display: flex;
113
113
  flex-flow: column;
114
114
  justify-content: space-between;
@@ -114,6 +114,16 @@ $btn-letter-spacing: 0.1em;
114
114
  &__link {
115
115
  display: inline-flex;
116
116
  align-items: center;
117
+
118
+ #{$root}__text {
119
+ color: $link-color;
120
+ }
121
+
122
+ &:hover {
123
+ #{$root}__text {
124
+ color: $link-color-hover;
125
+ }
126
+ }
117
127
  }
118
128
 
119
129
  &__icon {
@@ -123,10 +133,6 @@ $btn-letter-spacing: 0.1em;
123
133
  &_without-label {
124
134
  margin: 0;
125
135
  }
126
-
127
- svg path {
128
- transition: stroke 0.15s ease-in-out;
129
- }
130
136
  }
131
137
 
132
138
  &_failed {
@@ -1,4 +1,15 @@
1
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
+ };
2
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
14
  if (k2 === undefined) k2 = k;
4
15
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -29,12 +40,13 @@ exports.__esModule = true;
29
40
  var React = __importStar(require("react"));
30
41
  var hooks_1 = require("@steroidsjs/core/hooks");
31
42
  var Icon_1 = __importDefault(require("@steroidsjs/core/ui/content/Icon"));
43
+ var form_1 = require("@steroidsjs/core/ui/form");
32
44
  function ImageFieldView(props) {
33
45
  var bem = (0, hooks_1.useBem)('ImageFieldView');
34
46
  var item = props.item;
35
- return (React.createElement("div", { className: bem.block() }, !item || !item.image ? (React.createElement("button", { className: bem.element('button', {
47
+ return (React.createElement("div", { className: bem.block() }, !item || !item.image ? (React.createElement(form_1.Button, __assign({ className: bem.element('button', {
36
48
  loading: item ? item.progress : false
37
- }), onClick: props.onClick },
49
+ }), onClick: props.onClick }, props.buttonProps),
38
50
  !item || !item.progress ? (React.createElement(Icon_1["default"], { className: bem.element('button-icon'), name: 'add' })) : (React.createElement("div", { className: bem.element('progress-bar') },
39
51
  React.createElement("div", { className: bem.element('progress-slider'), style: {
40
52
  width: "".concat(item ? item.progress.percent : 0, "%")
@@ -1,43 +1,26 @@
1
+ @import '../../scss/variables';
2
+
1
3
  .ImageFieldView {
2
4
  $root: &;
3
5
 
4
- width: 128px;
5
- height: 128px;
6
-
7
6
  &__button {
8
7
  display: flex;
9
8
  align-items: center;
10
- justify-content: center;
11
- flex-direction: column;
12
- width: 100%;
13
- height: 100%;
14
- background: #ebebeb;
15
- border: 1px dashed #b0b0b0;
16
- border-radius: 10px;
9
+ min-width: 200px;
17
10
 
18
11
  &_loading {
19
12
  pointer-events: none;
20
13
  }
21
14
  }
22
15
 
23
- &__button-icon {
16
+ .ButtonView__text {
24
17
  display: flex;
25
-
26
- svg {
27
- width: 12px;
28
- height: 12px;
29
- }
30
-
31
- path {
32
- fill: #152536
33
- }
18
+ column-gap: 6px;
34
19
  }
35
20
 
36
21
  &__button-label {
37
- margin-top: 18px;
38
- font-size: 14px;
39
- line-height: 140%;
40
- color: #152536;
22
+ font-size: 16px;
23
+ color: $text-color;
41
24
  }
42
25
 
43
26
  &__progress-bar {
@@ -1,3 +1,5 @@
1
+ @import '../../scss/variables';
2
+
1
3
  .RateFieldView {
2
4
 
3
5
  $root: &;
@@ -47,7 +49,7 @@
47
49
  width: $icon-size;
48
50
 
49
51
  path {
50
- fill: $back-disabled;
52
+ fill: $gray-dark;
51
53
  }
52
54
  }
53
55
  }
@@ -45,19 +45,21 @@ var DropDown_1 = __importDefault(require("@steroidsjs/core/ui/content/DropDown")
45
45
  var TimePanelView_1 = __importDefault(require("./TimePanelView"));
46
46
  function TimeFieldView(props) {
47
47
  var bem = (0, hooks_1.useBem)('TimeFieldView');
48
- var renderContent = (0, react_1.useCallback)(function () { return (React.createElement(TimePanelView_1["default"], __assign({}, props.timePanelViewProps))); }, [props.timePanelViewProps]);
49
- var renderBody = function () { return (React.createElement("div", { className: bem(bem.block({
50
- disabled: props.disabled,
51
- 'no-border': props.noBorder
52
- }), props.className) },
53
- React.createElement("div", { className: bem.element('body') },
54
- React.createElement("input", __assign({}, props.inputProps, { className: bem(bem.element('input'), !!props.errors && 'is-invalid'), onChange: function (e) { return props.inputProps.onChange(e.target.value); } })),
55
- React.createElement("div", { className: bem.element('icon-container') },
56
- React.createElement(Icon_1["default"], { className: bem.element('icon'), name: 'clock' }),
57
- props.showRemove && props.inputProps.value && props.icon !== false && (React.createElement(Icon_1["default"], { className: bem.element('icon', 'close'), onClick: function (e) {
58
- e.preventDefault();
59
- props.onClear();
60
- }, name: typeof props.icon === 'string' ? props.icon : 'times-circle' })))))); };
61
- return (React.createElement(DropDown_1["default"], { position: 'bottomLeft', content: renderContent, visible: props.isOpened, onClose: props.onClose }, renderBody()));
48
+ var renderContent = (0, react_1.useCallback)(function () { return (React.createElement("div", { className: bem.element('panel-container') },
49
+ React.createElement(TimePanelView_1["default"], __assign({}, props.timePanelViewProps)))); }, [bem, props.timePanelViewProps]);
50
+ return (React.createElement(DropDown_1["default"], { position: 'bottomLeft', content: renderContent, visible: props.isOpened, onClose: props.onClose, className: bem.element('dropdown'), hasArrow: false },
51
+ React.createElement("div", { className: bem(bem.block({
52
+ size: props.size,
53
+ disabled: props.disabled,
54
+ 'is-invalid': !!props.errors
55
+ }), props.className), style: props.style },
56
+ React.createElement("div", { className: bem.element('body') },
57
+ React.createElement("input", __assign({}, props.inputProps, { className: bem(bem.element('input'), props.inputProps.className), onChange: function (e) { return props.inputProps.onChange(e.target.value); } })),
58
+ React.createElement("div", { className: bem.element('icon-container') },
59
+ !props.inputProps.value && props.icon && (React.createElement(Icon_1["default"], { className: bem.element('date-icon'), name: typeof props.icon === 'string' ? props.icon : 'calendar_range', tabIndex: -1 })),
60
+ props.showRemove && props.inputProps.value && props.icon !== false && (React.createElement(Icon_1["default"], { className: bem.element('close-icon'), onClick: function (e) {
61
+ e.preventDefault();
62
+ props.onClear();
63
+ }, name: 'cross_8x8' })))))));
62
64
  }
63
65
  exports["default"] = TimeFieldView;
@@ -1,83 +1,34 @@
1
1
  .TimeFieldView {
2
+ $root: &;
3
+ position: relative;
2
4
 
3
- $root : &;
4
-
5
- padding: 0 8px;
6
- position: relative;
7
-
8
- background-color: $white;
9
- border: 1px solid $border-default;
10
- border-radius: 4px;
11
-
12
- &:focus-within{
13
- outline: 0;
14
- border-color: $border-action;
15
- box-shadow: 0 0 0 1px $border-typing;
16
- }
17
- *:focus {
18
- outline: none;
19
- }
20
-
21
- &_disabled {
22
- color: rgba(0, 0, 0, .25);
23
- background-color: $back-disabled;
24
- cursor: not-allowed;
25
- input {
26
- cursor: inherit;
27
- }
28
- }
29
- &_no-border {
30
- border: unset;
31
- }
5
+ @include date-default-input();
32
6
 
33
- &__body {
34
- height: 100%;
35
- display: flex;
36
- flex-flow: row nowrap;
37
- align-items: center;
7
+ @include date-default-body();
38
8
 
39
- &:hover #{$root}__icon_close {
40
- opacity: 1;
41
- }
42
- }
9
+ @include icon-container($root);
43
10
 
44
- &__input {
45
- width: 100%;
46
- flex-grow: 1;
47
- border: none;
48
- outline: none;
49
- background-color: transparent;
11
+ @include date-default-sizes($root);
50
12
 
51
- padding: 10px 5px;
52
- }
13
+ @include date-default-effects($root);
53
14
 
54
- &__icon-container {
55
- position: relative;
56
- display: flex;
57
- align-items: center;
58
- justify-content: center;
59
- }
60
- &__icon {
61
- display: flex;
15
+ &__dropdown {
16
+ background: $element-background-color;
62
17
 
63
- path {
64
- fill: $border-default;
65
- transition: fill .1s ease-in;
18
+ @include calendar-border();
66
19
  }
67
20
 
68
- &_close{
69
- position: absolute;
70
- background-color: $white;
21
+ @include date-time-panel($root);
71
22
 
72
- opacity: 0;
73
- transition: opacity .2s ease-in;
23
+ &__panel-container {
74
24
 
75
- &:hover {
76
- path {
77
- fill: $border-default;
25
+ .TimePanelView__footer {
26
+ padding: 0;
27
+ padding-top: 10px;
28
+ display: flex;
29
+ flex-flow: row nowrap;
30
+ column-gap: 10px;
78
31
  }
79
- }
80
32
  }
81
- }
82
-
83
33
  }
34
+
@@ -1,85 +1,79 @@
1
1
  .TimePanelView {
2
+ font-weight: 500;
3
+ user-select: none;
2
4
 
3
- font-weight: 500;
4
- user-select: none;
5
+ &__header {
6
+ height: 45px;
7
+ display: flex;
8
+ align-items: center;
9
+ justify-content: center;
5
10
 
6
- &__header {
7
- height: 45px;
8
- display: flex;
9
- align-items: center;
10
- justify-content: center;
11
-
12
- border-left: 1px solid $border-default;
13
- border-bottom: 1px solid $border-default;
14
- }
15
-
16
- &__body {
17
- display: flex;
18
- flex-flow: row nowrap;
19
- border-radius: $input-border-radius;
20
- }
21
-
22
- &__column {
23
- height: 220px;
24
- overflow-y: auto;
25
- list-style: none;
26
- padding: 0;
27
- margin: 0;
28
-
29
- border-bottom: 1px solid $border-default;
30
- &:not(:last-child) {
31
- border-right: 1px solid $border-default;
11
+ border-left: 1px solid $border-default;
12
+ border-bottom: 1px solid $border-default;
32
13
  }
33
- }
34
-
35
- &__cell {
36
- padding: 5px 20px;
37
- cursor: pointer;
38
14
 
39
- &_selected {
40
- background-color: $primary-light;
15
+ &__body {
16
+ display: flex;
17
+ flex-flow: row nowrap;
18
+ border-radius: $input-border-radius;
41
19
  }
42
20
 
43
- transition: background-color .1s ease-in;
44
- &:hover {
45
- background-color: $back-disabled;
21
+ &__column {
22
+ height: 220px;
23
+ overflow-y: auto;
24
+ list-style: none;
25
+ padding: 0;
26
+ margin: 0;
27
+ @include scrollWrapper(298px, 0, $scroll-thumb-color, $scroll-track-color);
46
28
  }
47
- }
48
29
 
49
- &__footer {
50
- display: flex;
51
- align-items: center;
52
- justify-content: space-between;
53
- padding: 10px;
30
+ &__cell {
31
+ padding: 5px 20px;
32
+ cursor: pointer;
54
33
 
55
- &_to-end {
56
- justify-content: flex-end;
57
- }
58
- }
59
-
60
- &__button {
61
- border: none;
34
+ &_selected {
35
+ background-color: $primary-light;
36
+ }
62
37
 
63
- &_now {
64
- color: $primary;
65
- background-color: unset;
66
-
67
- transition: color .1s ease-in;
68
- &:hover {
69
- color: $primary-dark;
70
- }
38
+ transition: background-color 0.1s ease-in;
39
+ &:hover {
40
+ background-color: $back-disabled;
41
+ }
71
42
  }
72
43
 
73
- &_ok {
74
- color: #fff;
75
- border-radius: 4px;
76
- background-color: $primary;
44
+ &__footer {
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: space-between;
48
+ padding: 10px;
77
49
 
78
- transition: background-color .1s ease-in;
79
- &:hover {
80
- background-color: $primary-dark;
81
- }
50
+ &_to-end {
51
+ justify-content: flex-end;
52
+ }
82
53
  }
83
- }
84
54
 
55
+ &__button {
56
+ border: none;
57
+
58
+ &_now {
59
+ color: $primary;
60
+ background-color: unset;
61
+
62
+ transition: color 0.1s ease-in;
63
+ &:hover {
64
+ color: $primary-dark;
65
+ }
66
+ }
67
+
68
+ &_ok {
69
+ color: #fff;
70
+ border-radius: 4px;
71
+ background-color: $primary;
72
+
73
+ transition: background-color 0.1s ease-in;
74
+ &:hover {
75
+ background-color: $primary-dark;
76
+ }
77
+ }
78
+ }
85
79
  }
@@ -1,3 +1,3 @@
1
- <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M10.1443 6.62753C10.931 4.66653 11.3243 3.68604 12.0006 3.68604C12.6769 3.68604 13.0702 4.66653 13.8568 6.62753L13.8934 6.71885C14.3378 7.82672 14.56 8.38065 15.0129 8.71734C15.4657 9.05403 16.0602 9.10727 17.2491 9.21374L17.464 9.23299C19.4099 9.40726 20.3828 9.49439 20.5909 10.1134C20.7991 10.7324 20.0766 11.3897 18.6316 12.7044L18.1493 13.1432C17.4178 13.8087 17.052 14.1414 16.8815 14.5776C16.8497 14.6589 16.8233 14.7423 16.8024 14.8271C16.6903 15.2817 16.7975 15.7645 17.0117 16.7299L17.0783 17.0305C17.472 18.8048 17.6688 19.692 17.3252 20.0746C17.1967 20.2176 17.0298 20.3206 16.8444 20.3712C16.3482 20.5066 15.6437 19.9325 14.2348 18.7844C13.3096 18.0305 12.847 17.6536 12.3159 17.5688C12.107 17.5354 11.8941 17.5354 11.6852 17.5688C11.1541 17.6536 10.6915 18.0305 9.76638 18.7844C8.35742 19.9325 7.65295 20.5066 7.15675 20.3712C6.97133 20.3206 6.80442 20.2176 6.676 20.0746C6.33232 19.692 6.52915 18.8048 6.92283 17.0305L6.9895 16.7299C7.20371 15.7645 7.31082 15.2817 7.19876 14.8271C7.17786 14.7423 7.15142 14.6589 7.11962 14.5776C6.94915 14.1414 6.5834 13.8087 5.85189 13.1432L5.36961 12.7044C3.92456 11.3897 3.20204 10.7324 3.41022 10.1134C3.6184 9.49439 4.59131 9.40726 6.53712 9.23299L6.75206 9.21374C7.94097 9.10727 8.53543 9.05403 8.98828 8.71734C9.44113 8.38065 9.66333 7.82672 10.1077 6.71885L10.1443 6.62753Z" stroke="#323232" stroke-width="1.1"/>
1
+ <svg width="24" height="23" viewBox="0 0 24 23" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M12.0547 0.396973L15.5814 7.54287L23.4674 8.68877L17.761 14.2511L19.1081 22.1052L12.0547 18.397L5.00126 22.1052L6.34835 14.2511L0.64201 8.68877L8.52798 7.54287L12.0547 0.396973Z" fill="#cbd5db"/>
3
3
  </svg>
package/index.scss CHANGED
@@ -33,6 +33,7 @@
33
33
  @import './form/FieldList/FieldListView';
34
34
  @import './form/FieldList/FieldListItemView';
35
35
  @import './form/FileField/FileFieldView';
36
+ @import './form/ImageField/ImageFieldView';
36
37
  @import './form/FileField/FileFieldItemView';
37
38
  @import './form/FieldSet/FieldSetView';
38
39
  @import './form/Form/FormView';
@@ -44,7 +44,7 @@ var Icon_1 = __importDefault(require("@steroidsjs/core/ui/content/Icon"));
44
44
  var hooks_1 = require("@steroidsjs/core/hooks");
45
45
  function HeaderView(props) {
46
46
  var bem = (0, hooks_1.useBem)('HeaderView');
47
- return (React.createElement("nav", { className: bem('navbar navbar-expand-lg', props.dark ? 'navbar-dark' : 'navbar-light', props.dark ? 'bg-dark' : 'bg-light', bem.block(), props.className) },
47
+ return (React.createElement("header", { className: bem(bem.block(), props.className) },
48
48
  props.logo && (React.createElement(nav_1.Link, __assign({ className: bem('navbar-brand', bem.element('logo')), toRoute: 'root' }, props.logo.linkProps),
49
49
  props.logo.icon && (React.createElement(Icon_1["default"], { className: bem.element('logo-image'), name: props.logo.icon, title: props.logo.title })),
50
50
  props.logo.title || '')),
@@ -1,15 +1,22 @@
1
- $body-bg: transparent;
1
+ @import '../../scss/variables';
2
2
 
3
3
  .HeaderView {
4
- box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
5
- background-color: $body-bg;
4
+ display: flex;
5
+ justify-content: space-between;
6
+ padding: 15px 20px;
7
+ width: 100%;
8
+ background-color: $gray;
6
9
 
7
10
  a:hover {
8
11
  opacity: .7;
9
12
  }
10
13
 
11
14
  &__logo {
15
+ .ButtonView__text {
16
+ color: $text-color;
17
+ }
12
18
  }
19
+
13
20
  &__logo-image {
14
21
  margin-right: 12px;
15
22
  display: inline-block;
@@ -22,11 +22,15 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  exports.__esModule = true;
26
29
  var React = __importStar(require("react"));
27
30
  var react_1 = require("react");
28
31
  var react_transition_group_1 = require("react-transition-group");
29
32
  var hooks_1 = require("@steroidsjs/core/hooks");
33
+ var AlertView_1 = __importDefault(require("../../content/Alert/AlertView"));
30
34
  function NotificationsItemView(props) {
31
35
  var _a, _b;
32
36
  var _c = (0, react_1.useState)(false), isShow = _c[0], setIsShow = _c[1];
@@ -34,15 +38,12 @@ function NotificationsItemView(props) {
34
38
  setIsShow(!props.isClosing);
35
39
  }, [props.isClosing]);
36
40
  var bem = (0, hooks_1.useBem)('NotificationsItemView');
37
- return (React.createElement(react_transition_group_1.CSSTransition, { "in": isShow, timeout: 1000, classNames: bem(bem.block((_a = {},
41
+ return (React.createElement(react_transition_group_1.CSSTransition, { "in": isShow, timeout: 1000, classNames: bem.block((_a = {},
38
42
  _a[props.position] = true,
39
- _a))), unmountOnExit: true },
40
- React.createElement("div", { className: bem(bem.block((_b = {},
41
- _b[props.level] = true,
43
+ _a)), unmountOnExit: true },
44
+ React.createElement("div", { className: bem.block((_b = {},
42
45
  _b[props.position] = true,
43
- _b)), 'alert', 'alert-' + props.level) },
44
- React.createElement("div", { className: bem.element('body') },
45
- React.createElement("div", { className: bem.element('message') }, props.message),
46
- React.createElement("button", { className: bem.element('close'), onClick: props.onClose })))));
46
+ _b)) },
47
+ React.createElement(AlertView_1["default"], { onClose: props.onClose, message: props.message, type: props.level, showClose: true, isExist: true, isVisible: true, showIcon: true }))));
47
48
  }
48
49
  exports["default"] = NotificationsItemView;
@@ -1,51 +1,13 @@
1
1
  .NotificationsItemView {
2
+
2
3
  overflow: hidden;
3
4
  max-height: 120px;
4
5
  padding: 0;
5
6
 
6
7
  border-width: 0;
7
- box-shadow: 1px 0px 6px rgba(0, 0, 0, 0.1);
8
8
 
9
9
  transition: opacity .6s, transform .4s,
10
10
  max-height .6s .4s, margin .6s .6s;
11
-
12
- &__body{
13
- width: 100%;
14
- height: 100%;
15
-
16
- padding: 0.75rem 1.8rem 0.75rem 1.25rem;
17
- border: 1px solid transparent;
18
- border-color: inherit;
19
- }
20
-
21
- &__close{
22
- cursor: pointer;
23
- position: absolute;
24
- top: 0;
25
- right: 0;
26
- width: 25px;
27
- height: 25px;
28
-
29
- display: flex;
30
- justify-content: center;
31
- align-items: center;
32
-
33
- .IconView{
34
- svg{
35
- width: 10px;
36
- }
37
- }
38
-
39
- svg{
40
- opacity: 0.4;
41
- transition: opacity .1s ease-in;
42
- }
43
- &:hover svg{
44
- opacity: 1;
45
- }
46
- }
47
-
48
-
49
11
  // Styles for React-Transition-Groups
50
12
  ////////////////////////////////////////
51
13
 
@@ -1,6 +1,9 @@
1
1
  .NotificationsView {
2
2
  z-index: 9999;
3
3
  position: fixed;
4
+ display: flex;
5
+ flex-direction: column;
6
+ row-gap: 10px;
4
7
  width: 400px;
5
8
 
6
9
  margin: 0;
@@ -1,2 +1,8 @@
1
1
  .ControlsColumnView {
2
- }
2
+ display: flex;
3
+ align-items: center;
4
+
5
+ .ButtonView {
6
+ border: none;
7
+ }
8
+ }
@@ -27,6 +27,6 @@ var React = __importStar(require("react"));
27
27
  var hooks_1 = require("@steroidsjs/core/hooks");
28
28
  function EmptyView(props) {
29
29
  var bem = (0, hooks_1.useBem)('EmptyView');
30
- return (React.createElement("div", { className: bem(bem.block(), 'text-center p-5', props.className) }, props.text));
30
+ return (React.createElement("div", { className: bem(bem.block(), props.className), style: props.style }, props.text));
31
31
  }
32
32
  exports["default"] = EmptyView;
@@ -1,3 +1,7 @@
1
- .EmptyView {
1
+ @import '../../scss/variables';
2
2
 
3
+ .EmptyView {
4
+ text-align: center;
5
+ padding: 20px;
6
+ color: $text-color;
3
7
  }
@@ -15,16 +15,12 @@
15
15
  margin-bottom: 3px;
16
16
 
17
17
  &-sizes {
18
- width: fit-content;
19
-
20
- .PaginationSizeView__sizes {
21
- display: flex;
22
- flex-flow: row nowrap;
23
- }
18
+ margin-bottom: 10px;
19
+ width: 100%;
24
20
  }
25
21
 
26
22
  &-button {
27
- margin: 0 auto;
23
+ margin: 16px auto 0;
28
24
  }
29
25
  }
30
26
 
@@ -22,16 +22,16 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
25
28
  exports.__esModule = true;
26
29
  var React = __importStar(require("react"));
27
30
  var hooks_1 = require("@steroidsjs/core/hooks");
31
+ var ButtonGroup_1 = __importDefault(require("@steroidsjs/core/ui/nav/ButtonGroup"));
28
32
  function PaginationSizeView(props) {
29
33
  var bem = (0, hooks_1.useBem)('PaginationSizeView');
30
34
  return (React.createElement("div", { className: bem(props.className, bem.block()) },
31
- React.createElement("ul", { className: bem(bem.element('sizes'), 'pagination', "pagination-".concat(props.size)) }, props.items.map(function (item, index) { return (React.createElement("li", { key: index, className: bem(bem.element('sizes-item', { active: item.isActive }), 'page-item', item.isActive && 'active') },
32
- React.createElement("button", { className: bem(bem.element('link'), 'page-link'), onClick: function (e) {
33
- e.preventDefault();
34
- props.onSelect(item.size);
35
- } }, item.label))); }))));
35
+ React.createElement(ButtonGroup_1["default"], { items: props.items, onClick: props.onSelect, activeButton: props.defaultValue, buttonProps: props.buttonProps })));
36
36
  }
37
37
  exports["default"] = PaginationSizeView;
@@ -2,12 +2,4 @@
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: flex-end;
5
-
6
- &__label {
7
- margin-right: 5px;
8
- }
9
-
10
- &__sizes {
11
- margin-bottom: 0;
12
- }
13
5
  }
@@ -19,14 +19,15 @@ var hooks_1 = require("@steroidsjs/core/hooks");
19
19
  var form_1 = require("@steroidsjs/core/ui/form");
20
20
  function ButtonGroupView(props) {
21
21
  var bem = (0, hooks_1.useBem)('ButtonGroupView');
22
- return (react_1["default"].createElement("div", { className: bem(bem.block({
22
+ return (react_1["default"].createElement("ul", { className: bem(bem.block({
23
23
  size: props.size
24
24
  }), props.className), style: props.style }, props.items.map(function (item, index) {
25
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)));
26
+ return (react_1["default"].createElement("li", { key: index },
27
+ react_1["default"].createElement(form_1.Button, __assign({ className: bem.element('button', {
28
+ "default": !isActive,
29
+ active: isActive
30
+ }), label: item.label, onClick: function () { return props.onClick(item.id); } }, props.buttonProps))));
30
31
  })));
31
32
  }
32
33
  exports["default"] = ButtonGroupView;
@@ -1,8 +1,16 @@
1
1
  .ControlsView {
2
- display: flex;
2
+ display: inline-flex;
3
3
  flex-flow: row;
4
4
  justify-content: space-between;
5
5
 
6
+ .ButtonView__icon {
7
+ svg {
8
+ path, circle, rect {
9
+ stroke: inherit;
10
+ }
11
+ }
12
+ }
13
+
6
14
  a {
7
15
  display: inline-block;
8
16
  width: 100%;
@@ -42,9 +42,14 @@ var Button_1 = __importDefault(require("@steroidsjs/core/ui/form/Button"));
42
42
  var hooks_1 = require("@steroidsjs/core/hooks");
43
43
  function NavBarView(props) {
44
44
  var bem = (0, hooks_1.useBem)('NavBarView');
45
- return (React.createElement("div", { className: bem('navbar-expand-lg navbar-nav', props.dark && 'navbar-dark bg-dark', bem.block(), props.className) },
46
- React.createElement("div", { className: 'navbar-nav px-3' }, props.items.map(function (item, index) { return (React.createElement("li", { key: item.id || index, className: bem('nav-item text-nowrap', item.isActive && 'active') },
47
- React.createElement(Button_1["default"], __assign({ link: true, className: bem('nav-link', item.isActive && 'active'), onClick: function () { return props.onClick(item, index); } }, item)))); })),
48
- props.children));
45
+ return (React.createElement("div", { className: bem(bem.block({
46
+ size: props.size
47
+ }), props.className) },
48
+ React.createElement("ul", { className: bem.element('list') }, props.items.map(function (item, index) { return (React.createElement("li", { key: item.id || index, className: bem(bem.element('list-item', {
49
+ active: item.isActive,
50
+ disabled: item.disabled
51
+ }), props.navClassName) },
52
+ React.createElement(Button_1["default"], __assign({ size: props.size, link: !item.isActive, onClick: function () { return props.onClick(item, index); } }, item)))); })),
53
+ React.createElement("div", { className: bem.element('content') }, props.children)));
49
54
  }
50
55
  exports["default"] = NavBarView;
@@ -1,2 +1,33 @@
1
1
  .NavBarView {
2
- }
2
+ $root: &;
3
+
4
+ color: $text-color;
5
+
6
+ &__list {
7
+ display: flex;
8
+ flex-flow: column nowrap;
9
+ row-gap: 8px;
10
+
11
+ &-item {
12
+ .ButtonView__text {
13
+ color: $element-placeholder-color;
14
+ }
15
+
16
+
17
+ &_active {
18
+ .ButtonView__text {
19
+ color: $white;
20
+ }
21
+ }
22
+
23
+ &_disabled {
24
+ cursor: not-allowed;
25
+ .ButtonView {
26
+ pointer-events: none;
27
+ }
28
+ }
29
+ }
30
+ }
31
+
32
+ @include navs-sizes($root);
33
+ }
@@ -42,8 +42,14 @@ var Button_1 = __importDefault(require("@steroidsjs/core/ui/form/Button"));
42
42
  var hooks_1 = require("@steroidsjs/core/hooks");
43
43
  function NavButtonView(props) {
44
44
  var bem = (0, hooks_1.useBem)('NavButtonView');
45
- return (React.createElement("div", { className: bem(bem.block(), props.className) },
46
- React.createElement("div", { className: bem(props.children && 'mb-3', bem.element('nav')) }, props.items.map(function (item, index) { return (React.createElement(Button_1["default"], __assign({ key: item.id || index, color: 'secondary', outline: !item.isActive, disabled: props.disabled, onClick: function () { return props.onClick(item, index); }, className: bem.element('nav-item') }, item))); })),
45
+ return (React.createElement("div", { className: bem(bem.block({
46
+ size: props.size
47
+ }), props.className) },
48
+ React.createElement("ul", { className: bem.element('list') }, props.items.map(function (item, index) { return (React.createElement("li", { key: item.id || index, className: bem(bem.element('list-item', {
49
+ active: item.isActive,
50
+ disabled: item.disabled
51
+ }), props.navClassName) },
52
+ React.createElement(Button_1["default"], __assign({ size: props.size, color: 'secondary', outline: !item.isActive, disabled: item.disabled, onClick: function () { return props.onClick(item, index); } }, item)))); })),
47
53
  React.createElement("div", { className: bem.element('content') }, props.children)));
48
54
  }
49
55
  exports["default"] = NavButtonView;
@@ -1,7 +1,8 @@
1
1
  .NavButtonView {
2
- &__nav-item {
3
- &:not(:last-child) {
4
- margin-right: 5px;
2
+
3
+ &__list {
4
+ display: flex;
5
+ flex-flow: column nowrap;
6
+ row-gap: 8px;
5
7
  }
6
- }
7
- }
8
+ }
@@ -40,10 +40,15 @@ exports.__esModule = true;
40
40
  var React = __importStar(require("react"));
41
41
  var Button_1 = __importDefault(require("@steroidsjs/core/ui/form/Button"));
42
42
  var hooks_1 = require("@steroidsjs/core/hooks");
43
+ var DEFAULT_ICON = 'add';
43
44
  function NavIconView(props) {
44
45
  var bem = (0, hooks_1.useBem)('NavIconView');
45
46
  return (React.createElement("div", { className: bem(bem.block(), props.className) },
46
- props.items.map(function (item, index) { return (React.createElement(Button_1["default"], __assign({ icon: props.icon ? props.icon : 'add', key: item.id || index, link: true, onClick: function () { return props.onClick(item, index); } }, item, { label: null, hint: item.hint || item.label || null }))); }),
47
- props.children));
47
+ React.createElement("ul", { className: bem.element('list') }, props.items.map(function (item, index) { return (React.createElement("li", { key: item.id || index, className: bem(bem.element('list-item', {
48
+ active: item.isActive,
49
+ disabled: item.disabled
50
+ }), props.navClassName) },
51
+ React.createElement(Button_1["default"], __assign({ icon: props.icon ? props.icon : DEFAULT_ICON, link: true, onClick: function () { return props.onClick(item, index); } }, item, { label: null, hint: item.hint || item.label || null })))); })),
52
+ React.createElement("div", { className: bem.element('content') }, props.children)));
48
53
  }
49
54
  exports["default"] = NavIconView;
@@ -1,9 +1,8 @@
1
1
  .NavIconView {
2
- > a {
3
- margin-right: 5px;
4
-
5
- &:last-child {
6
- margin-right: 0;
2
+ &__list {
3
+ display: flex;
4
+ flex-flow: row nowrap;
5
+ align-items: center;
6
+ column-gap: 24px;
7
7
  }
8
- }
9
- }
8
+ }
@@ -42,8 +42,14 @@ var Button_1 = __importDefault(require("@steroidsjs/core/ui/form/Button"));
42
42
  var hooks_1 = require("@steroidsjs/core/hooks");
43
43
  function NavLinkView(props) {
44
44
  var bem = (0, hooks_1.useBem)('NavLinkView');
45
- return (React.createElement("div", { className: bem(bem.block(), props.className) },
46
- React.createElement("div", { className: bem.element('nav mb-3') }, props.items.map(function (item, index) { return (React.createElement(Button_1["default"], __assign({ key: item.id || index, link: true, onClick: function () { return props.onClick(item, index); }, className: bem.element('nav-item', { active: item.isActive }) }, item))); })),
45
+ return (React.createElement("div", { className: bem(bem.block({
46
+ size: props.size
47
+ }), props.className) },
48
+ React.createElement("ul", { className: bem.element('list') }, props.items.map(function (item, index) { return (React.createElement("li", { key: item.id || index, className: bem(bem.element('list-item', {
49
+ active: item.isActive,
50
+ disabled: item.disabled
51
+ }), props.navClassName) },
52
+ React.createElement(Button_1["default"], __assign({ link: true, onClick: function () { return props.onClick(item, index); } }, item)))); })),
47
53
  React.createElement("div", { className: bem.element('content') }, props.children)));
48
54
  }
49
55
  exports["default"] = NavLinkView;
@@ -1,7 +1,16 @@
1
1
  .NavLinkView {
2
- &__nav-item {
3
- &:not(:last-child) {
4
- margin-right: 10px;
2
+ &__list {
3
+ display: flex;
4
+ flex-flow: row nowrap;
5
+ column-gap: 24px;
6
+
7
+ &-item {
8
+ &_disabled {
9
+ cursor: not-allowed;
10
+ .ButtonView {
11
+ pointer-events: none;
12
+ }
13
+ }
14
+ }
5
15
  }
6
- }
7
- }
16
+ }
@@ -42,16 +42,20 @@ var Link_1 = __importDefault(require("@steroidsjs/core/ui/nav/Link"));
42
42
  var hooks_1 = require("@steroidsjs/core/hooks");
43
43
  function NavListView(props) {
44
44
  var bem = (0, hooks_1.useBem)('NavListView');
45
- var renderItems = function (items) {
45
+ var renderItems = function (items, parentItemProps) {
46
+ if (parentItemProps === void 0) { parentItemProps = null; }
46
47
  if (!items || items.length === 0) {
47
48
  return null;
48
49
  }
49
- return items.map(function (item, index) { return (React.createElement("li", { key: index, className: bem('nav-item', bem.element('item'), props.navClassName) },
50
- React.createElement(Link_1["default"], __assign({ onClick: function () { return props.onClick(item, index); } }, item, { key: item.id || index, className: bem(item.isActive && 'active', bem.element('item-link'), item.className) })),
51
- item.items && item.items.length > 0 && (React.createElement("ul", { className: bem('nav flex-column', bem.element('sub-list')) }, renderItems(item.items))))); });
50
+ return items.map(function (item, index) { return (React.createElement("li", { key: item.id || index, className: bem(bem.element('list-item', {
51
+ active: item.isActive,
52
+ disabled: item.disabled
53
+ }), props.navClassName) },
54
+ React.createElement(Link_1["default"], __assign({ onClick: function () { return props.onClick(item, index); } }, item, { disabled: (parentItemProps === null || parentItemProps === void 0 ? void 0 : parentItemProps.disabled) || item.disabled })),
55
+ item.items && item.items.length > 0 && (React.createElement("ul", { className: bem.element('sub-list') }, renderItems(item.items, item))))); });
52
56
  };
53
- return (React.createElement("ul", { className: bem('nav flex-column', bem.block(), props.className) },
54
- renderItems(props.items),
55
- props.children));
57
+ return (React.createElement("div", { className: bem(bem.block(), props.className) },
58
+ React.createElement("ul", { className: bem.element('list') }, renderItems(props.items)),
59
+ React.createElement("div", { className: bem.element('content') }, props.children)));
56
60
  }
57
61
  exports["default"] = NavListView;
@@ -1,12 +1,13 @@
1
1
  .NavListView {
2
- &__item {
2
+
3
+ &__list{
4
+ display: flex;
5
+ flex-flow: column nowrap;
6
+ }
3
7
 
4
- }
5
- &__item-link {
6
- padding: 5px 10px;
7
- display: inline-block;
8
- }
9
- &__sub-list {
10
- margin-left: 15px;
11
- }
12
- }
8
+ &__sub-list {
9
+ display: flex;
10
+ flex-flow: column;
11
+ padding: 5px;
12
+ }
13
+ }
@@ -42,9 +42,14 @@ var Button_1 = __importDefault(require("@steroidsjs/core/ui/form/Button"));
42
42
  var hooks_1 = require("@steroidsjs/core/hooks");
43
43
  function NavTabsView(props) {
44
44
  var bem = (0, hooks_1.useBem)('NavTabsView');
45
- return (React.createElement("div", { className: bem(bem.block(), props.className) },
46
- React.createElement("div", { className: bem('nav nav-tabs', !props.children && 'mb-3') }, props.items.map(function (item, index) { return (React.createElement("li", { key: item.id || index, className: 'nav-item' },
47
- React.createElement(Button_1["default"], __assign({ link: true, onClick: function () { return props.onClick(item, index); } }, item, { className: bem('nav-link', item.isActive && 'active', item.className) })))); })),
48
- props.children));
45
+ return (React.createElement("div", { className: bem(bem.block({
46
+ size: props.size
47
+ }), props.className) },
48
+ React.createElement("ul", { className: bem.element('list') }, props.items.map(function (item, index) { return (React.createElement("li", { key: item.id || index, className: bem(bem.element('list-item', {
49
+ active: item.isActive,
50
+ disabled: item.disabled
51
+ }), props.navClassName) },
52
+ React.createElement(Button_1["default"], __assign({ size: props.size, link: !item.isActive, onClick: function () { return props.onClick(item, index); } }, item)))); })),
53
+ React.createElement("div", { className: bem.element('content') }, props.children)));
49
54
  }
50
55
  exports["default"] = NavTabsView;
@@ -1,2 +1,48 @@
1
1
  .NavTabsView {
2
- }
2
+ $root: &;
3
+
4
+ color: $text-color;
5
+
6
+ &__list {
7
+ display: inline-flex;
8
+ flex-flow: row nowrap;
9
+ align-items: center;
10
+
11
+ border-bottom: 1px solid $element-border-color;
12
+
13
+ &-item {
14
+ .ButtonView__text {
15
+ color: $element-placeholder-color;
16
+ }
17
+
18
+ &_active {
19
+ .ButtonView__text {
20
+ color: $white;
21
+ }
22
+
23
+ .ButtonView {
24
+ &_size {
25
+ &_sm {
26
+ border-radius: $radius-small $radius-small 0 0;
27
+ }
28
+ &_md {
29
+ border-radius: $radius-large $radius-large 0 0;
30
+ }
31
+ &_lg {
32
+ border-radius: $radius-large $radius-large 0 0;
33
+ }
34
+ }
35
+ }
36
+ }
37
+
38
+ &_disabled {
39
+ cursor: not-allowed;
40
+ .ButtonView {
41
+ pointer-events: none;
42
+ }
43
+ }
44
+ }
45
+ }
46
+
47
+ @include navs-sizes($root);
48
+ }
@@ -1,65 +1,69 @@
1
1
  .TreeView {
2
- list-style: none;
3
- margin: 0;
4
- padding: 0;
5
-
6
- &__item {
2
+ list-style: none;
3
+ margin: 0;
7
4
  padding: 0;
8
- cursor: pointer;
9
5
 
10
- > .ButtonView {
11
- margin: 2px 0;
6
+ &__item {
7
+ padding: 0;
8
+ cursor: pointer;
9
+
10
+ > .ButtonView {
11
+ margin: 2px 0;
12
+ }
12
13
  }
13
- }
14
14
 
15
- &__item-label {
16
- position: relative;
17
- padding: 5px 10px;
18
- display: flex;
19
- flex-direction: row;
20
- justify-content: flex-start;
21
- background-color: $background-color;
15
+ &__item-label {
16
+ position: relative;
17
+ padding: 5px 10px;
18
+ display: flex;
19
+ flex-direction: row;
20
+ justify-content: flex-start;
21
+ background-color: $background-color;
22
22
 
23
- .ButtonView__link {
24
- color: $text-color;
25
- }
23
+ .ButtonView__link {
24
+ .ButtonView__text {
25
+ color: $text-color;
26
+ }
27
+ }
26
28
 
27
- // &:hover {
28
- // color: $list-group-action-hover-color;
29
- // background-color: $list-group-hover-bg;
30
- // }
29
+ // &:hover {
30
+ // color: $list-group-action-hover-color;
31
+ // background-color: $list-group-hover-bg;
32
+ // }
31
33
 
32
- &, &:hover {
33
- text-decoration: none !important;
34
+ &,
35
+ &:hover {
36
+ text-decoration: none !important;
37
+ }
34
38
  }
35
- }
36
- &__item_selected &__item-label {
37
- background-color: $secondary;
38
- &, &::before {
39
- color: $text-color;
39
+ &__item_selected &__item-label {
40
+ background-color: $secondary;
41
+ &,
42
+ &::before {
43
+ color: $text-color;
44
+ }
45
+ }
46
+ &__item-label::before {
47
+ display: inline-block;
48
+ content: "";
49
+ transform: rotate(0);
50
+ width: 21px;
51
+ height: 20px;
52
+ font-size: 12px;
53
+ font-weight: bold;
54
+ margin-left: 10px;
55
+ color: $text-color;
56
+ position: relative;
57
+ top: 1px;
58
+ left: 3px;
59
+ }
60
+ &__item_has-items &__item-label::before {
61
+ content: ">";
40
62
  }
41
- }
42
- &__item-label::before {
43
- display: inline-block;
44
- content: '';
45
- transform: rotate(0);
46
- width: 21px;
47
- height: 20px;
48
- font-size: 12px;
49
- font-weight: bold;
50
- margin-left: 10px;
51
- color: $text-color;
52
- position: relative;
53
- top: 1px;
54
- left: 3px;
55
- }
56
- &__item_has-items &__item-label::before {
57
- content: '>';
58
- }
59
63
 
60
- &__item_opened &__item-label::before {
61
- top: 7px;
62
- left: -4px;
63
- transform: rotate(90deg);
64
- }
64
+ &__item_opened &__item-label::before {
65
+ top: 7px;
66
+ left: -4px;
67
+ transform: rotate(90deg);
68
+ }
65
69
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/bootstrap",
3
- "version": "3.0.0-beta.66",
3
+ "version": "3.0.0-beta.68",
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.45",
38
+ "@steroidsjs/core": "^3.0 || >=3.0.0-beta.46",
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.45"
56
+ "@steroidsjs/core": "^3.0 || >=3.0.0-beta.46"
57
57
  }
58
58
  }
@@ -401,6 +401,10 @@ $date-sizes: map-merge(
401
401
  }
402
402
  }
403
403
 
404
+ .TimePanelView__button_now {
405
+ @include calendar-button();
406
+ }
407
+
404
408
  .TimePanelView__button_ok {
405
409
  @include calendar-button();
406
410
  }
@@ -2,4 +2,5 @@
2
2
  @import "typography";
3
3
  @import "scroll";
4
4
  @import "customMixins";
5
- @import "date";
5
+ @import "date";
6
+ @import "navs";
@@ -0,0 +1,39 @@
1
+ @mixin navs-sizes($root) {
2
+ &_size {
3
+ &_lg {
4
+ .ButtonView__link {
5
+ padding: 16px;
6
+ }
7
+
8
+ #{$root}__list-item_active {
9
+ .ButtonView {
10
+ padding: 16px;
11
+ }
12
+ }
13
+ }
14
+
15
+ &_md {
16
+ .ButtonView__link {
17
+ padding: 12px;
18
+ }
19
+
20
+ #{$root}__list-item_active {
21
+ .ButtonView {
22
+ padding: 12px;
23
+ }
24
+ }
25
+ }
26
+
27
+ &_sm {
28
+ .ButtonView__link {
29
+ padding: 8px;
30
+ }
31
+
32
+ #{$root}__list-item_active {
33
+ .ButtonView {
34
+ padding: 8px;
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }
@@ -194,6 +194,12 @@ $color-themes: map-merge(
194
194
  "color-light": $danger-light,
195
195
  "text-color": $white,
196
196
  ),
197
+ "error": (
198
+ "color": $danger,
199
+ "color-dark": $danger-dark,
200
+ "color-light": $danger-light,
201
+ "text-color": $white,
202
+ ),
197
203
  "warning": (
198
204
  "color": $warning,
199
205
  "color-dark": $warning-dark,