siam-ui-utils 2.1.9 → 2.1.11
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/eslint.config.js +36 -23
- package/index.d.ts +73 -14
- package/index.html +3 -3
- package/package.json +13 -30
- package/src/App.css +47 -0
- package/src/App.jsx +82 -39
- package/src/CustomSelectInput.jsx +1 -1
- package/src/IntlMessages.jsx +7 -6
- package/src/archivos-adjuntos/dropzone-uploader-dni-digital/index.jsx +152 -0
- package/src/{dropzone-uploader → archivos-adjuntos}/index.jsx +57 -63
- package/src/archivos-adjuntos/simple-line-icons.css +778 -0
- package/src/assets/css/sass/_gogo.style.scss +9012 -0
- package/src/assets/css/sass/_mixins.scss +118 -0
- package/src/assets/css/sass/_plugins.scss +1 -0
- package/src/assets/css/sass/ampf_style.scss +182 -0
- package/src/assets/css/sass/main.scss +11 -0
- package/src/assets/css/sass/plugins/react-table.scss +311 -0
- package/src/assets/css/sass/themes/gogo.light.redruby.scss +40 -0
- package/src/bridges/index.js +1 -0
- package/src/bridges/{index.jsx → with-router-bridge.jsx} +2 -0
- package/src/constants.js +0 -9
- package/src/iconos/icon-button-svg.jsx +2 -1
- package/src/iconos/index.js +2 -3
- package/src/iconos/styled-icon.jsx +1 -1
- package/src/index.css +74 -0
- package/src/index.js +7 -8
- package/src/main.jsx +6 -6
- package/src/tomar-foto/index.jsx +66 -63
- package/src/video-call-room/index.jsx +10 -0
- package/tsconfig.json +24 -25
- package/vite.config.ts +19 -10
- package/.eslintrc +0 -73
- package/.eslintrc.mjs +0 -53
- package/.prettierrc.js +0 -5
- package/.storybook/main.ts +0 -17
- package/.storybook/preview.ts +0 -16
- package/src/dropzone-uploader/DropzoneUploader.stories.tsx +0 -34
- package/src/tomar-foto/TomarFoto.stories.tsx +0 -29
- /package/src/{dropzone-uploader → archivos-adjuntos}/dropzone-uploader.css +0 -0
- /package/{.storybook/css → src/assets/css/vendor}/bootstrap.min.css +0 -0
- /package/{.storybook/css → src/assets/css/vendor}/bootstrap.rtl.only.min.css +0 -0
- /package/src/{constants-svg.js → iconos/constants-svg.js} +0 -0
|
@@ -1,22 +1,13 @@
|
|
|
1
|
+
/* eslint-disable react/prop-types */
|
|
1
2
|
import React, { useEffect, useState } from 'react';
|
|
2
3
|
import { getDroppedOrSelectedFiles } from 'html5-file-selector';
|
|
3
4
|
import Dropzone from 'react-dropzone-uploader';
|
|
4
|
-
import { NotificationManager } from 'react-notifications';
|
|
5
5
|
import 'react-dropzone-uploader/dist/styles.css';
|
|
6
|
-
import IconButtonSvg from '../iconos
|
|
7
|
-
import { pdfImage } from '../constants-svg';
|
|
6
|
+
import { IconButtonSvg, pdfImage } from '../iconos';
|
|
8
7
|
import './dropzone-uploader.css';
|
|
8
|
+
import './simple-line-icons.css';
|
|
9
9
|
|
|
10
|
-
const maxSize = 7;
|
|
11
|
-
|
|
12
|
-
const getFilesFromEvent = (e) => {
|
|
13
|
-
return new Promise((resolve) => {
|
|
14
|
-
getDroppedOrSelectedFiles(e).then((chosenFiles) => {
|
|
15
|
-
resolve(chosenFiles.map((f) => f.fileObject));
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
|
|
10
|
+
const maxSize = 7;
|
|
20
11
|
export const DropzoneUploader = ({
|
|
21
12
|
onChangeFiles,
|
|
22
13
|
totalFiles,
|
|
@@ -24,42 +15,43 @@ export const DropzoneUploader = ({
|
|
|
24
15
|
accept = 'image/*, application/pdf',
|
|
25
16
|
capture = null,
|
|
26
17
|
nameFileLabel = 'Subir archivos',
|
|
18
|
+
classNames = '',
|
|
27
19
|
maxFileSize = maxSize,
|
|
20
|
+
onMaxFileSizeError = () => {
|
|
21
|
+
alert('El archivo supera el tamaño máximo');
|
|
22
|
+
},
|
|
28
23
|
}) => {
|
|
29
24
|
const [files, setFiles] = useState([]);
|
|
30
25
|
const [totalFilesDU, setTotalFilesDU] = useState(totalFiles);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
26
|
+
const handleChangeStatus = ({ file }, status) => {
|
|
27
|
+
if (status == 'done') {
|
|
28
|
+
const filesTemp = files;
|
|
29
|
+
filesTemp.push(file);
|
|
30
|
+
setFiles(filesTemp);
|
|
31
|
+
onChangeFiles(files);
|
|
32
|
+
setTotalFilesDU(files.length);
|
|
33
|
+
} else if (status == 'removed') {
|
|
34
|
+
const filesTemp = files;
|
|
35
|
+
const index = files.indexOf(file);
|
|
36
|
+
if (index > -1) {
|
|
37
|
+
filesTemp.splice(index, 1);
|
|
38
|
+
}
|
|
39
|
+
setFiles(filesTemp);
|
|
40
|
+
onChangeFiles(files);
|
|
41
|
+
setTotalFilesDU(files.length);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
const getFilesFromEvent = (e) => {
|
|
45
|
+
return new Promise((resolve) => {
|
|
46
|
+
getDroppedOrSelectedFiles(e).then((chosenFiles) => {
|
|
47
|
+
resolve(chosenFiles.map((f) => f.fileObject));
|
|
48
|
+
});
|
|
49
|
+
});
|
|
54
50
|
};
|
|
55
|
-
|
|
56
51
|
const CustomPreview = ({ fileWithMeta }) => {
|
|
57
52
|
const { meta, remove } = fileWithMeta;
|
|
58
53
|
if (meta.size / (1024 * 1024) > maxFileSize) {
|
|
59
|
-
|
|
60
|
-
'El archivo supera el tamaño máximo',
|
|
61
|
-
'Advertencia',
|
|
62
|
-
);
|
|
54
|
+
onMaxFileSizeError();
|
|
63
55
|
remove();
|
|
64
56
|
}
|
|
65
57
|
return (
|
|
@@ -103,31 +95,35 @@ export const DropzoneUploader = ({
|
|
|
103
95
|
);
|
|
104
96
|
};
|
|
105
97
|
|
|
106
|
-
const
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
98
|
+
const Input = ({ accept, onFiles, getFilesFromEvent }) => {
|
|
99
|
+
const text =
|
|
100
|
+
totalFilesDU > 0
|
|
101
|
+
? `${maxFiles - totalFilesDU} archivo/s más`
|
|
102
|
+
: nameFileLabel;
|
|
103
|
+
return (
|
|
104
|
+
<label className="dropzone-upload-button">
|
|
105
|
+
{text}
|
|
106
|
+
<input
|
|
107
|
+
style={{ display: 'none' }}
|
|
108
|
+
type="file"
|
|
109
|
+
accept={accept}
|
|
110
|
+
capture={capture}
|
|
111
|
+
multiple
|
|
112
|
+
onChange={(e) => {
|
|
113
|
+
getFilesFromEvent(e).then((chosenFiles) => {
|
|
114
|
+
onFiles(chosenFiles);
|
|
115
|
+
});
|
|
116
|
+
}}
|
|
117
|
+
/>
|
|
118
|
+
</label>
|
|
119
|
+
);
|
|
123
120
|
};
|
|
124
|
-
|
|
125
121
|
useEffect(() => {
|
|
126
122
|
setTotalFilesDU(totalFiles);
|
|
127
123
|
}, [totalFiles]);
|
|
128
124
|
|
|
129
125
|
return (
|
|
130
|
-
|
|
126
|
+
<div className={`${classNames}`}>
|
|
131
127
|
<Dropzone
|
|
132
128
|
disableUpload={false}
|
|
133
129
|
maxFiles={totalFilesDU < maxFiles ? maxFiles : 0}
|
|
@@ -139,8 +135,6 @@ export const DropzoneUploader = ({
|
|
|
139
135
|
getFilesFromEvent={getFilesFromEvent}
|
|
140
136
|
accept={accept}
|
|
141
137
|
/>
|
|
142
|
-
|
|
138
|
+
</div>
|
|
143
139
|
);
|
|
144
140
|
};
|
|
145
|
-
|
|
146
|
-
export default DropzoneUploader;
|