@chayns-components/core 5.0.0-beta.1312 → 5.0.0-beta.1314

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.
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = exports.TSIMG_FILE_TYPES = exports.STREAMINGSERVICE_FILE_TYPES = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _file = require("../../utils/file");
9
9
  var _FileInput = require("./FileInput.styles");
@@ -11,6 +11,8 @@ var _FileList = _interopRequireDefault(require("../file-list/FileList"));
11
11
  var _FileSelect = _interopRequireDefault(require("../file-select/FileSelect"));
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  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); }
14
+ const TSIMG_FILE_TYPES = exports.TSIMG_FILE_TYPES = 'image/png, image/jpg, image/jpeg, image/gif, image/webp, image/svg+xml, image/avif';
15
+ const STREAMINGSERVICE_FILE_TYPES = exports.STREAMINGSERVICE_FILE_TYPES = 'video/mp4, video/webm, video/avi, video/flv, video/wmv, video/mpg, video/quicktime';
14
16
  const FileInput = /*#__PURE__*/(0, _react.forwardRef)(({
15
17
  fileSelectionIcons = ['fa fa-upload'],
16
18
  imageSelectIcons = ['ts-image'],
@@ -1 +1 @@
1
- {"version":3,"file":"FileInput.js","names":["_react","_interopRequireWildcard","require","_file","_FileInput","_FileList","_interopRequireDefault","_FileSelect","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FileInput","forwardRef","fileSelectionIcons","imageSelectIcons","fileTypes","onMaxFilesReached","maxFiles","onRemove","files","isDisabled","maxFileSizeInMB","onAdd","fileSelectionPlaceholder","imageSelectPlaceholder","ref","internalFiles","setInternalFiles","useState","internalImages","setInternalImages","handleInputClear","useImperativeHandle","clear","handleAddImages","useCallback","images","newImages","forEach","image","filterDuplicateFileUrls","newFile","push","tmp","slice","length","prevState","handleAddFiles","newFiles","newFileItems","file","isValidFileType","types","filterDuplicateFile","handleAdd","Array","isArray","handleDeleteFile","id","fileToDelete","filteredFiles","filter","name","filteredImages","internalIsDisabled","useMemo","filesToDisplay","items","map","type","size","mimeType","createElement","StyledFileInput","displayName","_default","exports"],"sources":["../../../../src/components/file-input/FileInput.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useImperativeHandle, useMemo, useState } from 'react';\nimport { filterDuplicateFile, filterDuplicateFileUrls, isValidFileType } from '../../utils/file';\nimport { StyledFileInput } from './FileInput.styles';\nimport FileList, { IFileItem } from '../file-list/FileList';\nimport FileSelect from '../file-select/FileSelect';\n\nexport type FileInputProps = {\n /**\n * Already uploaded files to display.\n */\n files?: IFileItem[];\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 * Function to be executed when the maximum amount of Files are reached.\n */\n onMaxFilesReached?: () => void;\n /**\n * A function to be executed when a file is removed.\n */\n onRemove?: (file: File | IFileItem | string) => void;\n};\n\nexport type FileInputRef = {\n clear: () => void;\n};\n\nconst FileInput = forwardRef<FileInputRef, FileInputProps>(\n (\n {\n fileSelectionIcons = ['fa fa-upload'],\n imageSelectIcons = ['ts-image'],\n fileTypes,\n onMaxFilesReached,\n maxFiles,\n onRemove,\n files,\n isDisabled,\n maxFileSizeInMB,\n onAdd,\n fileSelectionPlaceholder = 'Dateien hochladen',\n imageSelectPlaceholder,\n },\n ref,\n ) => {\n const [internalFiles, setInternalFiles] = useState<File[]>([]);\n const [internalImages, setInternalImages] = useState<string[]>([]);\n\n const handleInputClear = () => {\n setInternalFiles([]);\n setInternalImages([]);\n };\n\n useImperativeHandle(\n ref,\n () => ({\n clear: handleInputClear,\n }),\n [],\n );\n\n const handleAddImages = useCallback(\n (images: string[]) => {\n const newImages: string[] = [];\n\n images.forEach((image) => {\n if (!filterDuplicateFileUrls({ files: internalImages, newFile: image })) {\n newImages.push(image);\n }\n });\n\n let tmp = newImages;\n\n if (maxFiles) {\n tmp = newImages.slice(\n 0,\n maxFiles -\n (internalFiles.length + internalImages.length + (files?.length ?? 0)),\n );\n }\n\n if (tmp.length > 0 && typeof onAdd === 'function') {\n onAdd(tmp);\n }\n\n setInternalImages((prevState) => [...prevState, ...tmp]);\n },\n [files?.length, internalFiles.length, internalImages, maxFiles, onAdd],\n );\n\n const handleAddFiles = useCallback(\n (newFiles: File[]) => {\n const newFileItems: File[] = [];\n\n newFiles.forEach((file) => {\n if (fileTypes && !isValidFileType({ file, types: fileTypes })) {\n return;\n }\n\n if (file && !filterDuplicateFile({ files: internalFiles, newFile: file })) {\n newFileItems.push(file);\n }\n });\n\n let tmp = newFileItems;\n\n if (maxFiles) {\n tmp = newFileItems.slice(\n 0,\n maxFiles - (internalFiles.length + (files?.length ?? 0)),\n );\n }\n\n if (tmp.length > 0 && typeof onAdd === 'function') {\n onAdd(tmp);\n }\n\n setInternalFiles((prevState) => [...prevState, ...tmp]);\n },\n [fileTypes, files?.length, internalFiles, maxFiles, onAdd],\n );\n\n const handleAdd = useCallback(\n (newFiles: File[] | string[]) => {\n if (Array.isArray(newFiles) && newFiles.length > 0) {\n if (typeof newFiles[0] === 'string') {\n handleAddImages(newFiles as string[]);\n } else {\n handleAddFiles(newFiles as File[]);\n }\n }\n },\n [handleAddFiles, handleAddImages],\n );\n\n const handleDeleteFile = useCallback(\n (id: string) => {\n let fileToDelete: File | IFileItem | string | undefined;\n\n const filteredFiles = internalFiles.filter((file) => {\n const { name } = file;\n\n if (name === id) {\n fileToDelete = file;\n }\n\n return name !== id;\n });\n\n setInternalFiles(filteredFiles);\n\n if (!fileToDelete) {\n const filteredImages = internalImages.filter((image) => {\n if (image === id) {\n fileToDelete = image;\n }\n\n return image !== id;\n });\n\n setInternalImages(filteredImages);\n }\n\n if (!fileToDelete) {\n files?.forEach((file) => {\n if (file.id === id || file.name === id) {\n fileToDelete = file;\n }\n });\n }\n\n if (!fileToDelete || typeof onRemove !== 'function') {\n return;\n }\n\n onRemove(fileToDelete);\n },\n [files, internalFiles, internalImages, onRemove],\n );\n\n const internalIsDisabled = useMemo(() => {\n if (isDisabled) {\n return true;\n }\n\n if (maxFiles) {\n if (internalFiles.length + internalImages.length >= maxFiles) {\n if (typeof onMaxFilesReached === 'function') {\n onMaxFilesReached();\n }\n\n return true;\n }\n }\n\n return false;\n }, [internalFiles.length, internalImages.length, isDisabled, maxFiles, onMaxFilesReached]);\n\n const filesToDisplay: IFileItem[] = useMemo(() => {\n const items: IFileItem[] = internalFiles.map(({ type, name, size }) => ({\n id: name,\n name,\n size,\n mimeType: type,\n }));\n\n internalImages.forEach((image) => {\n items.push({\n id: image,\n name: image,\n size: 0,\n mimeType: 'image/png',\n });\n });\n\n files?.forEach((file) => {\n items.push(file);\n });\n\n return items;\n }, [files, internalFiles, internalImages]);\n\n return useMemo(\n () => (\n <StyledFileInput>\n <FileSelect\n fileTypes={fileTypes}\n fileSelectionIcons={fileSelectionIcons}\n fileSelectionPlaceholder={fileSelectionPlaceholder}\n imageSelectIcons={imageSelectIcons}\n imageSelectPlaceholder={imageSelectPlaceholder}\n maxFileSizeInMB={maxFileSizeInMB}\n isDisabled={internalIsDisabled}\n onAdd={handleAdd}\n />\n <FileList files={filesToDisplay} onRemove={handleDeleteFile} />\n </StyledFileInput>\n ),\n [\n fileTypes,\n fileSelectionIcons,\n fileSelectionPlaceholder,\n imageSelectIcons,\n imageSelectPlaceholder,\n maxFileSizeInMB,\n internalIsDisabled,\n handleAdd,\n filesToDisplay,\n handleDeleteFile,\n ],\n );\n },\n);\n\nFileInput.displayName = 'FileInput';\n\nexport default FileInput;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FileInput.js","names":["_react","_interopRequireWildcard","require","_file","_FileInput","_FileList","_interopRequireDefault","_FileSelect","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TSIMG_FILE_TYPES","exports","STREAMINGSERVICE_FILE_TYPES","FileInput","forwardRef","fileSelectionIcons","imageSelectIcons","fileTypes","onMaxFilesReached","maxFiles","onRemove","files","isDisabled","maxFileSizeInMB","onAdd","fileSelectionPlaceholder","imageSelectPlaceholder","ref","internalFiles","setInternalFiles","useState","internalImages","setInternalImages","handleInputClear","useImperativeHandle","clear","handleAddImages","useCallback","images","newImages","forEach","image","filterDuplicateFileUrls","newFile","push","tmp","slice","length","prevState","handleAddFiles","newFiles","newFileItems","file","isValidFileType","types","filterDuplicateFile","handleAdd","Array","isArray","handleDeleteFile","id","fileToDelete","filteredFiles","filter","name","filteredImages","internalIsDisabled","useMemo","filesToDisplay","items","map","type","size","mimeType","createElement","StyledFileInput","displayName","_default"],"sources":["../../../../src/components/file-input/FileInput.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useImperativeHandle, useMemo, useState } from 'react';\nimport { filterDuplicateFile, filterDuplicateFileUrls, isValidFileType } from '../../utils/file';\nimport { StyledFileInput } from './FileInput.styles';\nimport FileList, { IFileItem } from '../file-list/FileList';\nimport FileSelect from '../file-select/FileSelect';\n\nexport const TSIMG_FILE_TYPES =\n 'image/png, image/jpg, image/jpeg, image/gif, image/webp, image/svg+xml, image/avif';\n\nexport const STREAMINGSERVICE_FILE_TYPES =\n 'video/mp4, video/webm, video/avi, video/flv, video/wmv, video/mpg, video/quicktime';\n\nexport type FileInputProps = {\n /**\n * Already uploaded files to display.\n */\n files?: IFileItem[];\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 * Function to be executed when the maximum amount of Files are reached.\n */\n onMaxFilesReached?: () => void;\n /**\n * A function to be executed when a file is removed.\n */\n onRemove?: (file: File | IFileItem | string) => void;\n};\n\nexport type FileInputRef = {\n clear: () => void;\n};\n\nconst FileInput = forwardRef<FileInputRef, FileInputProps>(\n (\n {\n fileSelectionIcons = ['fa fa-upload'],\n imageSelectIcons = ['ts-image'],\n fileTypes,\n onMaxFilesReached,\n maxFiles,\n onRemove,\n files,\n isDisabled,\n maxFileSizeInMB,\n onAdd,\n fileSelectionPlaceholder = 'Dateien hochladen',\n imageSelectPlaceholder,\n },\n ref,\n ) => {\n const [internalFiles, setInternalFiles] = useState<File[]>([]);\n const [internalImages, setInternalImages] = useState<string[]>([]);\n\n const handleInputClear = () => {\n setInternalFiles([]);\n setInternalImages([]);\n };\n\n useImperativeHandle(\n ref,\n () => ({\n clear: handleInputClear,\n }),\n [],\n );\n\n const handleAddImages = useCallback(\n (images: string[]) => {\n const newImages: string[] = [];\n\n images.forEach((image) => {\n if (!filterDuplicateFileUrls({ files: internalImages, newFile: image })) {\n newImages.push(image);\n }\n });\n\n let tmp = newImages;\n\n if (maxFiles) {\n tmp = newImages.slice(\n 0,\n maxFiles -\n (internalFiles.length + internalImages.length + (files?.length ?? 0)),\n );\n }\n\n if (tmp.length > 0 && typeof onAdd === 'function') {\n onAdd(tmp);\n }\n\n setInternalImages((prevState) => [...prevState, ...tmp]);\n },\n [files?.length, internalFiles.length, internalImages, maxFiles, onAdd],\n );\n\n const handleAddFiles = useCallback(\n (newFiles: File[]) => {\n const newFileItems: File[] = [];\n\n newFiles.forEach((file) => {\n if (fileTypes && !isValidFileType({ file, types: fileTypes })) {\n return;\n }\n\n if (file && !filterDuplicateFile({ files: internalFiles, newFile: file })) {\n newFileItems.push(file);\n }\n });\n\n let tmp = newFileItems;\n\n if (maxFiles) {\n tmp = newFileItems.slice(\n 0,\n maxFiles - (internalFiles.length + (files?.length ?? 0)),\n );\n }\n\n if (tmp.length > 0 && typeof onAdd === 'function') {\n onAdd(tmp);\n }\n\n setInternalFiles((prevState) => [...prevState, ...tmp]);\n },\n [fileTypes, files?.length, internalFiles, maxFiles, onAdd],\n );\n\n const handleAdd = useCallback(\n (newFiles: File[] | string[]) => {\n if (Array.isArray(newFiles) && newFiles.length > 0) {\n if (typeof newFiles[0] === 'string') {\n handleAddImages(newFiles as string[]);\n } else {\n handleAddFiles(newFiles as File[]);\n }\n }\n },\n [handleAddFiles, handleAddImages],\n );\n\n const handleDeleteFile = useCallback(\n (id: string) => {\n let fileToDelete: File | IFileItem | string | undefined;\n\n const filteredFiles = internalFiles.filter((file) => {\n const { name } = file;\n\n if (name === id) {\n fileToDelete = file;\n }\n\n return name !== id;\n });\n\n setInternalFiles(filteredFiles);\n\n if (!fileToDelete) {\n const filteredImages = internalImages.filter((image) => {\n if (image === id) {\n fileToDelete = image;\n }\n\n return image !== id;\n });\n\n setInternalImages(filteredImages);\n }\n\n if (!fileToDelete) {\n files?.forEach((file) => {\n if (file.id === id || file.name === id) {\n fileToDelete = file;\n }\n });\n }\n\n if (!fileToDelete || typeof onRemove !== 'function') {\n return;\n }\n\n onRemove(fileToDelete);\n },\n [files, internalFiles, internalImages, onRemove],\n );\n\n const internalIsDisabled = useMemo(() => {\n if (isDisabled) {\n return true;\n }\n\n if (maxFiles) {\n if (internalFiles.length + internalImages.length >= maxFiles) {\n if (typeof onMaxFilesReached === 'function') {\n onMaxFilesReached();\n }\n\n return true;\n }\n }\n\n return false;\n }, [internalFiles.length, internalImages.length, isDisabled, maxFiles, onMaxFilesReached]);\n\n const filesToDisplay: IFileItem[] = useMemo(() => {\n const items: IFileItem[] = internalFiles.map(({ type, name, size }) => ({\n id: name,\n name,\n size,\n mimeType: type,\n }));\n\n internalImages.forEach((image) => {\n items.push({\n id: image,\n name: image,\n size: 0,\n mimeType: 'image/png',\n });\n });\n\n files?.forEach((file) => {\n items.push(file);\n });\n\n return items;\n }, [files, internalFiles, internalImages]);\n\n return useMemo(\n () => (\n <StyledFileInput>\n <FileSelect\n fileTypes={fileTypes}\n fileSelectionIcons={fileSelectionIcons}\n fileSelectionPlaceholder={fileSelectionPlaceholder}\n imageSelectIcons={imageSelectIcons}\n imageSelectPlaceholder={imageSelectPlaceholder}\n maxFileSizeInMB={maxFileSizeInMB}\n isDisabled={internalIsDisabled}\n onAdd={handleAdd}\n />\n <FileList files={filesToDisplay} onRemove={handleDeleteFile} />\n </StyledFileInput>\n ),\n [\n fileTypes,\n fileSelectionIcons,\n fileSelectionPlaceholder,\n imageSelectIcons,\n imageSelectPlaceholder,\n maxFileSizeInMB,\n internalIsDisabled,\n handleAdd,\n filesToDisplay,\n handleDeleteFile,\n ],\n );\n },\n);\n\nFileInput.displayName = 'FileInput';\n\nexport default FileInput;\n"],"mappings":"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","ignoreList":[]}
@@ -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: 'pixabay'
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
- if (maxFileSizeInMB && file.size > maxFileSizeInMB * 1024 * 1024) {
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":[]}
package/lib/cjs/index.js CHANGED
@@ -315,6 +315,12 @@ Object.defineProperty(exports, "RadioButtonGroup", {
315
315
  return _RadioButtonGroup.default;
316
316
  }
317
317
  });
318
+ Object.defineProperty(exports, "STREAMINGSERVICE_FILE_TYPES", {
319
+ enumerable: true,
320
+ get: function () {
321
+ return _FileInput.STREAMINGSERVICE_FILE_TYPES;
322
+ }
323
+ });
318
324
  Object.defineProperty(exports, "ScrollView", {
319
325
  enumerable: true,
320
326
  get: function () {
@@ -393,6 +399,12 @@ Object.defineProperty(exports, "SmallWaitCursorSpeed", {
393
399
  return _SmallWaitCursor.SmallWaitCursorSpeed;
394
400
  }
395
401
  });
402
+ Object.defineProperty(exports, "TSIMG_FILE_TYPES", {
403
+ enumerable: true,
404
+ get: function () {
405
+ return _FileInput.TSIMG_FILE_TYPES;
406
+ }
407
+ });
396
408
  Object.defineProperty(exports, "TagInput", {
397
409
  enumerable: true,
398
410
  get: function () {
@@ -528,7 +540,7 @@ var _ContentCard = _interopRequireDefault(require("./components/content-card/Con
528
540
  var _HighlightSlider = _interopRequireDefault(require("./components/highlight-slider/HighlightSlider"));
529
541
  var _ContextMenu = _interopRequireDefault(require("./components/context-menu/ContextMenu"));
530
542
  var _ExpandableContent = _interopRequireDefault(require("./components/expandable-content/ExpandableContent"));
531
- var _FileInput = _interopRequireDefault(require("./components/file-input/FileInput"));
543
+ var _FileInput = _interopRequireWildcard(require("./components/file-input/FileInput"));
532
544
  var _FilterButton = _interopRequireDefault(require("./components/filter-buttons/filter-button/FilterButton"));
533
545
  var _FilterButtons = _interopRequireDefault(require("./components/filter-buttons/FilterButtons"));
534
546
  var _GridImage = _interopRequireDefault(require("./components/grid-image/GridImage"));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Accordion","_interopRequireDefault","require","_AccordionContent","_AccordionGroup","_AccordionIntro","_AccordionItem","_AmountControl","_VerificationBadge","_AreaContextProvider","_interopRequireWildcard","_Badge","_Button","_Checkbox","_ColorSchemeProvider","_badge","_container","_dropdown","_element","_ref","_Filter","_AnimatedNumber","_FileList","_FileSelect","_DropdownBodyWrapper","_ComboBox","_ContentCard","_HighlightSlider","_ContextMenu","_ExpandableContent","_FileInput","_FilterButton","_FilterButtons","_GridImage","_GroupedImage","_Icon","_Input","_List","_ListItemContent","_ListItem","_MentionFinder","_NumberInput","_PageProvider","_Popup","_PopupContent","_ProgressBar","_popup","_RadioButtonGroup","_RadioButton","_ScrollView","_SearchBox","_SearchInput","_SelectButton","_SetupWizardItem","_SetupWizard","_SharingBar","_Signature","_SliderButton","_Slider","_SmallWaitCursor","_TagInput","_TextArea","_Tooltip","_Truncation","_mentionFinder","_contentCard","_contextMenu","_file","_filterButtons","_truncation","_environment","_fileDialog","_isTobitEmployee","_pageProvider","_uploadFile","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AccordionItem } from './components/accordion/accordion-item/AccordionItem';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport { default as VerificationBadge } from './components/verification-badge/VerificationBadge';\nexport {\n AreaContext,\n default as AreaProvider,\n} from './components/area-provider/AreaContextProvider';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport {\n default as ColorSchemeProvider,\n useColorScheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { BadgeSize, BadgeDesign } from './types/badge';\nexport type {\n ColorSchemeContextProps,\n WithTheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { useContainer, ContainerAnchor } from './hooks/container';\nexport { DropdownDirection, type DropdownCoordinates } from './types/dropdown';\nexport { useIsMeasuredClone } from './hooks/element';\nexport { useCombinedRefs } from './hooks/ref';\nexport { default as Filter } from './components/filter/Filter';\nexport { type SortItem } from './types/filter';\nexport { default as AnimatedNumber } from './components/animated-number/AnimatedNumber';\nexport {\n default as FileList,\n type IFileItem as FileListItem,\n} from './components/file-list/FileList';\nexport { default as FileSelect } from './components/file-select/FileSelect';\nexport { default as DropdownBodyWrapper } from './components/dropdown-body-wrapper/DropdownBodyWrapper';\nexport {\n default as ComboBox,\n type ComboBoxTextStyles,\n type IComboBoxItem as ComboBoxItem,\n type IComboBoxItems as ComboBoxItems,\n type ComboBoxRef,\n} from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport { default as HighlightSlider } from './components/highlight-slider/HighlightSlider';\nexport type { HighlightSliderItemColors as HighlightSliderColors } from './components/highlight-slider/highlight-slider-item/HighlightSliderItem';\nexport {\n default as ContextMenu,\n type ContextMenuCoordinates,\n type ContextMenuItem,\n type ContextMenuRef,\n} from './components/context-menu/ContextMenu';\nexport { default as ExpandableContent } from './components/expandable-content/ExpandableContent';\nexport { default as FileInput, type FileInputRef } from './components/file-input/FileInput';\nexport { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';\nexport { default as FilterButtons } from './components/filter-buttons/FilterButtons';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as GroupedImage } from './components/grouped-image/GroupedImage';\nexport { default as Icon } from './components/icon/Icon';\nexport { default as Input, InputSize } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport {\n default as ListItem,\n type ListItemElements,\n type ListItemProps,\n} from './components/list/list-item/ListItem';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as NumberInput } from './components/number-input/NumberInput';\nexport { default as PageProvider } from './components/page-provider/PageProvider';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as PopupContent } from './components/popup/popup-content/PopupContent';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport { PopupAlignment } from './types/popup';\nexport {\n default as RadioButtonGroup,\n type RadioButtonGroupRef,\n} from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SelectButton } from './components/select-button/SelectButton';\nexport { default as SetupWizardItem } from './components/setup-wizard/setup-wizard-item/SetupWizardItem';\nexport { default as SetupWizard } from './components/setup-wizard/SetupWizard';\nexport type { SetupWizardRef } from './components/setup-wizard/SetupWizard';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as Signature } from './components/signature/Signature';\nexport type { SignatureRef } from './components/signature/Signature';\nexport { default as SliderButton } from './components/slider-button/SliderButton';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSize,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport type { Tag } from './types/tagInput';\nexport { default as TagInput } from './components/tag-input/TagInput';\nexport type { TagInputRef } from './components/tag-input/TagInput';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\nexport { default as Truncation } from './components/truncation/Truncation';\nexport { MentionFinderPopupAlignment } from './constants/mentionFinder';\nexport { useElementSize } from './hooks/element';\nexport type { BrowserName } from './types/chayns';\nexport { ContentCardType } from './types/contentCard';\nexport { ContextMenuAlignment } from './types/contextMenu';\nexport type { FileItem, Image, InternalFileItem, Meta, Video } from './types/file';\nexport { isValidFileType } from './utils/file';\nexport type { FileInputFileItem } from './types/fileInput';\nexport { FilterButtonItemShape, FilterButtonSize } from './types/filterButtons';\nexport type { IFilterButtonItem as FilterButtonItem } from './types/filterButtons';\nexport type { IListItemRightElements } from './types/list';\nexport type { PopupRef } from './types/popup';\nexport type { RadioButtonItem } from './types/radioButton';\nexport type {\n ISearchBoxItem as SearchBoxItem,\n ISearchBoxItems as SearchBoxItems,\n} from './types/searchBox';\nexport type { SelectButtonItem } from './types/selectButton';\nexport type { SliderButtonItem } from './types/slider-button';\nexport { ClampPosition } from './types/truncation';\nexport { getIsTouch } from './utils/environment';\nexport { filterFilesByMimeType, getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';\nexport { isTobitEmployee } from './utils/isTobitEmployee';\nexport { getUsableHeight } from './utils/pageProvider';\nexport { uploadFile } from './utils/uploadFile';\nexport type { Theme } from './components/color-scheme-provider/ColorSchemeProvider';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Accordion","_interopRequireDefault","require","_AccordionContent","_AccordionGroup","_AccordionIntro","_AccordionItem","_AmountControl","_VerificationBadge","_AreaContextProvider","_interopRequireWildcard","_Badge","_Button","_Checkbox","_ColorSchemeProvider","_badge","_container","_dropdown","_element","_ref","_Filter","_AnimatedNumber","_FileList","_FileSelect","_DropdownBodyWrapper","_ComboBox","_ContentCard","_HighlightSlider","_ContextMenu","_ExpandableContent","_FileInput","_FilterButton","_FilterButtons","_GridImage","_GroupedImage","_Icon","_Input","_List","_ListItemContent","_ListItem","_MentionFinder","_NumberInput","_PageProvider","_Popup","_PopupContent","_ProgressBar","_popup","_RadioButtonGroup","_RadioButton","_ScrollView","_SearchBox","_SearchInput","_SelectButton","_SetupWizardItem","_SetupWizard","_SharingBar","_Signature","_SliderButton","_Slider","_SmallWaitCursor","_TagInput","_TextArea","_Tooltip","_Truncation","_mentionFinder","_contentCard","_contextMenu","_file","_filterButtons","_truncation","_environment","_fileDialog","_isTobitEmployee","_pageProvider","_uploadFile","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AccordionItem } from './components/accordion/accordion-item/AccordionItem';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport { default as VerificationBadge } from './components/verification-badge/VerificationBadge';\nexport {\n AreaContext,\n default as AreaProvider,\n} from './components/area-provider/AreaContextProvider';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport {\n default as ColorSchemeProvider,\n useColorScheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { BadgeSize, BadgeDesign } from './types/badge';\nexport type {\n ColorSchemeContextProps,\n WithTheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { useContainer, ContainerAnchor } from './hooks/container';\nexport { DropdownDirection, type DropdownCoordinates } from './types/dropdown';\nexport { useIsMeasuredClone } from './hooks/element';\nexport { useCombinedRefs } from './hooks/ref';\nexport { default as Filter } from './components/filter/Filter';\nexport { type SortItem } from './types/filter';\nexport { default as AnimatedNumber } from './components/animated-number/AnimatedNumber';\nexport {\n default as FileList,\n type IFileItem as FileListItem,\n} from './components/file-list/FileList';\nexport { default as FileSelect } from './components/file-select/FileSelect';\nexport { default as DropdownBodyWrapper } from './components/dropdown-body-wrapper/DropdownBodyWrapper';\nexport {\n default as ComboBox,\n type ComboBoxTextStyles,\n type IComboBoxItem as ComboBoxItem,\n type IComboBoxItems as ComboBoxItems,\n type ComboBoxRef,\n} from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport { default as HighlightSlider } from './components/highlight-slider/HighlightSlider';\nexport type { HighlightSliderItemColors as HighlightSliderColors } from './components/highlight-slider/highlight-slider-item/HighlightSliderItem';\nexport {\n default as ContextMenu,\n type ContextMenuCoordinates,\n type ContextMenuItem,\n type ContextMenuRef,\n} from './components/context-menu/ContextMenu';\nexport { default as ExpandableContent } from './components/expandable-content/ExpandableContent';\nexport {\n default as FileInput,\n type FileInputRef,\n STREAMINGSERVICE_FILE_TYPES,\n TSIMG_FILE_TYPES,\n} from './components/file-input/FileInput';\nexport { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';\nexport { default as FilterButtons } from './components/filter-buttons/FilterButtons';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as GroupedImage } from './components/grouped-image/GroupedImage';\nexport { default as Icon } from './components/icon/Icon';\nexport { default as Input, InputSize } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport {\n default as ListItem,\n type ListItemElements,\n type ListItemProps,\n} from './components/list/list-item/ListItem';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as NumberInput } from './components/number-input/NumberInput';\nexport { default as PageProvider } from './components/page-provider/PageProvider';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as PopupContent } from './components/popup/popup-content/PopupContent';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport { PopupAlignment } from './types/popup';\nexport {\n default as RadioButtonGroup,\n type RadioButtonGroupRef,\n} from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SelectButton } from './components/select-button/SelectButton';\nexport { default as SetupWizardItem } from './components/setup-wizard/setup-wizard-item/SetupWizardItem';\nexport { default as SetupWizard } from './components/setup-wizard/SetupWizard';\nexport type { SetupWizardRef } from './components/setup-wizard/SetupWizard';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as Signature } from './components/signature/Signature';\nexport type { SignatureRef } from './components/signature/Signature';\nexport { default as SliderButton } from './components/slider-button/SliderButton';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSize,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport type { Tag } from './types/tagInput';\nexport { default as TagInput } from './components/tag-input/TagInput';\nexport type { TagInputRef } from './components/tag-input/TagInput';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\nexport { default as Truncation } from './components/truncation/Truncation';\nexport { MentionFinderPopupAlignment } from './constants/mentionFinder';\nexport { useElementSize } from './hooks/element';\nexport type { BrowserName } from './types/chayns';\nexport { ContentCardType } from './types/contentCard';\nexport { ContextMenuAlignment } from './types/contextMenu';\nexport type { FileItem, Image, InternalFileItem, Meta, Video } from './types/file';\nexport { isValidFileType } from './utils/file';\nexport type { FileInputFileItem } from './types/fileInput';\nexport { FilterButtonItemShape, FilterButtonSize } from './types/filterButtons';\nexport type { IFilterButtonItem as FilterButtonItem } from './types/filterButtons';\nexport type { IListItemRightElements } from './types/list';\nexport type { PopupRef } from './types/popup';\nexport type { RadioButtonItem } from './types/radioButton';\nexport type {\n ISearchBoxItem as SearchBoxItem,\n ISearchBoxItems as SearchBoxItems,\n} from './types/searchBox';\nexport type { SelectButtonItem } from './types/selectButton';\nexport type { SliderButtonItem } from './types/slider-button';\nexport { ClampPosition } from './types/truncation';\nexport { getIsTouch } from './utils/environment';\nexport { filterFilesByMimeType, getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';\nexport { isTobitEmployee } from './utils/isTobitEmployee';\nexport { getUsableHeight } from './utils/pageProvider';\nexport { uploadFile } from './utils/uploadFile';\nexport type { Theme } from './components/color-scheme-provider/ColorSchemeProvider';\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,8 @@ import { filterDuplicateFile, filterDuplicateFileUrls, isValidFileType } from '.
3
3
  import { StyledFileInput } from './FileInput.styles';
4
4
  import FileList from '../file-list/FileList';
5
5
  import FileSelect from '../file-select/FileSelect';
6
+ export const TSIMG_FILE_TYPES = 'image/png, image/jpg, image/jpeg, image/gif, image/webp, image/svg+xml, image/avif';
7
+ export const STREAMINGSERVICE_FILE_TYPES = 'video/mp4, video/webm, video/avi, video/flv, video/wmv, video/mpg, video/quicktime';
6
8
  const FileInput = /*#__PURE__*/forwardRef(({
7
9
  fileSelectionIcons = ['fa fa-upload'],
8
10
  imageSelectIcons = ['ts-image'],
@@ -1 +1 @@
1
- {"version":3,"file":"FileInput.js","names":["React","forwardRef","useCallback","useImperativeHandle","useMemo","useState","filterDuplicateFile","filterDuplicateFileUrls","isValidFileType","StyledFileInput","FileList","FileSelect","FileInput","fileSelectionIcons","imageSelectIcons","fileTypes","onMaxFilesReached","maxFiles","onRemove","files","isDisabled","maxFileSizeInMB","onAdd","fileSelectionPlaceholder","imageSelectPlaceholder","ref","internalFiles","setInternalFiles","internalImages","setInternalImages","handleInputClear","clear","handleAddImages","images","newImages","forEach","image","newFile","push","tmp","slice","length","prevState","handleAddFiles","newFiles","newFileItems","file","types","handleAdd","Array","isArray","handleDeleteFile","id","fileToDelete","filteredFiles","filter","name","filteredImages","internalIsDisabled","filesToDisplay","items","map","type","size","mimeType","createElement","displayName"],"sources":["../../../../src/components/file-input/FileInput.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useImperativeHandle, useMemo, useState } from 'react';\nimport { filterDuplicateFile, filterDuplicateFileUrls, isValidFileType } from '../../utils/file';\nimport { StyledFileInput } from './FileInput.styles';\nimport FileList, { IFileItem } from '../file-list/FileList';\nimport FileSelect from '../file-select/FileSelect';\n\nexport type FileInputProps = {\n /**\n * Already uploaded files to display.\n */\n files?: IFileItem[];\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 * Function to be executed when the maximum amount of Files are reached.\n */\n onMaxFilesReached?: () => void;\n /**\n * A function to be executed when a file is removed.\n */\n onRemove?: (file: File | IFileItem | string) => void;\n};\n\nexport type FileInputRef = {\n clear: () => void;\n};\n\nconst FileInput = forwardRef<FileInputRef, FileInputProps>(\n (\n {\n fileSelectionIcons = ['fa fa-upload'],\n imageSelectIcons = ['ts-image'],\n fileTypes,\n onMaxFilesReached,\n maxFiles,\n onRemove,\n files,\n isDisabled,\n maxFileSizeInMB,\n onAdd,\n fileSelectionPlaceholder = 'Dateien hochladen',\n imageSelectPlaceholder,\n },\n ref,\n ) => {\n const [internalFiles, setInternalFiles] = useState<File[]>([]);\n const [internalImages, setInternalImages] = useState<string[]>([]);\n\n const handleInputClear = () => {\n setInternalFiles([]);\n setInternalImages([]);\n };\n\n useImperativeHandle(\n ref,\n () => ({\n clear: handleInputClear,\n }),\n [],\n );\n\n const handleAddImages = useCallback(\n (images: string[]) => {\n const newImages: string[] = [];\n\n images.forEach((image) => {\n if (!filterDuplicateFileUrls({ files: internalImages, newFile: image })) {\n newImages.push(image);\n }\n });\n\n let tmp = newImages;\n\n if (maxFiles) {\n tmp = newImages.slice(\n 0,\n maxFiles -\n (internalFiles.length + internalImages.length + (files?.length ?? 0)),\n );\n }\n\n if (tmp.length > 0 && typeof onAdd === 'function') {\n onAdd(tmp);\n }\n\n setInternalImages((prevState) => [...prevState, ...tmp]);\n },\n [files?.length, internalFiles.length, internalImages, maxFiles, onAdd],\n );\n\n const handleAddFiles = useCallback(\n (newFiles: File[]) => {\n const newFileItems: File[] = [];\n\n newFiles.forEach((file) => {\n if (fileTypes && !isValidFileType({ file, types: fileTypes })) {\n return;\n }\n\n if (file && !filterDuplicateFile({ files: internalFiles, newFile: file })) {\n newFileItems.push(file);\n }\n });\n\n let tmp = newFileItems;\n\n if (maxFiles) {\n tmp = newFileItems.slice(\n 0,\n maxFiles - (internalFiles.length + (files?.length ?? 0)),\n );\n }\n\n if (tmp.length > 0 && typeof onAdd === 'function') {\n onAdd(tmp);\n }\n\n setInternalFiles((prevState) => [...prevState, ...tmp]);\n },\n [fileTypes, files?.length, internalFiles, maxFiles, onAdd],\n );\n\n const handleAdd = useCallback(\n (newFiles: File[] | string[]) => {\n if (Array.isArray(newFiles) && newFiles.length > 0) {\n if (typeof newFiles[0] === 'string') {\n handleAddImages(newFiles as string[]);\n } else {\n handleAddFiles(newFiles as File[]);\n }\n }\n },\n [handleAddFiles, handleAddImages],\n );\n\n const handleDeleteFile = useCallback(\n (id: string) => {\n let fileToDelete: File | IFileItem | string | undefined;\n\n const filteredFiles = internalFiles.filter((file) => {\n const { name } = file;\n\n if (name === id) {\n fileToDelete = file;\n }\n\n return name !== id;\n });\n\n setInternalFiles(filteredFiles);\n\n if (!fileToDelete) {\n const filteredImages = internalImages.filter((image) => {\n if (image === id) {\n fileToDelete = image;\n }\n\n return image !== id;\n });\n\n setInternalImages(filteredImages);\n }\n\n if (!fileToDelete) {\n files?.forEach((file) => {\n if (file.id === id || file.name === id) {\n fileToDelete = file;\n }\n });\n }\n\n if (!fileToDelete || typeof onRemove !== 'function') {\n return;\n }\n\n onRemove(fileToDelete);\n },\n [files, internalFiles, internalImages, onRemove],\n );\n\n const internalIsDisabled = useMemo(() => {\n if (isDisabled) {\n return true;\n }\n\n if (maxFiles) {\n if (internalFiles.length + internalImages.length >= maxFiles) {\n if (typeof onMaxFilesReached === 'function') {\n onMaxFilesReached();\n }\n\n return true;\n }\n }\n\n return false;\n }, [internalFiles.length, internalImages.length, isDisabled, maxFiles, onMaxFilesReached]);\n\n const filesToDisplay: IFileItem[] = useMemo(() => {\n const items: IFileItem[] = internalFiles.map(({ type, name, size }) => ({\n id: name,\n name,\n size,\n mimeType: type,\n }));\n\n internalImages.forEach((image) => {\n items.push({\n id: image,\n name: image,\n size: 0,\n mimeType: 'image/png',\n });\n });\n\n files?.forEach((file) => {\n items.push(file);\n });\n\n return items;\n }, [files, internalFiles, internalImages]);\n\n return useMemo(\n () => (\n <StyledFileInput>\n <FileSelect\n fileTypes={fileTypes}\n fileSelectionIcons={fileSelectionIcons}\n fileSelectionPlaceholder={fileSelectionPlaceholder}\n imageSelectIcons={imageSelectIcons}\n imageSelectPlaceholder={imageSelectPlaceholder}\n maxFileSizeInMB={maxFileSizeInMB}\n isDisabled={internalIsDisabled}\n onAdd={handleAdd}\n />\n <FileList files={filesToDisplay} onRemove={handleDeleteFile} />\n </StyledFileInput>\n ),\n [\n fileTypes,\n fileSelectionIcons,\n fileSelectionPlaceholder,\n imageSelectIcons,\n imageSelectPlaceholder,\n maxFileSizeInMB,\n internalIsDisabled,\n handleAdd,\n filesToDisplay,\n handleDeleteFile,\n ],\n );\n },\n);\n\nFileInput.displayName = 'FileInput';\n\nexport default FileInput;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FileInput.js","names":["React","forwardRef","useCallback","useImperativeHandle","useMemo","useState","filterDuplicateFile","filterDuplicateFileUrls","isValidFileType","StyledFileInput","FileList","FileSelect","TSIMG_FILE_TYPES","STREAMINGSERVICE_FILE_TYPES","FileInput","fileSelectionIcons","imageSelectIcons","fileTypes","onMaxFilesReached","maxFiles","onRemove","files","isDisabled","maxFileSizeInMB","onAdd","fileSelectionPlaceholder","imageSelectPlaceholder","ref","internalFiles","setInternalFiles","internalImages","setInternalImages","handleInputClear","clear","handleAddImages","images","newImages","forEach","image","newFile","push","tmp","slice","length","prevState","handleAddFiles","newFiles","newFileItems","file","types","handleAdd","Array","isArray","handleDeleteFile","id","fileToDelete","filteredFiles","filter","name","filteredImages","internalIsDisabled","filesToDisplay","items","map","type","size","mimeType","createElement","displayName"],"sources":["../../../../src/components/file-input/FileInput.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useImperativeHandle, useMemo, useState } from 'react';\nimport { filterDuplicateFile, filterDuplicateFileUrls, isValidFileType } from '../../utils/file';\nimport { StyledFileInput } from './FileInput.styles';\nimport FileList, { IFileItem } from '../file-list/FileList';\nimport FileSelect from '../file-select/FileSelect';\n\nexport const TSIMG_FILE_TYPES =\n 'image/png, image/jpg, image/jpeg, image/gif, image/webp, image/svg+xml, image/avif';\n\nexport const STREAMINGSERVICE_FILE_TYPES =\n 'video/mp4, video/webm, video/avi, video/flv, video/wmv, video/mpg, video/quicktime';\n\nexport type FileInputProps = {\n /**\n * Already uploaded files to display.\n */\n files?: IFileItem[];\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 * Function to be executed when the maximum amount of Files are reached.\n */\n onMaxFilesReached?: () => void;\n /**\n * A function to be executed when a file is removed.\n */\n onRemove?: (file: File | IFileItem | string) => void;\n};\n\nexport type FileInputRef = {\n clear: () => void;\n};\n\nconst FileInput = forwardRef<FileInputRef, FileInputProps>(\n (\n {\n fileSelectionIcons = ['fa fa-upload'],\n imageSelectIcons = ['ts-image'],\n fileTypes,\n onMaxFilesReached,\n maxFiles,\n onRemove,\n files,\n isDisabled,\n maxFileSizeInMB,\n onAdd,\n fileSelectionPlaceholder = 'Dateien hochladen',\n imageSelectPlaceholder,\n },\n ref,\n ) => {\n const [internalFiles, setInternalFiles] = useState<File[]>([]);\n const [internalImages, setInternalImages] = useState<string[]>([]);\n\n const handleInputClear = () => {\n setInternalFiles([]);\n setInternalImages([]);\n };\n\n useImperativeHandle(\n ref,\n () => ({\n clear: handleInputClear,\n }),\n [],\n );\n\n const handleAddImages = useCallback(\n (images: string[]) => {\n const newImages: string[] = [];\n\n images.forEach((image) => {\n if (!filterDuplicateFileUrls({ files: internalImages, newFile: image })) {\n newImages.push(image);\n }\n });\n\n let tmp = newImages;\n\n if (maxFiles) {\n tmp = newImages.slice(\n 0,\n maxFiles -\n (internalFiles.length + internalImages.length + (files?.length ?? 0)),\n );\n }\n\n if (tmp.length > 0 && typeof onAdd === 'function') {\n onAdd(tmp);\n }\n\n setInternalImages((prevState) => [...prevState, ...tmp]);\n },\n [files?.length, internalFiles.length, internalImages, maxFiles, onAdd],\n );\n\n const handleAddFiles = useCallback(\n (newFiles: File[]) => {\n const newFileItems: File[] = [];\n\n newFiles.forEach((file) => {\n if (fileTypes && !isValidFileType({ file, types: fileTypes })) {\n return;\n }\n\n if (file && !filterDuplicateFile({ files: internalFiles, newFile: file })) {\n newFileItems.push(file);\n }\n });\n\n let tmp = newFileItems;\n\n if (maxFiles) {\n tmp = newFileItems.slice(\n 0,\n maxFiles - (internalFiles.length + (files?.length ?? 0)),\n );\n }\n\n if (tmp.length > 0 && typeof onAdd === 'function') {\n onAdd(tmp);\n }\n\n setInternalFiles((prevState) => [...prevState, ...tmp]);\n },\n [fileTypes, files?.length, internalFiles, maxFiles, onAdd],\n );\n\n const handleAdd = useCallback(\n (newFiles: File[] | string[]) => {\n if (Array.isArray(newFiles) && newFiles.length > 0) {\n if (typeof newFiles[0] === 'string') {\n handleAddImages(newFiles as string[]);\n } else {\n handleAddFiles(newFiles as File[]);\n }\n }\n },\n [handleAddFiles, handleAddImages],\n );\n\n const handleDeleteFile = useCallback(\n (id: string) => {\n let fileToDelete: File | IFileItem | string | undefined;\n\n const filteredFiles = internalFiles.filter((file) => {\n const { name } = file;\n\n if (name === id) {\n fileToDelete = file;\n }\n\n return name !== id;\n });\n\n setInternalFiles(filteredFiles);\n\n if (!fileToDelete) {\n const filteredImages = internalImages.filter((image) => {\n if (image === id) {\n fileToDelete = image;\n }\n\n return image !== id;\n });\n\n setInternalImages(filteredImages);\n }\n\n if (!fileToDelete) {\n files?.forEach((file) => {\n if (file.id === id || file.name === id) {\n fileToDelete = file;\n }\n });\n }\n\n if (!fileToDelete || typeof onRemove !== 'function') {\n return;\n }\n\n onRemove(fileToDelete);\n },\n [files, internalFiles, internalImages, onRemove],\n );\n\n const internalIsDisabled = useMemo(() => {\n if (isDisabled) {\n return true;\n }\n\n if (maxFiles) {\n if (internalFiles.length + internalImages.length >= maxFiles) {\n if (typeof onMaxFilesReached === 'function') {\n onMaxFilesReached();\n }\n\n return true;\n }\n }\n\n return false;\n }, [internalFiles.length, internalImages.length, isDisabled, maxFiles, onMaxFilesReached]);\n\n const filesToDisplay: IFileItem[] = useMemo(() => {\n const items: IFileItem[] = internalFiles.map(({ type, name, size }) => ({\n id: name,\n name,\n size,\n mimeType: type,\n }));\n\n internalImages.forEach((image) => {\n items.push({\n id: image,\n name: image,\n size: 0,\n mimeType: 'image/png',\n });\n });\n\n files?.forEach((file) => {\n items.push(file);\n });\n\n return items;\n }, [files, internalFiles, internalImages]);\n\n return useMemo(\n () => (\n <StyledFileInput>\n <FileSelect\n fileTypes={fileTypes}\n fileSelectionIcons={fileSelectionIcons}\n fileSelectionPlaceholder={fileSelectionPlaceholder}\n imageSelectIcons={imageSelectIcons}\n imageSelectPlaceholder={imageSelectPlaceholder}\n maxFileSizeInMB={maxFileSizeInMB}\n isDisabled={internalIsDisabled}\n onAdd={handleAdd}\n />\n <FileList files={filesToDisplay} onRemove={handleDeleteFile} />\n </StyledFileInput>\n ),\n [\n fileTypes,\n fileSelectionIcons,\n fileSelectionPlaceholder,\n imageSelectIcons,\n imageSelectPlaceholder,\n maxFileSizeInMB,\n internalIsDisabled,\n handleAdd,\n filesToDisplay,\n handleDeleteFile,\n ],\n );\n },\n);\n\nFileInput.displayName = 'FileInput';\n\nexport default FileInput;\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: 'pixabay'
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
- if (maxFileSizeInMB && file.size > maxFileSizeInMB * 1024 * 1024) {
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/lib/esm/index.js CHANGED
@@ -27,7 +27,7 @@ export { default as ContentCard } from './components/content-card/ContentCard';
27
27
  export { default as HighlightSlider } from './components/highlight-slider/HighlightSlider';
28
28
  export { default as ContextMenu } from './components/context-menu/ContextMenu';
29
29
  export { default as ExpandableContent } from './components/expandable-content/ExpandableContent';
30
- export { default as FileInput } from './components/file-input/FileInput';
30
+ export { default as FileInput, STREAMINGSERVICE_FILE_TYPES, TSIMG_FILE_TYPES } from './components/file-input/FileInput';
31
31
  export { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';
32
32
  export { default as FilterButtons } from './components/filter-buttons/FilterButtons';
33
33
  export { default as GridImage } from './components/grid-image/GridImage';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","Accordion","AccordionContent","AccordionGroup","AccordionIntro","AccordionItem","AmountControl","VerificationBadge","AreaContext","AreaProvider","Badge","Button","Checkbox","ColorSchemeProvider","useColorScheme","BadgeSize","BadgeDesign","useContainer","ContainerAnchor","DropdownDirection","useIsMeasuredClone","useCombinedRefs","Filter","AnimatedNumber","FileList","FileSelect","DropdownBodyWrapper","ComboBox","ContentCard","HighlightSlider","ContextMenu","ExpandableContent","FileInput","FilterButton","FilterButtons","GridImage","GroupedImage","Icon","Input","InputSize","List","ListItemContent","ListItem","MentionFinder","NumberInput","PageProvider","Popup","PopupContent","ProgressBar","PopupAlignment","RadioButtonGroup","RadioButton","ScrollView","SearchBox","SearchInput","SelectButton","SetupWizardItem","SetupWizard","SharingBar","Signature","SliderButton","Slider","SmallWaitCursor","SmallWaitCursorSize","SmallWaitCursorSpeed","TagInput","TextArea","Tooltip","Truncation","MentionFinderPopupAlignment","useElementSize","ContentCardType","ContextMenuAlignment","isValidFileType","FilterButtonItemShape","FilterButtonSize","ClampPosition","getIsTouch","filterFilesByMimeType","getFileAsArrayBuffer","selectFiles","isTobitEmployee","getUsableHeight","uploadFile"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AccordionItem } from './components/accordion/accordion-item/AccordionItem';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport { default as VerificationBadge } from './components/verification-badge/VerificationBadge';\nexport {\n AreaContext,\n default as AreaProvider,\n} from './components/area-provider/AreaContextProvider';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport {\n default as ColorSchemeProvider,\n useColorScheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { BadgeSize, BadgeDesign } from './types/badge';\nexport type {\n ColorSchemeContextProps,\n WithTheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { useContainer, ContainerAnchor } from './hooks/container';\nexport { DropdownDirection, type DropdownCoordinates } from './types/dropdown';\nexport { useIsMeasuredClone } from './hooks/element';\nexport { useCombinedRefs } from './hooks/ref';\nexport { default as Filter } from './components/filter/Filter';\nexport { type SortItem } from './types/filter';\nexport { default as AnimatedNumber } from './components/animated-number/AnimatedNumber';\nexport {\n default as FileList,\n type IFileItem as FileListItem,\n} from './components/file-list/FileList';\nexport { default as FileSelect } from './components/file-select/FileSelect';\nexport { default as DropdownBodyWrapper } from './components/dropdown-body-wrapper/DropdownBodyWrapper';\nexport {\n default as ComboBox,\n type ComboBoxTextStyles,\n type IComboBoxItem as ComboBoxItem,\n type IComboBoxItems as ComboBoxItems,\n type ComboBoxRef,\n} from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport { default as HighlightSlider } from './components/highlight-slider/HighlightSlider';\nexport type { HighlightSliderItemColors as HighlightSliderColors } from './components/highlight-slider/highlight-slider-item/HighlightSliderItem';\nexport {\n default as ContextMenu,\n type ContextMenuCoordinates,\n type ContextMenuItem,\n type ContextMenuRef,\n} from './components/context-menu/ContextMenu';\nexport { default as ExpandableContent } from './components/expandable-content/ExpandableContent';\nexport { default as FileInput, type FileInputRef } from './components/file-input/FileInput';\nexport { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';\nexport { default as FilterButtons } from './components/filter-buttons/FilterButtons';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as GroupedImage } from './components/grouped-image/GroupedImage';\nexport { default as Icon } from './components/icon/Icon';\nexport { default as Input, InputSize } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport {\n default as ListItem,\n type ListItemElements,\n type ListItemProps,\n} from './components/list/list-item/ListItem';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as NumberInput } from './components/number-input/NumberInput';\nexport { default as PageProvider } from './components/page-provider/PageProvider';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as PopupContent } from './components/popup/popup-content/PopupContent';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport { PopupAlignment } from './types/popup';\nexport {\n default as RadioButtonGroup,\n type RadioButtonGroupRef,\n} from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SelectButton } from './components/select-button/SelectButton';\nexport { default as SetupWizardItem } from './components/setup-wizard/setup-wizard-item/SetupWizardItem';\nexport { default as SetupWizard } from './components/setup-wizard/SetupWizard';\nexport type { SetupWizardRef } from './components/setup-wizard/SetupWizard';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as Signature } from './components/signature/Signature';\nexport type { SignatureRef } from './components/signature/Signature';\nexport { default as SliderButton } from './components/slider-button/SliderButton';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSize,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport type { Tag } from './types/tagInput';\nexport { default as TagInput } from './components/tag-input/TagInput';\nexport type { TagInputRef } from './components/tag-input/TagInput';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\nexport { default as Truncation } from './components/truncation/Truncation';\nexport { MentionFinderPopupAlignment } from './constants/mentionFinder';\nexport { useElementSize } from './hooks/element';\nexport type { BrowserName } from './types/chayns';\nexport { ContentCardType } from './types/contentCard';\nexport { ContextMenuAlignment } from './types/contextMenu';\nexport type { FileItem, Image, InternalFileItem, Meta, Video } from './types/file';\nexport { isValidFileType } from './utils/file';\nexport type { FileInputFileItem } from './types/fileInput';\nexport { FilterButtonItemShape, FilterButtonSize } from './types/filterButtons';\nexport type { IFilterButtonItem as FilterButtonItem } from './types/filterButtons';\nexport type { IListItemRightElements } from './types/list';\nexport type { PopupRef } from './types/popup';\nexport type { RadioButtonItem } from './types/radioButton';\nexport type {\n ISearchBoxItem as SearchBoxItem,\n ISearchBoxItems as SearchBoxItems,\n} from './types/searchBox';\nexport type { SelectButtonItem } from './types/selectButton';\nexport type { SliderButtonItem } from './types/slider-button';\nexport { ClampPosition } from './types/truncation';\nexport { getIsTouch } from './utils/environment';\nexport { filterFilesByMimeType, getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';\nexport { isTobitEmployee } from './utils/isTobitEmployee';\nexport { getUsableHeight } from './utils/pageProvider';\nexport { uploadFile } from './utils/uploadFile';\nexport type { Theme } from './components/color-scheme-provider/ColorSchemeProvider';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["default","Accordion","AccordionContent","AccordionGroup","AccordionIntro","AccordionItem","AmountControl","VerificationBadge","AreaContext","AreaProvider","Badge","Button","Checkbox","ColorSchemeProvider","useColorScheme","BadgeSize","BadgeDesign","useContainer","ContainerAnchor","DropdownDirection","useIsMeasuredClone","useCombinedRefs","Filter","AnimatedNumber","FileList","FileSelect","DropdownBodyWrapper","ComboBox","ContentCard","HighlightSlider","ContextMenu","ExpandableContent","FileInput","STREAMINGSERVICE_FILE_TYPES","TSIMG_FILE_TYPES","FilterButton","FilterButtons","GridImage","GroupedImage","Icon","Input","InputSize","List","ListItemContent","ListItem","MentionFinder","NumberInput","PageProvider","Popup","PopupContent","ProgressBar","PopupAlignment","RadioButtonGroup","RadioButton","ScrollView","SearchBox","SearchInput","SelectButton","SetupWizardItem","SetupWizard","SharingBar","Signature","SliderButton","Slider","SmallWaitCursor","SmallWaitCursorSize","SmallWaitCursorSpeed","TagInput","TextArea","Tooltip","Truncation","MentionFinderPopupAlignment","useElementSize","ContentCardType","ContextMenuAlignment","isValidFileType","FilterButtonItemShape","FilterButtonSize","ClampPosition","getIsTouch","filterFilesByMimeType","getFileAsArrayBuffer","selectFiles","isTobitEmployee","getUsableHeight","uploadFile"],"sources":["../../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AccordionItem } from './components/accordion/accordion-item/AccordionItem';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport { default as VerificationBadge } from './components/verification-badge/VerificationBadge';\nexport {\n AreaContext,\n default as AreaProvider,\n} from './components/area-provider/AreaContextProvider';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport {\n default as ColorSchemeProvider,\n useColorScheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { BadgeSize, BadgeDesign } from './types/badge';\nexport type {\n ColorSchemeContextProps,\n WithTheme,\n} from './components/color-scheme-provider/ColorSchemeProvider';\nexport { useContainer, ContainerAnchor } from './hooks/container';\nexport { DropdownDirection, type DropdownCoordinates } from './types/dropdown';\nexport { useIsMeasuredClone } from './hooks/element';\nexport { useCombinedRefs } from './hooks/ref';\nexport { default as Filter } from './components/filter/Filter';\nexport { type SortItem } from './types/filter';\nexport { default as AnimatedNumber } from './components/animated-number/AnimatedNumber';\nexport {\n default as FileList,\n type IFileItem as FileListItem,\n} from './components/file-list/FileList';\nexport { default as FileSelect } from './components/file-select/FileSelect';\nexport { default as DropdownBodyWrapper } from './components/dropdown-body-wrapper/DropdownBodyWrapper';\nexport {\n default as ComboBox,\n type ComboBoxTextStyles,\n type IComboBoxItem as ComboBoxItem,\n type IComboBoxItems as ComboBoxItems,\n type ComboBoxRef,\n} from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport { default as HighlightSlider } from './components/highlight-slider/HighlightSlider';\nexport type { HighlightSliderItemColors as HighlightSliderColors } from './components/highlight-slider/highlight-slider-item/HighlightSliderItem';\nexport {\n default as ContextMenu,\n type ContextMenuCoordinates,\n type ContextMenuItem,\n type ContextMenuRef,\n} from './components/context-menu/ContextMenu';\nexport { default as ExpandableContent } from './components/expandable-content/ExpandableContent';\nexport {\n default as FileInput,\n type FileInputRef,\n STREAMINGSERVICE_FILE_TYPES,\n TSIMG_FILE_TYPES,\n} from './components/file-input/FileInput';\nexport { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';\nexport { default as FilterButtons } from './components/filter-buttons/FilterButtons';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as GroupedImage } from './components/grouped-image/GroupedImage';\nexport { default as Icon } from './components/icon/Icon';\nexport { default as Input, InputSize } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport {\n default as ListItem,\n type ListItemElements,\n type ListItemProps,\n} from './components/list/list-item/ListItem';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as NumberInput } from './components/number-input/NumberInput';\nexport { default as PageProvider } from './components/page-provider/PageProvider';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as PopupContent } from './components/popup/popup-content/PopupContent';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport { PopupAlignment } from './types/popup';\nexport {\n default as RadioButtonGroup,\n type RadioButtonGroupRef,\n} from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SelectButton } from './components/select-button/SelectButton';\nexport { default as SetupWizardItem } from './components/setup-wizard/setup-wizard-item/SetupWizardItem';\nexport { default as SetupWizard } from './components/setup-wizard/SetupWizard';\nexport type { SetupWizardRef } from './components/setup-wizard/SetupWizard';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as Signature } from './components/signature/Signature';\nexport type { SignatureRef } from './components/signature/Signature';\nexport { default as SliderButton } from './components/slider-button/SliderButton';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSize,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport type { Tag } from './types/tagInput';\nexport { default as TagInput } from './components/tag-input/TagInput';\nexport type { TagInputRef } from './components/tag-input/TagInput';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\nexport { default as Truncation } from './components/truncation/Truncation';\nexport { MentionFinderPopupAlignment } from './constants/mentionFinder';\nexport { useElementSize } from './hooks/element';\nexport type { BrowserName } from './types/chayns';\nexport { ContentCardType } from './types/contentCard';\nexport { ContextMenuAlignment } from './types/contextMenu';\nexport type { FileItem, Image, InternalFileItem, Meta, Video } from './types/file';\nexport { isValidFileType } from './utils/file';\nexport type { FileInputFileItem } from './types/fileInput';\nexport { FilterButtonItemShape, FilterButtonSize } from './types/filterButtons';\nexport type { IFilterButtonItem as FilterButtonItem } from './types/filterButtons';\nexport type { IListItemRightElements } from './types/list';\nexport type { PopupRef } from './types/popup';\nexport type { RadioButtonItem } from './types/radioButton';\nexport type {\n ISearchBoxItem as SearchBoxItem,\n ISearchBoxItems as SearchBoxItems,\n} from './types/searchBox';\nexport type { SelectButtonItem } from './types/selectButton';\nexport type { SliderButtonItem } from './types/slider-button';\nexport { ClampPosition } from './types/truncation';\nexport { getIsTouch } from './utils/environment';\nexport { filterFilesByMimeType, getFileAsArrayBuffer, selectFiles } from './utils/fileDialog';\nexport { isTobitEmployee } from './utils/isTobitEmployee';\nexport { getUsableHeight } from './utils/pageProvider';\nexport { uploadFile } from './utils/uploadFile';\nexport type { Theme } from './components/color-scheme-provider/ColorSchemeProvider';\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,7 @@
1
1
  import React from 'react';
2
2
  import { IFileItem } from '../file-list/FileList';
3
+ export declare const TSIMG_FILE_TYPES = "image/png, image/jpg, image/jpeg, image/gif, image/webp, image/svg+xml, image/avif";
4
+ export declare const STREAMINGSERVICE_FILE_TYPES = "video/mp4, video/webm, video/avi, video/flv, video/wmv, video/mpg, video/quicktime";
3
5
  export type FileInputProps = {
4
6
  /**
5
7
  * Already uploaded files to display.
@@ -28,7 +28,7 @@ export { default as HighlightSlider } from './components/highlight-slider/Highli
28
28
  export type { HighlightSliderItemColors as HighlightSliderColors } from './components/highlight-slider/highlight-slider-item/HighlightSliderItem';
29
29
  export { default as ContextMenu, type ContextMenuCoordinates, type ContextMenuItem, type ContextMenuRef, } from './components/context-menu/ContextMenu';
30
30
  export { default as ExpandableContent } from './components/expandable-content/ExpandableContent';
31
- export { default as FileInput, type FileInputRef } from './components/file-input/FileInput';
31
+ export { default as FileInput, type FileInputRef, STREAMINGSERVICE_FILE_TYPES, TSIMG_FILE_TYPES, } from './components/file-input/FileInput';
32
32
  export { default as FilterButton } from './components/filter-buttons/filter-button/FilterButton';
33
33
  export { default as FilterButtons } from './components/filter-buttons/FilterButtons';
34
34
  export { default as GridImage } from './components/grid-image/GridImage';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/core",
3
- "version": "5.0.0-beta.1312",
3
+ "version": "5.0.0-beta.1314",
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": "aa2b5805a5b05bf85baecab8a9b513971ecdf244"
89
+ "gitHead": "b92d3efa55eb61b7db23fb29e67aa366e99fc3a1"
90
90
  }