@steroidsjs/bootstrap 3.0.0-beta.125 → 3.0.0-beta.126

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.
@@ -50,7 +50,7 @@ function CheckboxFieldView(props) {
50
50
  }), props.className), style: __assign(__assign({}, props.style), customVariableColorStyle), onClick: props.onChange },
51
51
  React.createElement("input", __assign({ className: bem.element('input', {
52
52
  hasCustomColor: !!props.color
53
- }), id: props.id || id }, props.inputProps, { disabled: props.disabled, required: props.required })),
53
+ }), id: props.id || id, disabled: props.disabled, required: props.required }, props.inputProps)),
54
54
  React.createElement("label", { className: bem.element('label'), htmlFor: props.id || id }, props.label && (React.createElement("span", { className: bem.element('label-text', { required: props.required }) }, props.label)))));
55
55
  }
56
56
  exports["default"] = CheckboxFieldView;
@@ -0,0 +1,2 @@
1
+ import { ICheckboxTreeFieldViewProps } from '@steroidsjs/core/ui/form/CheckboxTreeField/CheckboxTreeField';
2
+ export default function CheckboxTreeFieldView(props: ICheckboxTreeFieldViewProps): JSX.Element;
@@ -0,0 +1,30 @@
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 useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
8
+ var hooks_1 = require("@steroidsjs/core/hooks");
9
+ var TreeItemView_1 = __importDefault(require("../../nav/TreeItem/TreeItemView"));
10
+ function CheckboxTreeFieldView(props) {
11
+ var bem = (0, useBem_1["default"])('CheckboxTreeFieldView');
12
+ var prefix = (0, hooks_1.useUniqueId)('checkbox');
13
+ return (react_1["default"].createElement("div", { className: bem.block() }, props.items.map(function (checkbox) { return (react_1["default"].createElement(TreeItemView_1["default"], { key: checkbox.uniqueId, item: checkbox, levelPadding: props.levelPadding, hasIconExpandOnly: true }, props.renderCheckbox({
14
+ id: "".concat(prefix, "_").concat(checkbox.id),
15
+ label: checkbox.label,
16
+ inputProps: {
17
+ name: "".concat(prefix, "_").concat(checkbox.id),
18
+ type: 'checkbox',
19
+ checked: props.selectedIds.includes(checkbox.id),
20
+ onChange: function () {
21
+ props.onItemSelect(checkbox);
22
+ },
23
+ disabled: checkbox.disabled,
24
+ required: checkbox.required
25
+ },
26
+ size: props.size,
27
+ color: checkbox.color
28
+ }))); })));
29
+ }
30
+ exports["default"] = CheckboxTreeFieldView;
@@ -0,0 +1,5 @@
1
+ .CheckboxTreeFieldView {
2
+ display: flex;
3
+ flex-flow: column nowrap;
4
+ gap: 8px;
5
+ }
@@ -0,0 +1,2 @@
1
+ import CheckboxTreeFieldView from './CheckboxTreeFieldView';
2
+ export default CheckboxTreeFieldView;
@@ -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 CheckboxTreeFieldView_1 = __importDefault(require("./CheckboxTreeFieldView"));
7
+ exports["default"] = CheckboxTreeFieldView_1["default"];
@@ -65,7 +65,7 @@ function DropDownItemView(props) {
65
65
  }), size: props.size, inputProps: {
66
66
  disabled: false,
67
67
  name: props.item.label,
68
- checked: null,
68
+ checked: props.selectedIds.includes(uniqItemId),
69
69
  onChange: function () { },
70
70
  type: 'radio'
71
71
  }, checked: props.selectedIds.includes(uniqItemId) })));
@@ -51,7 +51,7 @@ function PasswordFieldView(props) {
51
51
  React.createElement("div", { className: bem.element('container', {
52
52
  disabled: props.inputProps.disabled
53
53
  }) },
54
- React.createElement("input", __assign({ className: bem.element('input') }, props.inputProps, { id: props.id })),
54
+ React.createElement("input", __assign({ className: bem.element('input') }, props.inputProps, { id: props.id, required: props.required })),
55
55
  props.showSecurityIcon && (React.createElement("span", { className: bem(bem.element('icon-eye', {
56
56
  viewHide: props.inputProps.type === PasswordField_1.InputType.PASSWORD
57
57
  })), onClick: props.onShowButtonClick },
package/index.d.ts CHANGED
@@ -83,6 +83,9 @@ declare const _default: {
83
83
  'form.CheckboxListFieldView': {
84
84
  lazy: () => any;
85
85
  };
86
+ 'form.CheckboxTreeFieldView': {
87
+ lazy: () => any;
88
+ };
86
89
  'form.DateFieldView': {
87
90
  lazy: () => any;
88
91
  };
package/index.js CHANGED
@@ -86,6 +86,9 @@ exports["default"] = {
86
86
  'form.CheckboxListFieldView': {
87
87
  lazy: function () { return require('./form/CheckboxListField/CheckboxListFieldView')["default"]; }
88
88
  },
89
+ 'form.CheckboxTreeFieldView': {
90
+ lazy: function () { return require('./form/CheckboxTreeField/CheckboxTreeFieldView')["default"]; }
91
+ },
89
92
  'form.DateFieldView': {
90
93
  lazy: function () { return require('./form/DateField/DateFieldView')["default"]; }
91
94
  },
package/index.scss CHANGED
@@ -37,6 +37,7 @@
37
37
  @include meta.load-css('form/Button/ButtonView');
38
38
  @include meta.load-css('form/CheckboxField/CheckboxFieldView');
39
39
  @include meta.load-css('form/CheckboxListField/CheckboxListFieldView');
40
+ @include meta.load-css('form/CheckboxTreeField/CheckboxTreeFieldView');
40
41
  @include meta.load-css('form/DateField/DateFieldView');
41
42
  @include meta.load-css('form/DateRangeField/DateRangeFieldView');
42
43
  @include meta.load-css('form/DateTimeField/DateTimeFieldView');
@@ -22,6 +22,6 @@ function TreeColumnView(props) {
22
22
  var bem = (0, hooks_1.useBem)('TreeColumnView');
23
23
  var renderFormat = function () { return (react_1["default"].createElement(Format_1["default"], __assign({}, props, (props.formatter || {}), { attribute: props.attribute }))); };
24
24
  var renderValue = function () { return (react_1["default"].createElement("span", { className: bem.element('value') }, renderFormat())); };
25
- return (react_1["default"].createElement(TreeItemView_1["default"], { item: props.item, levelPadding: props.levelPadding, className: bem.block() }, renderValue()));
25
+ return (react_1["default"].createElement(TreeItemView_1["default"], { item: props.item, levelPadding: props.levelPadding }, renderValue()));
26
26
  }
27
27
  exports["default"] = TreeColumnView;
@@ -1,7 +1,4 @@
1
1
  .TreeColumnView {
2
- &__value {
3
- margin-left: 8px;
4
- }
5
2
  }
6
3
 
7
4
  .TreeColumnHeader {
@@ -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,22 +40,30 @@ exports.__esModule = true;
29
40
  var React = __importStar(require("react"));
30
41
  var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
31
42
  var content_1 = require("@steroidsjs/core/ui/content");
43
+ var react_1 = require("react");
32
44
  var PADDING_WITH_ICON = 0;
33
45
  var PADDING_WITHOUT_ICON = 24;
34
46
  function TreeItemView(props) {
35
47
  var bem = (0, useBem_1["default"])('TreeItemView');
36
48
  var paddingBasedOnIcon = props.item.hasItems ? PADDING_WITH_ICON : PADDING_WITHOUT_ICON;
37
- return (React.createElement("div", { key: props.item.uniqueId, className: bem(bem.block({
49
+ var onExpandProps = (0, react_1.useMemo)(function () { return ({
50
+ onClick: props.item.onClick,
51
+ onKeyDown: function (e) { return e.key === 'Enter' && props.item.onClick(e); },
52
+ role: 'button',
53
+ tabIndex: 0
54
+ }); }, [props.item]);
55
+ return (React.createElement("div", __assign({ key: props.item.uniqueId, className: bem(bem.block({
38
56
  selected: props.item.isSelected,
39
57
  opened: props.item.isOpened,
40
58
  'has-items': props.item.hasItems,
41
- level: props.item.level
59
+ level: props.item.level,
60
+ disabled: props.item.disabled
42
61
  }), props.className), style: {
43
62
  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: 'expand_right', className: bem.element('icon', {
63
+ } }, (!props.hasIconExpandOnly && onExpandProps)),
64
+ props.item.hasItems && (React.createElement(content_1.Icon, __assign({ name: 'expand_right', className: bem.element('icon', {
46
65
  opened: props.item.isOpened
47
- }), tabIndex: -1 })),
66
+ }) }, (props.hasIconExpandOnly && onExpandProps)))),
48
67
  React.createElement("div", { className: bem.element('item') }, props.children)));
49
68
  }
50
69
  exports["default"] = TreeItemView;
@@ -11,6 +11,8 @@ html[data-theme="dark"] {
11
11
  $grid-icon-color: var(--grid-icon-color);
12
12
 
13
13
  .TreeItemView {
14
+ $root: &;
15
+
14
16
  display: flex;
15
17
  flex-flow: row nowrap;
16
18
  align-items: center;
@@ -21,6 +23,23 @@ $grid-icon-color: var(--grid-icon-color);
21
23
  cursor: pointer;
22
24
  }
23
25
 
26
+ &_disabled {
27
+ cursor: not-allowed;
28
+
29
+ #{$root}__icon {
30
+ pointer-events: none;
31
+
32
+ svg > * {
33
+ stroke: var(--disabled-text-color);
34
+ }
35
+ }
36
+ }
37
+
38
+ &__item {
39
+ display: flex;
40
+ margin-left: 8px;
41
+ }
42
+
24
43
  &__icon {
25
44
  transform: rotate(0);
26
45
  transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
@@ -29,10 +48,8 @@ $grid-icon-color: var(--grid-icon-color);
29
48
  transform: rotate(90deg);
30
49
  }
31
50
 
32
- svg {
33
- > * {
51
+ svg > * {
34
52
  stroke: $grid-icon-color;
35
- }
36
53
  }
37
54
  }
38
55
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/bootstrap",
3
- "version": "3.0.0-beta.125",
3
+ "version": "3.0.0-beta.126",
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.108",
40
+ "@steroidsjs/core": "^3.0 || >=3.0.0-beta.111",
41
41
  "@steroidsjs/eslint-config": "^2.1.4",
42
42
  "@types/enzyme": "^3.10.8",
43
43
  "@types/googlemaps": "^3.43.3",