linear-react-components-ui 0.4.77-beta.26 → 0.4.77-beta.28

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 (254) hide show
  1. package/.eslintrc.json +3 -76
  2. package/.husky/pre-commit +4 -0
  3. package/.vscode/settings.json +2 -2
  4. package/jest.config.js +3 -3
  5. package/lib/alerts/AlertContainer.js +19 -14
  6. package/lib/alerts/AlertProvider.js +9 -4
  7. package/lib/alerts/BaseAlert.js +8 -5
  8. package/lib/alerts/Message.js +40 -31
  9. package/lib/alerts/alert.spec.js +55 -32
  10. package/lib/alerts/helpers.js +5 -2
  11. package/lib/alerts/withAlert.js +2 -2
  12. package/lib/assets/styles/commons.scss +10 -0
  13. package/lib/assets/styles/dropdown.scss +36 -2
  14. package/lib/assets/styles/effects.scss +11 -0
  15. package/lib/assets/styles/list.scss +8 -0
  16. package/lib/assets/styles/table.scss +2 -7
  17. package/lib/avatar/avatar.spec.js +74 -42
  18. package/lib/avatar/index.js +58 -13
  19. package/lib/badge/badge.spec.js +52 -30
  20. package/lib/badge/index.js +22 -6
  21. package/lib/buttons/ActivateButton.js +3 -3
  22. package/lib/buttons/AddButton.js +1 -1
  23. package/lib/buttons/Button.js +11 -19
  24. package/lib/buttons/ButtonGroups.js +5 -0
  25. package/lib/buttons/CancelButton.js +3 -16
  26. package/lib/buttons/DangerButton.js +19 -14
  27. package/lib/buttons/DefaultButton.js +127 -65
  28. package/lib/buttons/DestroyButton.js +3 -12
  29. package/lib/buttons/EditButton.js +3 -3
  30. package/lib/buttons/InactivateButton.js +3 -3
  31. package/lib/buttons/InfoButton.js +19 -14
  32. package/lib/buttons/PrimaryButton.js +19 -14
  33. package/lib/buttons/RestoreButton.js +3 -3
  34. package/lib/buttons/SaveButton.js +2 -15
  35. package/lib/buttons/SpinnerLoading.js +41 -41
  36. package/lib/buttons/SuccessButton.js +18 -13
  37. package/lib/buttons/WarningButton.js +18 -13
  38. package/lib/buttons/button_container/index.js +18 -5
  39. package/lib/buttons/buttons.spec.js +210 -136
  40. package/lib/buttons/index.js +28 -28
  41. package/lib/buttons/split_button/index.js +30 -13
  42. package/lib/calendar/DangerCalendar.js +2 -11
  43. package/lib/calendar/InfoCalendar.js +2 -11
  44. package/lib/calendar/PrimaryCalendar.js +2 -11
  45. package/lib/calendar/SuccessCalendar.js +2 -11
  46. package/lib/calendar/WarningCalendar.js +2 -11
  47. package/lib/calendar/base/Day.js +8 -2
  48. package/lib/calendar/base/Month.js +5 -0
  49. package/lib/calendar/base/Week.js +6 -0
  50. package/lib/calendar/base/helpers.js +9 -9
  51. package/lib/calendar/base/index.js +36 -33
  52. package/lib/calendar/calendar.spec.js +63 -32
  53. package/lib/calendar/index.js +10 -10
  54. package/lib/checkbox/Label.js +12 -2
  55. package/lib/checkbox/checkbox.spec.js +78 -37
  56. package/lib/checkbox/index.js +79 -42
  57. package/lib/dialog/Alert.js +8 -3
  58. package/lib/dialog/Custom.js +25 -17
  59. package/lib/dialog/Error.js +6 -1
  60. package/lib/dialog/Information.js +6 -1
  61. package/lib/dialog/Question.js +17 -6
  62. package/lib/dialog/Warning.js +6 -1
  63. package/lib/dialog/base/Content.js +9 -0
  64. package/lib/dialog/base/Footer.js +8 -2
  65. package/lib/dialog/base/Header.js +22 -8
  66. package/lib/dialog/base/index.js +28 -6
  67. package/lib/dialog/dialog.spec.js +153 -79
  68. package/lib/dialog/form/index.js +32 -22
  69. package/lib/dialog/index.js +6 -6
  70. package/lib/drawer/Content.js +10 -1
  71. package/lib/drawer/Drawer.js +50 -29
  72. package/lib/drawer/Drawer.spec.js +95 -52
  73. package/lib/drawer/Header.js +31 -12
  74. package/lib/drawer/helpers.js +1 -1
  75. package/lib/drawer/index.js +4 -4
  76. package/lib/dropdown/Popup.js +16 -32
  77. package/lib/dropdown/dropdown.spec.js +58 -34
  78. package/lib/dropdown/helper.js +2 -2
  79. package/lib/dropdown/withDropdown.js +43 -18
  80. package/lib/fieldset/fieldset.spec.js +123 -77
  81. package/lib/fieldset/index.js +43 -12
  82. package/lib/form/Field.js +41 -14
  83. package/lib/form/FieldArray.js +50 -20
  84. package/lib/form/FieldNumber.js +44 -12
  85. package/lib/form/FieldPeriod.js +41 -19
  86. package/lib/form/form.spec.js +90 -48
  87. package/lib/form/helpers.js +16 -10
  88. package/lib/form/index.js +92 -57
  89. package/lib/form/withFieldHOC.js +120 -40
  90. package/lib/form/withFormSecurity.js +38 -17
  91. package/lib/gridlayout/GridCol.js +18 -3
  92. package/lib/gridlayout/GridRow.js +24 -4
  93. package/lib/gridlayout/gridLayout.spec.js +70 -43
  94. package/lib/icons/helper.js +571 -560
  95. package/lib/icons/icons.spec.js +36 -20
  96. package/lib/icons/index.js +40 -23
  97. package/lib/index.js +12 -12
  98. package/lib/inputs/base/InputTextBase.js +149 -40
  99. package/lib/inputs/base/base.spec.js +289 -174
  100. package/lib/inputs/base/helpers.js +4 -4
  101. package/lib/inputs/color/color_input.spec.js +67 -33
  102. package/lib/inputs/color/index.js +29 -31
  103. package/lib/inputs/date/Dialog.js +8 -1
  104. package/lib/inputs/date/Dropdown.js +70 -18
  105. package/lib/inputs/date/date.spec.js +156 -75
  106. package/lib/inputs/date/helpers.js +1 -1
  107. package/lib/inputs/date/index.js +411 -255
  108. package/lib/inputs/inputHOC.js +96 -44
  109. package/lib/inputs/mask/BaseMask.js +45 -16
  110. package/lib/inputs/mask/Cnpj.js +19 -12
  111. package/lib/inputs/mask/Cpf.js +22 -14
  112. package/lib/inputs/mask/Phone.js +9 -1
  113. package/lib/inputs/mask/ZipCode.js +1 -1
  114. package/lib/inputs/mask/helpers.js +36 -21
  115. package/lib/inputs/mask/imaskHOC.js +255 -186
  116. package/lib/inputs/mask/index.js +4 -4
  117. package/lib/inputs/mask/input_mask.spec.js +290 -177
  118. package/lib/inputs/multiSelect/ActionButtons.js +14 -2
  119. package/lib/inputs/multiSelect/Dropdown.js +70 -43
  120. package/lib/inputs/multiSelect/index.js +80 -64
  121. package/lib/inputs/number/BaseNumber.js +62 -27
  122. package/lib/inputs/number/Currency.js +14 -4
  123. package/lib/inputs/number/format_number.js +1 -1
  124. package/lib/inputs/number/index.js +15 -9
  125. package/lib/inputs/number/numberfield.spec.js +83 -42
  126. package/lib/inputs/period/Dialog.js +8 -1
  127. package/lib/inputs/period/Dropdown.js +70 -16
  128. package/lib/inputs/period/PeriodList.js +19 -6
  129. package/lib/inputs/period/helper.js +71 -30
  130. package/lib/inputs/period/index.js +160 -112
  131. package/lib/inputs/search/index.js +261 -129
  132. package/lib/inputs/search/search_input.spec.js +86 -46
  133. package/lib/inputs/select/ActionButtons.js +20 -14
  134. package/lib/inputs/select/Dropdown.js +63 -30
  135. package/lib/inputs/select/helper.js +16 -18
  136. package/lib/inputs/select/index.js +13 -14
  137. package/lib/inputs/select/multiple/Selecteds.js +13 -5
  138. package/lib/inputs/select/multiple/index.js +414 -289
  139. package/lib/inputs/select/select.spec.js +182 -127
  140. package/lib/inputs/select/simple/index.js +462 -305
  141. package/lib/inputs/select/types.d.ts +4 -0
  142. package/lib/inputs/text/index.js +0 -1
  143. package/lib/inputs/text/textfield.spec.js +83 -42
  144. package/lib/inputs/textarea/index.js +15 -5
  145. package/lib/inputs/textarea/textarea.spec.js +27 -14
  146. package/lib/internals/constants.js +1 -1
  147. package/lib/internals/withTooltip.js +34 -26
  148. package/lib/labelMessages/index.js +45 -27
  149. package/lib/labelMessages/labelMessages.spec.js +61 -28
  150. package/lib/labels/DangerLabel.js +4 -13
  151. package/lib/labels/DefaultLabel.js +57 -25
  152. package/lib/labels/InfoLabel.js +4 -13
  153. package/lib/labels/PrimaryLabel.js +4 -13
  154. package/lib/labels/SuccessLabel.js +4 -13
  155. package/lib/labels/WarningLabel.js +4 -13
  156. package/lib/labels/index.js +10 -10
  157. package/lib/labels/label.spec.js +68 -41
  158. package/lib/labels/label_container/index.js +12 -2
  159. package/lib/list/Header.js +13 -0
  160. package/lib/list/Item.js +65 -27
  161. package/lib/list/helpers.js +2 -2
  162. package/lib/list/index.js +51 -31
  163. package/lib/list/list.spec.js +358 -211
  164. package/lib/menus/float/MenuItem.js +42 -10
  165. package/lib/menus/float/SubMenuContainer.js +95 -0
  166. package/lib/menus/float/float-menu.spec.js +61 -27
  167. package/lib/menus/float/helpers.js +1 -1
  168. package/lib/menus/float/index.js +39 -9
  169. package/lib/menus/sidenav/ExpandMenu.js +13 -1
  170. package/lib/menus/sidenav/MenuLink.js +14 -0
  171. package/lib/menus/sidenav/NavMenuGroup.js +12 -1
  172. package/lib/menus/sidenav/NavMenuItem.js +45 -19
  173. package/lib/menus/sidenav/NavSubMenuItem.js +15 -4
  174. package/lib/menus/sidenav/helpers.js +3 -3
  175. package/lib/menus/sidenav/index.js +60 -30
  176. package/lib/menus/sidenav/popup_menu_search/EmptyList.js +11 -2
  177. package/lib/menus/sidenav/popup_menu_search/index.js +11 -14
  178. package/lib/menus/sidenav/sidenav.spec.js +78 -29
  179. package/lib/panel/Content.js +18 -6
  180. package/lib/panel/DangerPanel.js +1 -1
  181. package/lib/panel/Default.js +45 -18
  182. package/lib/panel/Header.js +29 -7
  183. package/lib/panel/InfoPanel.js +1 -1
  184. package/lib/panel/PrimaryPanel.js +1 -1
  185. package/lib/panel/SuccessPanel.js +1 -1
  186. package/lib/panel/ToolBar.js +5 -0
  187. package/lib/panel/WarningPanel.js +1 -1
  188. package/lib/panel/helpers.js +3 -7
  189. package/lib/panel/index.js +14 -14
  190. package/lib/panel/panel.spec.js +106 -69
  191. package/lib/permissionValidations.js +12 -14
  192. package/lib/popover/PopoverText.js +5 -0
  193. package/lib/popover/PopoverTitle.js +5 -0
  194. package/lib/popover/index.js +40 -26
  195. package/lib/popover/popover.spec.js +70 -40
  196. package/lib/progress/Bar.js +47 -37
  197. package/lib/progress/index.js +18 -8
  198. package/lib/progress/progress.spec.js +48 -32
  199. package/lib/radio/index.js +46 -22
  200. package/lib/radio/radio.spec.js +68 -41
  201. package/lib/skeleton/SkeletonContainer.js +13 -0
  202. package/lib/skeleton/index.js +26 -7
  203. package/lib/spinner/SpinnerLoading.js +12 -4
  204. package/lib/spinner/index.js +29 -24
  205. package/lib/spinner/spinner.spec.js +65 -43
  206. package/lib/split/Split.js +62 -45
  207. package/lib/split/SplitSide.js +21 -1
  208. package/lib/split/helpers.js +1 -1
  209. package/lib/split/split.spec.js +76 -51
  210. package/lib/table/Body.js +16 -9
  211. package/lib/table/Header.js +19 -40
  212. package/lib/table/HeaderColumn.js +20 -6
  213. package/lib/table/Row.js +28 -7
  214. package/lib/table/RowColumn.js +30 -12
  215. package/lib/table/helpers.js +3 -3
  216. package/lib/table/index.js +53 -15
  217. package/lib/table/table.spec.js +149 -94
  218. package/lib/tabs/DropdownItems.js +53 -39
  219. package/lib/tabs/Menu.js +20 -16
  220. package/lib/tabs/MenuItems.js +39 -25
  221. package/lib/tabs/Panel.js +51 -18
  222. package/lib/tabs/index.js +75 -81
  223. package/lib/tabs/tabHelpers.js +8 -10
  224. package/lib/tabs/tabs.spec.js +158 -95
  225. package/lib/toolbar/ButtonBar.js +13 -32
  226. package/lib/toolbar/LabelBar.js +18 -31
  227. package/lib/toolbar/ToolBarGroup.js +12 -6
  228. package/lib/toolbar/helpers.js +1 -1
  229. package/lib/toolbar/index.js +33 -25
  230. package/lib/toolbar/toolbar.spec.js +182 -134
  231. package/lib/tooltip/index.js +34 -25
  232. package/lib/tooltip/tooltip.spec.js +51 -24
  233. package/lib/treeview/Header.js +12 -0
  234. package/lib/treeview/Node.js +387 -261
  235. package/lib/treeview/constants.js +2 -1
  236. package/lib/treeview/index.js +548 -363
  237. package/lib/treeview/treeview.spec.js +86 -49
  238. package/lib/treeview_old/Node.js +6 -6
  239. package/lib/uitour/helpers.js +1 -1
  240. package/lib/uitour/index.js +32 -15
  241. package/lib/uitour/uitour.spec.js +77 -55
  242. package/package.json +16 -40
  243. package/.husky/pre-push +0 -4
  244. package/babel.config.json +0 -11
  245. package/dist/main.js +0 -14
  246. package/lib/assets/styles/treetable.scss +0 -100
  247. package/lib/treetable/Body.js +0 -46
  248. package/lib/treetable/Header.js +0 -27
  249. package/lib/treetable/Row.js +0 -261
  250. package/lib/treetable/helpers.js +0 -41
  251. package/lib/treetable/index.js +0 -24
  252. package/lib/treetable/types.d.js +0 -5
  253. package/tsconfig.json +0 -32
  254. package/tsup.config.ts +0 -10
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -9,6 +9,8 @@ exports.default = void 0;
9
9
 
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
 
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
12
14
  var _uuid = _interopRequireDefault(require("uuid"));
13
15
 
14
16
  var _lodash = _interopRequireDefault(require("lodash"));
@@ -27,315 +29,439 @@ var _toolbar = _interopRequireWildcard(require("../toolbar"));
27
29
 
28
30
  var _SpinnerLoading = _interopRequireDefault(require("../spinner/SpinnerLoading"));
29
31
 
30
- var _excluded = ["validationKey", "onNodeElementClick"];
31
-
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
34
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); }
35
35
 
36
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; }
37
37
 
38
- function _extends() { _extends = Object.assign ? Object.assign.bind() : 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
-
40
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
41
-
42
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
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); }
43
39
 
44
40
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
45
41
 
46
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."); }
47
43
 
44
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
45
+
48
46
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
49
47
 
50
48
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
51
49
 
52
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
53
-
54
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
55
-
56
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
57
-
58
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; }
59
51
 
60
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
52
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
61
53
 
62
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
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); } }
63
55
 
64
- var nodeHasItens = function nodeHasItens(node) {
65
- return !!(node.itens && node.itens.length > 0);
66
- };
56
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
67
57
 
68
- var TreeNode = function TreeNode(props) {
69
- var startNodesOpened = props.startNodesOpened,
70
- _props$isParent = props.isParent,
71
- isParent = _props$isParent === void 0 ? false : _props$isParent,
72
- nodeToolbarElements = props.nodeToolbarElements,
73
- nodeRightElements = props.nodeRightElements,
74
- _props$idsInLoading = props.idsInLoading,
75
- idsInLoading = _props$idsInLoading === void 0 ? [] : _props$idsInLoading,
76
- handlerOnNodeOpen = props.handlerOnNodeOpen,
77
- nodeElementsValidations = props.nodeElementsValidations,
78
- onNodeClick = props.onNodeClick,
79
- children = props.children,
80
- _props$nodeMenuButton = props.nodeMenuButtonSize,
81
- nodeMenuButtonSize = _props$nodeMenuButton === void 0 ? 'small' : _props$nodeMenuButton,
82
- selectedNodeId = props.selectedNodeId,
83
- _props$alwaysShowArro = props.alwaysShowArrow,
84
- alwaysShowArrow = _props$alwaysShowArro === void 0 ? false : _props$alwaysShowArro;
85
-
86
- var _useState = (0, _react.useState)(props.node),
87
- _useState2 = _slicedToArray(_useState, 2),
88
- node = _useState2[0],
89
- setNode = _useState2[1];
90
-
91
- var _useState3 = (0, _react.useState)(startNodesOpened && nodeHasItens(node)),
92
- _useState4 = _slicedToArray(_useState3, 2),
93
- isVisible = _useState4[0],
94
- setIsVisible = _useState4[1];
95
-
96
- var _useState5 = (0, _react.useState)(startNodesOpened && nodeHasItens(node)),
97
- _useState6 = _slicedToArray(_useState5, 2),
98
- wasOpened = _useState6[0],
99
- setWasOpened = _useState6[1];
100
-
101
- var _useState7 = (0, _react.useState)(false),
102
- _useState8 = _slicedToArray(_useState7, 2),
103
- showNodeElements = _useState8[0],
104
- setShowNodeElements = _useState8[1];
105
-
106
- var _useState9 = (0, _react.useState)(false),
107
- _useState10 = _slicedToArray(_useState9, 2),
108
- keepMenuOpened = _useState10[0],
109
- setKeepMenuOpened = _useState10[1];
110
-
111
- var labelRef = (0, _react.useRef)(null);
112
-
113
- var _useContext = (0, _react.useContext)(_constants.TreeviewContext),
114
- valuePropName = _useContext.valuePropName,
115
- labelPropName = _useContext.labelPropName,
116
- selectedIds = _useContext.selectedIds,
117
- handlerUpdateSelectedIds = _useContext.handlerUpdateSelectedIds,
118
- showCheckBox = _useContext.showCheckBox,
119
- requiredIds = _useContext.requiredIds,
120
- disabled = _useContext.disabled,
121
- handlerToggleCheckChildren = _useContext.handlerToggleCheckChildren,
122
- allowCheckAllChildren = _useContext.allowCheckAllChildren,
123
- requiredParentsIds = _useContext.requiredParentsIds,
124
- defaultDisabledTooltip = _useContext.defaultDisabledTooltip;
125
-
126
- var requiredNodes = [].concat(_toConsumableArray(requiredIds), _toConsumableArray(requiredParentsIds));
127
- var required = requiredNodes.includes(node[valuePropName]);
128
- var checked = selectedIds && selectedIds.includes(node[valuePropName]) || required;
129
-
130
- if (node !== props.node) {
131
- setNode(props.node);
132
- setIsVisible(startNodesOpened && nodeHasItens(node));
133
- setWasOpened(startNodesOpened && nodeHasItens(node));
134
- }
58
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
135
59
 
136
- var openCloseTree = function openCloseTree(currentNode) {
137
- if (!wasOpened && handlerOnNodeOpen) {
138
- setWasOpened(true);
139
- handlerOnNodeOpen(currentNode);
140
- }
60
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
141
61
 
142
- setIsVisible(function (prevState) {
143
- return !prevState;
144
- });
145
- };
62
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
146
63
 
147
- var getSpan = function getSpan() {
148
- var isLoading = idsInLoading.includes(node.id);
64
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
149
65
 
150
- var span = /*#__PURE__*/_react.default.createElement("noscript", null);
66
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
151
67
 
152
- if (node.itens && node.itens.length > 0 || alwaysShowArrow) {
153
- span = /*#__PURE__*/_react.default.createElement("span", {
154
- onKeyPress: function onKeyPress() {},
155
- tabIndex: 0,
156
- role: "button",
157
- className: isLoading ? 'loading' : 'opencloseicon',
158
- onClick: function onClick() {
159
- return openCloseTree(node);
160
- }
161
- }, isLoading ? /*#__PURE__*/_react.default.createElement(_SpinnerLoading.default, {
162
- size: "35px"
163
- }) : /*#__PURE__*/_react.default.createElement(_icons.default, {
164
- name: isVisible ? 'up' : 'down',
165
- size: 10
166
- }));
167
- }
68
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
168
69
 
169
- return span;
170
- };
70
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
171
71
 
172
- var handleShowNodeElements = function handleShowNodeElements() {
173
- var enter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
72
+ var nodeHasItens = function nodeHasItens(node) {
73
+ return node.itens && node.itens.length > 0;
74
+ };
174
75
 
175
- if (!showNodeElements) {
176
- setShowNodeElements(true);
177
- } else if (showNodeElements && !keepMenuOpened && !enter) {
178
- setShowNodeElements(false);
179
- }
180
- };
181
-
182
- var validateNodeElement = function validateNodeElement(validationKey) {
183
- var validations = nodeElementsValidations && nodeElementsValidations[validationKey];
184
- var options = {
185
- disabled: {
186
- disabled: true
187
- },
188
- unvisible: {
189
- visible: false
190
- }
191
- };
192
- var elementBehavior = {};
76
+ var TreeNode = /*#__PURE__*/function (_Component) {
77
+ _inherits(TreeNode, _Component);
193
78
 
194
- if (validations) {
195
- validations.forEach(function (validation) {
196
- var validator = validation.validator,
197
- applyBehavior = validation.applyBehavior;
79
+ var _super = _createSuper(TreeNode);
198
80
 
199
- if (_lodash.default.isEmpty(elementBehavior) && validator && validator(node) && applyBehavior) {
200
- elementBehavior = options[applyBehavior] || options.unvisible;
201
- }
202
- });
203
- }
81
+ function TreeNode(props) {
82
+ var _this;
204
83
 
205
- return elementBehavior;
206
- };
84
+ _classCallCheck(this, TreeNode);
207
85
 
208
- var updateElements = function updateElements(elements) {
209
- var updatedElements = [];
86
+ _this = _super.call(this, props);
210
87
 
211
- if (elements) {
212
- updatedElements = _react.default.Children.map(elements, function (element) {
213
- if ( /*#__PURE__*/_react.default.isValidElement(element) && element.props) {
214
- var _element$props = element.props,
215
- validationKey = _element$props.validationKey,
216
- onNodeElementClick = _element$props.onNodeElementClick,
217
- rest = _objectWithoutProperties(_element$props, _excluded);
88
+ _initialiseProps.call(_assertThisInitialized(_this));
218
89
 
219
- var elementBehavior;
220
- var newProps = {};
90
+ _this.labelRef = /*#__PURE__*/_react.default.createRef();
91
+ var node = props.node,
92
+ startNodesOpened = props.startNodesOpened;
93
+ _this.state = {
94
+ node: node,
95
+ isVisible: startNodesOpened && nodeHasItens(node),
96
+ wasOpened: startNodesOpened && nodeHasItens(node),
97
+ showNodeElements: false,
98
+ keepMenuOpened: false
99
+ };
100
+ return _this;
101
+ }
221
102
 
222
- if (nodeElementsValidations && validationKey) {
223
- elementBehavior = validateNodeElement(validationKey);
103
+ _createClass(TreeNode, [{
104
+ key: "componentDidMount",
105
+ value: function componentDidMount() {
106
+ var _this$props = this.props,
107
+ isParent = _this$props.isParent,
108
+ nodeToolbarElements = _this$props.nodeToolbarElements,
109
+ nodeRightElements = _this$props.nodeRightElements;
110
+
111
+ if (isParent || nodeRightElements || nodeToolbarElements) {
112
+ this.labelRef.current.addEventListener('mouseenter', this.handleShowNodeElements);
113
+ this.labelRef.current.addEventListener('mouseleave', this.handleShowNodeElements);
114
+ }
115
+ }
116
+ }, {
117
+ key: "componentWillUnmount",
118
+ value: function componentWillUnmount() {
119
+ var _this$props2 = this.props,
120
+ isParent = _this$props2.isParent,
121
+ nodeToolbarElements = _this$props2.nodeToolbarElements,
122
+ nodeRightElements = _this$props2.nodeRightElements;
123
+
124
+ if (isParent || nodeRightElements || nodeToolbarElements) {
125
+ this.labelRef.current.removeEventListener('mouseenter', this.handleShowNodeElements);
126
+ this.labelRef.current.removeEventListener('mouseleave', this.handleShowNodeElements);
127
+ }
128
+ }
129
+ }, {
130
+ key: "render",
131
+ value: function render() {
132
+ var _this2 = this;
133
+
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;
141
+ var showNodeElements = this.state.showNodeElements;
142
+ return /*#__PURE__*/_react.default.createElement(_constants.TreeviewContext.Consumer, null, function (_ref) {
143
+ var valuePropName = _ref.valuePropName,
144
+ labelPropName = _ref.labelPropName,
145
+ selectedIds = _ref.selectedIds,
146
+ handlerUpdateSelectedIds = _ref.handlerUpdateSelectedIds,
147
+ showCheckBox = _ref.showCheckBox,
148
+ requiredIds = _ref.requiredIds,
149
+ disabled = _ref.disabled,
150
+ handlerToggleCheckChildren = _ref.handlerToggleCheckChildren,
151
+ allowCheckAllChildren = _ref.allowCheckAllChildren,
152
+ requiredParentsIds = _ref.requiredParentsIds,
153
+ defaultDisabledTooltip = _ref.defaultDisabledTooltip;
154
+ var requiredNodes = [].concat(_toConsumableArray(requiredIds), _toConsumableArray(requiredParentsIds));
155
+ var required = requiredNodes.includes(node[valuePropName]);
156
+ var checked = selectedIds.includes(node[valuePropName]) || required;
157
+ return /*#__PURE__*/_react.default.createElement("li", {
158
+ className: "treeviewitem"
159
+ }, _this2.getSpan(), /*#__PURE__*/_react.default.createElement("div", {
160
+ className: "label",
161
+ style: {
162
+ textDecoration: !onNodeClick ? 'none' : null,
163
+ backgroundColor: selectedNodeId === node.id ? 'rgb(209, 209, 209)' : null
164
+ },
165
+ ref: _this2.labelRef,
166
+ role: "button",
167
+ onKeyPress: null,
168
+ tabIndex: "-1",
169
+ onClick: onNodeClick ? function () {
170
+ return onNodeClick(node);
171
+ } : null
172
+ }, showCheckBox ? /*#__PURE__*/_react.default.createElement(_checkbox.default, {
173
+ checked: checked,
174
+ disabled: required || disabled,
175
+ value: "".concat(node[valuePropName]),
176
+ label: node[labelPropName],
177
+ tooltip: required ? defaultDisabledTooltip : '',
178
+ onChange: disabled || required ? undefined : function (e) {
179
+ handlerUpdateSelectedIds(node.id, e.target.checked, isParent);
224
180
  }
225
-
226
- if (onNodeElementClick) {
227
- newProps = _extends({}, newProps, {
228
- onClick: function onClick(e) {
229
- onNodeElementClick(node);
230
- if (e.stopPropagation) e.stopPropagation();
231
- }
181
+ }) : node[labelPropName], allowCheckAllChildren && showNodeElements && isParent ? /*#__PURE__*/_react.default.createElement(_buttons.default, {
182
+ dropdown: true,
183
+ dropdownAlign: "left",
184
+ size: nodeMenuButtonSize,
185
+ onClick: function onClick() {
186
+ _this2.setState({
187
+ keepMenuOpened: !_this2.state.keepMenuOpened
188
+ });
189
+ },
190
+ showIconDropdown: false,
191
+ iconName: "menu",
192
+ customClass: "node-menu",
193
+ boxShadow: false
194
+ }, /*#__PURE__*/_react.default.createElement(_list.default, {
195
+ condensed: true
196
+ }, /*#__PURE__*/_react.default.createElement(_list.ListItem, {
197
+ text: "Marcar todos",
198
+ onClick: function onClick() {
199
+ handlerToggleCheckChildren(node.id, true);
200
+
201
+ _this2.setState({
202
+ showNodeElements: false,
203
+ keepMenuOpened: false
232
204
  });
233
205
  }
206
+ }), /*#__PURE__*/_react.default.createElement(_list.ListItem, {
207
+ text: "Desmarcar todos",
208
+ onClick: function onClick() {
209
+ handlerToggleCheckChildren(node.id, false, required);
210
+
211
+ _this2.setState({
212
+ showNodeElements: false,
213
+ keepMenuOpened: false
214
+ });
215
+ }
216
+ }))) : null, showNodeElements && _this2.returnNodeRightElements(), showNodeElements && _this2.returnNodeToolbarElements()), /*#__PURE__*/_react.default.createElement("ul", {
217
+ className: "nodelist"
218
+ }, _this2.state.isVisible && children));
219
+ });
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
234
 
235
- var newElement = /*#__PURE__*/_react.default.createElement(element.type, _extends({}, rest, newProps, elementBehavior));
236
-
237
- return newElement;
238
- }
235
+ return null;
236
+ }
237
+ }]);
238
+
239
+ return TreeNode;
240
+ }(_react.Component);
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
+ className: isLoading ? 'loading' : 'opencloseicon',
264
+ onClick: function onClick() {
265
+ return _this3.openCloseTree(node);
266
+ }
267
+ }, isLoading ? /*#__PURE__*/_react.default.createElement(_SpinnerLoading.default, {
268
+ size: "35px"
269
+ }) : /*#__PURE__*/_react.default.createElement(_icons.default, {
270
+ name: _this3.state.isVisible ? 'up' : 'down',
271
+ size: 10
272
+ }));
273
+ }
239
274
 
240
- return element;
241
- });
275
+ return span;
242
276
  }
277
+ });
278
+ Object.defineProperty(this, "openCloseTree", {
279
+ configurable: true,
280
+ enumerable: true,
281
+ writable: true,
282
+ value: function value(node) {
283
+ var _this3$state = _this3.state,
284
+ isVisible = _this3$state.isVisible,
285
+ wasOpened = _this3$state.wasOpened;
286
+ var handlerOnNodeOpen = _this3.props.handlerOnNodeOpen;
287
+ var nextState = {
288
+ isVisible: !isVisible
289
+ };
290
+
291
+ if (!wasOpened && handlerOnNodeOpen) {
292
+ nextState = _extends({}, nextState, {
293
+ wasOpened: true
294
+ });
295
+ handlerOnNodeOpen(node);
296
+ }
243
297
 
244
- return updatedElements;
245
- };
246
-
247
- var returnNodeRightElements = function returnNodeRightElements() {
248
- var updatedNodeRightElements = updateElements(nodeRightElements).map(function (element) {
249
- var unvisible = element.props && 'visible' in element.props && !element.props.visible;
250
- var style = unvisible ? {
251
- display: 'none'
252
- } : {};
253
- return /*#__PURE__*/_react.default.createElement("div", {
254
- style: style,
255
- key: "element-".concat(_uuid.default.v1()),
256
- className: "element"
257
- }, element);
258
- });
259
- return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
260
- className: "node-rightelements"
261
- }, updatedNodeRightElements) : null;
262
- };
263
-
264
- var returnNodeToolbarElements = function returnNodeToolbarElements() {
265
- var updatedNodeRightElements = updateElements(nodeToolbarElements);
266
- return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react.default.createElement(_toolbar.default, {
267
- customClass: "node-toolbarelements"
268
- }, /*#__PURE__*/_react.default.createElement(_toolbar.ToolBarGroup, null, updatedNodeRightElements)) : null;
269
- };
270
-
271
- return /*#__PURE__*/_react.default.createElement("li", {
272
- className: "treeviewitem"
273
- }, getSpan(), /*#__PURE__*/_react.default.createElement("div", {
274
- className: "label",
275
- style: {
276
- textDecoration: !onNodeClick ? 'none' : undefined,
277
- backgroundColor: selectedNodeId === node.id ? 'rgb(209, 209, 209)' : undefined
278
- },
279
- ref: labelRef,
280
- role: "button",
281
- onKeyPress: function onKeyPress() {},
282
- onMouseEnter: function onMouseEnter() {
283
- return handleShowNodeElements();
284
- },
285
- onMouseLeave: function onMouseLeave() {
286
- return handleShowNodeElements(false);
287
- },
288
- tabIndex: -1,
289
- onClick: onNodeClick ? function () {
290
- return onNodeClick(node);
291
- } : undefined
292
- }, showCheckBox ? /*#__PURE__*/_react.default.createElement(_checkbox.default, {
293
- checked: checked,
294
- disabled: required || disabled,
295
- value: "".concat(node[valuePropName]),
296
- label: node[labelPropName],
297
- tooltip: required ? defaultDisabledTooltip : '',
298
- onChange: disabled || required ? undefined : function (e) {
299
- handlerUpdateSelectedIds(node.id, e.target.checked, !!isParent);
298
+ _this3.setState(nextState);
300
299
  }
301
- }) : node[labelPropName], allowCheckAllChildren && showNodeElements && isParent ? /*#__PURE__*/_react.default.createElement(_buttons.default, {
302
- dropdown: true,
303
- dropdownAlign: "left",
304
- size: nodeMenuButtonSize,
305
- showIconDropdown: false,
306
- icon: /*#__PURE__*/_react.default.createElement(_icons.default, {
307
- name: "menu",
308
- style: {
309
- margin: 0
300
+ });
301
+ Object.defineProperty(this, "handleShowNodeElements", {
302
+ configurable: true,
303
+ enumerable: true,
304
+ writable: true,
305
+ value: function value() {
306
+ var _this3$state2 = _this3.state,
307
+ showNodeElements = _this3$state2.showNodeElements,
308
+ keepMenuOpened = _this3$state2.keepMenuOpened;
309
+ if (!showNodeElements) _this3.setState({
310
+ showNodeElements: true
311
+ });else if (showNodeElements && !keepMenuOpened) {
312
+ _this3.setState({
313
+ showNodeElements: false
314
+ });
310
315
  }
311
- }),
312
- customClass: "node-menu",
313
- boxShadow: false,
314
- onClick: function onClick() {
315
- return setKeepMenuOpened(function (prevState) {
316
- return !prevState;
316
+ }
317
+ });
318
+ Object.defineProperty(this, "updateElements", {
319
+ configurable: true,
320
+ enumerable: true,
321
+ writable: true,
322
+ value: function value(elements) {
323
+ var nodeElementsValidations = _this3.props.nodeElementsValidations;
324
+ var node = _this3.state.node;
325
+ var updatedElements = [];
326
+
327
+ if (elements) {
328
+ updatedElements = _react.default.Children.map(elements, function (element) {
329
+ if ( /*#__PURE__*/_react.default.isValidElement(element) && element.props) {
330
+ var _element$props = element.props,
331
+ validationKey = _element$props.validationKey,
332
+ onNodeElementClick = _element$props.onNodeElementClick;
333
+ var elementBehavior;
334
+ var newProps = {};
335
+
336
+ if (nodeElementsValidations && validationKey) {
337
+ elementBehavior = _this3.validateNodeElement(validationKey);
338
+ }
339
+
340
+ if (onNodeElementClick) {
341
+ newProps = _extends({}, newProps, {
342
+ onClick: function onClick(e) {
343
+ onNodeElementClick(node);
344
+ if (e.stopPropagation) e.stopPropagation();
345
+ },
346
+ onNodeElementClick: null
347
+ });
348
+ }
349
+
350
+ return /*#__PURE__*/_react.default.cloneElement(element, _extends({}, elementBehavior, newProps));
351
+ }
352
+
353
+ return element;
354
+ });
355
+ }
356
+
357
+ return updatedElements;
358
+ }
359
+ });
360
+ Object.defineProperty(this, "returnNodeRightElements", {
361
+ configurable: true,
362
+ enumerable: true,
363
+ writable: true,
364
+ value: function value() {
365
+ var nodeRightElements = _this3.props.nodeRightElements;
366
+
367
+ var updatedNodeRightElements = _this3.updateElements(nodeRightElements).map(function (element) {
368
+ var unvisible = element.props && 'visible' in element.props && !element.props.visible;
369
+ var style = unvisible ? {
370
+ display: 'none'
371
+ } : {};
372
+ return /*#__PURE__*/_react.default.createElement("div", {
373
+ style: style,
374
+ key: "element-".concat(_uuid.default.v1()),
375
+ className: "element"
376
+ }, element);
317
377
  });
378
+
379
+ return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react.default.createElement("div", {
380
+ className: "node-rightelements"
381
+ }, updatedNodeRightElements) : null;
318
382
  }
319
- }, /*#__PURE__*/_react.default.createElement(_list.default, {
320
- condensed: true
321
- }, /*#__PURE__*/_react.default.createElement(_list.ListItem, {
322
- text: "Marcar todos",
323
- onClick: function onClick() {
324
- handlerToggleCheckChildren(node.id, true);
325
- setShowNodeElements(false);
326
- setKeepMenuOpened(false);
383
+ });
384
+ Object.defineProperty(this, "returnNodeToolbarElements", {
385
+ configurable: true,
386
+ enumerable: true,
387
+ writable: true,
388
+ value: function value() {
389
+ var nodeToolbarElements = _this3.props.nodeToolbarElements;
390
+
391
+ var updatedNodeRightElements = _this3.updateElements(nodeToolbarElements);
392
+
393
+ return updatedNodeRightElements.length > 0 ? /*#__PURE__*/_react.default.createElement(_toolbar.default, {
394
+ customClass: "node-toolbarelements"
395
+ }, /*#__PURE__*/_react.default.createElement(_toolbar.ToolBarGroup, null, updatedNodeRightElements)) : null;
327
396
  }
328
- }), /*#__PURE__*/_react.default.createElement(_list.ListItem, {
329
- text: "Desmarcar todos",
330
- onClick: function onClick() {
331
- handlerToggleCheckChildren(node.id, false, required);
332
- setShowNodeElements(false);
333
- setKeepMenuOpened(false);
397
+ });
398
+ Object.defineProperty(this, "validateNodeElement", {
399
+ configurable: true,
400
+ enumerable: true,
401
+ writable: true,
402
+ value: function value(validationKey) {
403
+ var nodeElementsValidations = _this3.props.nodeElementsValidations;
404
+ var node = _this3.state.node;
405
+ var validations = nodeElementsValidations[validationKey];
406
+ var options = {
407
+ disabled: {
408
+ disabled: true
409
+ },
410
+ unvisible: {
411
+ visible: false
412
+ }
413
+ };
414
+ var elementBehavior = {};
415
+
416
+ if (validations) {
417
+ validations.forEach(function (validation) {
418
+ var validator = validation.validator,
419
+ applyBehavior = validation.applyBehavior;
420
+
421
+ if (_lodash.default.isEmpty(elementBehavior) && validator && validator(node)) {
422
+ elementBehavior = options[applyBehavior] || options.unvisible;
423
+ }
424
+ });
425
+ }
426
+
427
+ return elementBehavior;
334
428
  }
335
- }))) : null, showNodeElements && returnNodeRightElements(), showNodeElements && returnNodeToolbarElements()), /*#__PURE__*/_react.default.createElement("ul", {
336
- className: "nodelist"
337
- }, isVisible && children));
429
+ });
338
430
  };
339
431
 
432
+ TreeNode.propTypes = {
433
+ node: _propTypes.default.object.isRequired,
434
+ children: _propTypes.default.any.isRequired,
435
+ childrenIds: _propTypes.default.arrayOf(_propTypes.default.number),
436
+ parentId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
437
+ disabled: _propTypes.default.bool,
438
+ isParent: _propTypes.default.bool,
439
+ alwaysShowArrow: _propTypes.default.bool,
440
+ nodeRightElements: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.object), _propTypes.default.element, _propTypes.default.object]),
441
+ nodeToolbarElements: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.object), _propTypes.default.element, _propTypes.default.object]),
442
+ nodeMenuButtonSize: _propTypes.default.oneOf(['mini', 'small', 'medium', 'large', 'default']),
443
+ onNodeClick: _propTypes.default.func,
444
+ handlerOnNodeOpen: _propTypes.default.func,
445
+ nodeElementsValidations: _propTypes.default.object,
446
+ startNodesOpened: _propTypes.default.bool.isRequired,
447
+ idsInLoading: _propTypes.default.arrayOf(_propTypes.default.number),
448
+ selectedNodeId: _propTypes.default.number
449
+ };
450
+ TreeNode.defaultProps = {
451
+ childrenIds: [],
452
+ parentId: undefined,
453
+ disabled: false,
454
+ isParent: false,
455
+ alwaysShowArrow: false,
456
+ nodeRightElements: undefined,
457
+ nodeToolbarElements: undefined,
458
+ nodeMenuButtonSize: 'small',
459
+ onNodeClick: undefined,
460
+ handlerOnNodeOpen: undefined,
461
+ nodeElementsValidations: undefined,
462
+ idsInLoading: [],
463
+ selectedNodeId: undefined
464
+ };
465
+ TreeNode.contextType = _constants.TreeviewContext;
340
466
  var _default = TreeNode;
341
467
  exports.default = _default;