@chayns-components/core 5.0.0-beta.1312 → 5.0.0-beta.1313
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.
|
@@ -12,6 +12,11 @@ var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
|
12
12
|
var _FileSelect = require("./FileSelect.styles");
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
+
var DialogView = /*#__PURE__*/function (DialogView) {
|
|
16
|
+
DialogView["PIXABAY"] = "pixabay";
|
|
17
|
+
DialogView["EDITOR"] = "editor";
|
|
18
|
+
return DialogView;
|
|
19
|
+
}(DialogView || {});
|
|
15
20
|
const FileSelect = ({
|
|
16
21
|
fileSelectionIcons = ['fa fa-upload'],
|
|
17
22
|
imageSelectIcons = ['ts-image'],
|
|
@@ -32,6 +37,26 @@ const FileSelect = ({
|
|
|
32
37
|
onAdd(newFiles);
|
|
33
38
|
}
|
|
34
39
|
}, [onAdd]);
|
|
40
|
+
const handleOpenEditor = (0, _react.useCallback)(async file => {
|
|
41
|
+
const {
|
|
42
|
+
buttonType,
|
|
43
|
+
result
|
|
44
|
+
} = await (0, _chaynsApi.createDialog)({
|
|
45
|
+
dialogInput: {
|
|
46
|
+
upload: true,
|
|
47
|
+
initialView: DialogView.EDITOR,
|
|
48
|
+
imageArrayBuffer: file
|
|
49
|
+
},
|
|
50
|
+
type: _chaynsApi.DialogType.MODULE,
|
|
51
|
+
system: {
|
|
52
|
+
url: 'https://tapp.chayns-static.space/api/dialog-image-editor/v1/remoteEntry.js',
|
|
53
|
+
scope: 'dialog_image_editor',
|
|
54
|
+
module: './ImageEditorEntry'
|
|
55
|
+
},
|
|
56
|
+
buttons: []
|
|
57
|
+
}).open();
|
|
58
|
+
if (buttonType === 1 && result !== null && result !== void 0 && result.url) handleAddImages([result.url]);
|
|
59
|
+
}, [handleAddImages]);
|
|
35
60
|
const handleImageSelectionClick = (0, _react.useCallback)(async () => {
|
|
36
61
|
if (isDisabled) return;
|
|
37
62
|
const {
|
|
@@ -40,7 +65,7 @@ const FileSelect = ({
|
|
|
40
65
|
} = await (0, _chaynsApi.createDialog)({
|
|
41
66
|
dialogInput: {
|
|
42
67
|
upload: true,
|
|
43
|
-
initialView:
|
|
68
|
+
initialView: DialogView.PIXABAY
|
|
44
69
|
},
|
|
45
70
|
type: _chaynsApi.DialogType.MODULE,
|
|
46
71
|
system: {
|
|
@@ -59,8 +84,12 @@ const FileSelect = ({
|
|
|
59
84
|
type: fileTypes,
|
|
60
85
|
maxFileSizeInMB
|
|
61
86
|
});
|
|
87
|
+
if (newFiles.length === 1 && newFiles[0] && newFiles[0].type.startsWith('image')) {
|
|
88
|
+
void handleOpenEditor(newFiles[0]);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
62
91
|
handleAddFiles(newFiles);
|
|
63
|
-
}, [fileTypes, handleAddFiles, isDisabled, maxFileSizeInMB]);
|
|
92
|
+
}, [fileTypes, handleAddFiles, handleOpenEditor, isDisabled, maxFileSizeInMB]);
|
|
64
93
|
const handleDrop = (0, _react.useCallback)(e => {
|
|
65
94
|
e.preventDefault();
|
|
66
95
|
const draggedFiles = Array.from(e.dataTransfer.files).filter(file => {
|
|
@@ -70,13 +99,14 @@ const FileSelect = ({
|
|
|
70
99
|
})) {
|
|
71
100
|
return false;
|
|
72
101
|
}
|
|
73
|
-
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
return true;
|
|
102
|
+
return !(maxFileSizeInMB && file.size > maxFileSizeInMB * 1024 * 1024);
|
|
77
103
|
});
|
|
104
|
+
if (draggedFiles.length === 1 && draggedFiles[0] && draggedFiles[0].type.startsWith('image')) {
|
|
105
|
+
void handleOpenEditor(draggedFiles[0]);
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
78
108
|
handleAddFiles(draggedFiles);
|
|
79
|
-
}, [handleAddFiles, fileTypes, maxFileSizeInMB]);
|
|
109
|
+
}, [handleAddFiles, fileTypes, maxFileSizeInMB, handleOpenEditor]);
|
|
80
110
|
return (0, _react.useMemo)(() => /*#__PURE__*/_react.default.createElement(_FileSelect.StyledFileSelect, null, /*#__PURE__*/_react.default.createElement(_FileSelect.StyledFileSelectWrapper, {
|
|
81
111
|
$isDisabled: isDisabled
|
|
82
112
|
}, /*#__PURE__*/_react.default.createElement(_FileSelect.StyledFileSelectContainer, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSelect.js","names":["_chaynsApi","require","_react","_interopRequireWildcard","_file","_fileDialog","_Icon","_interopRequireDefault","_FileSelect","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FileSelect","fileSelectionIcons","imageSelectIcons","fileTypes","isDisabled","maxFileSizeInMB","onAdd","fileSelectionPlaceholder","imageSelectPlaceholder","handleAddImages","useCallback","images","handleAddFiles","newFiles","handleImageSelectionClick","buttonType","result","createDialog","dialogInput","upload","initialView","type","DialogType","MODULE","system","url","scope","module","buttons","open","handleFileSelectionClick","selectFiles","multiple","handleDrop","preventDefault","draggedFiles","Array","from","dataTransfer","files","filter","file","isValidFileType","types","size","useMemo","createElement","StyledFileSelect","StyledFileSelectWrapper","$isDisabled","StyledFileSelectContainer","onClick","onDragOver","onDrop","icons","StyledFileSelectText","$isImageSelection","displayName","_default","exports"],"sources":["../../../../src/components/file-select/FileSelect.tsx"],"sourcesContent":["import { createDialog, DialogType } from 'chayns-api';\nimport React, { DragEvent, FC, useCallback, useMemo } from 'react';\nimport type { ImageDialogResult } from '../../types/fileInput';\nimport { isValidFileType } from '../../utils/file';\nimport { selectFiles } from '../../utils/fileDialog';\nimport Icon from '../icon/Icon';\nimport {\n StyledFileSelect,\n StyledFileSelectContainer,\n StyledFileSelectText,\n StyledFileSelectWrapper,\n} from './FileSelect.styles';\n\ntype DialogInput = {\n upload: boolean;\n initialView: string;\n};\n\nexport type FileSelectProps = {\n /**\n * An array of icons that should be displayed inside the FileInput\n */\n fileSelectionIcons?: string[];\n /**\n * The text that should be displayed inside the FileInput.\n */\n fileSelectionPlaceholder?: string;\n /**\n * The filetypes that could be selected. Example for multiple types: 'image/*, video/*'.\n */\n fileTypes?: string;\n /**\n * The icon of the image selection.\n */\n imageSelectIcons?: string[];\n /**\n * If set, pictures can be select via Pixabay.\n */\n imageSelectPlaceholder?: string;\n /**\n * Whether the FileInput is disabled.\n */\n isDisabled?: boolean;\n /**\n * The maximum amount of Files that can be uploaded.\n */\n maxFiles?: number;\n /**\n * The maximum size of a file in MB.\n */\n maxFileSizeInMB?: number;\n /**\n * A function to be executed when files are added.\n */\n onAdd?: (files: File[] | string[]) => void;\n};\n\nconst FileSelect: FC<FileSelectProps> = ({\n fileSelectionIcons = ['fa fa-upload'],\n imageSelectIcons = ['ts-image'],\n fileTypes,\n isDisabled,\n maxFileSizeInMB,\n onAdd,\n fileSelectionPlaceholder = 'Dateien hochladen',\n imageSelectPlaceholder,\n}) => {\n const handleAddImages = useCallback(\n (images: string[]) => {\n if (typeof onAdd === 'function') {\n onAdd(images);\n }\n },\n [onAdd],\n );\n\n const handleAddFiles = useCallback(\n (newFiles: File[]) => {\n if (typeof onAdd === 'function') {\n onAdd(newFiles);\n }\n },\n [onAdd],\n );\n\n const handleImageSelectionClick = useCallback(async () => {\n if (isDisabled) return;\n\n const { buttonType, result } = (await createDialog<DialogInput>({\n dialogInput: { upload: true, initialView: 'pixabay' },\n type: DialogType.MODULE,\n system: {\n url: 'https://tapp.chayns-static.space/api/dialog-image-editor/v1/remoteEntry.js',\n scope: 'dialog_image_editor',\n module: './ImageEditorEntry',\n },\n buttons: [],\n }).open()) as ImageDialogResult;\n\n if (buttonType === 1 && result?.url) handleAddImages([result.url]);\n }, [handleAddImages, isDisabled]);\n\n const handleFileSelectionClick = useCallback(async () => {\n if (isDisabled) return;\n\n const newFiles = await selectFiles({ multiple: true, type: fileTypes, maxFileSizeInMB });\n\n handleAddFiles(newFiles);\n }, [fileTypes, handleAddFiles, isDisabled, maxFileSizeInMB]);\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n const draggedFiles = Array.from(e.dataTransfer.files).filter((file) => {\n if (fileTypes && !isValidFileType({ file, types: fileTypes })) {\n return false;\n }\n\n if (maxFileSizeInMB && file.size > maxFileSizeInMB * 1024 * 1024) {\n return false;\n }\n return true;\n });\n\n handleAddFiles(draggedFiles);\n },\n [handleAddFiles, fileTypes, maxFileSizeInMB],\n );\n\n return useMemo(\n () => (\n <StyledFileSelect>\n <StyledFileSelectWrapper $isDisabled={isDisabled}>\n <StyledFileSelectContainer\n onClick={() => void handleFileSelectionClick()}\n onDragOver={(e) => e.preventDefault()}\n onDrop={handleDrop}\n >\n <Icon icons={fileSelectionIcons} />\n <StyledFileSelectText>{fileSelectionPlaceholder}</StyledFileSelectText>\n </StyledFileSelectContainer>\n {imageSelectPlaceholder && (\n <StyledFileSelectContainer\n $isImageSelection\n onClick={() => void handleImageSelectionClick()}\n >\n <Icon icons={imageSelectIcons} />\n <StyledFileSelectText>{imageSelectPlaceholder}</StyledFileSelectText>\n </StyledFileSelectContainer>\n )}\n </StyledFileSelectWrapper>\n </StyledFileSelect>\n ),\n [\n isDisabled,\n fileSelectionIcons,\n fileSelectionPlaceholder,\n imageSelectPlaceholder,\n imageSelectIcons,\n handleFileSelectionClick,\n handleDrop,\n handleImageSelectionClick,\n ],\n );\n};\n\nFileSelect.displayName = 'FileSelect';\n\nexport default FileSelect;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FileSelect.js","names":["_chaynsApi","require","_react","_interopRequireWildcard","_file","_fileDialog","_Icon","_interopRequireDefault","_FileSelect","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DialogView","FileSelect","fileSelectionIcons","imageSelectIcons","fileTypes","isDisabled","maxFileSizeInMB","onAdd","fileSelectionPlaceholder","imageSelectPlaceholder","handleAddImages","useCallback","images","handleAddFiles","newFiles","handleOpenEditor","file","buttonType","result","createDialog","dialogInput","upload","initialView","EDITOR","imageArrayBuffer","type","DialogType","MODULE","system","url","scope","module","buttons","open","handleImageSelectionClick","PIXABAY","handleFileSelectionClick","selectFiles","multiple","length","startsWith","handleDrop","preventDefault","draggedFiles","Array","from","dataTransfer","files","filter","isValidFileType","types","size","useMemo","createElement","StyledFileSelect","StyledFileSelectWrapper","$isDisabled","StyledFileSelectContainer","onClick","onDragOver","onDrop","icons","StyledFileSelectText","$isImageSelection","displayName","_default","exports"],"sources":["../../../../src/components/file-select/FileSelect.tsx"],"sourcesContent":["import { createDialog, DialogType } from 'chayns-api';\nimport React, { DragEvent, FC, useCallback, useMemo } from 'react';\nimport type { ImageDialogResult } from '../../types/fileInput';\nimport { isValidFileType } from '../../utils/file';\nimport { selectFiles } from '../../utils/fileDialog';\nimport Icon from '../icon/Icon';\nimport {\n StyledFileSelect,\n StyledFileSelectContainer,\n StyledFileSelectText,\n StyledFileSelectWrapper,\n} from './FileSelect.styles';\n\nenum DialogView {\n PIXABAY = 'pixabay',\n EDITOR = 'editor',\n}\n\ntype DialogInput = {\n upload: boolean;\n initialView: DialogView;\n imageArrayBuffer?: File;\n};\n\nexport type FileSelectProps = {\n /**\n * An array of icons that should be displayed inside the FileInput\n */\n fileSelectionIcons?: string[];\n /**\n * The text that should be displayed inside the FileInput.\n */\n fileSelectionPlaceholder?: string;\n /**\n * The filetypes that could be selected. Example for multiple types: 'image/*, video/*'.\n */\n fileTypes?: string;\n /**\n * The icon of the image selection.\n */\n imageSelectIcons?: string[];\n /**\n * If set, pictures can be select via Pixabay.\n */\n imageSelectPlaceholder?: string;\n /**\n * Whether the FileInput is disabled.\n */\n isDisabled?: boolean;\n /**\n * The maximum amount of Files that can be uploaded.\n */\n maxFiles?: number;\n /**\n * The maximum size of a file in MB.\n */\n maxFileSizeInMB?: number;\n /**\n * A function to be executed when files are added.\n */\n onAdd?: (files: File[] | string[]) => void;\n};\n\nconst FileSelect: FC<FileSelectProps> = ({\n fileSelectionIcons = ['fa fa-upload'],\n imageSelectIcons = ['ts-image'],\n fileTypes,\n isDisabled,\n maxFileSizeInMB,\n onAdd,\n fileSelectionPlaceholder = 'Dateien hochladen',\n imageSelectPlaceholder,\n}) => {\n const handleAddImages = useCallback(\n (images: string[]) => {\n if (typeof onAdd === 'function') {\n onAdd(images);\n }\n },\n [onAdd],\n );\n\n const handleAddFiles = useCallback(\n (newFiles: File[]) => {\n if (typeof onAdd === 'function') {\n onAdd(newFiles);\n }\n },\n [onAdd],\n );\n\n const handleOpenEditor = useCallback(\n async (file: File) => {\n const { buttonType, result } = (await createDialog<DialogInput>({\n dialogInput: {\n upload: true,\n initialView: DialogView.EDITOR,\n imageArrayBuffer: file,\n },\n type: DialogType.MODULE,\n system: {\n url: 'https://tapp.chayns-static.space/api/dialog-image-editor/v1/remoteEntry.js',\n scope: 'dialog_image_editor',\n module: './ImageEditorEntry',\n },\n buttons: [],\n }).open()) as ImageDialogResult;\n\n if (buttonType === 1 && result?.url) handleAddImages([result.url]);\n },\n [handleAddImages],\n );\n\n const handleImageSelectionClick = useCallback(async () => {\n if (isDisabled) return;\n\n const { buttonType, result } = (await createDialog<DialogInput>({\n dialogInput: { upload: true, initialView: DialogView.PIXABAY },\n type: DialogType.MODULE,\n system: {\n url: 'https://tapp.chayns-static.space/api/dialog-image-editor/v1/remoteEntry.js',\n scope: 'dialog_image_editor',\n module: './ImageEditorEntry',\n },\n buttons: [],\n }).open()) as ImageDialogResult;\n\n if (buttonType === 1 && result?.url) handleAddImages([result.url]);\n }, [handleAddImages, isDisabled]);\n\n const handleFileSelectionClick = useCallback(async () => {\n if (isDisabled) return;\n\n const newFiles = await selectFiles({ multiple: true, type: fileTypes, maxFileSizeInMB });\n\n if (newFiles.length === 1 && newFiles[0] && newFiles[0].type.startsWith('image')) {\n void handleOpenEditor(newFiles[0]);\n\n return;\n }\n\n handleAddFiles(newFiles);\n }, [fileTypes, handleAddFiles, handleOpenEditor, isDisabled, maxFileSizeInMB]);\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n const draggedFiles = Array.from(e.dataTransfer.files).filter((file) => {\n if (fileTypes && !isValidFileType({ file, types: fileTypes })) {\n return false;\n }\n\n return !(maxFileSizeInMB && file.size > maxFileSizeInMB * 1024 * 1024);\n });\n\n if (\n draggedFiles.length === 1 &&\n draggedFiles[0] &&\n draggedFiles[0].type.startsWith('image')\n ) {\n void handleOpenEditor(draggedFiles[0]);\n\n return;\n }\n\n handleAddFiles(draggedFiles);\n },\n [handleAddFiles, fileTypes, maxFileSizeInMB, handleOpenEditor],\n );\n\n return useMemo(\n () => (\n <StyledFileSelect>\n <StyledFileSelectWrapper $isDisabled={isDisabled}>\n <StyledFileSelectContainer\n onClick={() => void handleFileSelectionClick()}\n onDragOver={(e) => e.preventDefault()}\n onDrop={handleDrop}\n >\n <Icon icons={fileSelectionIcons} />\n <StyledFileSelectText>{fileSelectionPlaceholder}</StyledFileSelectText>\n </StyledFileSelectContainer>\n {imageSelectPlaceholder && (\n <StyledFileSelectContainer\n $isImageSelection\n onClick={() => void handleImageSelectionClick()}\n >\n <Icon icons={imageSelectIcons} />\n <StyledFileSelectText>{imageSelectPlaceholder}</StyledFileSelectText>\n </StyledFileSelectContainer>\n )}\n </StyledFileSelectWrapper>\n </StyledFileSelect>\n ),\n [\n isDisabled,\n fileSelectionIcons,\n fileSelectionPlaceholder,\n imageSelectPlaceholder,\n imageSelectIcons,\n handleFileSelectionClick,\n handleDrop,\n handleImageSelectionClick,\n ],\n );\n};\n\nFileSelect.displayName = 'FileSelect';\n\nexport default FileSelect;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,11 @@ import { isValidFileType } from '../../utils/file';
|
|
|
4
4
|
import { selectFiles } from '../../utils/fileDialog';
|
|
5
5
|
import Icon from '../icon/Icon';
|
|
6
6
|
import { StyledFileSelect, StyledFileSelectContainer, StyledFileSelectText, StyledFileSelectWrapper } from './FileSelect.styles';
|
|
7
|
+
var DialogView = /*#__PURE__*/function (DialogView) {
|
|
8
|
+
DialogView["PIXABAY"] = "pixabay";
|
|
9
|
+
DialogView["EDITOR"] = "editor";
|
|
10
|
+
return DialogView;
|
|
11
|
+
}(DialogView || {});
|
|
7
12
|
const FileSelect = ({
|
|
8
13
|
fileSelectionIcons = ['fa fa-upload'],
|
|
9
14
|
imageSelectIcons = ['ts-image'],
|
|
@@ -24,6 +29,26 @@ const FileSelect = ({
|
|
|
24
29
|
onAdd(newFiles);
|
|
25
30
|
}
|
|
26
31
|
}, [onAdd]);
|
|
32
|
+
const handleOpenEditor = useCallback(async file => {
|
|
33
|
+
const {
|
|
34
|
+
buttonType,
|
|
35
|
+
result
|
|
36
|
+
} = await createDialog({
|
|
37
|
+
dialogInput: {
|
|
38
|
+
upload: true,
|
|
39
|
+
initialView: DialogView.EDITOR,
|
|
40
|
+
imageArrayBuffer: file
|
|
41
|
+
},
|
|
42
|
+
type: DialogType.MODULE,
|
|
43
|
+
system: {
|
|
44
|
+
url: 'https://tapp.chayns-static.space/api/dialog-image-editor/v1/remoteEntry.js',
|
|
45
|
+
scope: 'dialog_image_editor',
|
|
46
|
+
module: './ImageEditorEntry'
|
|
47
|
+
},
|
|
48
|
+
buttons: []
|
|
49
|
+
}).open();
|
|
50
|
+
if (buttonType === 1 && result?.url) handleAddImages([result.url]);
|
|
51
|
+
}, [handleAddImages]);
|
|
27
52
|
const handleImageSelectionClick = useCallback(async () => {
|
|
28
53
|
if (isDisabled) return;
|
|
29
54
|
const {
|
|
@@ -32,7 +57,7 @@ const FileSelect = ({
|
|
|
32
57
|
} = await createDialog({
|
|
33
58
|
dialogInput: {
|
|
34
59
|
upload: true,
|
|
35
|
-
initialView:
|
|
60
|
+
initialView: DialogView.PIXABAY
|
|
36
61
|
},
|
|
37
62
|
type: DialogType.MODULE,
|
|
38
63
|
system: {
|
|
@@ -51,8 +76,12 @@ const FileSelect = ({
|
|
|
51
76
|
type: fileTypes,
|
|
52
77
|
maxFileSizeInMB
|
|
53
78
|
});
|
|
79
|
+
if (newFiles.length === 1 && newFiles[0] && newFiles[0].type.startsWith('image')) {
|
|
80
|
+
void handleOpenEditor(newFiles[0]);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
54
83
|
handleAddFiles(newFiles);
|
|
55
|
-
}, [fileTypes, handleAddFiles, isDisabled, maxFileSizeInMB]);
|
|
84
|
+
}, [fileTypes, handleAddFiles, handleOpenEditor, isDisabled, maxFileSizeInMB]);
|
|
56
85
|
const handleDrop = useCallback(e => {
|
|
57
86
|
e.preventDefault();
|
|
58
87
|
const draggedFiles = Array.from(e.dataTransfer.files).filter(file => {
|
|
@@ -62,13 +91,14 @@ const FileSelect = ({
|
|
|
62
91
|
})) {
|
|
63
92
|
return false;
|
|
64
93
|
}
|
|
65
|
-
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
return true;
|
|
94
|
+
return !(maxFileSizeInMB && file.size > maxFileSizeInMB * 1024 * 1024);
|
|
69
95
|
});
|
|
96
|
+
if (draggedFiles.length === 1 && draggedFiles[0] && draggedFiles[0].type.startsWith('image')) {
|
|
97
|
+
void handleOpenEditor(draggedFiles[0]);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
70
100
|
handleAddFiles(draggedFiles);
|
|
71
|
-
}, [handleAddFiles, fileTypes, maxFileSizeInMB]);
|
|
101
|
+
}, [handleAddFiles, fileTypes, maxFileSizeInMB, handleOpenEditor]);
|
|
72
102
|
return useMemo(() => /*#__PURE__*/React.createElement(StyledFileSelect, null, /*#__PURE__*/React.createElement(StyledFileSelectWrapper, {
|
|
73
103
|
$isDisabled: isDisabled
|
|
74
104
|
}, /*#__PURE__*/React.createElement(StyledFileSelectContainer, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSelect.js","names":["createDialog","DialogType","React","useCallback","useMemo","isValidFileType","selectFiles","Icon","StyledFileSelect","StyledFileSelectContainer","StyledFileSelectText","StyledFileSelectWrapper","FileSelect","fileSelectionIcons","imageSelectIcons","fileTypes","isDisabled","maxFileSizeInMB","onAdd","fileSelectionPlaceholder","imageSelectPlaceholder","handleAddImages","images","handleAddFiles","newFiles","handleImageSelectionClick","buttonType","result","dialogInput","upload","initialView","type","MODULE","system","url","scope","module","buttons","open","handleFileSelectionClick","multiple","handleDrop","e","preventDefault","draggedFiles","Array","from","dataTransfer","files","filter","file","types","size","createElement","$isDisabled","onClick","onDragOver","onDrop","icons","$isImageSelection","displayName"],"sources":["../../../../src/components/file-select/FileSelect.tsx"],"sourcesContent":["import { createDialog, DialogType } from 'chayns-api';\nimport React, { DragEvent, FC, useCallback, useMemo } from 'react';\nimport type { ImageDialogResult } from '../../types/fileInput';\nimport { isValidFileType } from '../../utils/file';\nimport { selectFiles } from '../../utils/fileDialog';\nimport Icon from '../icon/Icon';\nimport {\n StyledFileSelect,\n StyledFileSelectContainer,\n StyledFileSelectText,\n StyledFileSelectWrapper,\n} from './FileSelect.styles';\n\ntype DialogInput = {\n upload: boolean;\n initialView: string;\n};\n\nexport type FileSelectProps = {\n /**\n * An array of icons that should be displayed inside the FileInput\n */\n fileSelectionIcons?: string[];\n /**\n * The text that should be displayed inside the FileInput.\n */\n fileSelectionPlaceholder?: string;\n /**\n * The filetypes that could be selected. Example for multiple types: 'image/*, video/*'.\n */\n fileTypes?: string;\n /**\n * The icon of the image selection.\n */\n imageSelectIcons?: string[];\n /**\n * If set, pictures can be select via Pixabay.\n */\n imageSelectPlaceholder?: string;\n /**\n * Whether the FileInput is disabled.\n */\n isDisabled?: boolean;\n /**\n * The maximum amount of Files that can be uploaded.\n */\n maxFiles?: number;\n /**\n * The maximum size of a file in MB.\n */\n maxFileSizeInMB?: number;\n /**\n * A function to be executed when files are added.\n */\n onAdd?: (files: File[] | string[]) => void;\n};\n\nconst FileSelect: FC<FileSelectProps> = ({\n fileSelectionIcons = ['fa fa-upload'],\n imageSelectIcons = ['ts-image'],\n fileTypes,\n isDisabled,\n maxFileSizeInMB,\n onAdd,\n fileSelectionPlaceholder = 'Dateien hochladen',\n imageSelectPlaceholder,\n}) => {\n const handleAddImages = useCallback(\n (images: string[]) => {\n if (typeof onAdd === 'function') {\n onAdd(images);\n }\n },\n [onAdd],\n );\n\n const handleAddFiles = useCallback(\n (newFiles: File[]) => {\n if (typeof onAdd === 'function') {\n onAdd(newFiles);\n }\n },\n [onAdd],\n );\n\n const handleImageSelectionClick = useCallback(async () => {\n if (isDisabled) return;\n\n const { buttonType, result } = (await createDialog<DialogInput>({\n dialogInput: { upload: true, initialView: 'pixabay' },\n type: DialogType.MODULE,\n system: {\n url: 'https://tapp.chayns-static.space/api/dialog-image-editor/v1/remoteEntry.js',\n scope: 'dialog_image_editor',\n module: './ImageEditorEntry',\n },\n buttons: [],\n }).open()) as ImageDialogResult;\n\n if (buttonType === 1 && result?.url) handleAddImages([result.url]);\n }, [handleAddImages, isDisabled]);\n\n const handleFileSelectionClick = useCallback(async () => {\n if (isDisabled) return;\n\n const newFiles = await selectFiles({ multiple: true, type: fileTypes, maxFileSizeInMB });\n\n handleAddFiles(newFiles);\n }, [fileTypes, handleAddFiles, isDisabled, maxFileSizeInMB]);\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n const draggedFiles = Array.from(e.dataTransfer.files).filter((file) => {\n if (fileTypes && !isValidFileType({ file, types: fileTypes })) {\n return false;\n }\n\n if (maxFileSizeInMB && file.size > maxFileSizeInMB * 1024 * 1024) {\n return false;\n }\n return true;\n });\n\n handleAddFiles(draggedFiles);\n },\n [handleAddFiles, fileTypes, maxFileSizeInMB],\n );\n\n return useMemo(\n () => (\n <StyledFileSelect>\n <StyledFileSelectWrapper $isDisabled={isDisabled}>\n <StyledFileSelectContainer\n onClick={() => void handleFileSelectionClick()}\n onDragOver={(e) => e.preventDefault()}\n onDrop={handleDrop}\n >\n <Icon icons={fileSelectionIcons} />\n <StyledFileSelectText>{fileSelectionPlaceholder}</StyledFileSelectText>\n </StyledFileSelectContainer>\n {imageSelectPlaceholder && (\n <StyledFileSelectContainer\n $isImageSelection\n onClick={() => void handleImageSelectionClick()}\n >\n <Icon icons={imageSelectIcons} />\n <StyledFileSelectText>{imageSelectPlaceholder}</StyledFileSelectText>\n </StyledFileSelectContainer>\n )}\n </StyledFileSelectWrapper>\n </StyledFileSelect>\n ),\n [\n isDisabled,\n fileSelectionIcons,\n fileSelectionPlaceholder,\n imageSelectPlaceholder,\n imageSelectIcons,\n handleFileSelectionClick,\n handleDrop,\n handleImageSelectionClick,\n ],\n );\n};\n\nFileSelect.displayName = 'FileSelect';\n\nexport default FileSelect;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FileSelect.js","names":["createDialog","DialogType","React","useCallback","useMemo","isValidFileType","selectFiles","Icon","StyledFileSelect","StyledFileSelectContainer","StyledFileSelectText","StyledFileSelectWrapper","DialogView","FileSelect","fileSelectionIcons","imageSelectIcons","fileTypes","isDisabled","maxFileSizeInMB","onAdd","fileSelectionPlaceholder","imageSelectPlaceholder","handleAddImages","images","handleAddFiles","newFiles","handleOpenEditor","file","buttonType","result","dialogInput","upload","initialView","EDITOR","imageArrayBuffer","type","MODULE","system","url","scope","module","buttons","open","handleImageSelectionClick","PIXABAY","handleFileSelectionClick","multiple","length","startsWith","handleDrop","e","preventDefault","draggedFiles","Array","from","dataTransfer","files","filter","types","size","createElement","$isDisabled","onClick","onDragOver","onDrop","icons","$isImageSelection","displayName"],"sources":["../../../../src/components/file-select/FileSelect.tsx"],"sourcesContent":["import { createDialog, DialogType } from 'chayns-api';\nimport React, { DragEvent, FC, useCallback, useMemo } from 'react';\nimport type { ImageDialogResult } from '../../types/fileInput';\nimport { isValidFileType } from '../../utils/file';\nimport { selectFiles } from '../../utils/fileDialog';\nimport Icon from '../icon/Icon';\nimport {\n StyledFileSelect,\n StyledFileSelectContainer,\n StyledFileSelectText,\n StyledFileSelectWrapper,\n} from './FileSelect.styles';\n\nenum DialogView {\n PIXABAY = 'pixabay',\n EDITOR = 'editor',\n}\n\ntype DialogInput = {\n upload: boolean;\n initialView: DialogView;\n imageArrayBuffer?: File;\n};\n\nexport type FileSelectProps = {\n /**\n * An array of icons that should be displayed inside the FileInput\n */\n fileSelectionIcons?: string[];\n /**\n * The text that should be displayed inside the FileInput.\n */\n fileSelectionPlaceholder?: string;\n /**\n * The filetypes that could be selected. Example for multiple types: 'image/*, video/*'.\n */\n fileTypes?: string;\n /**\n * The icon of the image selection.\n */\n imageSelectIcons?: string[];\n /**\n * If set, pictures can be select via Pixabay.\n */\n imageSelectPlaceholder?: string;\n /**\n * Whether the FileInput is disabled.\n */\n isDisabled?: boolean;\n /**\n * The maximum amount of Files that can be uploaded.\n */\n maxFiles?: number;\n /**\n * The maximum size of a file in MB.\n */\n maxFileSizeInMB?: number;\n /**\n * A function to be executed when files are added.\n */\n onAdd?: (files: File[] | string[]) => void;\n};\n\nconst FileSelect: FC<FileSelectProps> = ({\n fileSelectionIcons = ['fa fa-upload'],\n imageSelectIcons = ['ts-image'],\n fileTypes,\n isDisabled,\n maxFileSizeInMB,\n onAdd,\n fileSelectionPlaceholder = 'Dateien hochladen',\n imageSelectPlaceholder,\n}) => {\n const handleAddImages = useCallback(\n (images: string[]) => {\n if (typeof onAdd === 'function') {\n onAdd(images);\n }\n },\n [onAdd],\n );\n\n const handleAddFiles = useCallback(\n (newFiles: File[]) => {\n if (typeof onAdd === 'function') {\n onAdd(newFiles);\n }\n },\n [onAdd],\n );\n\n const handleOpenEditor = useCallback(\n async (file: File) => {\n const { buttonType, result } = (await createDialog<DialogInput>({\n dialogInput: {\n upload: true,\n initialView: DialogView.EDITOR,\n imageArrayBuffer: file,\n },\n type: DialogType.MODULE,\n system: {\n url: 'https://tapp.chayns-static.space/api/dialog-image-editor/v1/remoteEntry.js',\n scope: 'dialog_image_editor',\n module: './ImageEditorEntry',\n },\n buttons: [],\n }).open()) as ImageDialogResult;\n\n if (buttonType === 1 && result?.url) handleAddImages([result.url]);\n },\n [handleAddImages],\n );\n\n const handleImageSelectionClick = useCallback(async () => {\n if (isDisabled) return;\n\n const { buttonType, result } = (await createDialog<DialogInput>({\n dialogInput: { upload: true, initialView: DialogView.PIXABAY },\n type: DialogType.MODULE,\n system: {\n url: 'https://tapp.chayns-static.space/api/dialog-image-editor/v1/remoteEntry.js',\n scope: 'dialog_image_editor',\n module: './ImageEditorEntry',\n },\n buttons: [],\n }).open()) as ImageDialogResult;\n\n if (buttonType === 1 && result?.url) handleAddImages([result.url]);\n }, [handleAddImages, isDisabled]);\n\n const handleFileSelectionClick = useCallback(async () => {\n if (isDisabled) return;\n\n const newFiles = await selectFiles({ multiple: true, type: fileTypes, maxFileSizeInMB });\n\n if (newFiles.length === 1 && newFiles[0] && newFiles[0].type.startsWith('image')) {\n void handleOpenEditor(newFiles[0]);\n\n return;\n }\n\n handleAddFiles(newFiles);\n }, [fileTypes, handleAddFiles, handleOpenEditor, isDisabled, maxFileSizeInMB]);\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n const draggedFiles = Array.from(e.dataTransfer.files).filter((file) => {\n if (fileTypes && !isValidFileType({ file, types: fileTypes })) {\n return false;\n }\n\n return !(maxFileSizeInMB && file.size > maxFileSizeInMB * 1024 * 1024);\n });\n\n if (\n draggedFiles.length === 1 &&\n draggedFiles[0] &&\n draggedFiles[0].type.startsWith('image')\n ) {\n void handleOpenEditor(draggedFiles[0]);\n\n return;\n }\n\n handleAddFiles(draggedFiles);\n },\n [handleAddFiles, fileTypes, maxFileSizeInMB, handleOpenEditor],\n );\n\n return useMemo(\n () => (\n <StyledFileSelect>\n <StyledFileSelectWrapper $isDisabled={isDisabled}>\n <StyledFileSelectContainer\n onClick={() => void handleFileSelectionClick()}\n onDragOver={(e) => e.preventDefault()}\n onDrop={handleDrop}\n >\n <Icon icons={fileSelectionIcons} />\n <StyledFileSelectText>{fileSelectionPlaceholder}</StyledFileSelectText>\n </StyledFileSelectContainer>\n {imageSelectPlaceholder && (\n <StyledFileSelectContainer\n $isImageSelection\n onClick={() => void handleImageSelectionClick()}\n >\n <Icon icons={imageSelectIcons} />\n <StyledFileSelectText>{imageSelectPlaceholder}</StyledFileSelectText>\n </StyledFileSelectContainer>\n )}\n </StyledFileSelectWrapper>\n </StyledFileSelect>\n ),\n [\n isDisabled,\n fileSelectionIcons,\n fileSelectionPlaceholder,\n imageSelectPlaceholder,\n imageSelectIcons,\n handleFileSelectionClick,\n handleDrop,\n handleImageSelectionClick,\n ],\n );\n};\n\nFileSelect.displayName = 'FileSelect';\n\nexport default FileSelect;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chayns-components/core",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.1313",
|
|
4
4
|
"description": "A set of beautiful React components for developing your own applications with chayns.",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"browserslist": [
|
|
@@ -86,5 +86,5 @@
|
|
|
86
86
|
"publishConfig": {
|
|
87
87
|
"access": "public"
|
|
88
88
|
},
|
|
89
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "c172529d7ead61961da74ef076a195906987afc3"
|
|
90
90
|
}
|