linear-react-components-ui 1.0.10-rc.13 → 1.0.10-rc.14

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.
package/lib/form/index.js CHANGED
@@ -77,7 +77,9 @@ var Form = function Form(_ref) {
77
77
  onSubmit = _ref.onSubmit,
78
78
  skeletonize = _ref.skeletonize,
79
79
  disabled = _ref.disabled,
80
- children = _ref.children;
80
+ children = _ref.children,
81
+ _ref$useInternalState = _ref.useInternalState,
82
+ useInternalState = _ref$useInternalState === void 0 ? false : _ref$useInternalState;
81
83
  var _useState = (0, _react.useState)(dataSource),
82
84
  _useState2 = _slicedToArray(_useState, 2),
83
85
  data = _useState2[0],
@@ -96,6 +98,7 @@ var Form = function Form(_ref) {
96
98
  setFieldErrors = _useState8[1];
97
99
  var fieldsValidators = (0, _react.useRef)({});
98
100
  var context = (0, _react.useContext)(_withFormSecurity.FormSecurityContext);
101
+ var usedData = useInternalState ? data : dataSource;
99
102
  var getValidatesErrorMessages = function getValidatesErrorMessages(validators, fieldValue) {
100
103
  var validatorsArray = !(validators instanceof Array) ? [validators] : validators;
101
104
  var errors = [];
@@ -107,25 +110,38 @@ var Form = function Form(_ref) {
107
110
  });
108
111
  return errors;
109
112
  };
110
- var checkIsValid = function checkIsValid(value) {
111
- var updateState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
112
- var dataValidate = value || data;
113
- var currentFieldErrors = {};
114
- _lodash.default.forEach(fieldsValidators.current, function (validators, fieldName) {
113
+ var getErrorMessages = function getErrorMessages(currentData, currentValidators) {
114
+ var dataValidate = currentData || usedData;
115
+ var currentFieldErrors = _lodash.default.pickBy(fieldErrors, function (error, fieldName) {
116
+ var fieldValidatorsNames = Object.keys(currentValidators);
117
+ return fieldValidatorsNames.includes(fieldName);
118
+ });
119
+ _lodash.default.forEach(currentValidators, function (validators, fieldName) {
115
120
  var fieldValue = _lodash.default.get(dataValidate, fieldName);
116
121
  var messages = getValidatesErrorMessages(validators, fieldValue);
117
- if (messages.length > 0) {
118
- currentFieldErrors = _objectSpread(_objectSpread({}, fieldErrors), {}, _defineProperty({}, fieldName, messages));
119
- }
122
+ currentFieldErrors = _objectSpread(_objectSpread({}, currentFieldErrors), {}, _defineProperty({}, fieldName, messages));
120
123
  });
124
+ return currentFieldErrors;
125
+ };
126
+ var checkIsValid = function checkIsValid(currentData) {
127
+ var updateState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
128
+ var currentValidators = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
129
+ var currentFieldErrors = getErrorMessages(currentData, currentValidators || fieldsValidators.current);
121
130
  if (updateState) setFieldErrors(currentFieldErrors);
122
- return _lodash.default.isEmpty(currentFieldErrors);
131
+ return Object.values(currentFieldErrors).every(function (value) {
132
+ return value.length === 0;
133
+ });
123
134
  };
124
135
  var onFieldChange = function onFieldChange(event) {
125
136
  var target = event.target;
126
- setData(function (prevState) {
127
- return (0, _helpers.changeValue)(prevState, target);
128
- });
137
+ if (!useInternalState && onDataChange) {
138
+ var newData = (0, _helpers.changeValue)(dataSource, target);
139
+ onDataChange(newData);
140
+ } else {
141
+ setData(function (prevState) {
142
+ return (0, _helpers.changeValue)(prevState, target);
143
+ });
144
+ }
129
145
  };
130
146
  var onValidate = function onValidate(fieldName, fieldValue, validators) {
131
147
  if (validators) {
@@ -141,20 +157,24 @@ var Form = function Form(_ref) {
141
157
  };
142
158
  var onFormSubmit = function onFormSubmit(event) {
143
159
  if (event) event.preventDefault();
144
- if (checkIsValid(data)) onSubmit(data);
160
+ if (checkIsValid(usedData)) onSubmit(usedData);
145
161
  };
146
162
  var onReset = function onReset() {
147
- setData(JSON.parse(JSON.stringify(originalData)));
163
+ if (!useInternalState && onDataChange) {
164
+ onDataChange(JSON.parse(JSON.stringify(originalData)));
165
+ } else {
166
+ setData(JSON.parse(JSON.stringify(originalData)));
167
+ }
148
168
  setFieldErrors({});
149
169
  };
150
170
  var onRemoveFieldValidators = function onRemoveFieldValidators(fieldName) {
151
- var newFieldsValidators = _lodash.default.omit(fieldsValidators.current, fieldName);
171
+ var newFieldsValidators = _lodash.default.omit(fieldsValidators, fieldName);
152
172
  fieldsValidators.current = newFieldsValidators;
153
173
  };
154
174
  var onBeforeUnload = function onBeforeUnload(e) {
155
175
  var event = e;
156
176
  event.preventDefault();
157
- if (_lodash.default.isEqual(data, originalData)) {
177
+ if (_lodash.default.isEqual(usedData, originalData)) {
158
178
  return;
159
179
  }
160
180
  event.returnValue = true;
@@ -179,25 +199,32 @@ var Form = function Form(_ref) {
179
199
  }
180
200
  return propsForm;
181
201
  };
182
- (0, _react.useEffect)(function () {
202
+ var updateFormState = function updateFormState() {
183
203
  if (!_lodash.default.isEmpty(context)) {
184
204
  var onChangedData = context.onChangedData;
185
- if (securityData && !_lodash.default.isEqual(data, securityData)) {
205
+ if (securityData && !_lodash.default.isEqual(usedData, securityData)) {
186
206
  onChangedData(true);
187
207
  } else {
188
208
  onChangedData(false);
189
209
  }
190
210
  }
211
+ if (onDataChange) onDataChange(usedData);
191
212
 
192
213
  // TODO - Usar debounce para evitar chamada a cada letra digitada
193
- if (onDataChange) onDataChange(data);
194
- if (onValidateForm) onValidateForm(checkIsValid(data, false));
214
+ if (onValidateForm) onValidateForm(checkIsValid(usedData, true));
195
215
  if (!disabled) {
196
216
  handlerSubmit(onFormSubmit);
197
217
  if (handlerReset) handlerReset(onReset);
198
- if (handlerValidates) handlerValidates(checkIsValid(data));
218
+ if (handlerValidates) handlerValidates(checkIsValid(usedData));
199
219
  }
200
- }, [data]);
220
+ if (_lodash.default.isEmpty(usedData)) setOriginalData(usedData);
221
+ };
222
+ (0, _react.useEffect)(function () {
223
+ if (useInternalState) updateFormState();
224
+ }, [JSON.stringify(data), useInternalState]);
225
+ (0, _react.useEffect)(function () {
226
+ if (!useInternalState && onDataChange) updateFormState();
227
+ }, [JSON.stringify(dataSource), useInternalState]);
201
228
  (0, _react.useEffect)(function () {
202
229
  if (securityBeforeUnload) {
203
230
  if (context) context.setSecurityBeforeUnload(true);
@@ -208,27 +235,33 @@ var Form = function Form(_ref) {
208
235
  };
209
236
  }, [securityBeforeUnload, onBeforeUnload]);
210
237
  (0, _react.useEffect)(function () {
211
- if (!disabled) {
212
- if (submitOnPressEnterKey !== submitFormOnEnter || dataSource !== originalData) {
213
- setData(function (prevState) {
214
- return !_lodash.default.isEqual(data, dataSource) ? dataSource : prevState;
215
- });
216
- setOriginalData(function (prevState) {
217
- return prevState || dataSource;
218
- });
219
- setSubmitFormOnEnter(submitOnPressEnterKey);
220
- }
238
+ if (!disabled && submitOnPressEnterKey !== submitFormOnEnter) {
239
+ setSubmitFormOnEnter(submitOnPressEnterKey);
221
240
  }
222
- }, [submitOnPressEnterKey, dataSource]);
241
+ }, [submitOnPressEnterKey]);
223
242
  var contextValues = {
224
243
  skeletonize: skeletonize,
225
244
  handlerFieldChange: onFieldChange,
226
245
  handlerFieldValidade: onValidate,
227
246
  handlerStoreValidators: function handlerStoreValidators(fieldName, fieldValidates) {
247
+ var oldFieldsValidators = _objectSpread({}, fieldsValidators.current);
228
248
  fieldsValidators.current = _objectSpread(_objectSpread({}, fieldsValidators.current), {}, _defineProperty({}, fieldName, fieldValidates));
249
+ if (onValidateForm && oldFieldsValidators && oldFieldsValidators[fieldName]) {
250
+ var oldValidatorsValue = Object.values(oldFieldsValidators[fieldName]);
251
+ var newValidatorValue = Object.values(fieldValidates);
252
+ var validatorsIsNotEqual = oldValidatorsValue.length !== newValidatorValue.length;
253
+ if (validatorsIsNotEqual) {
254
+ if (!useInternalState && onDataChange) {
255
+ onValidateForm(checkIsValid(dataSource, true, fieldsValidators.current));
256
+ } else {
257
+ onValidateForm(checkIsValid(data, true, fieldsValidators.current));
258
+ }
259
+ }
260
+ }
229
261
  },
230
262
  handlerRemoveValidators: onRemoveFieldValidators,
231
- data: data,
263
+ data: useInternalState ? data : dataSource,
264
+ originalData: originalData,
232
265
  fieldErrors: fieldErrors,
233
266
  externalFieldErrors: externalFieldErrors
234
267
  };
@@ -1,4 +1,4 @@
1
- import { ChangeEvent, ReactNode, CSSProperties, ComponentType, MouseEventHandler } from 'react';
1
+ import { ChangeEvent, ComponentType, MouseEventHandler, ReactNode, CSSProperties } from 'react';
2
2
  import { AllOptions } from '../inputs/select/types.js';
3
3
  import '../@types/Align.js';
4
4
  import '../@types/DataCombo.js';
@@ -17,7 +17,7 @@ type OnFielChangeEvent = Event & {
17
17
  type CustomKeyboardEvent = ChangeEvent<HTMLInputElement> & {
18
18
  keyCode: number;
19
19
  };
20
- interface IFormProps {
20
+ type BaseFormProps = {
21
21
  dataSource: object;
22
22
  children: ReactNode;
23
23
  onSubmit: (data: object) => void;
@@ -28,7 +28,6 @@ interface IFormProps {
28
28
  submitOnPressEnterKey?: boolean;
29
29
  style?: CSSProperties;
30
30
  customClass?: string;
31
- onDataChange?: (data: object) => void;
32
31
  securityBeforeUnload?: boolean;
33
32
  securityTitle?: string;
34
33
  securityText?: string;
@@ -36,10 +35,21 @@ interface IFormProps {
36
35
  externalFieldErrors?: object;
37
36
  skeletonize?: boolean;
38
37
  disabled?: boolean;
39
- }
38
+ };
39
+ type FormProps = BaseFormProps & ({
40
+ useInternalState?: false;
41
+ onDataChange: (data: object) => void;
42
+ } | {
43
+ useInternalState: true;
44
+ onDataChange?: (data: object) => void;
45
+ });
46
+ type Data = {
47
+ [key: string]: any;
48
+ };
40
49
  interface IFieldProps extends WithFieldProps {
41
- data?: object;
42
- dataSource?: object;
50
+ data?: Data;
51
+ originalData?: Data;
52
+ dataSource?: Data;
43
53
  name: string;
44
54
  value?: string;
45
55
  label?: string;
@@ -78,8 +88,9 @@ interface CustomEvent {
78
88
  };
79
89
  }
80
90
  interface IFieldArrayProps extends WithFieldProps {
81
- data?: object;
82
- dataSource?: object;
91
+ data?: Data;
92
+ originalData?: Data;
93
+ dataSource?: Data;
83
94
  name: string;
84
95
  handlerFieldChange?: (event: CustomEvent) => void;
85
96
  fieldErrors?: {
@@ -102,6 +113,8 @@ interface IFieldArrayProps extends WithFieldProps {
102
113
  gridLayout?: string;
103
114
  multiple?: boolean;
104
115
  disabled?: boolean;
116
+ onBlur?: (event: ChangeEvent<HTMLInputElement>) => void;
117
+ handlerFieldValidade?: (name: string, value: string, validatorsArray: Validator[] | Validator) => void;
105
118
  }
106
119
  type PeriodChangeEvent = {
107
120
  initial: string;
@@ -114,7 +127,8 @@ type PeriodFieldChangeEvent = {
114
127
  };
115
128
  };
116
129
  interface IFieldPeriodProps extends WithFieldProps {
117
- data?: object;
130
+ data?: Data;
131
+ originalData?: Data;
118
132
  nameDateInitial: string;
119
133
  nameDateFinal: string;
120
134
  handlerFieldChange?: (event: PeriodFieldChangeEvent) => PeriodFieldChangeEvent;
@@ -133,9 +147,10 @@ interface FormContextProps {
133
147
  skeletonize?: boolean;
134
148
  handlerFieldChange: (event: OnFielChangeEvent) => void;
135
149
  handlerFieldValidade: (name: string, value: string, validatorsArray: Validator[] | Validator) => void;
136
- handlerStoreValidators: (fieldName: string, fieldValidates: object) => void;
150
+ handlerStoreValidators: (fieldName: string, fieldValidates: Validator) => void;
137
151
  handlerRemoveValidators: (fieldName: string) => void;
138
152
  data: object;
153
+ originalData: object;
139
154
  fieldErrors: object;
140
155
  externalFieldErrors?: object;
141
156
  }
@@ -146,6 +161,7 @@ interface WithFieldProps {
146
161
  validators?: Validator | Validator[] | PeriodValidator | PeriodValidator[];
147
162
  }
148
163
  interface IWithFieldContext {
164
+ validatorFromComponent: Validator | Validator[] | undefined;
149
165
  handlerSetValidatorFromComponent: (validator: Validator | Validator[]) => void;
150
166
  }
151
167
  interface IWithFormSecurity {
@@ -171,6 +187,7 @@ interface IEventParams {
171
187
  handlerFieldValidade?: (name: string, value: string, validatorsArray: Validator[] | Validator) => void;
172
188
  handlerFieldChange?: (event: ChangeEvent<HTMLInputElement> | CustomKeyboardEvent) => void;
173
189
  validatorFromComponent?: Validator | Validator[];
190
+ handleShowValidateMessages: (value: boolean) => void;
174
191
  }
175
192
  interface IGetErrorMessagesParams {
176
193
  name: string;
@@ -182,5 +199,11 @@ interface IGetErrorMessagesParams {
182
199
  };
183
200
  externalMessagesErrors?: string[];
184
201
  }
202
+ type FieldErrors = {
203
+ [name: string]: string[];
204
+ };
205
+ type FieldValidator = {
206
+ [name: string]: Validator | Validator[];
207
+ };
185
208
 
186
- export { CustomEvent, CustomKeyboardEvent, FormContextProps, IEventParams, IFieldArrayProps, IFieldPeriodProps, IFieldProps, IFormProps, IFormSecurityContext, IGetErrorMessagesParams, IWithFieldContext, IWithFormSecurity, OnFielChangeEvent, PeriodChangeEvent, PeriodValidator, Validator, WithFieldProps };
209
+ export { CustomEvent, CustomKeyboardEvent, FieldErrors, FieldValidator, FormContextProps, FormProps, IEventParams, IFieldArrayProps, IFieldPeriodProps, IFieldProps, IFormSecurityContext, IGetErrorMessagesParams, IWithFieldContext, IWithFormSecurity, OnFielChangeEvent, PeriodChangeEvent, PeriodValidator, Validator, WithFieldProps };
@@ -40,6 +40,7 @@ var withFieldHOC = function withFieldHOC(WrappedComponent) {
40
40
  updateValidators();
41
41
  }, [validators]);
42
42
  var contextValues = {
43
+ validatorFromComponent: validatorFromComponent,
43
44
  handlerSetValidatorFromComponent: function handlerSetValidatorFromComponent(validator) {
44
45
  setValidatorFromComponent(validator);
45
46
  }
package/lib/hint/index.js CHANGED
@@ -16,10 +16,26 @@ var Hint = function Hint(_ref) {
16
16
  skeletonize = _ref$skeletonize === void 0 ? false : _ref$skeletonize,
17
17
  style = _ref.style;
18
18
  if (!visible || !description) return null;
19
+ var showHintList = function showHintList(arrayHint) {
20
+ return /*#__PURE__*/_react.default.createElement("div", {
21
+ className: "rules-list",
22
+ style: {
23
+ padding: '15px 0px'
24
+ }
25
+ }, /*#__PURE__*/_react.default.createElement("ul", {
26
+ style: {
27
+ listStyleType: 'none'
28
+ }
29
+ }, arrayHint.map(function (hint, index) {
30
+ return /*#__PURE__*/_react.default.createElement("li", {
31
+ key: index.toString()
32
+ }, "- ", hint);
33
+ })));
34
+ };
19
35
  return /*#__PURE__*/_react.default.createElement("div", {
20
36
  style: style,
21
37
  className: "\n hint-component\n ".concat(customClass, "\n ").concat(skeletonize ? '-skeletonized' : '', "\n ")
22
- }, /*#__PURE__*/_react.default.createElement("span", null, description));
38
+ }, Array.isArray(description) ? showHintList(description) : /*#__PURE__*/_react.default.createElement("span", null, description));
23
39
  };
24
40
  var _default = Hint;
25
41
  exports.default = _default;
@@ -1,7 +1,7 @@
1
1
  import { CSSProperties } from 'react';
2
2
 
3
3
  interface HintProps {
4
- description?: string;
4
+ description?: string | string[];
5
5
  visible?: boolean;
6
6
  customClass?: string;
7
7
  skeletonize?: boolean;
@@ -111,6 +111,10 @@ declare const _default: {
111
111
  viewbox: string;
112
112
  paths: string[];
113
113
  };
114
+ file_excel: {
115
+ viewbox: string;
116
+ paths: string[];
117
+ };
114
118
  search: {
115
119
  viewbox: string;
116
120
  paths: string[];
@@ -117,6 +117,10 @@ var _default = {
117
117
  viewbox: '0 0 16 16',
118
118
  paths: ['M11 4h3.627c-0.078-0.126-0.172-0.266-0.286-0.421-0.347-0.473-0.831-1.027-1.362-1.558s-1.085-1.015-1.558-1.362c-0.155-0.114-0.295-0.208-0.421-0.286v3.627z', 'M10.5 5c-0.276 0-0.5-0.224-0.5-0.5v-4.5h-7.75c-0.689 0-1.25 0.561-1.25 1.25v13.5c0 0.689 0.561 1.25 1.25 1.25h11.5c0.689 0 1.25-0.561 1.25-1.25v-9.75h-4.5zM8 15.5l-3.5-3.5h2.5v-5h2v5h2.5l-3.5 3.5z']
119
119
  },
120
+ file_excel: {
121
+ viewbox: '0 0 16 16',
122
+ paths: ['M11.61 6h-2.114l-1.496 2.204-1.496-2.204h-2.114l2.534 3.788-2.859 4.212h3.935v-1.431h-0.784l0.784-1.172 1.741 2.603h2.194l-2.859-4.212 2.534-3.788z', 'M14.341 3.579c-0.347-0.473-0.831-1.027-1.362-1.558s-1.085-1.015-1.558-1.362c-0.806-0.591-1.197-0.659-1.421-0.659h-7.75c-0.689 0-1.25 0.561-1.25 1.25v13.5c0 0.689 0.561 1.25 1.25 1.25h11.5c0.689 0 1.25-0.561 1.25-1.25v-9.75c0-0.224-0.068-0.615-0.659-1.421v0zM12.271 2.729c0.48 0.48 0.856 0.912 1.134 1.271h-2.406v-2.405c0.359 0.278 0.792 0.654 1.271 1.134v0zM14 14.75c0 0.136-0.114 0.25-0.25 0.25h-11.5c-0.135 0-0.25-0.114-0.25-0.25v-13.5c0-0.135 0.115-0.25 0.25-0.25 0 0 7.749-0 7.75 0v3.5c0 0.276 0.224 0.5 0.5 0.5h3.5v9.75z']
123
+ },
120
124
  search: {
121
125
  viewbox: '0 0 16 16',
122
126
  paths: ['M16 13.5l-4.695-4.695c0.444-0.837 0.695-1.792 0.695-2.805 0-3.314-2.686-6-6-6s-6 2.686-6 6 2.686 6 6 6c1.013 0 1.968-0.252 2.805-0.695l4.695 4.695 2.5-2.5zM2 6c0-2.209 1.791-4 4-4s4 1.791 4 4-1.791 4-4 4-4-1.791-4-4z']
@@ -57,7 +57,7 @@ interface IBaseProps {
57
57
  requiredError?: boolean;
58
58
  inputRef?: MutableRefObject<HTMLInputElement | HTMLTextAreaElement | null> | ((ref: HTMLInputElement | HTMLTextAreaElement | null) => void);
59
59
  inputBaseRef?: RefObject<HTMLDivElement> | ((ref: HTMLDivElement) => void);
60
- hint?: string;
60
+ hint?: string | string[];
61
61
  textAlign?: TextAlign;
62
62
  rounded?: boolean;
63
63
  errorMessages?: string[] | undefined;
@@ -29,6 +29,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
29
29
  var CALENDAR_BUTTON_WIDTH = 24;
30
30
  var CALENDAR_MIN_WIDTH = 250;
31
31
  var DatePicker = function DatePicker(props) {
32
+ var _window;
32
33
  var _props$showButtonOpen = props.showButtonOpen,
33
34
  showButtonOpen = _props$showButtonOpen === void 0 ? true : _props$showButtonOpen,
34
35
  _props$openOnFocus = props.openOnFocus,
@@ -223,7 +224,7 @@ var DatePicker = function DatePicker(props) {
223
224
  } else {
224
225
  setFormatedLeftPosition(inputDimensions === null || inputDimensions === void 0 ? void 0 : inputDimensions.left);
225
226
  }
226
- }, [getWrapperComponent]);
227
+ }, [(_window = window) === null || _window === void 0 ? void 0 : _window.innerWidth, inputDimensions]);
227
228
  if (onDenied && onDenied.unvisible) return null;
228
229
  (0, _react.useEffect)(function () {
229
230
  window.addEventListener('resize', onScreenResize);
@@ -13,6 +13,7 @@ require("../../assets/styles/file.scss");
13
13
  var _buttons = _interopRequireDefault(require("../../buttons"));
14
14
  var _icons = _interopRequireDefault(require("../../icons"));
15
15
  var _popover = _interopRequireWildcard(require("../../popover"));
16
+ var helperBase = _interopRequireWildcard(require("../base/helpers"));
16
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18
  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); }
18
19
  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; }
@@ -32,6 +33,10 @@ var DefaultFile = function DefaultFile(props) {
32
33
  onBtnClickRemove = props.onBtnClickRemove,
33
34
  inputRef = props.inputRef,
34
35
  defaultFiles = props.defaultFiles,
36
+ _props$hint = props.hint,
37
+ hint = _props$hint === void 0 ? [] : _props$hint,
38
+ _props$errorMessages = props.errorMessages,
39
+ errorMessages = _props$errorMessages === void 0 ? [] : _props$errorMessages,
35
40
  onChange = props.onChange;
36
41
  var getFilesList = function getFilesList(files) {
37
42
  return !(files !== null && files !== void 0 && files.length) ? [] : _lodash.default.map(files, function (file) {
@@ -78,11 +83,12 @@ var DefaultFile = function DefaultFile(props) {
78
83
  (_e$preventDefault = e.preventDefault) === null || _e$preventDefault === void 0 ? void 0 : _e$preventDefault.call(e);
79
84
  var files = getFilesList(e.target.files);
80
85
  setFileList(files);
81
- onChange === null || onChange === void 0 ? void 0 : onChange(e);
86
+ onChange === null || onChange === void 0 ? void 0 : onChange(files, e);
82
87
  };
83
88
  return /*#__PURE__*/_react.default.createElement("div", {
84
89
  className: "input-simple-file-container"
85
90
  }, /*#__PURE__*/_react.default.createElement(_InputTextBase.default, _extends({}, props, {
91
+ hint: hint,
86
92
  readOnlyClass: "-disabledVisualApply",
87
93
  customClassForInputContent: "-absolute -pointEventDisabled -disabledVisualApply",
88
94
  type: "file",
@@ -96,7 +102,7 @@ var DefaultFile = function DefaultFile(props) {
96
102
  return _onBtnClickInsert();
97
103
  }
98
104
  })
99
- }), popUpDescription(), buttonRemoveFile()));
105
+ }), popUpDescription(), buttonRemoveFile()), errorMessages && helperBase.getErrorMessages(errorMessages));
100
106
  };
101
107
  var _default = DefaultFile;
102
108
  exports.default = _default;
@@ -10,6 +10,8 @@ var _lodash = _interopRequireDefault(require("lodash"));
10
10
  var _buttons = require("../../buttons");
11
11
  var _icons = _interopRequireDefault(require("../../icons"));
12
12
  var _InputTextBase = _interopRequireDefault(require("../base/InputTextBase"));
13
+ var helperBase = _interopRequireWildcard(require("../base/helpers"));
14
+ var _hint = _interopRequireDefault(require("../../hint"));
13
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
16
  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
17
  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; }
@@ -55,8 +57,16 @@ var DragDropFile = function DragDropFile(props) {
55
57
  onDragOver = props.onDragOver,
56
58
  onDragLeave = props.onDragLeave,
57
59
  onDrop = props.onDrop,
60
+ _props$showSubtitle = props.showSubtitle,
61
+ showSubtitle = _props$showSubtitle === void 0 ? true : _props$showSubtitle,
58
62
  _props$multiple = props.multiple,
59
- multiple = _props$multiple === void 0 ? false : _props$multiple;
63
+ multiple = _props$multiple === void 0 ? false : _props$multiple,
64
+ _props$hint = props.hint,
65
+ hint = _props$hint === void 0 ? [] : _props$hint,
66
+ _props$errorMessages = props.errorMessages,
67
+ errorMessages = _props$errorMessages === void 0 ? [] : _props$errorMessages,
68
+ _props$skeletonize = props.skeletonize,
69
+ skeletonize = _props$skeletonize === void 0 ? false : _props$skeletonize;
60
70
  var _useState = (0, _react.useState)(false),
61
71
  _useState2 = _slicedToArray(_useState, 2),
62
72
  dragActive = _useState2[0],
@@ -165,7 +175,7 @@ var DragDropFile = function DragDropFile(props) {
165
175
  return !ids.includes(name, index + 1);
166
176
  });
167
177
  setFileList(filtered);
168
- onChange === null || onChange === void 0 ? void 0 : onChange(e);
178
+ onChange === null || onChange === void 0 ? void 0 : onChange(files, e);
169
179
  onDrop === null || onDrop === void 0 ? void 0 : onDrop(e);
170
180
  }
171
181
  }
@@ -190,7 +200,7 @@ var DragDropFile = function DragDropFile(props) {
190
200
  return !ids.includes(name, index + 1);
191
201
  });
192
202
  setFileList(filesFiltered);
193
- onChange === null || onChange === void 0 ? void 0 : onChange(e);
203
+ onChange === null || onChange === void 0 ? void 0 : onChange(files, e);
194
204
  }
195
205
  };
196
206
  var onButtonClickRemoveAll = function onButtonClickRemoveAll() {
@@ -205,16 +215,19 @@ var DragDropFile = function DragDropFile(props) {
205
215
  };
206
216
  var generateListArray = function generateListArray() {
207
217
  if ((fileList === null || fileList === void 0 ? void 0 : fileList.length) === 1) {
208
- return /*#__PURE__*/_react.default.createElement("div", {
209
- className: "image-preview-solo"
210
- }, (fileList[0].type === 'image/jpeg' || fileList[0].type === 'image/png') && /*#__PURE__*/_react.default.createElement("img", {
218
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, fileList[0].type === 'image/jpeg' || fileList[0].type === 'image/png' ? /*#__PURE__*/_react.default.createElement("img", {
211
219
  alt: fileList[0].name,
212
220
  src: URL.createObjectURL(fileList[0])
213
- }), fileList[0].name && /*#__PURE__*/_react.default.createElement("div", {
221
+ }) : /*#__PURE__*/_react.default.createElement(_icons.default, {
222
+ size: 64,
223
+ name: "file_excel"
224
+ }), /*#__PURE__*/_react.default.createElement("div", {
225
+ className: "image-preview-solo"
226
+ }, /*#__PURE__*/_react.default.createElement("div", {
214
227
  className: "description-file"
215
228
  }, /*#__PURE__*/_react.default.createElement("span", {
216
229
  className: "subtitle"
217
- }, fileList[0].name)));
230
+ }, fileList[0].name))));
218
231
  }
219
232
  return /*#__PURE__*/_react.default.createElement("ul", {
220
233
  className: "file-list"
@@ -253,16 +266,19 @@ var DragDropFile = function DragDropFile(props) {
253
266
  return e.preventDefault();
254
267
  }
255
268
  }, /*#__PURE__*/_react.default.createElement("div", {
256
- className: "drag-content"
269
+ className: "drag-content ".concat(skeletonize ? '-skeletonized' : '')
257
270
  }, /*#__PURE__*/_react.default.createElement("div", {
258
- className: "".concat(message.class, " content")
271
+ className: "".concat(message.class, " ").concat(!skeletonize ? 'content' : '')
259
272
  }, message.error || fileList.length === 0 ? /*#__PURE__*/_react.default.createElement("label", {
260
273
  htmlFor: id
261
274
  }, /*#__PURE__*/_react.default.createElement("h1", {
262
- className: "title"
263
- }, message.text), /*#__PURE__*/_react.default.createElement("p", {
275
+ className: "title",
276
+ style: {
277
+ paddingBottom: '20px'
278
+ }
279
+ }, message.text), showSubtitle && /*#__PURE__*/_react.default.createElement("p", {
264
280
  className: "subtitle"
265
- }, message.subtitle), /*#__PURE__*/_react.default.createElement(_buttons.PrimaryButton, {
281
+ }, message.subtitle), !skeletonize && /*#__PURE__*/_react.default.createElement(_buttons.PrimaryButton, {
266
282
  onClick: onBtnClickInsert,
267
283
  label: labelButton
268
284
  })) : /*#__PURE__*/_react.default.createElement(_react.Fragment, null, generateListArray(), /*#__PURE__*/_react.default.createElement("footer", {
@@ -299,7 +315,11 @@ var DragDropFile = function DragDropFile(props) {
299
315
  onDragLeave: handleDragLeave,
300
316
  onDragOver: handleDragOver,
301
317
  onDrop: handleDrop
302
- })));
318
+ })), errorMessages && helperBase.getErrorMessages(errorMessages), /*#__PURE__*/_react.default.createElement(_hint.default, {
319
+ visible: !!hint,
320
+ customClass: "hint",
321
+ description: hint
322
+ }));
303
323
  };
304
324
  var _default = DragDropFile;
305
325
  exports.default = _default;
@@ -19,7 +19,7 @@ interface IFileProps {
19
19
  required?: boolean;
20
20
  readOnly?: boolean;
21
21
  name?: string;
22
- onChange?: (e?: CustomInputEvent | DragEvent) => void;
22
+ onChange?: (files: File[], e?: CustomInputEvent | DragEvent) => void;
23
23
  size?: Size;
24
24
  accept?: string;
25
25
  labelButton?: string;
@@ -29,6 +29,9 @@ interface IFileProps {
29
29
  onDragOver?: (e?: DragEvent) => void;
30
30
  onDrop?: (e?: DragEvent) => void;
31
31
  onDragLeave?: (e?: DragEvent) => void;
32
+ errorMessages?: string[];
33
+ skeletonize?: boolean;
34
+ showSubtitle?: boolean;
32
35
  }
33
36
  interface IDefaultFileProps extends IFileProps {
34
37
  onBtnClickInsert: () => void;
@@ -45,11 +45,11 @@ var CpfField = function CpfField(props) {
45
45
  return debouncedOnChange.cancel;
46
46
  }, []);
47
47
  var onChange = function onChange(e) {
48
+ // console.log('onChange >>>', props.onChange);
48
49
  if (enableValidation && e) {
49
50
  debouncedOnChange(e.target.value);
50
51
  if (props.onChange) props.onChange(e);
51
- }
52
- if (props.onChange) {
52
+ } else if (props.onChange) {
53
53
  props.onChange(e);
54
54
  }
55
55
  };
@@ -61,10 +61,10 @@ var CpfField = function CpfField(props) {
61
61
  }
62
62
  return {};
63
63
  };
64
- return /*#__PURE__*/_react.default.createElement(_BaseMask.default, _extends({
64
+ return /*#__PURE__*/_react.default.createElement(_BaseMask.default, _extends({}, props, {
65
65
  onChange: onChange,
66
66
  mask: "000.000.000-00"
67
- }, props, getErrorMessagesProp()));
67
+ }, getErrorMessagesProp()));
68
68
  };
69
69
 
70
70
  // Em caso de alteração na propriedade displayName deverá ser atualizada a lógica na função