linear-react-components-ui 1.0.10-beta.27 → 1.0.10-beta.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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:
@@ -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
+ }
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;
@@ -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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linear-react-components-ui",
3
- "version": "1.0.10-beta.27",
3
+ "version": "1.0.10-beta.28",
4
4
  "description": "Linear Sistemas ReactJs Components",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/index.cjs",