linear-react-components-ui 1.0.10-rc.8 → 1.0.10

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 (52) 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 +15 -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/number/BaseNumber.js +1 -2
  29. package/lib/inputs/number/format_number.js +1 -1
  30. package/lib/inputs/period/index.js +1 -2
  31. package/lib/inputs/select/simple/index.js +3 -8
  32. package/lib/panel/Content.d.ts +2 -2
  33. package/lib/panel/Content.js +77 -32
  34. package/lib/panel/DangerPanel.d.ts +1 -1
  35. package/lib/panel/Default.d.ts +1 -1
  36. package/lib/panel/Header.d.ts +1 -1
  37. package/lib/panel/InfoPanel.d.ts +1 -1
  38. package/lib/panel/PrimaryPanel.d.ts +1 -1
  39. package/lib/panel/SuccessPanel.d.ts +1 -1
  40. package/lib/panel/ToolBar.d.ts +1 -1
  41. package/lib/panel/WarningPanel.d.ts +1 -1
  42. package/lib/panel/helpers.d.ts +1 -1
  43. package/lib/panel/index.d.ts +1 -1
  44. package/lib/panel/types.d.ts +1 -1
  45. package/lib/shortcuts/index.d.ts +7 -0
  46. package/lib/shortcuts/index.js +27 -0
  47. package/lib/shortcuts/types.d.ts +12 -0
  48. package/lib/shortcuts/types.js +5 -0
  49. package/lib/table/index.d.ts +1 -1
  50. package/lib/table/index.js +54 -32
  51. package/lib/{types-c1e2d0c9.d.ts → types-98a22f0f.d.ts} +1 -0
  52. package/package.json +1 -1
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],
@@ -95,7 +97,12 @@ var Form = function Form(_ref) {
95
97
  fieldErrors = _useState8[0],
96
98
  setFieldErrors = _useState8[1];
97
99
  var fieldsValidators = (0, _react.useRef)({});
100
+ var _useState9 = (0, _react.useState)(0),
101
+ _useState10 = _slicedToArray(_useState9, 2),
102
+ oldFieldsValidatorsQuantity = _useState10[0],
103
+ setOldFieldsValidatorsQuantity = _useState10[1];
98
104
  var context = (0, _react.useContext)(_withFormSecurity.FormSecurityContext);
105
+ var usedData = useInternalState ? data : dataSource;
99
106
  var getValidatesErrorMessages = function getValidatesErrorMessages(validators, fieldValue) {
100
107
  var validatorsArray = !(validators instanceof Array) ? [validators] : validators;
101
108
  var errors = [];
@@ -108,8 +115,11 @@ var Form = function Form(_ref) {
108
115
  return errors;
109
116
  };
110
117
  var getErrorMessages = function getErrorMessages(currentData, currentValidators) {
111
- var dataValidate = currentData || data;
112
- var currentFieldErrors = _objectSpread({}, fieldErrors);
118
+ var dataValidate = currentData || usedData;
119
+ var currentFieldErrors = _lodash.default.pickBy(fieldErrors, function (error, fieldName) {
120
+ var fieldValidatorsNames = Object.keys(currentValidators);
121
+ return fieldValidatorsNames.includes(fieldName);
122
+ });
113
123
  _lodash.default.forEach(currentValidators, function (validators, fieldName) {
114
124
  var fieldValue = _lodash.default.get(dataValidate, fieldName);
115
125
  var messages = getValidatesErrorMessages(validators, fieldValue);
@@ -128,9 +138,14 @@ var Form = function Form(_ref) {
128
138
  };
129
139
  var onFieldChange = function onFieldChange(event) {
130
140
  var target = event.target;
131
- setData(function (prevState) {
132
- return (0, _helpers.changeValue)(prevState, target);
133
- });
141
+ if (!useInternalState && onDataChange) {
142
+ var newData = (0, _helpers.changeValue)(dataSource, target);
143
+ onDataChange(newData);
144
+ } else {
145
+ setData(function (prevState) {
146
+ return (0, _helpers.changeValue)(prevState, target);
147
+ });
148
+ }
134
149
  };
135
150
  var onValidate = function onValidate(fieldName, fieldValue, validators) {
136
151
  if (validators) {
@@ -146,10 +161,14 @@ var Form = function Form(_ref) {
146
161
  };
147
162
  var onFormSubmit = function onFormSubmit(event) {
148
163
  if (event) event.preventDefault();
149
- if (checkIsValid(data)) onSubmit(data);
164
+ if (checkIsValid(usedData)) onSubmit(usedData);
150
165
  };
151
166
  var onReset = function onReset() {
152
- setData(JSON.parse(JSON.stringify(originalData)));
167
+ if (!useInternalState && onDataChange) {
168
+ onDataChange(JSON.parse(JSON.stringify(originalData)));
169
+ } else {
170
+ setData(JSON.parse(JSON.stringify(originalData)));
171
+ }
153
172
  setFieldErrors({});
154
173
  };
155
174
  var onRemoveFieldValidators = function onRemoveFieldValidators(fieldName) {
@@ -159,7 +178,7 @@ var Form = function Form(_ref) {
159
178
  var onBeforeUnload = function onBeforeUnload(e) {
160
179
  var event = e;
161
180
  event.preventDefault();
162
- if (_lodash.default.isEqual(data, originalData)) {
181
+ if (_lodash.default.isEqual(usedData, originalData)) {
163
182
  return;
164
183
  }
165
184
  event.returnValue = true;
@@ -184,25 +203,34 @@ var Form = function Form(_ref) {
184
203
  }
185
204
  return propsForm;
186
205
  };
187
- (0, _react.useEffect)(function () {
206
+ var updateFormState = function updateFormState() {
188
207
  if (!_lodash.default.isEmpty(context)) {
189
208
  var onChangedData = context.onChangedData;
190
- if (securityData && !_lodash.default.isEqual(data, securityData)) {
209
+ if (securityData && !_lodash.default.isEqual(usedData, securityData)) {
191
210
  onChangedData(true);
192
211
  } else {
193
212
  onChangedData(false);
194
213
  }
195
214
  }
215
+ if (onDataChange) onDataChange(usedData);
196
216
 
197
217
  // TODO - Usar debounce para evitar chamada a cada letra digitada
198
- if (onDataChange) onDataChange(data);
199
- if (onValidateForm) onValidateForm(checkIsValid(data, true));
218
+ if (onValidateForm) onValidateForm(checkIsValid(usedData, true));
200
219
  if (!disabled) {
201
220
  handlerSubmit(onFormSubmit);
202
221
  if (handlerReset) handlerReset(onReset);
203
- if (handlerValidates) handlerValidates(checkIsValid(data));
222
+ if (handlerValidates) handlerValidates(function () {
223
+ return checkIsValid(usedData);
224
+ });
204
225
  }
205
- }, [data]);
226
+ if (_lodash.default.isEmpty(usedData)) setOriginalData(usedData);
227
+ };
228
+ (0, _react.useEffect)(function () {
229
+ if (useInternalState) updateFormState();
230
+ }, [JSON.stringify(data), useInternalState]);
231
+ (0, _react.useEffect)(function () {
232
+ if (!useInternalState && onDataChange) updateFormState();
233
+ }, [JSON.stringify(dataSource), useInternalState]);
206
234
  (0, _react.useEffect)(function () {
207
235
  if (securityBeforeUnload) {
208
236
  if (context) context.setSecurityBeforeUnload(true);
@@ -213,36 +241,29 @@ var Form = function Form(_ref) {
213
241
  };
214
242
  }, [securityBeforeUnload, onBeforeUnload]);
215
243
  (0, _react.useEffect)(function () {
216
- if (!disabled) {
217
- if (submitOnPressEnterKey !== submitFormOnEnter || dataSource !== originalData) {
218
- setData(function (prevState) {
219
- return !_lodash.default.isEqual(data, dataSource) ? dataSource : prevState;
220
- });
221
- setOriginalData(function (prevState) {
222
- return prevState || dataSource;
223
- });
224
- setSubmitFormOnEnter(submitOnPressEnterKey);
225
- }
244
+ if (!disabled && submitOnPressEnterKey !== submitFormOnEnter) {
245
+ setSubmitFormOnEnter(submitOnPressEnterKey);
226
246
  }
227
- }, [submitOnPressEnterKey, dataSource]);
247
+ }, [submitOnPressEnterKey]);
248
+ (0, _react.useEffect)(function () {
249
+ var newValidatorsQuantity = Object.values(fieldsValidators.current).reduce(function (acc, currentValue) {
250
+ return acc + ((currentValue === null || currentValue === void 0 ? void 0 : currentValue.length) || 0);
251
+ }, 0);
252
+ if (fieldsValidators.current && onValidateForm && oldFieldsValidatorsQuantity !== newValidatorsQuantity) {
253
+ setOldFieldsValidatorsQuantity(newValidatorsQuantity);
254
+ onValidateForm(checkIsValid(usedData, true, fieldsValidators.current));
255
+ }
256
+ }, [fieldsValidators.current, oldFieldsValidatorsQuantity, onValidateForm, JSON.stringify(usedData)]);
228
257
  var contextValues = {
229
258
  skeletonize: skeletonize,
230
259
  handlerFieldChange: onFieldChange,
231
260
  handlerFieldValidade: onValidate,
232
261
  handlerStoreValidators: function handlerStoreValidators(fieldName, fieldValidates) {
233
- var oldFieldsValidators = _objectSpread({}, fieldsValidators.current);
234
262
  fieldsValidators.current = _objectSpread(_objectSpread({}, fieldsValidators.current), {}, _defineProperty({}, fieldName, fieldValidates));
235
- if (onValidateForm && oldFieldsValidators && oldFieldsValidators[fieldName]) {
236
- var oldValidatorsValue = Object.values(oldFieldsValidators[fieldName]);
237
- var newValidatorValue = Object.values(fieldValidates);
238
- var validatorsIsNotEqual = oldValidatorsValue.length !== newValidatorValue.length;
239
- if (validatorsIsNotEqual) {
240
- onValidateForm(checkIsValid(data, true, fieldsValidators.current));
241
- }
242
- }
243
263
  },
244
264
  handlerRemoveValidators: onRemoveFieldValidators,
245
- data: data,
265
+ data: useInternalState ? data : dataSource,
266
+ originalData: originalData,
246
267
  fieldErrors: fieldErrors,
247
268
  externalFieldErrors: externalFieldErrors
248
269
  };
@@ -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;
@@ -136,16 +150,19 @@ interface FormContextProps {
136
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
  }
142
157
  interface WithFieldProps {
143
158
  name: string;
159
+ data?: Data;
144
160
  handlerStoreValidators?: (name: string, validators: Validator | Validator[]) => void;
145
161
  handlerRemoveValidators?: (name: string) => void;
146
162
  validators?: Validator | Validator[] | PeriodValidator | PeriodValidator[];
147
163
  }
148
164
  interface IWithFieldContext {
165
+ validatorFromComponent: Validator | Validator[] | undefined;
149
166
  handlerSetValidatorFromComponent: (validator: Validator | Validator[]) => void;
150
167
  }
151
168
  interface IWithFormSecurity {
@@ -190,4 +207,4 @@ type FieldValidator = {
190
207
  [name: string]: Validator | Validator[];
191
208
  };
192
209
 
193
- export { CustomEvent, CustomKeyboardEvent, FieldErrors, FieldValidator, FormContextProps, IEventParams, IFieldArrayProps, IFieldPeriodProps, IFieldProps, IFormProps, IFormSecurityContext, IGetErrorMessagesParams, IWithFieldContext, IWithFormSecurity, OnFielChangeEvent, PeriodChangeEvent, PeriodValidator, Validator, WithFieldProps };
210
+ 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[];
@@ -579,6 +583,14 @@ declare const _default: {
579
583
  viewbox: string;
580
584
  paths: string[];
581
585
  };
586
+ keyboard: {
587
+ viewbox: string;
588
+ paths: string[];
589
+ };
590
+ download: {
591
+ viewbox: string;
592
+ paths: string[];
593
+ };
582
594
  };
583
595
 
584
596
  export { _default as default };
@@ -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']
@@ -584,6 +588,14 @@ var _default = {
584
588
  select2: {
585
589
  viewbox: '0 0 16 16',
586
590
  paths: ['M13.002 14.658v0l-2.16-4.329 4.278-0.74-10.119-7.589v12.649l3.158-2.978 2.16 4.329z', 'M1 10.5v-9c0-0.271 0.229-0.5 0.5-0.5h11c0.271 0 0.5 0.229 0.5 0.5v4l1 0.75v-4.75c0-0.825-0.675-1.5-1.5-1.5h-11c-0.825 0-1.5 0.675-1.5 1.5v9c0 0.825 0.675 1.5 1.5 1.5h1.5v-1h-1.5c-0.271 0-0.5-0.229-0.5-0.5z']
591
+ },
592
+ keyboard: {
593
+ viewbox: '0 0 16 16',
594
+ paths: ['M14 4h-13c-0.55 0-1 0.45-1 1v7c0 0.55 0.45 1 1 1h13c0.55 0 1-0.45 1-1v-7c0-0.55-0.45-1-1-1zM14 11.998c-0.001 0.001-0.001 0.001-0.002 0.002h-12.996c-0.001-0.001-0.001-0.001-0.002-0.002v-6.996c0.001-0.001 0.001-0.001 0.002-0.002h12.996c0.001 0.001 0.001 0.001 0.002 0.002v6.996zM4 10h7v1h-7zM11 8h1v1h-1zM9 8h1v1h-1zM7 8h1v1h-1zM5 8h1v1h-1zM3 8h1v1h-1zM10 6h1v1h-1zM12 6h1v1h-1zM8 6h1v1h-1zM6 6h1v1h-1zM4 6h1v1h-1zM2 6h1v1h-1z']
595
+ },
596
+ download: {
597
+ viewbox: '0 0 16 16',
598
+ paths: ['M12.5 6h-3.5v-4h-2v4h-3.5l4.5 4zM11.611 8.322l-0.525 0.462c1.746 0.35 2.914 0.987 2.914 1.716 0 1.105-2.686 2-6 2s-6-0.895-6-2c0-0.728 1.168-1.366 2.914-1.716l-0.525-0.462c-2.604 0.495-4.389 1.508-4.389 2.678 0 1.657 3.582 3 8 3s8-1.343 8-3c0-1.17-1.785-2.183-4.389-2.678z']
587
599
  }
588
600
  };
589
601
  exports.default = _default;
package/lib/index.d.ts CHANGED
@@ -7,7 +7,7 @@ export { default as List } from './list/index.js';
7
7
  export { default as Radio } from './radio/index.js';
8
8
  export { default as Tab } from './tabs/index.js';
9
9
  export { default as Dialog } from './dialog/base/index.js';
10
- import './types-c1e2d0c9.js';
10
+ import './types-98a22f0f.js';
11
11
  import 'react';
12
12
  import './@types/PermissionAttr.js';
13
13
  import './internals/colorStyles.js';
@@ -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