dynamic-modal 1.0.5 → 1.0.6
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/dist/components/input-upload/input-upload.js +86 -84
- package/dist/components/make-upload/make-upload.js +26 -26
- package/dist/interfaces/input-upload.d.ts +33 -32
- package/dist/interfaces/make-upload.d.ts +12 -11
- package/package.json +1 -1
- package/src/components/input-upload/input-upload.tsx +2 -1
- package/src/components/make-upload/make-upload.tsx +1 -0
- package/src/interfaces/input-upload.ts +1 -0
- package/src/interfaces/make-upload.ts +1 -0
|
@@ -1,84 +1,86 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
26
|
-
var t = {};
|
|
27
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
28
|
-
t[p] = s[p];
|
|
29
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
30
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
31
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
32
|
-
t[p[i]] = s[p[i]];
|
|
33
|
-
}
|
|
34
|
-
return t;
|
|
35
|
-
};
|
|
36
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
-
const react_1 = __importStar(require("react"));
|
|
38
|
-
const general_1 = require("../../tools/general");
|
|
39
|
-
const InputUpload = (_a) => {
|
|
40
|
-
var _b;
|
|
41
|
-
var { onChange } = _a, props = __rest(_a, ["onChange"]);
|
|
42
|
-
const onChangeHandler = (event) => {
|
|
43
|
-
if (props.read && event.target.files) {
|
|
44
|
-
readFileBlob(event.target.files[0], false)
|
|
45
|
-
.then((result) => onChange(result))
|
|
46
|
-
.catch((err) => {
|
|
47
|
-
console.error('file read error', err);
|
|
48
|
-
onChange({ name: '', size: 0, data: '' });
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
onChange(event.target.files);
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
const readFileBlob = (blob, image) => {
|
|
56
|
-
return new Promise((resolve, reject) => {
|
|
57
|
-
const fileReader = new FileReader();
|
|
58
|
-
if (image)
|
|
59
|
-
fileReader.readAsDataURL(blob);
|
|
60
|
-
else
|
|
61
|
-
fileReader.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
react_1.default.createElement("
|
|
83
|
-
}
|
|
84
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
26
|
+
var t = {};
|
|
27
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
28
|
+
t[p] = s[p];
|
|
29
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
30
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
31
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
32
|
+
t[p[i]] = s[p[i]];
|
|
33
|
+
}
|
|
34
|
+
return t;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
const react_1 = __importStar(require("react"));
|
|
38
|
+
const general_1 = require("../../tools/general");
|
|
39
|
+
const InputUpload = (_a) => {
|
|
40
|
+
var _b;
|
|
41
|
+
var { onChange, readAsArrayBuffer } = _a, props = __rest(_a, ["onChange", "readAsArrayBuffer"]);
|
|
42
|
+
const onChangeHandler = (event) => {
|
|
43
|
+
if (props.read && event.target.files) {
|
|
44
|
+
readFileBlob(event.target.files[0], false)
|
|
45
|
+
.then((result) => onChange(result))
|
|
46
|
+
.catch((err) => {
|
|
47
|
+
console.error('file read error', err);
|
|
48
|
+
onChange({ name: '', size: 0, data: '' });
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
onChange(event.target.files);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const readFileBlob = (blob, image) => {
|
|
56
|
+
return new Promise((resolve, reject) => {
|
|
57
|
+
const fileReader = new FileReader();
|
|
58
|
+
if (image)
|
|
59
|
+
fileReader.readAsDataURL(blob);
|
|
60
|
+
else if (readAsArrayBuffer)
|
|
61
|
+
fileReader.readAsArrayBuffer(blob);
|
|
62
|
+
else
|
|
63
|
+
fileReader.readAsText(blob);
|
|
64
|
+
fileReader.onload = () => {
|
|
65
|
+
const fileResult = {
|
|
66
|
+
name: blob.name,
|
|
67
|
+
size: blob.size,
|
|
68
|
+
data: fileReader.result
|
|
69
|
+
};
|
|
70
|
+
resolve(fileResult);
|
|
71
|
+
};
|
|
72
|
+
fileReader.onerror = (error) => {
|
|
73
|
+
reject(error);
|
|
74
|
+
};
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
const elementId = (0, react_1.useMemo)(() => {
|
|
78
|
+
var _a;
|
|
79
|
+
return (_a = props.id) !== null && _a !== void 0 ? _a : (0, general_1.generateId)();
|
|
80
|
+
}, [props.id]);
|
|
81
|
+
return (react_1.default.createElement("div", { className: 'flex flex-col w-full gap-1 text-center' },
|
|
82
|
+
props.label && react_1.default.createElement("label", { className: "block mb-2 text-sm font-medium text-gray-900 dark:text-white", htmlFor: `file-input-${elementId}` }, props.label),
|
|
83
|
+
react_1.default.createElement("input", Object.assign({ className: "file:transition-all file:delay-150 block w-full text-sm text-slate-500\r\n file:mr-4 file:py-2 file:px-4 file:rounded-md\r\n file:border-0 file:text-sm file:font-semibold\r\n file:bg-gray-100 file:text-blue-600\r\n hover:file:bg-blue-700 hover:file:text-white cursor-pointer disabled:cursor-not-allowed", "aria-describedby": `file-input-${elementId}-help`, id: `file-input-${elementId}`, type: "file", onChange: onChangeHandler }, props)),
|
|
84
|
+
react_1.default.createElement("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-300 text-start", id: `file-input-${elementId}-help` }, (_b = props.helpText) === null || _b === void 0 ? void 0 : _b.toUpperCase())));
|
|
85
|
+
};
|
|
86
|
+
exports.default = InputUpload;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const react_1 = __importDefault(require("react"));
|
|
7
|
-
const react_hook_form_1 = require("react-hook-form");
|
|
8
|
-
const input_upload_1 = __importDefault(require("../input-upload/input-upload"));
|
|
9
|
-
const field_render_1 = require("../../hooks/field-render");
|
|
10
|
-
const MakeUpload = (props) => {
|
|
11
|
-
var _a, _b;
|
|
12
|
-
const { render, enable } = (0, field_render_1.useFieldRender)(props);
|
|
13
|
-
return (render
|
|
14
|
-
? react_1.default.createElement(react_hook_form_1.Controller, { control: props.control, name: props.element.name, rules: {
|
|
15
|
-
required: props.element.validation.required,
|
|
16
|
-
pattern: {
|
|
17
|
-
value: (_a = props.element.validation.regex) !== null && _a !== void 0 ? _a : /(.*)/,
|
|
18
|
-
message: (_b = props.element.validation.message) !== null && _b !== void 0 ? _b : ''
|
|
19
|
-
}
|
|
20
|
-
}, render: ({ field: { onChange } }) => {
|
|
21
|
-
var _a;
|
|
22
|
-
return (react_1.default.createElement(input_upload_1.default, { id: props.element.id, name: props.element.name, disabled: (_a = props.element.disabled) !== null && _a !== void 0 ? _a : !enable, onChange: onChange, label: props.element.label, helpText: props.element.helpText, style: props.element.styles, accept: props.element.accept, read: props.element.read }));
|
|
23
|
-
} })
|
|
24
|
-
: null);
|
|
25
|
-
};
|
|
26
|
-
exports.default = MakeUpload;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const react_1 = __importDefault(require("react"));
|
|
7
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
8
|
+
const input_upload_1 = __importDefault(require("../input-upload/input-upload"));
|
|
9
|
+
const field_render_1 = require("../../hooks/field-render");
|
|
10
|
+
const MakeUpload = (props) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const { render, enable } = (0, field_render_1.useFieldRender)(props);
|
|
13
|
+
return (render
|
|
14
|
+
? react_1.default.createElement(react_hook_form_1.Controller, { control: props.control, name: props.element.name, rules: {
|
|
15
|
+
required: props.element.validation.required,
|
|
16
|
+
pattern: {
|
|
17
|
+
value: (_a = props.element.validation.regex) !== null && _a !== void 0 ? _a : /(.*)/,
|
|
18
|
+
message: (_b = props.element.validation.message) !== null && _b !== void 0 ? _b : ''
|
|
19
|
+
}
|
|
20
|
+
}, render: ({ field: { onChange } }) => {
|
|
21
|
+
var _a;
|
|
22
|
+
return (react_1.default.createElement(input_upload_1.default, { id: props.element.id, name: props.element.name, disabled: (_a = props.element.disabled) !== null && _a !== void 0 ? _a : !enable, onChange: onChange, label: props.element.label, helpText: props.element.helpText, style: props.element.styles, accept: props.element.accept, read: props.element.read, readAsArrayBuffer: props.element.readAsArrayBuffer }));
|
|
23
|
+
} })
|
|
24
|
+
: null);
|
|
25
|
+
};
|
|
26
|
+
exports.default = MakeUpload;
|
|
@@ -1,32 +1,33 @@
|
|
|
1
|
-
import { ChangeEvent, CSSProperties } from 'react';
|
|
2
|
-
export interface IFileResult {
|
|
3
|
-
name: string;
|
|
4
|
-
size: number;
|
|
5
|
-
data: string;
|
|
6
|
-
}
|
|
7
|
-
export interface IFile {
|
|
8
|
-
data?: string;
|
|
9
|
-
name: string;
|
|
10
|
-
size: number;
|
|
11
|
-
}
|
|
12
|
-
export interface IInputState {
|
|
13
|
-
state: boolean;
|
|
14
|
-
file: IFile;
|
|
15
|
-
}
|
|
16
|
-
export interface IInputStorage {
|
|
17
|
-
setData: (file: IInputState) => void;
|
|
18
|
-
clearFuntion: () => void;
|
|
19
|
-
}
|
|
20
|
-
export interface IInputUpload {
|
|
21
|
-
id?: string;
|
|
22
|
-
value?: string;
|
|
23
|
-
onChange: (event: ChangeEvent<HTMLInputElement> | IFileResult | FileList | null) => void;
|
|
24
|
-
accept?: string;
|
|
25
|
-
label?: string;
|
|
26
|
-
helpText?: string;
|
|
27
|
-
clearfunction?: () => void;
|
|
28
|
-
style?: CSSProperties;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import { ChangeEvent, CSSProperties } from 'react';
|
|
2
|
+
export interface IFileResult {
|
|
3
|
+
name: string;
|
|
4
|
+
size: number;
|
|
5
|
+
data: string;
|
|
6
|
+
}
|
|
7
|
+
export interface IFile {
|
|
8
|
+
data?: string;
|
|
9
|
+
name: string;
|
|
10
|
+
size: number;
|
|
11
|
+
}
|
|
12
|
+
export interface IInputState {
|
|
13
|
+
state: boolean;
|
|
14
|
+
file: IFile;
|
|
15
|
+
}
|
|
16
|
+
export interface IInputStorage {
|
|
17
|
+
setData: (file: IInputState) => void;
|
|
18
|
+
clearFuntion: () => void;
|
|
19
|
+
}
|
|
20
|
+
export interface IInputUpload {
|
|
21
|
+
id?: string;
|
|
22
|
+
value?: string;
|
|
23
|
+
onChange: (event: ChangeEvent<HTMLInputElement> | IFileResult | FileList | null) => void;
|
|
24
|
+
accept?: string;
|
|
25
|
+
label?: string;
|
|
26
|
+
helpText?: string;
|
|
27
|
+
clearfunction?: () => void;
|
|
28
|
+
style?: CSSProperties;
|
|
29
|
+
readAsArrayBuffer?: boolean;
|
|
30
|
+
name: string;
|
|
31
|
+
disabled?: boolean;
|
|
32
|
+
read?: boolean;
|
|
33
|
+
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { IField, IFieldProps } from './field';
|
|
2
|
-
export interface IMakeUpload extends Omit<IField, 'defaultValue'> {
|
|
3
|
-
elementType: 'upload';
|
|
4
|
-
helpText?: string;
|
|
5
|
-
read: boolean;
|
|
6
|
-
image?: boolean;
|
|
7
|
-
accept?: string;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { IField, IFieldProps } from './field';
|
|
2
|
+
export interface IMakeUpload extends Omit<IField, 'defaultValue'> {
|
|
3
|
+
elementType: 'upload';
|
|
4
|
+
helpText?: string;
|
|
5
|
+
read: boolean;
|
|
6
|
+
image?: boolean;
|
|
7
|
+
accept?: string;
|
|
8
|
+
readAsArrayBuffer?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface IMakeUploadProps extends IFieldProps {
|
|
11
|
+
element: IMakeUpload;
|
|
12
|
+
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@ import React, { ChangeEvent, FC, useMemo } from 'react'
|
|
|
2
2
|
import { IFileResult, IInputUpload } from '../../interfaces/input-upload'
|
|
3
3
|
import { generateId } from '../../tools/general'
|
|
4
4
|
|
|
5
|
-
const InputUpload: FC<IInputUpload> = ({ onChange, ...props }: IInputUpload) => {
|
|
5
|
+
const InputUpload: FC<IInputUpload> = ({ onChange, readAsArrayBuffer, ...props }: IInputUpload) => {
|
|
6
6
|
|
|
7
7
|
const onChangeHandler = (event: ChangeEvent<HTMLInputElement>) => {
|
|
8
8
|
if (props.read && event.target.files) {
|
|
@@ -21,6 +21,7 @@ const InputUpload: FC<IInputUpload> = ({ onChange, ...props }: IInputUpload) =>
|
|
|
21
21
|
return new Promise((resolve, reject) => {
|
|
22
22
|
const fileReader = new FileReader()
|
|
23
23
|
if(image) fileReader.readAsDataURL(blob)
|
|
24
|
+
else if (readAsArrayBuffer) fileReader.readAsArrayBuffer(blob)
|
|
24
25
|
else fileReader.readAsText(blob)
|
|
25
26
|
|
|
26
27
|
fileReader.onload = () => {
|