@steroidsjs/bootstrap 3.0.0-beta.122 → 3.0.0-beta.124

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.
@@ -38,10 +38,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  };
39
39
  exports.__esModule = true;
40
40
  var React = __importStar(require("react"));
41
- var moment_1 = __importDefault(require("react-day-picker/moment"));
42
41
  var react_1 = require("react");
43
42
  var hooks_1 = require("@steroidsjs/core/hooks");
44
43
  var react_day_picker_1 = __importStar(require("react-day-picker"));
44
+ var calendar_1 = require("@steroidsjs/core/utils/calendar");
45
45
  var CaptionElement_1 = __importDefault(require("./CaptionElement"));
46
46
  function CalendarView(props) {
47
47
  var bem = (0, hooks_1.useBem)('CalendarView');
@@ -81,6 +81,6 @@ function CalendarView(props) {
81
81
  else {
82
82
  onDaySelect(day);
83
83
  }
84
- }, fixedWeeks: true, month: month, firstDayOfWeek: 1, modifiers: modifiers, canChangeMonth: false, onDayClick: onDaySelect, selectedDays: selectedDays, numberOfMonths: numberOfMonths, localeUtils: moment_1["default"], locale: localeComponent.language })));
84
+ }, fixedWeeks: true, month: month, firstDayOfWeek: 1, modifiers: modifiers, canChangeMonth: false, onDayClick: onDaySelect, selectedDays: selectedDays, numberOfMonths: numberOfMonths, localeUtils: calendar_1.customLocaleUtils, locale: localeComponent.language })));
85
85
  }
86
86
  exports["default"] = CalendarView;
@@ -65,10 +65,10 @@ function DropDownFieldView(props) {
65
65
  _a["outline_".concat(props.color)] = props.outline,
66
66
  _a.opened = props.isOpened,
67
67
  _a['is-invalid'] = !!props.errors,
68
- _a)), props.className), onKeyPress: function (e) { return e.key === 'Enter' && props.onOpen(); }, style: props.style, role: "button", tabIndex: 0 },
68
+ _a.disabled = props.disabled,
69
+ _a)), props.className), onKeyPress: function (e) { return e.key === 'Enter' && !props.disabled && props.onOpen(); }, style: props.style, role: "button", tabIndex: 0 },
69
70
  React.createElement("div", { className: bem.element('selected-items', {
70
- reset: props.showReset,
71
- disabled: props.disabled
71
+ reset: props.showReset
72
72
  }), onClick: props.onOpen, tabIndex: -1, role: 'button' },
73
73
  renderPlaceholder(),
74
74
  React.createElement("span", { className: bem.element('selected-items') }, props.showEllipses
@@ -427,4 +427,10 @@ $drop-down-color-themes: map.merge(
427
427
  &_is-invalid {
428
428
  border: 1px solid variables.$danger !important;
429
429
  }
430
+
431
+ &_disabled {
432
+ background-color: variables.$element-background-color-disabled;
433
+ border-color: transparent;
434
+ pointer-events: none;
435
+ }
430
436
  }
package/index.d.ts CHANGED
@@ -272,6 +272,9 @@ declare const _default: {
272
272
  'nav.TreeView': {
273
273
  lazy: () => any;
274
274
  };
275
+ 'nav.TreeItemView': {
276
+ lazy: () => any;
277
+ };
275
278
  'nav.ButtonGroupView': {
276
279
  lazy: () => any;
277
280
  };
package/index.js CHANGED
@@ -275,6 +275,9 @@ exports["default"] = {
275
275
  'nav.TreeView': {
276
276
  lazy: function () { return require('./nav/Tree/TreeView')["default"]; }
277
277
  },
278
+ 'nav.TreeItemView': {
279
+ lazy: function () { return require('./nav/TreeItem/TreeItemView')["default"]; }
280
+ },
278
281
  'nav.ButtonGroupView': {
279
282
  lazy: function () { return require('./nav/ButtonGroup/ButtonGroupView')["default"]; }
280
283
  },
package/index.scss CHANGED
@@ -97,6 +97,7 @@
97
97
  @include meta.load-css('nav/Nav/NavListView');
98
98
  @include meta.load-css('nav/Nav/NavTabsView');
99
99
  @include meta.load-css('nav/Tree/TreeView');
100
+ @include meta.load-css('nav/TreeItem/TreeItemView');
100
101
  @include meta.load-css('nav/ButtonGroup/ButtonGroupView');
101
102
  @include meta.load-css('typography/Text/TextView');
102
103
  @include meta.load-css('typography/Title/TitleView');
@@ -17,25 +17,11 @@ exports.__esModule = true;
17
17
  var react_1 = __importDefault(require("react"));
18
18
  var hooks_1 = require("@steroidsjs/core/hooks");
19
19
  var Format_1 = __importDefault(require("@steroidsjs/core/ui/format/Format"));
20
- var content_1 = require("@steroidsjs/core/ui/content");
21
- var DEFAULT_PADDING_LEFT = 32;
22
- var PADDING_WITH_ICON = 0;
23
- var PADDING_WITHOUT_ICON = 24;
20
+ var TreeItemView_1 = __importDefault(require("../../../../nav/TreeItem/TreeItemView"));
24
21
  function TreeColumnView(props) {
25
22
  var bem = (0, hooks_1.useBem)('TreeColumnView');
26
- var levelPadding = props.levelPadding || DEFAULT_PADDING_LEFT;
27
- var paddingBasedOnIcon = props.item.hasItems ? PADDING_WITH_ICON : PADDING_WITHOUT_ICON;
28
23
  var renderFormat = function () { return (react_1["default"].createElement(Format_1["default"], __assign({}, props, (props.formatter || {}), { attribute: props.attribute }))); };
29
24
  var renderValue = function () { return (react_1["default"].createElement("span", { className: bem.element('value') }, renderFormat())); };
30
- return (react_1["default"].createElement("div", { className: bem.block(bem.block({
31
- size: props.size
32
- })) },
33
- react_1["default"].createElement("div", { className: bem.element('data'), style: {
34
- paddingLeft: "".concat(props.item.level * levelPadding + paddingBasedOnIcon, "px")
35
- } },
36
- props.item.hasItems && (react_1["default"].createElement(content_1.Icon, { name: 'expand_right', className: bem.element('icon', {
37
- opened: props.item.isOpened
38
- }), onClick: function () { return props.item.onTreeItemClick(props.item.uniqueId, props.item); } })),
39
- renderValue())));
25
+ return (react_1["default"].createElement(TreeItemView_1["default"], { item: props.item, levelPadding: props.levelPadding, className: bem.block() }, renderValue()));
40
26
  }
41
27
  exports["default"] = TreeColumnView;
@@ -1,44 +1,7 @@
1
- @use "../../../../scss/variables";
2
-
3
- :root {
4
- --grid-icon-color: #323232;
5
- }
6
-
7
- html[data-theme="dark"] {
8
- --grid-icon-color: #ffffff;
9
- }
10
-
11
- $grid-icon-color: var(--grid-icon-color);
12
-
13
1
  .TreeColumnView {
14
- &__data {
15
- display: flex;
16
- align-items: center;
17
-
18
- .IconView {
19
- min-width: 24px;
20
- min-height: 24px;
21
- }
22
- }
23
-
24
2
  &__value {
25
3
  margin-left: 8px;
26
4
  }
27
-
28
- &__icon {
29
- transform: rotate(0);
30
- transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
31
-
32
- &_opened {
33
- transform: rotate(90deg);
34
- }
35
-
36
- svg {
37
- > * {
38
- stroke: $grid-icon-color;
39
- }
40
- }
41
- }
42
5
  }
43
6
 
44
7
  .TreeColumnHeader {
@@ -40,16 +40,10 @@ exports.__esModule = true;
40
40
  var React = __importStar(require("react"));
41
41
  var Link_1 = __importDefault(require("@steroidsjs/core/ui/nav/Link"));
42
42
  var hooks_1 = require("@steroidsjs/core/hooks");
43
+ var TreeItemView_1 = __importDefault(require("../TreeItem/TreeItemView"));
43
44
  function TreeView(props) {
44
- var levelPadding = props.levelPadding || 20;
45
45
  var bem = (0, hooks_1.useBem)('TreeView');
46
- return (React.createElement("div", { className: bem(bem.block(), props.className) }, props.items.map(function (item) { return (React.createElement("div", { key: item.uniqId, onClick: item.onClick, onKeyPress: item.onClick, className: bem(bem.element('item', {
47
- selected: item.isSelected,
48
- opened: item.isOpened,
49
- 'has-items': item.hasItems
50
- }), item.className), role: 'button', tabIndex: 0 },
51
- React.createElement(Link_1["default"], __assign({ className: bem.element('item-label'), style: {
52
- paddingLeft: String(item.level * levelPadding) + 'px'
53
- } }, item)))); })));
46
+ return (React.createElement("div", { className: bem(bem.block(), props.className) }, props.items.map(function (item) { return (React.createElement(TreeItemView_1["default"], { key: item.uniqueId, item: item, levelPadding: props.levelPadding },
47
+ React.createElement(Link_1["default"], __assign({ className: bem.element('item-label') }, item)))); })));
54
48
  }
55
49
  exports["default"] = TreeView;
@@ -5,67 +5,30 @@
5
5
  margin: 0;
6
6
  padding: 0;
7
7
 
8
- &__item {
9
- padding: 0;
10
- cursor: pointer;
11
-
12
- > .ButtonView {
13
- margin: 2px 0;
14
- }
15
- }
16
-
17
8
  &__item-label {
18
- position: relative;
19
- padding: 5px 10px;
20
9
  display: flex;
21
- flex-direction: row;
10
+ flex-flow: row nowrap;
22
11
  justify-content: flex-start;
23
12
  background-color: variables.$background-color;
24
-
25
- .ButtonView__link {
26
- .ButtonView__text {
27
- color: variables.$text-color;
28
- }
29
- }
30
-
31
- // &:hover {
32
- // color: $list-group-action-hover-color;
33
- // background-color: $list-group-hover-bg;
34
- // }
13
+ border-radius: 16px;
14
+ padding: 5px 10px;
35
15
 
36
16
  &,
37
17
  &:hover {
38
18
  text-decoration: none !important;
39
19
  }
20
+
21
+ .ButtonView__link > .ButtonView__text {
22
+ color: variables.$text-color;
23
+ }
40
24
  }
41
- &__item_selected &__item-label {
25
+
26
+ .TreeItemView_selected &__item-label {
42
27
  background-color: variables.$secondary;
28
+
43
29
  &,
44
30
  &::before {
45
31
  color: variables.$text-color;
46
32
  }
47
33
  }
48
- &__item-label::before {
49
- display: inline-block;
50
- content: "";
51
- transform: rotate(0);
52
- width: 21px;
53
- height: 20px;
54
- font-size: 12px;
55
- font-weight: bold;
56
- margin-left: 10px;
57
- color: variables.$text-color;
58
- position: relative;
59
- top: 1px;
60
- left: 3px;
61
- }
62
- &__item_has-items &__item-label::before {
63
- content: ">";
64
- }
65
-
66
- &__item_opened &__item-label::before {
67
- top: 7px;
68
- left: -4px;
69
- transform: rotate(90deg);
70
- }
71
34
  }
@@ -0,0 +1,2 @@
1
+ import { ITreeItemViewProps } from '@steroidsjs/core/ui/nav/Tree/Tree';
2
+ export default function TreeItemView(props: ITreeItemViewProps): JSX.Element;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ exports.__esModule = true;
29
+ var React = __importStar(require("react"));
30
+ var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
31
+ var content_1 = require("@steroidsjs/core/ui/content");
32
+ var PADDING_WITH_ICON = 0;
33
+ var PADDING_WITHOUT_ICON = 24;
34
+ function TreeItemView(props) {
35
+ var bem = (0, useBem_1["default"])('TreeItemView');
36
+ var paddingBasedOnIcon = props.item.hasItems ? PADDING_WITH_ICON : PADDING_WITHOUT_ICON;
37
+ return (React.createElement("div", { key: props.item.uniqueId, className: bem(bem.block({
38
+ selected: props.item.isSelected,
39
+ opened: props.item.isOpened,
40
+ 'has-items': props.item.hasItems,
41
+ level: props.item.level
42
+ }), props.className), style: {
43
+ paddingLeft: "".concat(props.item.level * props.levelPadding + paddingBasedOnIcon, "px")
44
+ }, onClick: props.item.onClick, onKeyDown: function (e) { return e.key === 'Enter' && props.item.onClick(e); }, role: 'button', tabIndex: 0 },
45
+ props.item.hasItems && (React.createElement(content_1.Icon, { name: 'mockIcon', className: bem.element('icon', {
46
+ opened: props.item.isOpened
47
+ }), tabIndex: -1 })),
48
+ React.createElement("div", { className: bem.element('item') }, props.children)));
49
+ }
50
+ exports["default"] = TreeItemView;
@@ -0,0 +1,43 @@
1
+ @use "../../scss/variables";
2
+
3
+ :root {
4
+ --grid-icon-color: #323232;
5
+ }
6
+
7
+ html[data-theme="dark"] {
8
+ --grid-icon-color: #ffffff;
9
+ }
10
+
11
+ $grid-icon-color: var(--grid-icon-color);
12
+
13
+ .TreeItemView {
14
+ display: flex;
15
+ flex-flow: row nowrap;
16
+ align-items: center;
17
+ margin: 0;
18
+ padding: 0;
19
+
20
+ &_has-items {
21
+ cursor: pointer;
22
+ }
23
+
24
+ &__icon {
25
+ transform: rotate(0);
26
+ transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
27
+
28
+ &_opened {
29
+ transform: rotate(90deg);
30
+ }
31
+
32
+ svg {
33
+ > * {
34
+ stroke: $grid-icon-color;
35
+ }
36
+ }
37
+ }
38
+
39
+ .IconView {
40
+ min-width: 24px;
41
+ min-height: 24px;
42
+ }
43
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/bootstrap",
3
- "version": "3.0.0-beta.122",
3
+ "version": "3.0.0-beta.124",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
@@ -37,7 +37,7 @@
37
37
  "react-use": "^17.4.0"
38
38
  },
39
39
  "devDependencies": {
40
- "@steroidsjs/core": "^3.0 || >=3.0.0-beta.104",
40
+ "@steroidsjs/core": "^3.0 || >=3.0.0-beta.108",
41
41
  "@steroidsjs/eslint-config": "^2.1.4",
42
42
  "@types/enzyme": "^3.10.8",
43
43
  "@types/googlemaps": "^3.43.3",
@@ -1,4 +1,46 @@
1
1
  // margin
2
+ .m-1 {
3
+ margin: 0.25rem;
4
+ }
5
+
6
+ .m-2 {
7
+ margin: 0.5rem;
8
+ }
9
+
10
+ .m-3 {
11
+ margin: 1rem;
12
+ }
13
+
14
+ .m-horizontal-1 {
15
+ margin-left: 0.25rem;
16
+ margin-right: 0.25rem;
17
+ }
18
+
19
+ .m-horizontal-2 {
20
+ margin-left: 0.5rem;
21
+ margin-right: 0.5rem;
22
+ }
23
+
24
+ .m-horizontal-3 {
25
+ margin-left: 1rem;
26
+ margin-right: 1rem;
27
+ }
28
+
29
+ .m-vertical-1 {
30
+ margin-top: 0.25rem;
31
+ margin-bottom: 0.25rem;
32
+ }
33
+
34
+ .m-vertical-2 {
35
+ margin-top: 0.5rem;
36
+ margin-bottom: 0.5rem;
37
+ }
38
+
39
+ .m-vertical-3 {
40
+ margin-top: 1rem;
41
+ margin-bottom: 1rem;
42
+ }
43
+
2
44
  .mb-1 {
3
45
  margin-bottom: 0.25rem;
4
46
  }
@@ -48,6 +90,48 @@
48
90
  }
49
91
 
50
92
  // padding
93
+ .p-1 {
94
+ padding: 0.25rem;
95
+ }
96
+
97
+ .p-2 {
98
+ padding: 0.5rem;
99
+ }
100
+
101
+ .p-3 {
102
+ padding: 1rem;
103
+ }
104
+
105
+ .p-horizontal-1 {
106
+ padding-left: 0.25rem;
107
+ padding-right: 0.25rem;
108
+ }
109
+
110
+ .p-horizontal-2 {
111
+ padding-left: 0.5rem;
112
+ padding-right: 0.5rem;
113
+ }
114
+
115
+ .p-horizontal-3 {
116
+ padding-left: 1rem;
117
+ padding-right: 1rem;
118
+ }
119
+
120
+ .p-vertical-1 {
121
+ padding-top: 0.25rem;
122
+ padding-bottom: 0.25rem;
123
+ }
124
+
125
+ .p-vertical-2 {
126
+ padding-top: 0.5rem;
127
+ padding-bottom: 0.5rem;
128
+ }
129
+
130
+ .p-vertical-3 {
131
+ padding-top: 1rem;
132
+ padding-bottom: 1rem;
133
+ }
134
+
51
135
  .pb-1 {
52
136
  padding-bottom: 0.25rem;
53
137
  }