linear-react-components-ui 0.4.76-beta.3 → 0.4.76-beta.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 (77) hide show
  1. package/.husky/pre-commit +2 -2
  2. package/README.md +19 -7
  3. package/lib/assets/styles/button.scss +17 -10
  4. package/lib/assets/styles/checkbox.scss +92 -70
  5. package/lib/assets/styles/commons.scss +26 -0
  6. package/lib/assets/styles/drawers.scss +22 -6
  7. package/lib/assets/styles/dropdown.scss +3 -0
  8. package/lib/assets/styles/effects.scss +20 -0
  9. package/lib/assets/styles/gridlayout.scss +2 -1
  10. package/lib/assets/styles/input.scss +21 -0
  11. package/lib/assets/styles/label.scss +9 -1
  12. package/lib/assets/styles/panel.scss +4 -1
  13. package/lib/assets/styles/radio.scss +19 -0
  14. package/lib/assets/styles/select.scss +3 -3
  15. package/lib/assets/styles/skeleton.scss +48 -0
  16. package/lib/assets/styles/table.scss +22 -5
  17. package/lib/assets/styles/tabs.scss +51 -44
  18. package/lib/assets/styles/treeview.scss +4 -0
  19. package/lib/assets/styles/uitour.scss +112 -0
  20. package/lib/buttons/DefaultButton.js +7 -4
  21. package/lib/buttons/split_button/index.js +8 -4
  22. package/lib/checkbox/Label.js +1 -1
  23. package/lib/checkbox/checkbox.spec.js +16 -16
  24. package/lib/checkbox/index.js +16 -9
  25. package/lib/dialog/form/index.js +10 -3
  26. package/lib/drawer/Drawer.js +9 -5
  27. package/lib/drawer/Header.js +15 -5
  28. package/lib/dropdown/Popup.js +3 -2
  29. package/lib/form/form.spec.js +8 -0
  30. package/lib/form/helpers.js +12 -1
  31. package/lib/form/index.js +61 -47
  32. package/lib/form/withFieldHOC.js +3 -1
  33. package/lib/icons/helper.js +8 -0
  34. package/lib/inputs/base/InputTextBase.js +40 -6
  35. package/lib/inputs/base/helpers.js +15 -3
  36. package/lib/inputs/date/Dropdown.js +3 -3
  37. package/lib/inputs/date/date.spec.js +46 -36
  38. package/lib/inputs/date/helpers.js +36 -0
  39. package/lib/inputs/date/index.js +12 -10
  40. package/lib/inputs/mask/Phone.js +10 -1
  41. package/lib/inputs/mask/imaskHOC.js +2 -1
  42. package/lib/inputs/mask/input_mask.spec.js +21 -4
  43. package/lib/inputs/select/Dropdown.js +51 -61
  44. package/lib/inputs/select/helper.js +65 -2
  45. package/lib/inputs/select/multiple/index.js +6 -3
  46. package/lib/inputs/select/simple/index.js +7 -4
  47. package/lib/internals/withTooltip.js +14 -11
  48. package/lib/labels/DefaultLabel.js +7 -4
  49. package/lib/menus/sidenav/NavMenuItem.js +2 -2
  50. package/lib/radio/index.js +9 -6
  51. package/lib/skeleton/SkeletonContainer.js +42 -0
  52. package/lib/skeleton/index.js +84 -0
  53. package/lib/table/Body.js +53 -11
  54. package/lib/table/Header.js +12 -1
  55. package/lib/table/HeaderColumn.js +26 -3
  56. package/lib/table/Row.js +18 -7
  57. package/lib/table/RowColumn.js +23 -3
  58. package/lib/table/helpers.js +11 -1
  59. package/lib/table/index.js +41 -8
  60. package/lib/tabs/Menu.js +1 -11
  61. package/lib/tabs/MenuItems.js +9 -3
  62. package/lib/tabs/index.js +78 -53
  63. package/lib/tabs/tabs.spec.js +8 -5
  64. package/lib/toolbar/ButtonBar.js +30 -24
  65. package/lib/toolbar/LabelBar.js +22 -27
  66. package/lib/toolbar/helpers.js +12 -0
  67. package/lib/toolbar/index.js +23 -12
  68. package/lib/tooltip/index.js +8 -7
  69. package/lib/treeview/Node.js +252 -203
  70. package/lib/treeview/index.js +50 -22
  71. package/lib/treeview/treeview.spec.js +18 -0
  72. package/lib/uitour/helpers.js +15 -0
  73. package/lib/uitour/index.js +271 -0
  74. package/lib/uitour/uitour.spec.js +176 -0
  75. package/package.json +1 -1
  76. package/.DS_Store +0 -0
  77. package/lib/inputs/date/helper.js +0 -16
@@ -27,12 +27,16 @@ var _list = _interopRequireWildcard(require("../list"));
27
27
 
28
28
  var _toolbar = _interopRequireWildcard(require("../toolbar"));
29
29
 
30
+ var _SpinnerLoading = _interopRequireDefault(require("../spinner/SpinnerLoading"));
31
+
30
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
31
33
 
32
34
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
35
 
34
36
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
37
 
38
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
39
+
36
40
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
37
41
 
38
42
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -45,8 +49,6 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
45
49
 
46
50
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
47
51
 
48
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
49
-
50
52
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
51
53
 
52
54
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -67,204 +69,31 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
67
69
 
68
70
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
69
71
 
72
+ var nodeHasItens = function nodeHasItens(node) {
73
+ return node.itens && node.itens.length > 0;
74
+ };
75
+
70
76
  var TreeNode = /*#__PURE__*/function (_Component) {
71
77
  _inherits(TreeNode, _Component);
72
78
 
73
79
  var _super = _createSuper(TreeNode);
74
80
 
75
- function TreeNode(props, context) {
81
+ function TreeNode(props) {
76
82
  var _this;
77
83
 
78
84
  _classCallCheck(this, TreeNode);
79
85
 
80
86
  _this = _super.call(this, props);
81
- Object.defineProperty(_assertThisInitialized(_this), "getSpan", {
82
- configurable: true,
83
- enumerable: true,
84
- writable: true,
85
- value: function value() {
86
- var _this$props = _this.props,
87
- node = _this$props.node,
88
- alwaysShowArrow = _this$props.alwaysShowArrow;
89
-
90
- var span = /*#__PURE__*/_react["default"].createElement("noscript", null);
91
-
92
- if (node.itens && node.itens.length > 0 || alwaysShowArrow) {
93
- span = /*#__PURE__*/_react["default"].createElement("span", {
94
- onKeyPress: null,
95
- tabIndex: 0,
96
- role: "button",
97
- className: "opencloseicon",
98
- onClick: function onClick() {
99
- return _this.openCloseTree(node);
100
- }
101
- }, /*#__PURE__*/_react["default"].createElement(_icons["default"], {
102
- name: _this.state.isVisible ? 'up' : 'down',
103
- size: 10
104
- }));
105
- }
106
-
107
- return span;
108
- }
109
- });
110
- Object.defineProperty(_assertThisInitialized(_this), "openCloseTree", {
111
- configurable: true,
112
- enumerable: true,
113
- writable: true,
114
- value: function value(node) {
115
- var _this$state = _this.state,
116
- isVisible = _this$state.isVisible,
117
- wasOpened = _this$state.wasOpened;
118
- var handlerOnNodeOpen = _this.props.handlerOnNodeOpen;
119
- var nextState = {
120
- isVisible: !isVisible
121
- };
122
-
123
- if (!wasOpened && handlerOnNodeOpen) {
124
- nextState = _extends({}, nextState, {
125
- wasOpened: true
126
- });
127
- handlerOnNodeOpen(node);
128
- }
129
-
130
- _this.setState(nextState);
131
- }
132
- });
133
- Object.defineProperty(_assertThisInitialized(_this), "handleShowNodeElements", {
134
- configurable: true,
135
- enumerable: true,
136
- writable: true,
137
- value: function value() {
138
- var _this$state2 = _this.state,
139
- showNodeElements = _this$state2.showNodeElements,
140
- keepMenuOpened = _this$state2.keepMenuOpened;
141
- if (!showNodeElements) _this.setState({
142
- showNodeElements: true
143
- });else if (showNodeElements && !keepMenuOpened) {
144
- _this.setState({
145
- showNodeElements: false
146
- });
147
- }
148
- }
149
- });
150
- Object.defineProperty(_assertThisInitialized(_this), "updateElements", {
151
- configurable: true,
152
- enumerable: true,
153
- writable: true,
154
- value: function value(elements) {
155
- var _this$props2 = _this.props,
156
- node = _this$props2.node,
157
- nodeElementsValidations = _this$props2.nodeElementsValidations;
158
- var updatedElements = [];
159
-
160
- if (elements) {
161
- updatedElements = _react["default"].Children.map(elements, function (element) {
162
- if ( /*#__PURE__*/_react["default"].isValidElement(element) && element.props) {
163
- var _element$props = element.props,
164
- validationKey = _element$props.validationKey,
165
- onNodeElementClick = _element$props.onNodeElementClick;
166
- var elementBehavior;
167
- var newProps = {};
168
-
169
- if (nodeElementsValidations && validationKey) {
170
- elementBehavior = _this.validateNodeElement(validationKey);
171
- }
172
-
173
- if (onNodeElementClick) {
174
- newProps = _extends({}, newProps, {
175
- onClick: function onClick(e) {
176
- onNodeElementClick(node);
177
- if (e.stopPropagation) e.stopPropagation();
178
- },
179
- onNodeElementClick: null
180
- });
181
- }
182
-
183
- return /*#__PURE__*/_react["default"].cloneElement(element, _extends({}, elementBehavior, newProps));
184
- }
185
-
186
- return element;
187
- });
188
- }
189
-
190
- return updatedElements;
191
- }
192
- });
193
- Object.defineProperty(_assertThisInitialized(_this), "returnNodeRightElements", {
194
- configurable: true,
195
- enumerable: true,
196
- writable: true,
197
- value: function value() {
198
- var nodeRightElements = _this.props.nodeRightElements;
199
-
200
- var updatedNodeRightElements = _this.updateElements(nodeRightElements).map(function (element) {
201
- var unvisible = element.props && 'visible' in element.props && !element.props.visible;
202
- var style = unvisible ? {
203
- display: 'none'
204
- } : {};
205
- return /*#__PURE__*/_react["default"].createElement("div", {
206
- style: style,
207
- key: "element-".concat(_uuid["default"].v1()),
208
- className: "element"
209
- }, element);
210
- });
211
-
212
- return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react["default"].createElement("div", {
213
- className: "node-rightelements"
214
- }, updatedNodeRightElements) : null;
215
- }
216
- });
217
- Object.defineProperty(_assertThisInitialized(_this), "returnNodeToolbarElements", {
218
- configurable: true,
219
- enumerable: true,
220
- writable: true,
221
- value: function value() {
222
- var nodeToolbarElements = _this.props.nodeToolbarElements;
223
-
224
- var updatedNodeRightElements = _this.updateElements(nodeToolbarElements);
225
-
226
- return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react["default"].createElement(_toolbar["default"], {
227
- customClass: "node-toolbarelements"
228
- }, /*#__PURE__*/_react["default"].createElement(_toolbar.ToolBarGroup, null, updatedNodeRightElements)) : null;
229
- }
230
- });
231
- Object.defineProperty(_assertThisInitialized(_this), "validateNodeElement", {
232
- configurable: true,
233
- enumerable: true,
234
- writable: true,
235
- value: function value(validationKey) {
236
- var _this$props3 = _this.props,
237
- nodeElementsValidations = _this$props3.nodeElementsValidations,
238
- node = _this$props3.node;
239
- var validations = nodeElementsValidations[validationKey];
240
- var options = {
241
- disabled: {
242
- disabled: true
243
- },
244
- unvisible: {
245
- visible: false
246
- }
247
- };
248
- var elementBehavior = {};
249
87
 
250
- if (validations) {
251
- validations.forEach(function (validation) {
252
- var validator = validation.validator,
253
- applyBehavior = validation.applyBehavior;
88
+ _initialiseProps.call(_assertThisInitialized(_this));
254
89
 
255
- if (_lodash["default"].isEmpty(elementBehavior) && validator && validator(node)) {
256
- elementBehavior = options[applyBehavior] || options.unvisible;
257
- }
258
- });
259
- }
260
-
261
- return elementBehavior;
262
- }
263
- });
264
90
  _this.labelRef = /*#__PURE__*/_react["default"].createRef();
91
+ var node = props.node,
92
+ startNodesOpened = props.startNodesOpened;
265
93
  _this.state = {
266
- isVisible: context.startNodesOpened,
267
- wasOpened: context.startNodesOpened,
94
+ node: node,
95
+ isVisible: startNodesOpened && nodeHasItens(node),
96
+ wasOpened: startNodesOpened && nodeHasItens(node),
268
97
  showNodeElements: false,
269
98
  keepMenuOpened: false
270
99
  };
@@ -274,10 +103,10 @@ var TreeNode = /*#__PURE__*/function (_Component) {
274
103
  _createClass(TreeNode, [{
275
104
  key: "componentDidMount",
276
105
  value: function componentDidMount() {
277
- var _this$props4 = this.props,
278
- isParent = _this$props4.isParent,
279
- nodeToolbarElements = _this$props4.nodeToolbarElements,
280
- nodeRightElements = _this$props4.nodeRightElements;
106
+ var _this$props = this.props,
107
+ isParent = _this$props.isParent,
108
+ nodeToolbarElements = _this$props.nodeToolbarElements,
109
+ nodeRightElements = _this$props.nodeRightElements;
281
110
 
282
111
  if (isParent || nodeRightElements || nodeToolbarElements) {
283
112
  this.labelRef.current.addEventListener('mouseenter', this.handleShowNodeElements);
@@ -287,10 +116,10 @@ var TreeNode = /*#__PURE__*/function (_Component) {
287
116
  }, {
288
117
  key: "componentWillUnmount",
289
118
  value: function componentWillUnmount() {
290
- var _this$props5 = this.props,
291
- isParent = _this$props5.isParent,
292
- nodeToolbarElements = _this$props5.nodeToolbarElements,
293
- nodeRightElements = _this$props5.nodeRightElements;
119
+ var _this$props2 = this.props,
120
+ isParent = _this$props2.isParent,
121
+ nodeToolbarElements = _this$props2.nodeToolbarElements,
122
+ nodeRightElements = _this$props2.nodeRightElements;
294
123
 
295
124
  if (isParent || nodeRightElements || nodeToolbarElements) {
296
125
  this.labelRef.current.removeEventListener('mouseenter', this.handleShowNodeElements);
@@ -302,12 +131,13 @@ var TreeNode = /*#__PURE__*/function (_Component) {
302
131
  value: function render() {
303
132
  var _this2 = this;
304
133
 
305
- var _this$props6 = this.props,
306
- node = _this$props6.node,
307
- children = _this$props6.children,
308
- isParent = _this$props6.isParent,
309
- onNodeClick = _this$props6.onNodeClick,
310
- nodeMenuButtonSize = _this$props6.nodeMenuButtonSize;
134
+ var _this$props3 = this.props,
135
+ children = _this$props3.children,
136
+ isParent = _this$props3.isParent,
137
+ onNodeClick = _this$props3.onNodeClick,
138
+ nodeMenuButtonSize = _this$props3.nodeMenuButtonSize,
139
+ selectedNodeId = _this$props3.selectedNodeId;
140
+ var node = this.state.node;
311
141
  var showNodeElements = this.state.showNodeElements;
312
142
  return /*#__PURE__*/_react["default"].createElement(_constants.TreeviewContext.Consumer, null, function (_ref) {
313
143
  var valuePropName = _ref.valuePropName,
@@ -328,6 +158,10 @@ var TreeNode = /*#__PURE__*/function (_Component) {
328
158
  className: "treeviewitem"
329
159
  }, _this2.getSpan(), /*#__PURE__*/_react["default"].createElement("div", {
330
160
  className: "label",
161
+ style: {
162
+ textDecoration: !onNodeClick ? 'none' : null,
163
+ backgroundColor: selectedNodeId === node.id ? 'rgb(209, 209, 209)' : null
164
+ },
331
165
  ref: _this2.labelRef,
332
166
  role: "button",
333
167
  onKeyPress: null,
@@ -384,16 +218,226 @@ var TreeNode = /*#__PURE__*/function (_Component) {
384
218
  }, _this2.state.isVisible && children));
385
219
  });
386
220
  }
221
+ }], [{
222
+ key: "getDerivedStateFromProps",
223
+ value: function getDerivedStateFromProps(props, state) {
224
+ var node = props.node,
225
+ startNodesOpened = props.startNodesOpened;
226
+
227
+ if (node !== state.node) {
228
+ return {
229
+ node: node,
230
+ isVisible: startNodesOpened && nodeHasItens(node),
231
+ wasOpened: startNodesOpened && nodeHasItens(node)
232
+ };
233
+ }
234
+
235
+ return null;
236
+ }
387
237
  }]);
388
238
 
389
239
  return TreeNode;
390
240
  }(_react.Component);
391
241
 
242
+ var _initialiseProps = function _initialiseProps() {
243
+ var _this3 = this;
244
+
245
+ Object.defineProperty(this, "getSpan", {
246
+ configurable: true,
247
+ enumerable: true,
248
+ writable: true,
249
+ value: function value() {
250
+ var _this3$props = _this3.props,
251
+ alwaysShowArrow = _this3$props.alwaysShowArrow,
252
+ idsInLoading = _this3$props.idsInLoading;
253
+ var node = _this3.state.node;
254
+ var isLoading = idsInLoading.includes(node.id);
255
+
256
+ var span = /*#__PURE__*/_react["default"].createElement("noscript", null);
257
+
258
+ if (node.itens && node.itens.length > 0 || alwaysShowArrow) {
259
+ span = /*#__PURE__*/_react["default"].createElement("span", {
260
+ onKeyPress: null,
261
+ tabIndex: 0,
262
+ role: "button",
263
+ style: isLoading ? {
264
+ marginLeft: '-30px',
265
+ marginTop: '-5px'
266
+ } : null,
267
+ className: "opencloseicon",
268
+ onClick: function onClick() {
269
+ return _this3.openCloseTree(node);
270
+ }
271
+ }, isLoading ? /*#__PURE__*/_react["default"].createElement(_SpinnerLoading["default"], {
272
+ size: "35px"
273
+ }) : /*#__PURE__*/_react["default"].createElement(_icons["default"], {
274
+ name: _this3.state.isVisible ? 'up' : 'down',
275
+ size: 10
276
+ }));
277
+ }
278
+
279
+ return span;
280
+ }
281
+ });
282
+ Object.defineProperty(this, "openCloseTree", {
283
+ configurable: true,
284
+ enumerable: true,
285
+ writable: true,
286
+ value: function value(node) {
287
+ var _this3$state = _this3.state,
288
+ isVisible = _this3$state.isVisible,
289
+ wasOpened = _this3$state.wasOpened;
290
+ var handlerOnNodeOpen = _this3.props.handlerOnNodeOpen;
291
+ var nextState = {
292
+ isVisible: !isVisible
293
+ };
294
+
295
+ if (!wasOpened && handlerOnNodeOpen) {
296
+ nextState = _extends({}, nextState, {
297
+ wasOpened: true
298
+ });
299
+ handlerOnNodeOpen(node);
300
+ }
301
+
302
+ _this3.setState(nextState);
303
+ }
304
+ });
305
+ Object.defineProperty(this, "handleShowNodeElements", {
306
+ configurable: true,
307
+ enumerable: true,
308
+ writable: true,
309
+ value: function value() {
310
+ var _this3$state2 = _this3.state,
311
+ showNodeElements = _this3$state2.showNodeElements,
312
+ keepMenuOpened = _this3$state2.keepMenuOpened;
313
+ if (!showNodeElements) _this3.setState({
314
+ showNodeElements: true
315
+ });else if (showNodeElements && !keepMenuOpened) {
316
+ _this3.setState({
317
+ showNodeElements: false
318
+ });
319
+ }
320
+ }
321
+ });
322
+ Object.defineProperty(this, "updateElements", {
323
+ configurable: true,
324
+ enumerable: true,
325
+ writable: true,
326
+ value: function value(elements) {
327
+ var nodeElementsValidations = _this3.props.nodeElementsValidations;
328
+ var node = _this3.state.node;
329
+ var updatedElements = [];
330
+
331
+ if (elements) {
332
+ updatedElements = _react["default"].Children.map(elements, function (element) {
333
+ if ( /*#__PURE__*/_react["default"].isValidElement(element) && element.props) {
334
+ var _element$props = element.props,
335
+ validationKey = _element$props.validationKey,
336
+ onNodeElementClick = _element$props.onNodeElementClick;
337
+ var elementBehavior;
338
+ var newProps = {};
339
+
340
+ if (nodeElementsValidations && validationKey) {
341
+ elementBehavior = _this3.validateNodeElement(validationKey);
342
+ }
343
+
344
+ if (onNodeElementClick) {
345
+ newProps = _extends({}, newProps, {
346
+ onClick: function onClick(e) {
347
+ onNodeElementClick(node);
348
+ if (e.stopPropagation) e.stopPropagation();
349
+ },
350
+ onNodeElementClick: null
351
+ });
352
+ }
353
+
354
+ return /*#__PURE__*/_react["default"].cloneElement(element, _extends({}, elementBehavior, newProps));
355
+ }
356
+
357
+ return element;
358
+ });
359
+ }
360
+
361
+ return updatedElements;
362
+ }
363
+ });
364
+ Object.defineProperty(this, "returnNodeRightElements", {
365
+ configurable: true,
366
+ enumerable: true,
367
+ writable: true,
368
+ value: function value() {
369
+ var nodeRightElements = _this3.props.nodeRightElements;
370
+
371
+ var updatedNodeRightElements = _this3.updateElements(nodeRightElements).map(function (element) {
372
+ var unvisible = element.props && 'visible' in element.props && !element.props.visible;
373
+ var style = unvisible ? {
374
+ display: 'none'
375
+ } : {};
376
+ return /*#__PURE__*/_react["default"].createElement("div", {
377
+ style: style,
378
+ key: "element-".concat(_uuid["default"].v1()),
379
+ className: "element"
380
+ }, element);
381
+ });
382
+
383
+ return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react["default"].createElement("div", {
384
+ className: "node-rightelements"
385
+ }, updatedNodeRightElements) : null;
386
+ }
387
+ });
388
+ Object.defineProperty(this, "returnNodeToolbarElements", {
389
+ configurable: true,
390
+ enumerable: true,
391
+ writable: true,
392
+ value: function value() {
393
+ var nodeToolbarElements = _this3.props.nodeToolbarElements;
394
+
395
+ var updatedNodeRightElements = _this3.updateElements(nodeToolbarElements);
396
+
397
+ return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react["default"].createElement(_toolbar["default"], {
398
+ customClass: "node-toolbarelements"
399
+ }, /*#__PURE__*/_react["default"].createElement(_toolbar.ToolBarGroup, null, updatedNodeRightElements)) : null;
400
+ }
401
+ });
402
+ Object.defineProperty(this, "validateNodeElement", {
403
+ configurable: true,
404
+ enumerable: true,
405
+ writable: true,
406
+ value: function value(validationKey) {
407
+ var nodeElementsValidations = _this3.props.nodeElementsValidations;
408
+ var node = _this3.state.node;
409
+ var validations = nodeElementsValidations[validationKey];
410
+ var options = {
411
+ disabled: {
412
+ disabled: true
413
+ },
414
+ unvisible: {
415
+ visible: false
416
+ }
417
+ };
418
+ var elementBehavior = {};
419
+
420
+ if (validations) {
421
+ validations.forEach(function (validation) {
422
+ var validator = validation.validator,
423
+ applyBehavior = validation.applyBehavior;
424
+
425
+ if (_lodash["default"].isEmpty(elementBehavior) && validator && validator(node)) {
426
+ elementBehavior = options[applyBehavior] || options.unvisible;
427
+ }
428
+ });
429
+ }
430
+
431
+ return elementBehavior;
432
+ }
433
+ });
434
+ };
435
+
392
436
  TreeNode.propTypes = {
393
437
  node: _propTypes["default"].object.isRequired,
394
438
  children: _propTypes["default"].any.isRequired,
395
439
  childrenIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
396
- parentId: _propTypes["default"].number,
440
+ parentId: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
397
441
  disabled: _propTypes["default"].bool,
398
442
  isParent: _propTypes["default"].bool,
399
443
  alwaysShowArrow: _propTypes["default"].bool,
@@ -402,7 +446,10 @@ TreeNode.propTypes = {
402
446
  nodeMenuButtonSize: _propTypes["default"].oneOf(['mini', 'small', 'medium', 'large', 'default']),
403
447
  onNodeClick: _propTypes["default"].func,
404
448
  handlerOnNodeOpen: _propTypes["default"].func,
405
- nodeElementsValidations: _propTypes["default"].object
449
+ nodeElementsValidations: _propTypes["default"].object,
450
+ startNodesOpened: _propTypes["default"].bool.isRequired,
451
+ idsInLoading: _propTypes["default"].arrayOf(_propTypes["default"].number),
452
+ selectedNodeId: _propTypes["default"].number
406
453
  };
407
454
  TreeNode.defaultProps = {
408
455
  childrenIds: [],
@@ -415,7 +462,9 @@ TreeNode.defaultProps = {
415
462
  nodeMenuButtonSize: 'small',
416
463
  onNodeClick: undefined,
417
464
  handlerOnNodeOpen: undefined,
418
- nodeElementsValidations: undefined
465
+ nodeElementsValidations: undefined,
466
+ idsInLoading: [],
467
+ selectedNodeId: undefined
419
468
  };
420
469
  TreeNode.contextType = _constants.TreeviewContext;
421
470
  var _default = TreeNode;