linear-react-components-ui 0.4.76-beta.12 → 0.4.76-beta.13

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 (101) hide show
  1. package/.husky/pre-commit +2 -2
  2. package/.tool-versions +1 -0
  3. package/.vscode/settings.json +1 -2
  4. package/README.md +33 -0
  5. package/lib/assets/styles/button.scss +17 -10
  6. package/lib/assets/styles/checkbox.scss +92 -70
  7. package/lib/assets/styles/commons.scss +26 -0
  8. package/lib/assets/styles/drawers.scss +22 -6
  9. package/lib/assets/styles/dropdown.scss +28 -2
  10. package/lib/assets/styles/effects.scss +12 -0
  11. package/lib/assets/styles/floatMenu.scss +0 -1
  12. package/lib/assets/styles/gridlayout.scss +2 -1
  13. package/lib/assets/styles/input.scss +21 -0
  14. package/lib/assets/styles/label.scss +9 -1
  15. package/lib/assets/styles/multiSelect.scss +105 -0
  16. package/lib/assets/styles/panel.scss +5 -2
  17. package/lib/assets/styles/periodpicker.scss +65 -0
  18. package/lib/assets/styles/progress.scss +8 -1
  19. package/lib/assets/styles/radio.scss +19 -0
  20. package/lib/assets/styles/select.scss +1 -0
  21. package/lib/assets/styles/skeleton.scss +48 -0
  22. package/lib/assets/styles/table.scss +14 -5
  23. package/lib/assets/styles/tabs.scss +79 -43
  24. package/lib/assets/styles/treeview.scss +32 -0
  25. package/lib/avatar/avatar.spec.js +17 -6
  26. package/lib/avatar/index.js +1 -1
  27. package/lib/buttons/DefaultButton.js +13 -4
  28. package/lib/buttons/split_button/index.js +8 -4
  29. package/lib/checkbox/Label.js +37 -0
  30. package/lib/checkbox/checkbox.spec.js +16 -16
  31. package/lib/checkbox/index.js +33 -12
  32. package/lib/dialog/base/index.js +15 -6
  33. package/lib/dialog/form/index.js +24 -4
  34. package/lib/drawer/Drawer.js +9 -5
  35. package/lib/drawer/Header.js +15 -5
  36. package/lib/drawer/index.js +4 -1
  37. package/lib/form/Field.js +2 -0
  38. package/lib/form/FieldNumber.js +10 -2
  39. package/lib/form/FieldPeriod.js +100 -0
  40. package/lib/form/helpers.js +20 -1
  41. package/lib/form/index.js +207 -224
  42. package/lib/form/withFieldHOC.js +5 -1
  43. package/lib/form/withFormSecurity.js +106 -0
  44. package/lib/icons/helper.js +16 -0
  45. package/lib/inputs/base/InputTextBase.js +10 -5
  46. package/lib/inputs/base/helpers.js +2 -1
  47. package/lib/inputs/date/Dropdown.js +3 -3
  48. package/lib/inputs/date/date.spec.js +46 -36
  49. package/lib/inputs/date/helpers.js +36 -0
  50. package/lib/inputs/date/index.js +12 -10
  51. package/lib/inputs/mask/imaskHOC.js +2 -1
  52. package/lib/inputs/multiSelect/ActionButtons.js +68 -0
  53. package/lib/inputs/multiSelect/Dropdown.js +200 -0
  54. package/lib/inputs/multiSelect/helper.js +18 -0
  55. package/lib/inputs/multiSelect/index.js +343 -0
  56. package/lib/inputs/number/BaseNumber.js +1 -1
  57. package/lib/inputs/number/index.js +7 -5
  58. package/lib/inputs/period/Dialog.js +38 -0
  59. package/lib/inputs/period/Dropdown.js +90 -0
  60. package/lib/inputs/period/PeriodList.js +79 -0
  61. package/lib/inputs/period/helper.js +118 -0
  62. package/lib/inputs/period/index.js +490 -0
  63. package/lib/inputs/select/Dropdown.js +4 -4
  64. package/lib/inputs/select/index.js +26 -3
  65. package/lib/inputs/select/multiple/index.js +9 -7
  66. package/lib/inputs/select/simple/index.js +30 -18
  67. package/lib/internals/withTooltip.js +85 -81
  68. package/lib/labels/DefaultLabel.js +7 -4
  69. package/lib/list/Item.js +3 -3
  70. package/lib/list/index.js +20 -10
  71. package/lib/list/list.spec.js +129 -85
  72. package/lib/menus/float/MenuItem.js +25 -8
  73. package/lib/menus/sidenav/NavMenuItem.js +2 -2
  74. package/lib/menus/sidenav/index.js +7 -3
  75. package/lib/menus/sidenav/popup_menu_search/index.js +1 -1
  76. package/lib/panel/Content.js +11 -4
  77. package/lib/progress/Bar.js +40 -9
  78. package/lib/progress/index.js +12 -4
  79. package/lib/radio/index.js +9 -6
  80. package/lib/skeleton/SkeletonContainer.js +42 -0
  81. package/lib/skeleton/index.js +84 -0
  82. package/lib/spinner/index.js +6 -1
  83. package/lib/split/Split.js +5 -11
  84. package/lib/table/HeaderColumn.js +24 -3
  85. package/lib/table/Row.js +7 -3
  86. package/lib/table/RowColumn.js +22 -3
  87. package/lib/table/index.js +11 -4
  88. package/lib/tabs/DropdownItems.js +84 -0
  89. package/lib/tabs/Menu.js +18 -5
  90. package/lib/tabs/MenuItems.js +15 -9
  91. package/lib/tabs/Panel.js +1 -3
  92. package/lib/tabs/index.js +156 -22
  93. package/lib/tabs/tabs.spec.js +8 -5
  94. package/lib/toolbar/ButtonBar.js +30 -24
  95. package/lib/toolbar/LabelBar.js +22 -27
  96. package/lib/toolbar/helpers.js +12 -0
  97. package/lib/toolbar/index.js +24 -9
  98. package/lib/tooltip/index.js +20 -7
  99. package/lib/treeview/Node.js +348 -49
  100. package/lib/treeview/index.js +457 -36
  101. package/package.json +9 -8
@@ -54,31 +54,31 @@ describe('CheckBox', function () {
54
54
  var _render2 = (0, _react.render)(CheckBoxTest()),
55
55
  container = _render2.container;
56
56
 
57
- expect(container.firstChild).toContainElement(container.querySelector('.checkbox-hint'));
57
+ expect(container.firstChild).toContainElement(container.querySelector('.hint'));
58
58
  });
59
59
  it('should label text match with prop label', function () {
60
60
  var _render3 = (0, _react.render)(CheckBoxTest()),
61
61
  container = _render3.container;
62
62
 
63
- expect(container.querySelector('.checkbox-description')).toHaveTextContent('testLabel');
63
+ expect(container.querySelector('.description')).toHaveTextContent('testLabel');
64
64
  });
65
65
  it('should checkbox have id ', function () {
66
66
  var _render4 = (0, _react.render)(CheckBoxTest()),
67
67
  container = _render4.container;
68
68
 
69
- expect(container.querySelector('.checkbox-component').id).toBe('1');
69
+ expect(container.querySelector('.input').id).toBe('1');
70
70
  });
71
71
  it('should checkbox have name test', function () {
72
72
  var _render5 = (0, _react.render)(CheckBoxTest()),
73
73
  container = _render5.container;
74
74
 
75
- expect(container.querySelector('.checkbox-component').name).toBe('test');
75
+ expect(container.querySelector('.input').name).toBe('test');
76
76
  });
77
77
  it('should checkbox have value', function () {
78
78
  var _render6 = (0, _react.render)(CheckBoxTest()),
79
79
  container = _render6.container;
80
80
 
81
- expect(container.querySelector('.checkbox-component').value).toBe('1');
81
+ expect(container.querySelector('.input').value).toBe('1');
82
82
  });
83
83
  it('should change checked', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
84
84
  var _render7, container;
@@ -88,11 +88,11 @@ describe('CheckBox', function () {
88
88
  switch (_context.prev = _context.next) {
89
89
  case 0:
90
90
  _render7 = (0, _react.render)(CheckBoxTest()), container = _render7.container;
91
- expect(container.querySelector('.checkbox-component').checked).toEqual(false);
91
+ expect(container.querySelector('.input').checked).toEqual(false);
92
92
 
93
- _react.fireEvent.click(container.querySelector('.checkbox-component'));
93
+ _react.fireEvent.click(container.querySelector('.input'));
94
94
 
95
- expect(container.querySelector('.checkbox-component').checked).toEqual(true);
95
+ expect(container.querySelector('.input').checked).toEqual(true);
96
96
 
97
97
  case 4:
98
98
  case "end":
@@ -111,11 +111,11 @@ describe('CheckBox', function () {
111
111
  _render8 = (0, _react.render)(CheckBoxTest({
112
112
  disabled: true
113
113
  })), container = _render8.container;
114
- expect(container.querySelector('.checkbox-component').checked).toEqual(false);
114
+ expect(container.querySelector('.input').checked).toEqual(false);
115
115
 
116
- _react.fireEvent.click(container.querySelector('.checkbox-component'));
116
+ _react.fireEvent.click(container.querySelector('.input'));
117
117
 
118
- expect(container.querySelector('.checkbox-component').checked).toEqual(false);
118
+ expect(container.querySelector('.input').checked).toEqual(false);
119
119
 
120
120
  case 4:
121
121
  case "end":
@@ -134,7 +134,7 @@ describe('CheckBox', function () {
134
134
  _render9 = (0, _react.render)(CheckBoxTest({
135
135
  required: true
136
136
  })), container = _render9.container;
137
- expect(container.querySelector('.checkbox-component').required).toEqual(true);
137
+ expect(container.querySelector('.input').required).toEqual(true);
138
138
 
139
139
  case 2:
140
140
  case "end":
@@ -153,8 +153,8 @@ describe('CheckBox', function () {
153
153
  _render10 = (0, _react.render)(CheckBoxTest({
154
154
  autoFocus: true
155
155
  })), container = _render10.container;
156
- container.querySelector('.checkbox-component').focus();
157
- expect(container.querySelector('.checkbox-component')).toHaveFocus();
156
+ container.querySelector('.input').focus();
157
+ expect(container.querySelector('.input')).toHaveFocus();
158
158
 
159
159
  case 3:
160
160
  case "end":
@@ -197,8 +197,8 @@ describe('CheckBox', function () {
197
197
 
198
198
  _react.fireEvent.click(container.firstChild);
199
199
 
200
- expect(getByTestId('checkbox-container')).toHaveClass('disabled');
201
- expect(container.querySelector('.checkbox-component')).toBeDisabled();
200
+ expect(getByTestId('checkbox-container')).toBeVisible();
201
+ expect(container.querySelector('.input')).toBeDisabled();
202
202
  expect(mockOnClick).toBeCalledTimes(0);
203
203
  });
204
204
  it('should check permission, be unavaible and onDenied is unvisible', function () {
@@ -13,6 +13,8 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
14
  var _gridlayout = _interopRequireDefault(require("../gridlayout"));
15
15
 
16
+ var _Label = _interopRequireDefault(require("./Label"));
17
+
16
18
  require("../assets/styles/checkbox.scss");
17
19
 
18
20
  var _permissionValidations = require("../permissionValidations");
@@ -23,6 +25,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
23
25
 
24
26
  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; }
25
27
 
28
+ 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); }
29
+
26
30
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
27
31
 
28
32
  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."); }
@@ -52,7 +56,11 @@ var CheckBox = function CheckBox(props) {
52
56
  id = props.id,
53
57
  gridLayout = props.gridLayout,
54
58
  checked = props.checked,
55
- permissionAttr = props.permissionAttr;
59
+ permissionAttr = props.permissionAttr,
60
+ tooltip = props.tooltip,
61
+ tooltipPosition = props.tooltipPosition,
62
+ tooltipWidth = props.tooltipWidth,
63
+ skeletonize = props.skeletonize;
56
64
 
57
65
  var _useState = (0, _react.useState)(checked),
58
66
  _useState2 = _slicedToArray(_useState, 2),
@@ -100,10 +108,12 @@ var CheckBox = function CheckBox(props) {
100
108
  };
101
109
 
102
110
  var renderInput = function renderInput() {
103
- return /*#__PURE__*/_react["default"].createElement("div", getProps(), /*#__PURE__*/_react["default"].createElement("span", {
111
+ return /*#__PURE__*/_react["default"].createElement("div", _extends({}, getProps(), {
112
+ className: "checkbox-component ".concat(skeletonize ? '-skeletonized' : '')
113
+ }), /*#__PURE__*/_react["default"].createElement("span", {
104
114
  "data-testid": "checkbox-container",
105
- className: shouldDisable() ? 'disabled' : '',
106
- onClick: !shouldDisable() ? function () {
115
+ className: "inputcontent",
116
+ onClick: !shouldDisable() && !skeletonize ? function () {
107
117
  return setIsChecked(!isChecked);
108
118
  } : null,
109
119
  tabIndex: "-1",
@@ -112,7 +122,7 @@ var CheckBox = function CheckBox(props) {
112
122
  onKeyPress: null
113
123
  }, /*#__PURE__*/_react["default"].createElement("input", {
114
124
  ref: inputRef,
115
- className: "checkbox-component",
125
+ className: "input",
116
126
  type: "checkbox",
117
127
  autoFocus: autofocus,
118
128
  checked: isChecked,
@@ -122,11 +132,14 @@ var CheckBox = function CheckBox(props) {
122
132
  value: value,
123
133
  id: id,
124
134
  onChange: function onChange() {}
125
- }), /*#__PURE__*/_react["default"].createElement("span", null), label && /*#__PURE__*/_react["default"].createElement("span", {
126
- className: "checkbox-description"
127
- }, label)), hint && /*#__PURE__*/_react["default"].createElement("div", {
128
- className: "checkbox-hint"
129
- }, hint));
135
+ }), /*#__PURE__*/_react["default"].createElement("span", null), label && /*#__PURE__*/_react["default"].createElement(_Label["default"], {
136
+ label: label,
137
+ tooltip: tooltip,
138
+ tooltipWidth: tooltipWidth,
139
+ tooltipPosition: tooltipPosition
140
+ })), hint && /*#__PURE__*/_react["default"].createElement("div", {
141
+ className: "hint"
142
+ }, /*#__PURE__*/_react["default"].createElement("span", null, hint)));
130
143
  };
131
144
 
132
145
  if (onDenied.unvisible) return null;
@@ -149,7 +162,11 @@ CheckBox.propTypes = {
149
162
  autofocus: _propTypes["default"].bool,
150
163
  hint: _propTypes["default"].string,
151
164
  gridLayout: _propTypes["default"].string,
152
- permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)])
165
+ permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
166
+ tooltip: _propTypes["default"].string,
167
+ tooltipPosition: _propTypes["default"].string,
168
+ tooltipWidth: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
169
+ skeletonize: _propTypes["default"].bool
153
170
  };
154
171
  CheckBox.defaultProps = {
155
172
  label: '',
@@ -164,7 +181,11 @@ CheckBox.defaultProps = {
164
181
  hint: undefined,
165
182
  id: undefined,
166
183
  gridLayout: undefined,
167
- permissionAttr: undefined
184
+ permissionAttr: undefined,
185
+ tooltip: '',
186
+ tooltipPosition: 'top',
187
+ tooltipWidth: 'auto',
188
+ skeletonize: false
168
189
  };
169
190
  var _default = CheckBox;
170
191
  exports["default"] = _default;
@@ -31,7 +31,8 @@ var BaseDialog = function BaseDialog(props) {
31
31
  handlerClose = props.handlerClose,
32
32
  closeOnOutsideClick = props.closeOnOutsideClick,
33
33
  wrapperClassName = props.wrapperClassName,
34
- children = props.children;
34
+ children = props.children,
35
+ zIndex = props.zIndex;
35
36
  var dialogEl = (0, _react.useRef)(document.createElement('div'));
36
37
  dialogEl.current.className = 'dialog';
37
38
  dialogEl.current.dataset.testid = 'dialog-component';
@@ -48,25 +49,30 @@ var BaseDialog = function BaseDialog(props) {
48
49
 
49
50
  var handleClickOutside = function handleClickOutside(event) {
50
51
  var target = event.target;
52
+ var dialogAlert = document.getElementsByClassName('dialog-alert-wrapper');
51
53
 
52
54
  if (wrapperEl !== null && wrapperEl.current !== null && target !== wrapperEl.current && !wrapperEl.current.contains(target)) {
55
+ if (dialogAlert.length > 0 && dialogAlert[dialogAlert.length - 1].contains(target) || target.classList.contains('button-component')) return;
53
56
  handlerClose();
54
57
  }
55
58
  };
56
59
 
57
60
  var handleCloseOnEsc = function handleCloseOnEsc(event) {
58
- if (event.keyCode === 27 || event.key === 'ESC') handlerClose();
61
+ if (event.keyCode === 27 || event.key === 'ESC') {
62
+ handlerClose();
63
+ }
59
64
  };
60
65
 
61
66
  var setModalContainer = function setModalContainer() {
62
67
  modalContainerEl.current.className = 'modalcontainer';
68
+ if (zIndex) modalContainerEl.current.style.zIndex = zIndex;
63
69
  body.appendChild(modalContainerEl.current);
64
70
  modalContainerEl.current.appendChild(dialogEl.current);
65
71
  };
66
72
 
67
73
  var removeModalContainer = function removeModalContainer() {
68
- var modalComponent = document.getElementsByClassName('modalcontainer')[0];
69
- document.body.removeChild(modalComponent);
74
+ var modalComponent = document.getElementsByClassName('modalcontainer');
75
+ document.body.removeChild(modalComponent[modalComponent.length - 1]);
70
76
  };
71
77
 
72
78
  var removeOverlay = function removeOverlay() {
@@ -108,15 +114,18 @@ BaseDialog.propTypes = {
108
114
  closeOnEsc: _propTypes["default"].bool,
109
115
  closeOnOutsideClick: _propTypes["default"].bool,
110
116
  overlay: _propTypes["default"].bool,
117
+ changedData: _propTypes["default"].bool,
111
118
  children: _propTypes["default"].any.isRequired,
112
- textAlign: _propTypes["default"].string
119
+ textAlign: _propTypes["default"].string,
120
+ zIndex: _propTypes["default"].string
113
121
  };
114
122
  BaseDialog.defaultProps = {
115
123
  closeOnEsc: false,
116
124
  closeOnOutsideClick: false,
117
125
  overlay: true,
118
126
  handlerClose: null,
119
- textAlign: 'justify'
127
+ textAlign: 'justify',
128
+ zIndex: null
120
129
  };
121
130
  var _default = BaseDialog;
122
131
  exports["default"] = _default;
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
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
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
 
10
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
13
 
@@ -23,8 +25,14 @@ var _Footer = _interopRequireDefault(require("../base/Footer"));
23
25
 
24
26
  var _spinner = _interopRequireDefault(require("../../spinner"));
25
27
 
28
+ var _withFormSecurity = _interopRequireWildcard(require("../../form/withFormSecurity"));
29
+
26
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
27
31
 
32
+ 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
+
34
+ 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
+
28
36
  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); }
29
37
 
30
38
  var ModalForm = function ModalForm(props) {
@@ -34,6 +42,7 @@ var ModalForm = function ModalForm(props) {
34
42
  opacity: 0.4,
35
43
  pointerEvent: 'none'
36
44
  } : {};
45
+ var context = (0, _react.useContext)(_withFormSecurity.FormSecurityContext);
37
46
 
38
47
  var getSpinner = function getSpinner() {
39
48
  if (!isWaiting) return null;
@@ -54,6 +63,13 @@ var ModalForm = function ModalForm(props) {
54
63
  }, props.children), getSpinner(), props.showFooter && /*#__PURE__*/_react["default"].createElement(_Footer["default"], null, /*#__PURE__*/_react["default"].createElement(_index.ButtonContainer, _extends({}, props, {
55
64
  style: _extends({}, overlayStyle)
56
65
  }), props.buttons.map(function (button) {
66
+ if (context && context.securityBeforeUnload && button && button.type && button.type.name === 'CancelButton') {
67
+ return /*#__PURE__*/_react["default"].cloneElement(button, {
68
+ key: "button-".concat(_uuid["default"].v1()),
69
+ onClick: props.handlerClose
70
+ });
71
+ }
72
+
57
73
  return /*#__PURE__*/_react["default"].cloneElement(button, {
58
74
  key: "button-".concat(_uuid["default"].v1())
59
75
  });
@@ -68,7 +84,8 @@ ModalForm.propTypes = {
68
84
  height: _propTypes["default"].string,
69
85
  showFooter: _propTypes["default"].bool,
70
86
  buttons: _propTypes["default"].any.isRequired,
71
- isWaiting: _propTypes["default"].bool
87
+ isWaiting: _propTypes["default"].bool,
88
+ handlerClose: _propTypes["default"].func
72
89
  };
73
90
  ModalForm.defaultProps = {
74
91
  title: '',
@@ -76,7 +93,10 @@ ModalForm.defaultProps = {
76
93
  height: '50%',
77
94
  styleForContent: {},
78
95
  showFooter: true,
79
- isWaiting: false
96
+ isWaiting: false,
97
+ handlerClose: undefined
80
98
  };
81
- var _default = ModalForm;
99
+
100
+ var _default = (0, _withFormSecurity["default"])(ModalForm);
101
+
82
102
  exports["default"] = _default;
@@ -45,7 +45,8 @@ var BaseDrawer = function BaseDrawer(props) {
45
45
  closeOnEsc = props.closeOnEsc,
46
46
  overlay = props.overlay,
47
47
  handlerClose = props.handlerClose,
48
- permissionAttr = props.permissionAttr;
48
+ permissionAttr = props.permissionAttr,
49
+ skeletonize = props.skeletonize;
49
50
  var drawerContainerEl = (0, _react.useRef)(document.createElement('div'));
50
51
  drawerContainerEl.current.className = 'drawercontainer';
51
52
  var drawerComponentEl = (0, _react.useRef)();
@@ -110,7 +111,8 @@ var BaseDrawer = function BaseDrawer(props) {
110
111
  }, [closeOnEsc]);
111
112
  var contextValues = {
112
113
  handlerClose: handlerClose,
113
- hideContent: onDenied.hideContent
114
+ hideContent: onDenied.hideContent,
115
+ skeletonize: skeletonize
114
116
  };
115
117
 
116
118
  var drawerContent = function drawerContent() {
@@ -122,7 +124,7 @@ var BaseDrawer = function BaseDrawer(props) {
122
124
  style: style
123
125
  }, /*#__PURE__*/_react["default"].createElement("div", {
124
126
  "data-testid": "drawercontent",
125
- className: "drawercontent ".concat(customClassForContent)
127
+ className: "drawercontent ".concat(skeletonize ? '-skeletonized' : '', " ").concat(customClassForContent)
126
128
  }, children)));
127
129
  };
128
130
 
@@ -139,7 +141,8 @@ BaseDrawer.propTypes = {
139
141
  handlerClose: _propTypes["default"].func,
140
142
  closeOnEsc: _propTypes["default"].bool,
141
143
  targetId: _propTypes["default"].string,
142
- permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)])
144
+ permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
145
+ skeletonize: _propTypes["default"].bool
143
146
  };
144
147
  BaseDrawer.defaultProps = {
145
148
  overlay: false,
@@ -150,7 +153,8 @@ BaseDrawer.defaultProps = {
150
153
  handlerClose: undefined,
151
154
  closeOnEsc: false,
152
155
  targetId: undefined,
153
- permissionAttr: undefined
156
+ permissionAttr: undefined,
157
+ skeletonize: false
154
158
  };
155
159
  var _default = BaseDrawer;
156
160
  exports["default"] = _default;
@@ -61,6 +61,20 @@ var Header = function Header(_ref) {
61
61
  var _useContext = (0, _react.useContext)(_helpers["default"]),
62
62
  handlerClose = _useContext.handlerClose;
63
63
 
64
+ var renderTitle = function renderTitle() {
65
+ if (titleContent) return /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, titleContent);
66
+ return /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, getIcon(titleIcon, icon), /*#__PURE__*/_react["default"].createElement("h2", {
67
+ className: "drawer-title"
68
+ }, title), titleRightContent);
69
+ };
70
+
71
+ var renderSubtitle = function renderSubtitle() {
72
+ if (subTitleContent) return /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, subTitleContent);
73
+ return subTitle && /*#__PURE__*/_react["default"].createElement("h3", {
74
+ className: "drawer-subtitle"
75
+ }, subTitle);
76
+ };
77
+
64
78
  return /*#__PURE__*/_react["default"].createElement("div", {
65
79
  className: "drawerheader ".concat(customClass),
66
80
  "data-testid": "drawerheader"
@@ -68,11 +82,7 @@ var Header = function Header(_ref) {
68
82
  className: "left"
69
83
  }, /*#__PURE__*/_react["default"].createElement("div", {
70
84
  className: "title-subtitle"
71
- }, titleContent ? /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, titleContent) : /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, getIcon(titleIcon, icon), /*#__PURE__*/_react["default"].createElement("h2", {
72
- className: "drawer-title"
73
- }, title), titleRightContent)), subTitleContent ? /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, subTitleContent) : subTitle && /*#__PURE__*/_react["default"].createElement("h3", {
74
- className: "drawer-subtitle"
75
- }, subTitle)), /*#__PURE__*/_react["default"].createElement("div", {
85
+ }, renderTitle()), renderSubtitle()), /*#__PURE__*/_react["default"].createElement("div", {
76
86
  className: "right"
77
87
  }, showCloseButton && getCloseButton(function () {
78
88
  handlerClose();
@@ -25,7 +25,10 @@ var _Content = _interopRequireDefault(require("./Content"));
25
25
 
26
26
  require("../assets/styles/drawers.scss");
27
27
 
28
+ var _withFormSecurity = _interopRequireDefault(require("../form/withFormSecurity"));
29
+
28
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
29
31
 
30
- var _default = _Drawer["default"];
32
+ var _default = (0, _withFormSecurity["default"])(_Drawer["default"]);
33
+
31
34
  exports["default"] = _default;
package/lib/form/Field.js CHANGED
@@ -125,6 +125,7 @@ Field.propTypes = {
125
125
  onBlur: _propTypes["default"].func,
126
126
  validators: _propTypes["default"].any,
127
127
  fieldErrors: _propTypes["default"].object,
128
+ externalFieldErrors: _propTypes["default"].object,
128
129
  externalMessagesErrors: _propTypes["default"].arrayOf(_propTypes["default"].string),
129
130
  fieldId: _propTypes["default"].string
130
131
  };
@@ -136,6 +137,7 @@ Field.defaultProps = {
136
137
  onBlur: undefined,
137
138
  validators: null,
138
139
  fieldErrors: {},
140
+ externalFieldErrors: {},
139
141
  externalMessagesErrors: [],
140
142
  fieldId: '' // Inicialmente implementado para atender radios e checkboxs
141
143
 
@@ -36,10 +36,16 @@ var getOnBlurEvent = function getOnBlurEvent(_ref) {
36
36
 
37
37
  var FieldMask = function FieldMask(props) {
38
38
  var data = props.data,
39
- name = props.name;
39
+ name = props.name,
40
+ handlerFieldChange = props.handlerFieldChange,
41
+ _onChange = props.onChange;
40
42
  return /*#__PURE__*/_react["default"].createElement(props.component, _extends({}, props, getOnBlurEvent(props), {
41
43
  errorMessages: (0, _helpers.getErrorMessages)(props),
42
- value: _lodash["default"].get(data, name)
44
+ value: _lodash["default"].get(data, name),
45
+ onChange: function onChange(e) {
46
+ handlerFieldChange(e);
47
+ if (_onChange) _onChange(e);
48
+ }
43
49
  }));
44
50
  };
45
51
 
@@ -49,6 +55,7 @@ FieldMask.propTypes = {
49
55
  handlerFieldChange: _propTypes["default"].func.isRequired,
50
56
  component: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].func]),
51
57
  onBlur: _propTypes["default"].func,
58
+ onChange: _propTypes["default"].func,
52
59
  validators: _propTypes["default"].oneOf([_propTypes["default"].func, _propTypes["default"].arrayOf(_propTypes["default"].func)]),
53
60
  fieldErrors: _propTypes["default"].object,
54
61
  externalMessagesErrors: _propTypes["default"].arrayOf(_propTypes["default"].string)
@@ -56,6 +63,7 @@ FieldMask.propTypes = {
56
63
  FieldMask.defaultProps = {
57
64
  component: undefined,
58
65
  onBlur: undefined,
66
+ onChange: undefined,
59
67
  validators: undefined,
60
68
  fieldErrors: {},
61
69
  externalMessagesErrors: []
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _lodash = _interopRequireDefault(require("lodash"));
13
+
14
+ var _withFieldHOC = _interopRequireDefault(require("./withFieldHOC"));
15
+
16
+ var _helpers = require("./helpers");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ 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); }
21
+
22
+ var FieldPeriod = function FieldPeriod(props) {
23
+ var data = props.data,
24
+ nameDateInitial = props.nameDateInitial,
25
+ nameDateFinal = props.nameDateFinal,
26
+ handlerFieldChange = props.handlerFieldChange,
27
+ handlerFieldValidade = props.handlerFieldValidade,
28
+ fieldErrors = props.fieldErrors,
29
+ externalMessagesErrors = props.externalMessagesErrors,
30
+ _onChange = props.onChange,
31
+ validators = props.validators;
32
+ var errorMessages = (0, _helpers.getErrorMessages)({
33
+ name: nameDateInitial,
34
+ fieldErrors: fieldErrors,
35
+ externalMessagesErrors: externalMessagesErrors
36
+ });
37
+ return /*#__PURE__*/_react["default"].createElement(props.component, _extends({}, props, {
38
+ errorMessages: errorMessages,
39
+ onChange: function onChange(_ref) {
40
+ var initial = _ref.initial,
41
+ _final = _ref["final"];
42
+
43
+ if (validators) {
44
+ handlerFieldValidade(nameDateInitial, {
45
+ initial: initial,
46
+ "final": _final
47
+ }, validators);
48
+ }
49
+
50
+ handlerFieldChange({
51
+ target: {
52
+ name: nameDateInitial,
53
+ value: initial
54
+ }
55
+ });
56
+ handlerFieldChange({
57
+ target: {
58
+ name: nameDateFinal,
59
+ value: _final
60
+ }
61
+ });
62
+
63
+ _onChange({
64
+ initial: initial,
65
+ "final": _final
66
+ });
67
+ },
68
+ value: {
69
+ initial: _lodash["default"].get(data, nameDateInitial),
70
+ "final": _lodash["default"].get(data, nameDateFinal)
71
+ }
72
+ }));
73
+ };
74
+
75
+ FieldPeriod.propTypes = {
76
+ data: _propTypes["default"].object.isRequired,
77
+ nameDateInitial: _propTypes["default"].string.isRequired,
78
+ nameDateFinal: _propTypes["default"].string.isRequired,
79
+ handlerFieldChange: _propTypes["default"].func.isRequired,
80
+ component: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].func]),
81
+ onBlur: _propTypes["default"].func,
82
+ validators: _propTypes["default"].oneOf([_propTypes["default"].func, _propTypes["default"].arrayOf(_propTypes["default"].func)]),
83
+ fieldErrors: _propTypes["default"].object,
84
+ externalMessagesErrors: _propTypes["default"].arrayOf(_propTypes["default"].string),
85
+ handlerFieldValidade: _propTypes["default"].func,
86
+ onChange: _propTypes["default"].func
87
+ };
88
+ FieldPeriod.defaultProps = {
89
+ component: undefined,
90
+ onBlur: undefined,
91
+ validators: undefined,
92
+ fieldErrors: {},
93
+ externalMessagesErrors: [],
94
+ handlerFieldValidade: undefined,
95
+ onChange: undefined
96
+ };
97
+
98
+ var _default = (0, _withFieldHOC["default"])(FieldPeriod);
99
+
100
+ exports["default"] = _default;
@@ -3,7 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getValidatorsArray = exports.getErrorMessages = exports.withFieldContext = exports.FormContext = exports.FieldContext = void 0;
6
+ exports.getValidatorsArray = exports.getErrorMessages = exports.changeValue = exports.withFieldContext = exports.FormContext = exports.FieldContext = exports.securityBeforeUnload = void 0;
7
+
8
+ var _lodash = _interopRequireDefault(require("lodash"));
7
9
 
8
10
  var _react = _interopRequireDefault(require("react"));
9
11
 
@@ -21,6 +23,9 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
21
23
 
22
24
  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; }
23
25
 
26
+ var securityBeforeUnload = 'securityBeforeUnload';
27
+ exports.securityBeforeUnload = securityBeforeUnload;
28
+
24
29
  var FieldContext = /*#__PURE__*/_react["default"].createContext();
25
30
 
26
31
  exports.FieldContext = FieldContext;
@@ -33,9 +38,19 @@ var withFieldContext = /*#__PURE__*/_react["default"].createContext();
33
38
 
34
39
  exports.withFieldContext = withFieldContext;
35
40
 
41
+ var changeValue = function changeValue(newData, target) {
42
+ var name = target.name,
43
+ value = target.value;
44
+
45
+ _lodash["default"].set(newData, name, value);
46
+ };
47
+
48
+ exports.changeValue = changeValue;
49
+
36
50
  var getErrorMessages = function getErrorMessages(_ref) {
37
51
  var name = _ref.name,
38
52
  fieldErrors = _ref.fieldErrors,
53
+ externalFieldErrors = _ref.externalFieldErrors,
39
54
  externalMessagesErrors = _ref.externalMessagesErrors;
40
55
 
41
56
  var errors = _toConsumableArray(externalMessagesErrors);
@@ -44,6 +59,10 @@ var getErrorMessages = function getErrorMessages(_ref) {
44
59
  errors = [].concat(_toConsumableArray(errors), _toConsumableArray(fieldErrors[name]));
45
60
  }
46
61
 
62
+ if (externalFieldErrors && externalFieldErrors[name]) {
63
+ errors = [].concat(_toConsumableArray(errors), _toConsumableArray(externalFieldErrors[name]));
64
+ }
65
+
47
66
  return errors;
48
67
  };
49
68