@steroidsjs/bootstrap 3.0.29 → 3.0.32

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 (55) hide show
  1. package/content/Accordion/AccordionItemView.js +0 -1
  2. package/content/Accordion/AccordionItemView.scss +56 -7
  3. package/content/Accordion/AccordionView.scss +2 -0
  4. package/content/Calendar/CalendarView.js +8 -3
  5. package/content/Calendar/CalendarView.scss +2 -10
  6. package/form/AutoCompleteField/AutoCompleteFieldView.scss +10 -4
  7. package/form/Button/ButtonView.scss +4 -3
  8. package/form/DateField/DateFieldView.js +1 -1
  9. package/form/DateRangeField/DateRangeFieldView.js +11 -2
  10. package/form/DateRangeField/DateRangeFieldView.scss +54 -0
  11. package/form/DateRangeField/views/RangeButtons/RangeButtons.d.ts +11 -0
  12. package/form/DateRangeField/views/RangeButtons/RangeButtons.js +60 -0
  13. package/form/DateRangeField/views/RangeButtons/RangeButtons.scss +126 -0
  14. package/form/DateRangeField/views/RangeButtons/consts.d.ts +34 -0
  15. package/form/DateRangeField/views/RangeButtons/consts.js +71 -0
  16. package/form/DateRangeField/views/RangeButtons/index.d.ts +2 -0
  17. package/form/DateRangeField/views/RangeButtons/index.js +7 -0
  18. package/form/DateRangeField/views/RangeButtons/utils.d.ts +14 -0
  19. package/form/DateRangeField/views/RangeButtons/utils.js +36 -0
  20. package/form/DateTimeField/DateTimeFieldView.js +1 -1
  21. package/form/DateTimeRangeField/DateTimeRangeFieldView.js +13 -4
  22. package/form/DateTimeRangeField/DateTimeRangeFieldView.scss +54 -0
  23. package/form/DropDownField/DropDownFieldView.js +3 -2
  24. package/form/DropDownField/DropDownFieldView.scss +12 -0
  25. package/form/InputField/InputFieldView.js +4 -4
  26. package/form/InputField/InputFieldView.scss +128 -174
  27. package/form/PasswordField/PasswordFieldView.scss +12 -3
  28. package/form/TimeField/TimeFieldView.js +1 -1
  29. package/form/TimeField/TimeFieldView.scss +19 -1
  30. package/form/TimeField/TimePanelView.d.ts +5 -0
  31. package/form/TimeField/TimePanelView.js +20 -22
  32. package/form/TimeField/TimePanelView.scss +0 -23
  33. package/form/TimeField/views/TimePanelColumn/TimePanelColumn.d.ts +8 -0
  34. package/form/TimeField/views/TimePanelColumn/TimePanelColumn.js +20 -0
  35. package/form/TimeField/views/TimePanelColumn/TimePanelColumn.scss +53 -0
  36. package/form/TimeField/views/TimePanelColumn/index.d.ts +2 -0
  37. package/form/TimeField/views/TimePanelColumn/index.js +7 -0
  38. package/form/TimeRangeField/TimeRangeFieldView.js +1 -1
  39. package/form/TimeRangeField/TimeRangeFieldView.scss +6 -0
  40. package/hooks/index.d.ts +2 -0
  41. package/hooks/index.js +8 -0
  42. package/hooks/useHideScroll.d.ts +1 -0
  43. package/hooks/useHideScroll.js +37 -0
  44. package/icons/index.js +2 -0
  45. package/icons/svgs/long-arrow-alt-down.svg +3 -0
  46. package/icons/svgs/long-arrow-alt-up.svg +3 -0
  47. package/list/Grid/GridView.js +2 -3
  48. package/list/Grid/GridView.scss +46 -0
  49. package/list/Grid/views/DiagramColumnView/DiagramColumnView.scss +6 -5
  50. package/modal/Modal/ModalView.js +3 -1
  51. package/modal/Modal/ModalView.scss +0 -5
  52. package/package.json +2 -2
  53. package/scss/mixins/button.scss +5 -5
  54. package/scss/mixins/date.scss +2 -2
  55. package/scss/normalize.scss +5 -0
@@ -1,5 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import { ITimePanelViewProps } from '@steroidsjs/core/ui/form/TimeField/TimeField';
3
+ export interface ITimePanelColumn {
4
+ values: string[];
5
+ currentValueKey: string;
6
+ onUpdate: (value: string) => void;
7
+ }
3
8
  declare function TimePanelView(props: ITimePanelViewProps): JSX.Element;
4
9
  declare namespace TimePanelView {
5
10
  var defaultProps: {
@@ -29,6 +29,7 @@ exports.__esModule = true;
29
29
  var React = __importStar(require("react"));
30
30
  var hooks_1 = require("@steroidsjs/core/hooks");
31
31
  var padStart_1 = __importDefault(require("lodash-es/padStart"));
32
+ var TimePanelColumn_1 = __importDefault(require("./views/TimePanelColumn"));
32
33
  var getHours = function () {
33
34
  var result = [];
34
35
  for (var i = 0; i < 24; i += 1) {
@@ -48,29 +49,26 @@ var getMinutes = function () {
48
49
  function TimePanelView(props) {
49
50
  var bem = (0, hooks_1.useBem)('TimePanelView');
50
51
  var _a = props.value ? props.value.split(':') : ['00', '00'], hours = _a[0], minutes = _a[1];
52
+ var currentValues = {
53
+ hours: hours,
54
+ minutes: minutes
55
+ };
56
+ var COLUMNS = [{
57
+ values: getHours(),
58
+ currentValueKey: 'hours',
59
+ onUpdate: function (value) {
60
+ props.onSelect(value + ':' + minutes);
61
+ }
62
+ }, {
63
+ values: getMinutes(),
64
+ currentValueKey: 'minutes',
65
+ onUpdate: function (value) {
66
+ props.onSelect(hours + ':' + value);
67
+ }
68
+ }];
51
69
  return (React.createElement("div", { className: bem(bem.block(), props.className) },
52
- props.showHeader && (React.createElement("div", { className: bem.element('header') }, props.value && ("".concat(hours, ":").concat(minutes)))),
53
- React.createElement("div", { className: bem.element('body') },
54
- React.createElement("div", { className: bem.element('column') }, getHours().map(function (value, index) { return (React.createElement("div", { key: index, className: bem.element('cell', {
55
- selected: value === hours
56
- }), onKeyPress: function (e) {
57
- e.preventDefault();
58
- props.onSelect(value + ':' + minutes);
59
- }, onClick: function (e) {
60
- e.preventDefault();
61
- props.onSelect(value + ':' + minutes);
62
- }, role: 'button', tabIndex: 0 },
63
- React.createElement("div", { className: bem.element('cell-value') }, value))); })),
64
- React.createElement("div", { className: bem.element('column') }, getMinutes().map(function (value, index) { return (React.createElement("div", { key: index, className: bem.element('cell', {
65
- selected: value === minutes
66
- }), onKeyPress: function (e) {
67
- e.preventDefault();
68
- props.onSelect(hours + ':' + value);
69
- }, onClick: function (e) {
70
- e.preventDefault();
71
- props.onSelect(hours + ':' + value);
72
- }, role: 'button', tabIndex: 0 },
73
- React.createElement("div", { className: bem.element('cell-value') }, value))); }))),
70
+ props.showHeader && (React.createElement("div", { className: bem.element('header') }, props.value && ("".concat(currentValues.hours, ":").concat(currentValues.minutes)))),
71
+ React.createElement("div", { className: bem.element('body') }, COLUMNS.map(function (column) { return (React.createElement(TimePanelColumn_1["default"], { key: column.currentValueKey, column: column, currentValue: currentValues[column.currentValueKey] })); })),
74
72
  React.createElement("div", { className: bem.element('footer', { 'to-end': !props.showNow }) },
75
73
  props.showNow && (React.createElement("button", { className: bem.element('button', 'now'), onClick: function (e) {
76
74
  e.preventDefault();
@@ -21,29 +21,6 @@
21
21
  border-radius: variables.$input-border-radius;
22
22
  }
23
23
 
24
- &__column {
25
- height: 220px;
26
- overflow-y: auto;
27
- list-style: none;
28
- padding: 0;
29
- margin: 0;
30
- @include mixins.scrollWrapper(298px, 0, variables.$scroll-thumb-color, variables.$scroll-track-color);
31
- }
32
-
33
- &__cell {
34
- padding: 5px 20px;
35
- cursor: pointer;
36
-
37
- &_selected {
38
- background-color: variables.$primary-light;
39
- }
40
-
41
- transition: background-color 0.1s ease-in;
42
- &:hover {
43
- background-color: variables.$back-disabled;
44
- }
45
- }
46
-
47
24
  &__footer {
48
25
  display: flex;
49
26
  align-items: center;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { ITimePanelColumn } from '../../TimePanelView';
3
+ import './TimePanelColumn.scss';
4
+ export interface ITimePanelColumnProps {
5
+ column: ITimePanelColumn;
6
+ currentValue: string;
7
+ }
8
+ export default function TimePanelColumn(props: ITimePanelColumnProps): JSX.Element;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ var react_1 = __importDefault(require("react"));
7
+ var hooks_1 = require("@steroidsjs/core/hooks");
8
+ require("./TimePanelColumn.scss");
9
+ function TimePanelColumn(props) {
10
+ var bem = (0, hooks_1.useBem)('TimePanelColumn');
11
+ var onUpdate = function (value) { return function () {
12
+ props.column.onUpdate(value);
13
+ }; };
14
+ return (react_1["default"].createElement("div", { className: bem.block() },
15
+ react_1["default"].createElement("div", { className: bem.element('column') }, props.column.values.map(function (value, index) { return (react_1["default"].createElement("div", { key: index, className: bem.element('cell', {
16
+ selected: value === props.currentValue
17
+ }), onKeyPress: onUpdate(value), onClick: onUpdate(value), role: 'button', tabIndex: 0 },
18
+ react_1["default"].createElement("div", { className: bem.element('cell-value') }, value))); }))));
19
+ }
20
+ exports["default"] = TimePanelColumn;
@@ -0,0 +1,53 @@
1
+ @use "../../../../scss/variables";
2
+ @use '../../../../scss/mixins';
3
+
4
+ $color: var(--element-background-color);
5
+ $color-hidden: rgb(from var(--element-background-color) r g b / 0%);
6
+ $background-linear-gradient: linear-gradient(to top, $color-hidden 0%, $color 100%);
7
+
8
+ .TimePanelColumn {
9
+ position: relative;
10
+
11
+ &__column {
12
+ height: 220px;
13
+ overflow-y: auto;
14
+ list-style: none;
15
+ padding: 39px 0;
16
+ margin: 0;
17
+ @include mixins.scrollWrapper(298px, 0, variables.$scroll-thumb-color, variables.$scroll-track-color);
18
+ }
19
+
20
+ &__cell {
21
+ padding: 5px 20px;
22
+ cursor: pointer;
23
+
24
+ transition: background-color 0.1s ease-in;
25
+
26
+ &_selected {
27
+ background-color: variables.$primary-light;
28
+ }
29
+
30
+ &:hover {
31
+ background-color: variables.$back-disabled;
32
+ }
33
+ }
34
+
35
+ &::before,
36
+ &::after {
37
+ content: '';
38
+ position: absolute;
39
+ top: 0;
40
+ left: 0;
41
+ height: 39px;
42
+ width: 100%;
43
+
44
+ background: $background-linear-gradient;
45
+
46
+ pointer-events: none;
47
+ }
48
+ &::after {
49
+ bottom: 0;
50
+ top: unset;
51
+ transform: rotateZ(180deg);
52
+ }
53
+ }
@@ -0,0 +1,2 @@
1
+ import TimePanelColumn from './TimePanelColumn';
2
+ export default TimePanelColumn;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ var TimePanelColumn_1 = __importDefault(require("./TimePanelColumn"));
7
+ exports["default"] = TimePanelColumn_1["default"];
@@ -54,7 +54,7 @@ function TimeRangeFieldView(props) {
54
54
  'is-invalid': !!props.errors
55
55
  }), props.className), style: props.style },
56
56
  react_1["default"].createElement("div", { className: bem.element('body') },
57
- react_1["default"].createElement("input", __assign({}, props.inputPropsFrom, { className: bem(bem.element('input')), onChange: function (e) { return props.inputPropsFrom.onChange(e.target.value); } })),
57
+ react_1["default"].createElement("input", __assign({}, props.inputPropsFrom, { id: props.id, className: bem(bem.element('input')), onChange: function (e) { return props.inputPropsFrom.onChange(e.target.value); } })),
58
58
  react_1["default"].createElement("input", __assign({}, props.inputPropsTo, { className: bem.element('input'), onChange: function (e) { return props.inputPropsTo.onChange(e.target.value); } })),
59
59
  react_1["default"].createElement("div", { className: bem.element('icon-container') },
60
60
  props.icon && !hasValue && (react_1["default"].createElement(content_1.Icon, { className: bem.element('date-icon'), name: typeof props.icon === 'string' ? props.icon : 'calendar_range', tabIndex: -1 })),
@@ -50,6 +50,12 @@
50
50
  flex-flow: row nowrap;
51
51
  column-gap: 47px;
52
52
 
53
+ .TimePanelView {
54
+ display: flex;
55
+ flex-direction: column;
56
+ align-items: center;
57
+ }
58
+
53
59
  .TimePanelView__footer {
54
60
  padding: 0;
55
61
  padding-top: 10px;
@@ -0,0 +1,2 @@
1
+ import useHideScroll from './useHideScroll';
2
+ export { useHideScroll };
package/hooks/index.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ exports.useHideScroll = void 0;
7
+ var useHideScroll_1 = __importDefault(require("./useHideScroll"));
8
+ exports.useHideScroll = useHideScroll_1["default"];
@@ -0,0 +1 @@
1
+ export default function useHideScroll(): void;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ var react_1 = require("react");
4
+ var react_use_1 = require("react-use");
5
+ var onlyNumbersRegExp = /^\D/g;
6
+ /*
7
+ * Хук устанавливает padding-right для body при открытии модальных окон.
8
+ * Помогает избежать нежелательного смещения контента, когда для body задается свойство overflow: hidden (убирается скролл)
9
+ * */
10
+ var BODY_HIDE_SCROLL_CLASS_NAME = 'body-hide-scroll';
11
+ function useHideScroll() {
12
+ var defaultPadding = (0, react_1.useRef)(null);
13
+ (0, react_use_1.useMount)(function () {
14
+ if (process.env.IS_SSR) {
15
+ return;
16
+ }
17
+ var fullWindowWidth = window.innerWidth; // полная ширина окна;
18
+ var windowWidthWithoutScrollbar = document.documentElement.clientWidth; // ширина окна за вычетом скролла
19
+ defaultPadding.current = document.body.style.paddingRight;
20
+ if (windowWidthWithoutScrollbar < fullWindowWidth) {
21
+ var defaultPaddingInt = defaultPadding.current
22
+ ? Number(defaultPadding.current.replace(onlyNumbersRegExp, ''))
23
+ : 0;
24
+ var paddingRight = "".concat(fullWindowWidth - windowWidthWithoutScrollbar + defaultPaddingInt, "px");
25
+ document.body.style.paddingRight = paddingRight;
26
+ document.body.classList.add(BODY_HIDE_SCROLL_CLASS_NAME);
27
+ }
28
+ });
29
+ (0, react_use_1.useUnmount)(function () {
30
+ if (process.env.IS_SSR) {
31
+ return;
32
+ }
33
+ document.body.style.paddingRight = defaultPadding.current;
34
+ document.body.classList.remove(BODY_HIDE_SCROLL_CLASS_NAME);
35
+ });
36
+ }
37
+ exports["default"] = useHideScroll;
package/icons/index.js CHANGED
@@ -28,6 +28,8 @@ exports["default"] = (function (customIcons) {
28
28
  'arrow_right_24x24',
29
29
  'arrow_up_18x18',
30
30
  'arrow_up_24x24',
31
+ 'long-arrow-alt-down',
32
+ 'long-arrow-alt-up',
31
33
  'blank',
32
34
  'calendar_check',
33
35
  'chart',
@@ -0,0 +1,3 @@
1
+ <svg width="10" height="14" viewBox="0 0 10 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M1 9.44916L5 13.4492M5 13.4492L9 9.44916M5 13.4492L5 1.44916" stroke="#323232" stroke-linecap="round" stroke-linejoin="round"/>
3
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="10" height="14" viewBox="0 0 10 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M9 5.44916L5 1.44916M5 1.44916L1 5.44916M5 1.44916L5 13.4492" stroke="#323232" stroke-linecap="round" stroke-linejoin="round"/>
3
+ </svg>
@@ -62,9 +62,8 @@ function GridView(props) {
62
62
  })));
63
63
  }, [props.searchForm, props.columns]);
64
64
  var renderSortButton = (0, react_1.useCallback)(function (attribute, direction) {
65
- var _a;
66
65
  var sortKey = (direction === 'desc' ? '-' : '') + attribute;
67
- var isActive = [].concat(((_a = props.list) === null || _a === void 0 ? void 0 : _a.sort) || []).includes(sortKey);
66
+ var isActive = [].concat((props === null || props === void 0 ? void 0 : props.sort) || []).includes(sortKey);
68
67
  return (React.createElement(Button_1["default"], { icon: direction === 'asc' ? 'long-arrow-alt-up' : 'long-arrow-alt-down', className: bem.element('sort-button', {
69
68
  'is-active': isActive
70
69
  }), link: true, onClick: function (e) {
@@ -86,7 +85,7 @@ function GridView(props) {
86
85
  React.createElement("thead", null,
87
86
  React.createElement("tr", null, props.columns.map(function (column, columnIndex) { return (React.createElement("th", { key: columnIndex, className: column.headerClassName },
88
87
  column.label,
89
- column.sortable && column.attribute && (React.createElement("span", null,
88
+ column.sortable && column.attribute && (React.createElement("span", { className: bem.element('sort-buttons') },
90
89
  column.label && React.createElement("span", null, "\u00A0"),
91
90
  renderSortButton(column.attribute, 'asc'),
92
91
  renderSortButton(column.attribute, 'desc'))))); })),
@@ -6,6 +6,9 @@
6
6
 
7
7
  --grid-td-background-color: #FFFFFF;
8
8
  --grid-td-alternating-color: var(--additional-light-gray);
9
+
10
+ --sort-button-color: var(--graphite);
11
+ --sort-button-color-active: var(--graphite-dark);
9
12
  }
10
13
 
11
14
  html[data-theme="dark"] {
@@ -14,6 +17,10 @@ html[data-theme="dark"] {
14
17
 
15
18
  --grid-td-background-color: var(--graphite);
16
19
  --grid-td-alternating-color: var(--graphite-dark);
20
+
21
+
22
+ --sort-button-color: var(--secondary-dark);
23
+ --sort-button-color-active: var(--secondary);
17
24
  }
18
25
 
19
26
  $grid-header-background-color: var(--grid-header-background-color);
@@ -97,6 +104,13 @@ $grid-td-alternating-color: var(--grid-td-alternating-color);
97
104
  td:not(#{$root}__column_isDiagram) {
98
105
  padding: 24px 16px;
99
106
  }
107
+
108
+ &:has(#{$root}__sort-buttons) {
109
+ th {
110
+ position: relative;
111
+ padding: 24px 30px 24px 16px;
112
+ }
113
+ }
100
114
  }
101
115
 
102
116
  &_md {
@@ -109,6 +123,13 @@ $grid-td-alternating-color: var(--grid-td-alternating-color);
109
123
  td:not(#{$root}__column_isDiagram) {
110
124
  padding: 21px 12px;
111
125
  }
126
+
127
+ &:has(#{$root}__sort-buttons) {
128
+ th {
129
+ position: relative;
130
+ padding: 21px 30px 21px 12px;
131
+ }
132
+ }
112
133
  }
113
134
 
114
135
  &_sm {
@@ -121,6 +142,13 @@ $grid-td-alternating-color: var(--grid-td-alternating-color);
121
142
  td:not(#{$root}__column_isDiagram) {
122
143
  padding: 16px 8px;
123
144
  }
145
+
146
+ &:has(#{$root}__sort-buttons) {
147
+ th {
148
+ position: relative;
149
+ padding: 16px 30px 16px 8px;
150
+ }
151
+ }
124
152
  }
125
153
  }
126
154
 
@@ -171,4 +199,22 @@ $grid-td-alternating-color: var(--grid-td-alternating-color);
171
199
  width: 100%;
172
200
  }
173
201
  }
202
+
203
+ &__sort-buttons {
204
+ position: absolute;
205
+ right: 5px;
206
+ top: 50%;
207
+ transform: translateY(-50%);
208
+ }
209
+ &__sort-button {
210
+ path {
211
+ stroke: var(--sort-button-color);
212
+ }
213
+ &_is-active {
214
+ path {
215
+ stroke: var(--sort-button-color-active);
216
+ stroke-width: 2px;
217
+ }
218
+ }
219
+ }
174
220
  }
@@ -1,3 +1,4 @@
1
+ @use "sass:map";
1
2
  @use "../../../../scss/variables";
2
3
 
3
4
  .DiagramColumnView {
@@ -68,8 +69,8 @@
68
69
  &_color {
69
70
  @each $color, $color-map in variables.$diagram-colors {
70
71
  &_#{$color} {
71
- background-color: map-get($color-map, color-themed);
72
- border-right: 1px solid map-get($color-map, color);
72
+ background-color: map.get($color-map, color-themed);
73
+ border-right: 1px solid map.get($color-map, color);
73
74
  }
74
75
  }
75
76
  }
@@ -107,8 +108,8 @@
107
108
  &_color {
108
109
  @each $color, $color-map in variables.$diagram-colors {
109
110
  &_#{$color} {
110
- background-color: map-get($color-map, color-themed);
111
- border-top: 1px solid map-get($color-map, color);
111
+ background-color: map.get($color-map, color-themed);
112
+ border-top: 1px solid map.get($color-map, color);
112
113
  }
113
114
  }
114
115
  }
@@ -152,7 +153,7 @@
152
153
  &_color {
153
154
  @each $color, $color-map in variables.$diagram-colors {
154
155
  &_#{$color} {
155
- border: 2px solid map-get($color-map, color);
156
+ border: 2px solid map.get($color-map, color);
156
157
  }
157
158
  }
158
159
  }
@@ -42,14 +42,16 @@ var react_modal_1 = __importDefault(require("react-modal"));
42
42
  var hooks_1 = require("@steroidsjs/core/hooks");
43
43
  var content_1 = require("@steroidsjs/core/ui/content");
44
44
  var form_1 = require("@steroidsjs/core/ui/form");
45
+ var hooks_2 = require("../../hooks");
45
46
  function ModalView(props) {
46
47
  var bem = (0, hooks_1.useBem)('ModalView');
48
+ (0, hooks_2.useHideScroll)();
47
49
  var overrideDefaultClasses = {
48
50
  base: bem.block('overlay'),
49
51
  afterOpen: 'ModalView_overlay-after',
50
52
  beforeClose: 'ModalView_overlay-before'
51
53
  };
52
- return (React.createElement(react_modal_1["default"], __assign({}, props, { ariaHideApp: false, bodyOpenClassName: 'ModalView_body-hide-scroll', className: bem(bem.element('body', { size: props.size }), props.className), closeTimeoutMS: props.closeTimeoutMs, isOpen: !props.isClosing, onRequestClose: props.onClose, overlayClassName: overrideDefaultClasses, shouldCloseOnEsc: props.shouldCloseOnEsc, shouldCloseOnOverlayClick: props.shouldCloseOnOverlayClick }),
54
+ return (React.createElement(react_modal_1["default"], __assign({}, props, { ariaHideApp: false, className: bem(bem.element('body', { size: props.size }), props.className), closeTimeoutMS: props.closeTimeoutMs, isOpen: !props.isClosing, onRequestClose: props.onClose, overlayClassName: overrideDefaultClasses, shouldCloseOnEsc: props.shouldCloseOnEsc, shouldCloseOnOverlayClick: props.shouldCloseOnOverlayClick }),
53
55
  React.createElement("div", { className: bem.element('header') },
54
56
  React.createElement("span", { className: bem.element('title') }, props.title),
55
57
  React.createElement(content_1.Icon, { name: 'cross_12x12', className: bem.element('close'), onClick: props.onClose })),
@@ -148,8 +148,3 @@ $modal-background-color: var(--modal-background-color);
148
148
  opacity: 0;
149
149
  }
150
150
  }
151
-
152
- // Class to hide body scroll, when Modal is opened
153
- .ModalView_body-hide-scroll {
154
- overflow: hidden;
155
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/bootstrap",
3
- "version": "3.0.29",
3
+ "version": "3.0.32",
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.49",
38
+ "@steroidsjs/core": "3.0.57",
39
39
  "@steroidsjs/eslint-config": "^2.1.6",
40
40
  "@types/enzyme": "^3.10.8",
41
41
  "@types/googlemaps": "^3.43.3",
@@ -57,25 +57,25 @@
57
57
  background-color: transparent;
58
58
  color: map.get($colorMap, color);
59
59
  stroke: map.get($colorMap, color);
60
- border: 1px solid map.get($colorMap, color);
60
+ outline: 1px solid map.get($colorMap, color);
61
61
 
62
62
  @include svg-color(map.get($colorMap, text-color));
63
63
 
64
64
  &:hover {
65
65
  @include svg-color(map.get($colorMap, color-dark));
66
66
  color: map.get($colorMap, color-dark);
67
- border-color: map.get($colorMap, color-dark);
67
+ outline-color: map.get($colorMap, color-dark);
68
68
  }
69
69
  &:focus {
70
70
  box-shadow:
71
71
  0 0 0 4px map.get($colorMap, color-light),
72
72
  0 0 0 4px map.get($colorMap, color-light);
73
- border: 1px solid transparent;
73
+ outline: 1px solid transparent;
74
74
  }
75
75
  &:active {
76
76
  @include svg-color(map.get($colorMap, color-light));
77
77
  color: map.get($colorMap, color-light);
78
- border-color: map.get($colorMap, color-light);
78
+ outline-color: map.get($colorMap, color-light);
79
79
  stroke: map.get($colorMap, color-light);
80
80
  box-shadow: none;
81
81
  }
@@ -84,7 +84,7 @@
84
84
  background-color: transparent;
85
85
  @include svg-color(map.get($colorMap, color));
86
86
  color: map.get($colorMap, color);
87
- border: 1px solid map.get($colorMap, color);
87
+ outline: 1px solid map.get($colorMap, color);
88
88
  }
89
89
 
90
90
  @if ($colorName == "basic") {
@@ -387,7 +387,7 @@ $date-sizes: map.merge(
387
387
  margin-top: 2px;
388
388
  }
389
389
 
390
- .TimePanelView__column {
390
+ .TimePanelView .TimePanelColumn__column {
391
391
  height: 298px;
392
392
  row-gap: 2px;
393
393
  border: none;
@@ -405,7 +405,7 @@ $date-sizes: map.merge(
405
405
  height: 0px;
406
406
  }
407
407
 
408
- .TimePanelView__cell {
408
+ .TimePanelColumn__cell {
409
409
  padding: 0;
410
410
  border-radius: variables.$radius-large;
411
411
 
@@ -23,3 +23,8 @@ button {
23
23
  input {
24
24
  outline: none;
25
25
  }
26
+
27
+ // Class to hide body scroll, when Modal is opened
28
+ .body-hide-scroll {
29
+ overflow: hidden;
30
+ }