linear-react-components-ui 1.0.10-rc.9 → 1.0.11-beta.0

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 (55) hide show
  1. package/.gitlab-ci.yml +2 -2
  2. package/.vscode/settings.json +4 -1
  3. package/lib/assets/styles/file.scss +33 -0
  4. package/lib/assets/styles/panel.scss +1 -0
  5. package/lib/assets/styles/shortcuts.scss +59 -0
  6. package/lib/form/Field.js +35 -18
  7. package/lib/form/FieldArray.js +53 -16
  8. package/lib/form/FieldNumber.js +12 -2
  9. package/lib/form/FieldPeriod.js +11 -1
  10. package/lib/form/helpers.d.ts +1 -1
  11. package/lib/form/helpers.js +2 -2
  12. package/lib/form/index.d.ts +2 -2
  13. package/lib/form/index.js +57 -36
  14. package/lib/form/types.d.ts +27 -10
  15. package/lib/form/withFieldHOC.js +1 -0
  16. package/lib/hint/index.js +17 -1
  17. package/lib/hint/types.d.ts +1 -1
  18. package/lib/icons/helper.d.ts +12 -0
  19. package/lib/icons/helper.js +12 -0
  20. package/lib/index.d.ts +1 -1
  21. package/lib/inputs/base/types.d.ts +1 -1
  22. package/lib/inputs/date/index.js +2 -1
  23. package/lib/inputs/file/DefaultFile.js +8 -2
  24. package/lib/inputs/file/DragDropFile.js +34 -14
  25. package/lib/inputs/file/types.d.ts +4 -1
  26. package/lib/inputs/mask/Cpf.js +4 -4
  27. package/lib/inputs/mask/imaskHOC.js +15 -11
  28. package/lib/inputs/multiSelect/index.js +0 -1
  29. package/lib/inputs/number/BaseNumber.js +1 -2
  30. package/lib/inputs/number/format_number.js +1 -1
  31. package/lib/inputs/period/index.js +1 -2
  32. package/lib/panel/Content.d.ts +2 -2
  33. package/lib/panel/Content.js +40 -37
  34. package/lib/panel/DangerPanel.d.ts +1 -1
  35. package/lib/panel/Default.d.ts +2 -2
  36. package/lib/panel/Default.js +9 -6
  37. package/lib/panel/Header.d.ts +1 -1
  38. package/lib/panel/Header.js +13 -8
  39. package/lib/panel/InfoPanel.d.ts +1 -1
  40. package/lib/panel/PrimaryPanel.d.ts +1 -1
  41. package/lib/panel/SuccessPanel.d.ts +1 -1
  42. package/lib/panel/ToolBar.d.ts +1 -1
  43. package/lib/panel/WarningPanel.d.ts +1 -1
  44. package/lib/panel/helpers.d.ts +1 -1
  45. package/lib/panel/helpers.js +12 -1
  46. package/lib/panel/index.d.ts +1 -1
  47. package/lib/panel/types.d.ts +1 -1
  48. package/lib/shortcuts/index.d.ts +7 -0
  49. package/lib/shortcuts/index.js +27 -0
  50. package/lib/shortcuts/types.d.ts +12 -0
  51. package/lib/shortcuts/types.js +5 -0
  52. package/lib/table/index.d.ts +1 -1
  53. package/lib/table/index.js +55 -32
  54. package/lib/{types-c1e2d0c9.d.ts → types-fe4a1068.d.ts} +10 -9
  55. package/package.json +1 -1
package/.gitlab-ci.yml CHANGED
@@ -4,7 +4,7 @@ stages:
4
4
 
5
5
  lint:
6
6
  stage: lint
7
- image: node:12.17
7
+ image: node:14.21.3
8
8
  before_script:
9
9
  - npm install
10
10
  script:
@@ -12,7 +12,7 @@ lint:
12
12
 
13
13
  units:
14
14
  stage: tests-units
15
- image: node:12.17
15
+ image: node:14.21.3
16
16
  before_script:
17
17
  - npm install
18
18
  script:
@@ -10,5 +10,8 @@
10
10
  },
11
11
  "editor.codeActionsOnSave": {
12
12
  "source.fixAll.eslint": true
13
- }
13
+ },
14
+ "cSpell.words": [
15
+ "licenca"
16
+ ]
14
17
  }
@@ -1,5 +1,7 @@
1
1
  @import "colors.scss";
2
2
  @import "effects";
3
+ @import "commons.scss";
4
+
3
5
  ::-webkit-file-upload-button {
4
6
  display: none;
5
7
  }
@@ -55,6 +57,11 @@
55
57
  background-color: #d1f0d7;
56
58
  border-color: $success-border-color;
57
59
  }
60
+ > img {
61
+ width: 50%;
62
+ object-fit: cover;
63
+ height: 150px;
64
+ }
58
65
  > label {
59
66
  width: 100%;
60
67
  display: flex;
@@ -144,6 +151,16 @@
144
151
  }
145
152
  }
146
153
  }
154
+ > .errormessages {
155
+ width: 100%;
156
+ color: red;
157
+ font-size: 13px!important;
158
+ line-height: 13px;
159
+ margin-top: 3px;
160
+ }
161
+ > .-skeletonized {
162
+ height: 180px !important;
163
+ }
147
164
  }
148
165
 
149
166
  .input-simple-file-container {
@@ -166,6 +183,13 @@
166
183
  opacity: 0.5;
167
184
  }
168
185
  }
186
+ > .errormessages {
187
+ width: 100%;
188
+ color: red;
189
+ font-size: 13px!important;
190
+ line-height: 13px;
191
+ margin-top: 3px;
192
+ }
169
193
  }
170
194
 
171
195
  .popovercontainer{
@@ -189,3 +213,12 @@
189
213
  }
190
214
  }
191
215
  }
216
+
217
+ .-skeletonized {
218
+ @extend %skeleton-component;
219
+ color: transparent !important;
220
+ text-shadow: none;
221
+ box-shadow: none;
222
+ border-color: transparent !important;
223
+ transition: none;
224
+ }
@@ -52,6 +52,7 @@
52
52
  flex: 1;
53
53
  overflow: auto;
54
54
  padding: 15px;
55
+ position: relative;
55
56
  }
56
57
  }
57
58
 
@@ -0,0 +1,59 @@
1
+ @import "colors.scss";
2
+ @import "commons.scss";
3
+
4
+ p.shortcut-description {
5
+ margin-bottom: .3rem;
6
+ color: $font-color-default;
7
+ font-family: 'Roboto', sans-serif;
8
+ font-size: 14px;
9
+ font-weight: 400;
10
+ overflow-wrap: break-word;
11
+ }
12
+
13
+ .shortcut-component {
14
+ user-select: none;
15
+ display: inline-block;
16
+ padding: 0.1rem 0.3rem;
17
+ color: $font-color-default;
18
+ vertical-align: middle;
19
+ background-color: $default-color;
20
+ border: solid 1px $default-border-color;
21
+ border-radius: 3px;
22
+ box-shadow: inset 0 -1px 0 $default-border-color;
23
+ font-size: .9rem;
24
+
25
+ &.-danger {
26
+ background-color: $danger-color;
27
+ color: $font-color-second;
28
+ box-shadow: inset 0 -1px 0 $danger-actived-color;
29
+ border-color: $danger-color;
30
+ }
31
+
32
+ &.-primary {
33
+ background-color: $primary-color;
34
+ color: $font-color-second;
35
+ box-shadow: inset 0 -1px 0 $primary-actived-color;
36
+ border-color: $primary-border-color;
37
+ }
38
+
39
+ &.-warning {
40
+ background-color: $warning-color;
41
+ color: $font-color-second;
42
+ box-shadow: inset 0 -1px 0 $warning-actived-color;
43
+ border-color: $warning-color;
44
+ }
45
+
46
+ &.-success {
47
+ background-color: $success-color;
48
+ color: $font-color-second;
49
+ box-shadow: inset 0 -1px 0 $success-actived-color;
50
+ border-color: $success-color;
51
+ }
52
+
53
+ &.-info {
54
+ background-color: $info-color;
55
+ color: $font-color-second;
56
+ box-shadow: inset 0 -1px 0 $info-actived-color;
57
+ border-color: $info-color;
58
+ }
59
+ }
package/lib/form/Field.js CHANGED
@@ -9,6 +9,7 @@ var _react = _interopRequireWildcard(require("react"));
9
9
  var _lodash = _interopRequireDefault(require("lodash"));
10
10
  var _withFieldHOC = _interopRequireDefault(require("./withFieldHOC"));
11
11
  var _helpers = require("./helpers");
12
+ var _excluded = ["handlerFieldChange", "handlerFieldValidade", "onChange", "onBlur", "name", "validators", "data", "fieldErrors", "handlerStoreValidators", "handlerRemoveValidators", "component", "externalFieldErrors", "originalData"];
12
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14
  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); }
14
15
  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; }
@@ -24,6 +25,8 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
24
25
  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; }
25
26
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
26
27
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
28
+ 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; }
29
+ 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; }
27
30
  var getEvents = function getEvents(_ref) {
28
31
  var _ref$validators = _ref.validators,
29
32
  validators = _ref$validators === void 0 ? [] : _ref$validators,
@@ -34,7 +37,7 @@ var getEvents = function getEvents(_ref) {
34
37
  handlerFieldChange = _ref.handlerFieldChange,
35
38
  _onChange = _ref.onChange,
36
39
  handleShowValidateMessages = _ref.handleShowValidateMessages;
37
- if (!(validators || validatorFromComponent || _onBlur)) return {};
40
+ if (!(validators || validatorFromComponent || _onBlur || _onChange)) return {};
38
41
  var validatorsArray = (0, _helpers.getValidatorsArray)(validators, validatorFromComponent);
39
42
  return {
40
43
  onBlur: function onBlur(e) {
@@ -54,7 +57,7 @@ var getEvents = function getEvents(_ref) {
54
57
  }
55
58
  };
56
59
  };
57
- var getCustomProps = function getCustomProps(props, setValidatorFromComponent) {
60
+ var getCustomProps = function getCustomProps(props, handlerSetComponentValidator) {
58
61
  var value = props.value,
59
62
  data = props.data,
60
63
  name = props.name,
@@ -74,7 +77,7 @@ var getCustomProps = function getCustomProps(props, setValidatorFromComponent) {
74
77
  } else if (component.displayName === 'CpfField' || component.displayName === 'CnpjField') {
75
78
  return {
76
79
  value: _lodash.default.get(data, name),
77
- handlerSetComponentValidator: setValidatorFromComponent
80
+ handlerSetComponentValidator: handlerSetComponentValidator
78
81
  };
79
82
  }
80
83
  return {
@@ -83,35 +86,49 @@ var getCustomProps = function getCustomProps(props, setValidatorFromComponent) {
83
86
  };
84
87
  var Field = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
85
88
  var handlerFieldChange = props.handlerFieldChange,
86
- onChange = props.onChange;
89
+ handlerFieldValidade = props.handlerFieldValidade,
90
+ onChange = props.onChange,
91
+ onBlur = props.onBlur,
92
+ name = props.name,
93
+ validators = props.validators,
94
+ data = props.data,
95
+ fieldErrors = props.fieldErrors,
96
+ handlerStoreValidators = props.handlerStoreValidators,
97
+ handlerRemoveValidators = props.handlerRemoveValidators,
98
+ Component = props.component,
99
+ externalFieldErrors = props.externalFieldErrors,
100
+ originalData = props.originalData,
101
+ rest = _objectWithoutProperties(props, _excluded);
87
102
  var _useState = (0, _react.useState)(false),
88
103
  _useState2 = _slicedToArray(_useState, 2),
89
104
  showValidateMessages = _useState2[0],
90
105
  setShowValidateMessages = _useState2[1];
91
- var _useState3 = (0, _react.useState)(undefined),
92
- _useState4 = _slicedToArray(_useState3, 2),
93
- validatorFromComponent = _useState4[0],
94
- setValidatorFromComponent = _useState4[1];
95
106
  var _useContext = (0, _react.useContext)(_helpers.withFieldContext),
96
- handlerSetValidatorFromComponent = _useContext.handlerSetValidatorFromComponent;
107
+ handlerSetValidatorFromComponent = _useContext.handlerSetValidatorFromComponent,
108
+ validatorFromComponent = _useContext.validatorFromComponent;
109
+ var currentValue = _lodash.default.get(data, name);
110
+ var originalValue = _lodash.default.get(originalData, name);
97
111
  (0, _react.useEffect)(function () {
98
- if (validatorFromComponent && handlerSetValidatorFromComponent) {
99
- handlerSetValidatorFromComponent(validatorFromComponent);
112
+ if (currentValue && currentValue !== originalValue && (!!currentValue || currentValue === 0 || Array.isArray(currentValue) && currentValue.length > 0)) {
113
+ setShowValidateMessages(true);
114
+ } else if (_lodash.default.isEmpty(data) || _lodash.default.every(data, _lodash.default.isEmpty) || currentValue === originalValue) {
115
+ setShowValidateMessages(false);
100
116
  }
101
- }, [validatorFromComponent]);
102
- return /*#__PURE__*/_react.default.createElement(props.component, _extends({}, props, getEvents({
103
- name: props.name,
104
- validators: props.validators,
105
- onBlur: props.onBlur,
117
+ }, [currentValue, originalValue]);
118
+ return /*#__PURE__*/_react.default.createElement(Component, _extends({}, rest, getEvents({
119
+ name: name,
120
+ validators: validators,
121
+ onBlur: onBlur,
106
122
  validatorFromComponent: validatorFromComponent,
107
- handlerFieldValidade: props.handlerFieldValidade ? props.handlerFieldValidade : function () {},
123
+ handlerFieldValidade: handlerFieldValidade,
108
124
  handlerFieldChange: handlerFieldChange,
109
125
  onChange: onChange,
110
126
  handleShowValidateMessages: function handleShowValidateMessages(value) {
111
127
  return setShowValidateMessages(value);
112
128
  }
113
- }), getCustomProps(props, setValidatorFromComponent), {
129
+ }), getCustomProps(props, handlerSetValidatorFromComponent), {
114
130
  ref: ref,
131
+ name: name,
115
132
  errorMessages: (0, _helpers.getErrorMessages)(_objectSpread(_objectSpread({}, props), {}, {
116
133
  fieldErrors: showValidateMessages ? props.fieldErrors : {}
117
134
  }))
@@ -10,6 +10,7 @@ var _withFieldHOC = _interopRequireDefault(require("./withFieldHOC"));
10
10
  var _gridlayout = _interopRequireDefault(require("../gridlayout"));
11
11
  var _fieldset = _interopRequireDefault(require("../fieldset"));
12
12
  var _helpers = require("./helpers");
13
+ var _excluded = ["cols", "label", "bordered", "labelContainerStyle", "skipLabel", "data", "name", "handlerStoreValidators", "component", "handlerFieldChange", "handlerFieldValidade", "changePropName", "fieldErrors", "externalMessagesErrors", "handlerRemoveValidators", "validators", "valuePropName", "originalData"];
13
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
15
  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); }
15
16
  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; }
@@ -23,10 +24,12 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
23
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; }
24
25
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
25
26
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
+ 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; }
28
+ 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; }
26
29
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
30
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
28
31
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
29
- var getDefaultProps = function getDefaultProps(props) {
32
+ var getDefaultProps = function getDefaultProps(props, handleShowValidateMessages) {
30
33
  var _ref;
31
34
  var _props$valuePropName = props.valuePropName,
32
35
  valuePropName = _props$valuePropName === void 0 ? 'value' : _props$valuePropName,
@@ -35,8 +38,14 @@ var getDefaultProps = function getDefaultProps(props) {
35
38
  data = props.data,
36
39
  name = props.name,
37
40
  handlerFieldChange = props.handlerFieldChange,
38
- handlerSelecionados = props.handlerSelecionados;
39
- return _ref = {}, _defineProperty(_ref, valuePropName, _lodash.default.get(data, name)), _defineProperty(_ref, changePropName, function (ids) {
41
+ handlerSelecionados = props.handlerSelecionados,
42
+ _onBlur = props.onBlur;
43
+ return _ref = {
44
+ onBlur: function onBlur(e) {
45
+ if (handleShowValidateMessages) handleShowValidateMessages(true);
46
+ if (_onBlur) _onBlur(e);
47
+ }
48
+ }, _defineProperty(_ref, valuePropName, _lodash.default.get(data, name)), _defineProperty(_ref, changePropName, function (ids) {
40
49
  if (handlerFieldChange) handlerFieldChange({
41
50
  target: {
42
51
  value: ids,
@@ -44,20 +53,16 @@ var getDefaultProps = function getDefaultProps(props) {
44
53
  }
45
54
  });
46
55
  if (handlerSelecionados) handlerSelecionados(ids);
56
+ if (handleShowValidateMessages) handleShowValidateMessages(true);
47
57
  }), _ref;
48
58
  };
49
59
  var getEvents = function getEvents(_ref2) {
50
- var _onBlur = _ref2.onBlur,
51
- _onSelect = _ref2.onSelect,
60
+ var _onBlur2 = _ref2.onBlur,
52
61
  handleShowValidateMessages = _ref2.handleShowValidateMessages;
53
62
  return {
54
63
  onBlur: function onBlur(e) {
55
64
  handleShowValidateMessages(true);
56
- if (_onBlur) _onBlur(e);
57
- },
58
- onSelect: function onSelect(e) {
59
- handleShowValidateMessages(true);
60
- if (_onSelect) _onSelect(e);
65
+ if (_onBlur2) _onBlur2(e);
61
66
  }
62
67
  };
63
68
  };
@@ -66,32 +71,64 @@ var FieldArray = function FieldArray(props) {
66
71
  label = props.label,
67
72
  bordered = props.bordered,
68
73
  labelContainerStyle = props.labelContainerStyle,
69
- skipLabel = props.skipLabel;
74
+ skipLabel = props.skipLabel,
75
+ data = props.data,
76
+ name = props.name,
77
+ handlerStoreValidators = props.handlerStoreValidators,
78
+ Component = props.component,
79
+ handlerFieldChange = props.handlerFieldChange,
80
+ handlerFieldValidade = props.handlerFieldValidade,
81
+ changePropName = props.changePropName,
82
+ fieldErrors = props.fieldErrors,
83
+ externalMessagesErrors = props.externalMessagesErrors,
84
+ handlerRemoveValidators = props.handlerRemoveValidators,
85
+ validators = props.validators,
86
+ valuePropName = props.valuePropName,
87
+ originalData = props.originalData,
88
+ rest = _objectWithoutProperties(props, _excluded);
70
89
  var _useState = (0, _react.useState)(false),
71
90
  _useState2 = _slicedToArray(_useState, 2),
72
91
  showValidateMessages = _useState2[0],
73
92
  setShowValidateMessages = _useState2[1];
93
+ var currentValue = _lodash.default.get(data, name);
94
+ var originalValue = _lodash.default.get(originalData, name);
95
+ var handleShowValidateMessages = function handleShowValidateMessages(value) {
96
+ setShowValidateMessages(value);
97
+ };
98
+ (0, _react.useEffect)(function () {
99
+ if (!_lodash.default.isEqual(currentValue, originalValue) && Array.isArray(currentValue) && currentValue.length > 0) {
100
+ setShowValidateMessages(true);
101
+ } else if (_lodash.default.isEmpty(data) || _lodash.default.every(data, _lodash.default.isEmpty) || _lodash.default.isEqual(currentValue, originalValue)) {
102
+ setShowValidateMessages(false);
103
+ }
104
+ }, [currentValue]);
74
105
  var content = null;
75
- if (props.component) {
106
+ if (Component) {
76
107
  if (!skipLabel && label) {
77
108
  content = /*#__PURE__*/_react.default.createElement(_fieldset.default, {
78
109
  title: label,
79
110
  customClass: "arraycontainer ".concat(bordered && '-bordered'),
80
111
  style: labelContainerStyle,
81
112
  titleCustomClass: "label"
82
- }, /*#__PURE__*/_react.default.createElement(props.component, _extends({}, props, getDefaultProps(props), getEvents(_objectSpread(_objectSpread({}, props), {}, {
113
+ }, /*#__PURE__*/_react.default.createElement(Component, _extends({}, rest, getDefaultProps(props, handleShowValidateMessages), getEvents(_objectSpread(_objectSpread({}, props), {}, {
83
114
  handleShowValidateMessages: function handleShowValidateMessages(value) {
84
115
  return setShowValidateMessages(value);
85
116
  }
86
- })))), (0, _helpers.getErrorMessages)(_objectSpread(_objectSpread({}, props), {}, {
117
+ })), {
118
+ label: label,
119
+ name: name
120
+ })), (0, _helpers.getErrorMessages)(_objectSpread(_objectSpread({}, props), {}, {
87
121
  fieldErrors: showValidateMessages ? props.fieldErrors : {}
88
122
  })));
89
123
  } else {
90
- content = /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(props.component, _extends({}, props, getDefaultProps(props), getEvents(_objectSpread(_objectSpread({}, props), {}, {
124
+ content = /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(Component, _extends({}, rest, getDefaultProps(props, handleShowValidateMessages), getEvents(_objectSpread(_objectSpread({}, props), {}, {
91
125
  handleShowValidateMessages: function handleShowValidateMessages(value) {
92
126
  return setShowValidateMessages(value);
93
127
  }
94
- })))), (0, _helpers.getErrorMessages)(_objectSpread(_objectSpread({}, props), {}, {
128
+ })), {
129
+ label: label,
130
+ name: name
131
+ })), (0, _helpers.getErrorMessages)(_objectSpread(_objectSpread({}, props), {}, {
95
132
  fieldErrors: showValidateMessages ? props.fieldErrors : {}
96
133
  })));
97
134
  }
@@ -52,11 +52,21 @@ var getEventProps = function getEventProps(_ref) {
52
52
  };
53
53
  var FieldMask = function FieldMask(props) {
54
54
  var data = props.data,
55
- name = props.name;
55
+ name = props.name,
56
+ originalData = props.originalData;
57
+ var currentValue = _lodash.default.get(data, name);
56
58
  var _useState = (0, _react.useState)(false),
57
59
  _useState2 = _slicedToArray(_useState, 2),
58
60
  showValidateMessages = _useState2[0],
59
61
  setShowValidateMessages = _useState2[1];
62
+ var originalValue = _lodash.default.get(originalData, name);
63
+ (0, _react.useEffect)(function () {
64
+ if (currentValue && currentValue !== originalValue && !!currentValue) {
65
+ setShowValidateMessages(true);
66
+ } else if (_lodash.default.isEmpty(data) || _lodash.default.every(data, _lodash.default.isEmpty) || currentValue === originalValue) {
67
+ setShowValidateMessages(false);
68
+ }
69
+ }, [currentValue, originalValue]);
60
70
  return /*#__PURE__*/_react.default.createElement(props.component, _extends({}, props, getEventProps(_objectSpread(_objectSpread({}, props), {}, {
61
71
  handleShowValidateMessages: function handleShowValidateMessages(value) {
62
72
  return setShowValidateMessages(value);
@@ -65,7 +75,7 @@ var FieldMask = function FieldMask(props) {
65
75
  errorMessages: (0, _helpers.getErrorMessages)(_objectSpread(_objectSpread({}, props), {}, {
66
76
  fieldErrors: showValidateMessages ? props.fieldErrors : {}
67
77
  })),
68
- value: _lodash.default.get(data, name)
78
+ value: currentValue
69
79
  }));
70
80
  };
71
81
  var _default = (0, _withFieldHOC.default)(FieldMask);
@@ -28,11 +28,21 @@ var FieldPeriod = function FieldPeriod(props) {
28
28
  fieldErrors = props.fieldErrors,
29
29
  externalMessagesErrors = props.externalMessagesErrors,
30
30
  _onChange = props.onChange,
31
- validators = props.validators;
31
+ validators = props.validators,
32
+ originalData = props.originalData;
32
33
  var _useState = (0, _react.useState)(false),
33
34
  _useState2 = _slicedToArray(_useState, 2),
34
35
  showValidateMessages = _useState2[0],
35
36
  setShowValidateMessages = _useState2[1];
37
+ var currentValue = _lodash.default.get(data, nameDateInitial);
38
+ var originalValue = _lodash.default.get(originalData, nameDateInitial);
39
+ (0, _react.useEffect)(function () {
40
+ if (!_lodash.default.isEqual(currentValue, originalValue) && currentValue && (!!currentValue || currentValue === 0 || Array.isArray(currentValue) && currentValue.length > 0)) {
41
+ setShowValidateMessages(true);
42
+ } else if (_lodash.default.isEmpty(data) || _lodash.default.every(data, _lodash.default.isEmpty) || _lodash.default.isEqual(currentValue, originalValue)) {
43
+ setShowValidateMessages(false);
44
+ }
45
+ }, [currentValue]);
36
46
  var errorMessages = (0, _helpers.getErrorMessages)({
37
47
  name: nameDateInitial,
38
48
  fieldErrors: showValidateMessages ? fieldErrors : {},
@@ -10,7 +10,7 @@ import '../@types/Period.js';
10
10
  declare const securityBeforeUnload = "securityBeforeUnload";
11
11
  declare const FormContext: React__default.Context<FormContextProps>;
12
12
  declare const withFieldContext: React__default.Context<IWithFieldContext>;
13
- declare const changeValue: (newData: object, target: HTMLInputElement) => any;
13
+ declare const changeValue: (data: object, target: HTMLInputElement) => any;
14
14
  declare const getErrorMessages: ({ name, fieldErrors, externalFieldErrors, externalMessagesErrors, }: IGetErrorMessagesParams) => string[];
15
15
  declare const getValidatorsArray: (validators?: Validator | Validator[], validatorFromComponent?: Validator | Validator[]) => Validator[];
16
16
 
@@ -19,10 +19,10 @@ var FormContext = /*#__PURE__*/_react.default.createContext({});
19
19
  exports.FormContext = FormContext;
20
20
  var withFieldContext = /*#__PURE__*/_react.default.createContext({});
21
21
  exports.withFieldContext = withFieldContext;
22
- var changeValue = function changeValue(newData, target) {
22
+ var changeValue = function changeValue(data, target) {
23
23
  var name = target.name,
24
24
  value = target.value;
25
- return _lodash.default.set(JSON.parse(JSON.stringify(newData)), name, value);
25
+ return _lodash.default.set(JSON.parse(JSON.stringify(data)), name, value);
26
26
  };
27
27
  exports.changeValue = changeValue;
28
28
  var getErrorMessages = function getErrorMessages(_ref) {
@@ -2,7 +2,7 @@ export { default as Field } from './Field.js';
2
2
  export { default as FieldNumber } from './FieldNumber.js';
3
3
  export { default as FieldArray } from './FieldArray.js';
4
4
  export { default as FieldPeriod } from './FieldPeriod.js';
5
- import { IFormProps } from './types.js';
5
+ import { FormProps } from './types.js';
6
6
  import 'react';
7
7
  import '../inputs/select/types.js';
8
8
  import '../@types/Align.js';
@@ -11,6 +11,6 @@ import '../@types/PermissionAttr.js';
11
11
  import '../inputs/base/types.js';
12
12
  import '../@types/Period.js';
13
13
 
14
- declare const Form: ({ submitOnPressEnterKey, dataSource, securityBeforeUnload, handlerReset, handlerSubmit, handlerValidates, style, customClass, securityTitle, securityText, securityData, onDataChange, onValidateForm, externalFieldErrors, onSubmit, skeletonize, disabled, children, }: IFormProps) => JSX.Element;
14
+ declare const Form: ({ submitOnPressEnterKey, dataSource, securityBeforeUnload, handlerReset, handlerSubmit, handlerValidates, style, customClass, securityTitle, securityText, securityData, onDataChange, onValidateForm, externalFieldErrors, onSubmit, skeletonize, disabled, children, useInternalState, }: FormProps) => JSX.Element;
15
15
 
16
16
  export { Form as default };