@chayns-components/gallery 5.0.0-beta.392 → 5.0.0-beta.395

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.
Files changed (30) hide show
  1. package/lib/components/Gallery.d.ts +5 -0
  2. package/lib/components/Gallery.js +26 -24
  3. package/lib/components/Gallery.js.map +1 -1
  4. package/lib/components/Gallery.styles.d.ts +2 -1
  5. package/lib/components/Gallery.styles.js +73 -14
  6. package/lib/components/Gallery.styles.js.map +1 -1
  7. package/lib/components/gallery-item/GalleryItem.d.ts +4 -0
  8. package/lib/components/gallery-item/GalleryItem.js +4 -1
  9. package/lib/components/gallery-item/GalleryItem.js.map +1 -1
  10. package/lib/components/gallery-item/GalleryItem.styles.js +2 -0
  11. package/lib/components/gallery-item/GalleryItem.styles.js.map +1 -1
  12. package/lib/components/gallery-item/media-item/MediaItem.d.ts +4 -0
  13. package/lib/components/gallery-item/media-item/MediaItem.js +6 -3
  14. package/lib/components/gallery-item/media-item/MediaItem.js.map +1 -1
  15. package/lib/components/gallery-item/media-item/MediaItem.styles.d.ts +6 -2
  16. package/lib/components/gallery-item/media-item/MediaItem.styles.js +20 -10
  17. package/lib/components/gallery-item/media-item/MediaItem.styles.js.map +1 -1
  18. package/lib/components/gallery-item/preview-item/PreviewItem.d.ts +4 -0
  19. package/lib/components/gallery-item/preview-item/PreviewItem.js +5 -2
  20. package/lib/components/gallery-item/preview-item/PreviewItem.js.map +1 -1
  21. package/lib/components/gallery-item/preview-item/PreviewItem.styles.d.ts +3 -1
  22. package/lib/components/gallery-item/preview-item/PreviewItem.styles.js +10 -5
  23. package/lib/components/gallery-item/preview-item/PreviewItem.styles.js.map +1 -1
  24. package/lib/index.d.ts +1 -0
  25. package/lib/index.js +7 -0
  26. package/lib/index.js.map +1 -1
  27. package/lib/types/gallery.d.ts +4 -0
  28. package/lib/types/gallery.js +12 -0
  29. package/lib/types/gallery.js.map +1 -0
  30. package/package.json +3 -3
@@ -1,5 +1,6 @@
1
1
  import type { FileItem } from '@chayns-components/core/lib/types/file';
2
2
  import { FC } from 'react';
3
+ import { GalleryViewMode } from '../types/gallery';
3
4
  export type GalleryProps = {
4
5
  /**
5
6
  * AccessToken of the user
@@ -37,6 +38,10 @@ export type GalleryProps = {
37
38
  * PersonId of the user
38
39
  */
39
40
  personId: string;
41
+ /**
42
+ * The mode how the images should be displayed.
43
+ */
44
+ viewMode?: GalleryViewMode;
40
45
  };
41
46
  declare const Gallery: FC<GalleryProps>;
42
47
  export default Gallery;
@@ -8,6 +8,7 @@ var _core = require("@chayns-components/core");
8
8
  var _chaynsApi = require("chayns-api");
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _uuid = require("uuid");
11
+ var _gallery = require("../types/gallery");
11
12
  var _file = require("../utils/file");
12
13
  var _AddFile = _interopRequireDefault(require("./add-file/AddFile"));
13
14
  var _GalleryItem = _interopRequireDefault(require("./gallery-item/GalleryItem"));
@@ -27,7 +28,8 @@ const Gallery = _ref => {
27
28
  onAdd,
28
29
  onFileCountChange,
29
30
  onRemove,
30
- personId
31
+ personId,
32
+ viewMode = _gallery.GalleryViewMode.GRID
31
33
  } = _ref;
32
34
  const [fileItems, setFileItems] = (0, _react.useState)([]);
33
35
 
@@ -224,17 +226,6 @@ const Gallery = _ref => {
224
226
  return 1;
225
227
  }
226
228
  }, [fileItems]);
227
-
228
- /**
229
- * Returns the number of columns
230
- */
231
- const columns = (0, _react.useMemo)(() => {
232
- const combinedFilesLength = fileItems.length;
233
- if (combinedFilesLength <= 1) {
234
- return '';
235
- }
236
- return `repeat(${combinedFilesLength === 3 ? 3 : 2}, 1fr)`;
237
- }, [fileItems.length]);
238
229
  const galleryContent = (0, _react.useMemo)(() => {
239
230
  const combinedFilesLength = fileItems.length;
240
231
  if (isEditMode) {
@@ -252,24 +243,35 @@ const Gallery = _ref => {
252
243
  return items;
253
244
  }
254
245
  const shortedFiles = fileItems.slice(0, 4);
255
- return shortedFiles.map((file, index) => /*#__PURE__*/_react.default.createElement(_GalleryItem.default, {
256
- key: file.id,
257
- fileItem: file,
258
- isEditMode: false,
259
- handleDeleteFile: handleDeleteFile,
260
- onClick: openFiles,
261
- remainingItemsLength: combinedFilesLength > 4 && index === 3 ? combinedFilesLength : undefined
262
- }));
263
- }, [fileItems, isEditMode, handleAddFiles, openFiles, handleDeleteFile]);
246
+ return shortedFiles.map((file, index) => {
247
+ let imageRatio = 1;
248
+ if (viewMode === _gallery.GalleryViewMode.GRID) {
249
+ if (combinedFilesLength === 2 && (index === 0 || index === 1)) {
250
+ imageRatio = 0.5;
251
+ } else if (index === 0 && combinedFilesLength > 2 || combinedFilesLength === 3 && (index === 1 || index === 2)) {
252
+ imageRatio = 1.5;
253
+ }
254
+ }
255
+ return /*#__PURE__*/_react.default.createElement(_GalleryItem.default, {
256
+ key: file.id,
257
+ fileItem: file,
258
+ isEditMode: false,
259
+ handleDeleteFile: handleDeleteFile,
260
+ onClick: openFiles,
261
+ ratio: imageRatio,
262
+ remainingItemsLength: combinedFilesLength > 4 && index === 3 ? combinedFilesLength : undefined
263
+ });
264
+ });
265
+ }, [fileItems, isEditMode, handleAddFiles, openFiles, handleDeleteFile, viewMode]);
264
266
  return (0, _react.useMemo)(() => /*#__PURE__*/_react.default.createElement(_Gallery.StyledGallery, null, isEditMode ? /*#__PURE__*/_react.default.createElement(_Gallery.StyledGalleryEditModeWrapper, {
265
267
  fileMinWidth: fileMinWidth,
266
268
  onDragOver: e => e.preventDefault(),
267
269
  onDrop: e => void handleDrop(e)
268
270
  }, galleryContent) : /*#__PURE__*/_react.default.createElement(_Gallery.StyledGalleryItemWrapper, {
269
271
  ratio: ratio,
270
- columns: columns,
271
- uploadedFileLength: fileItems.length
272
- }, galleryContent)), [isEditMode, fileMinWidth, galleryContent, ratio, columns, fileItems.length, handleDrop]);
272
+ uploadedFileLength: fileItems.length,
273
+ viewMode: viewMode
274
+ }, galleryContent)), [isEditMode, fileMinWidth, galleryContent, ratio, fileItems.length, viewMode, handleDrop]);
273
275
  };
274
276
  Gallery.displayName = 'Gallery';
275
277
  var _default = exports.default = Gallery;
@@ -1 +1 @@
1
- {"version":3,"file":"Gallery.js","names":["_core","require","_chaynsApi","_react","_interopRequireWildcard","_uuid","_file","_AddFile","_interopRequireDefault","_GalleryItem","_Gallery","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Gallery","_ref","accessToken","allowDragAndDrop","isEditMode","fileMinWidth","files","onAdd","onFileCountChange","onRemove","personId","fileItems","setFileItems","useState","handlePreviewUrlCallback","previewUrl","file","prevState","map","prevFile","id","handleUploadFileCallback","useCallback","UploadedFile","uploadedFile","state","useEffect","length","filesToGeneratePreview","filter","filesToUpload","forEach","type","includes","generateVideoThumbnail","callback","generatePreviewUrl","uploadFile","fileToUpload","handleAddFiles","filesToAdd","newFileItems","filterDuplicateFile","newFile","push","uuidv4","url","undefined","handleDeleteFile","fileToDelete","filteredFiles","fileId","handleDrop","preventDefault","draggedFiles","Array","from","dataTransfer","openFiles","startIndex","findIndex","item","items","replace","mediaType","MediaType","VIDEO","IMAGE","openMedia","ratio","useMemo","Math","max","columns","combinedFilesLength","galleryContent","createElement","key","fileItem","onClick","shortedFiles","slice","index","remainingItemsLength","StyledGallery","StyledGalleryEditModeWrapper","onDragOver","onDrop","StyledGalleryItemWrapper","uploadedFileLength","displayName","_default","exports"],"sources":["../../src/components/Gallery.tsx"],"sourcesContent":["import { uploadFile } from '@chayns-components/core';\nimport type { FileItem, Image, Video } from '@chayns-components/core/lib/types/file'; // TODO: Check why absolute import is needed\nimport { MediaType, openMedia, OpenMediaItem } from 'chayns-api';\nimport React, { DragEvent, FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { filterDuplicateFile, generatePreviewUrl, generateVideoThumbnail } from '../utils/file';\nimport AddFile from './add-file/AddFile';\nimport GalleryItem from './gallery-item/GalleryItem';\nimport {\n StyledGallery,\n StyledGalleryEditModeWrapper,\n StyledGalleryItemWrapper,\n} from './Gallery.styles';\n\nexport type GalleryProps = {\n /**\n * AccessToken of the user\n */\n accessToken: string;\n /**\n * Whether drag and drop is allowed or not\n */\n allowDragAndDrop?: boolean;\n /**\n * Whether images and videos can be edited\n */\n isEditMode?: boolean;\n /**\n * The minimum width of a file in the edit mode\n */\n fileMinWidth?: number;\n /**\n * Images and videos which should be displayed\n */\n files?: FileItem[];\n /**\n * Function to be executed when files are added and uploaded\n */\n onAdd?: (file: FileItem) => void;\n /**\n * Function to be executed when the count of files are changed. Needed to check if all files are uploaded\n */\n onFileCountChange?: (fileCount: number) => void;\n /**\n * Function to be executed when a file is removed\n */\n onRemove?: (file: FileItem) => void;\n /**\n * PersonId of the user\n */\n personId: string;\n};\n\nconst Gallery: FC<GalleryProps> = ({\n accessToken,\n allowDragAndDrop = false,\n isEditMode = false,\n fileMinWidth = 100,\n files,\n onAdd,\n onFileCountChange,\n onRemove,\n personId,\n}) => {\n const [fileItems, setFileItems] = useState<FileItem[]>([]);\n\n /**\n * This function adds a previewUrl to fileItems\n */\n const handlePreviewUrlCallback = (previewUrl: string, file: FileItem) => {\n setFileItems((prevState) =>\n prevState.map((prevFile) => {\n if (prevFile.id === file.id) {\n return { ...prevFile, previewUrl };\n }\n return prevFile;\n }),\n );\n };\n\n /**\n * This function adds uploaded files to fileItems\n */\n const handleUploadFileCallback = useCallback(\n (file: FileItem, UploadedFile: Video | Image) => {\n setFileItems((prevState) =>\n prevState.map((prevFile) => {\n if (prevFile.id === file.id) {\n if (typeof onAdd === 'function') {\n onAdd({\n ...prevFile,\n uploadedFile: UploadedFile,\n state: 'uploaded',\n });\n }\n\n return {\n ...prevFile,\n uploadedFile: UploadedFile,\n state: 'uploaded',\n };\n }\n return prevFile;\n }),\n );\n },\n [onAdd],\n );\n\n /**\n * Returns the current count to check if all files are uploaded\n */\n useEffect(() => {\n if (typeof onFileCountChange === 'function') {\n onFileCountChange(fileItems.length);\n }\n }, [fileItems.length, onFileCountChange]);\n\n /**\n * Prepares files for previewUrl and upload\n */\n useEffect(() => {\n const filesToGeneratePreview = fileItems.filter(\n (file) => file.file && !file.previewUrl && (file.state === 'none' || !file.state),\n );\n\n const filesToUpload = fileItems.filter(\n (file) => !file.uploadedFile && file.state !== 'uploading',\n );\n\n filesToGeneratePreview.forEach((file) => {\n if (!file.file) {\n return;\n }\n\n if (file.file.type.includes('video/')) {\n generateVideoThumbnail({\n file: file.file,\n callback: (previewUrl) => handlePreviewUrlCallback(previewUrl, file),\n });\n\n return;\n }\n\n generatePreviewUrl({\n file: file.file,\n callback: (previewUrl) => handlePreviewUrlCallback(previewUrl, file),\n });\n });\n\n filesToUpload.forEach((file) => {\n setFileItems((prevState) =>\n prevState.map((prevFile) => {\n if (prevFile.id === file.id) {\n return { ...prevFile, state: 'uploading' };\n }\n return prevFile;\n }),\n );\n\n void uploadFile({\n fileToUpload: file,\n personId,\n accessToken,\n callback: (UploadedFile) => handleUploadFileCallback(file, UploadedFile),\n });\n });\n }, [accessToken, fileItems, handleUploadFileCallback, personId]);\n\n /**\n * This function formats and adds files to fileItems\n */\n const handleAddFiles = useCallback(\n (filesToAdd: File[]) => {\n const newFileItems: FileItem[] = [];\n\n filesToAdd.forEach((file) => {\n if (file && !filterDuplicateFile({ files: fileItems, newFile: file })) {\n newFileItems.push({\n id: uuidv4(),\n file,\n state: 'none',\n });\n }\n });\n\n setFileItems((prevState) => [...prevState, ...newFileItems]);\n },\n [fileItems],\n );\n\n /**\n * This function adds external files to fileItems\n */\n useEffect(() => {\n if (files) {\n const newFileItems: FileItem[] = [];\n\n files.forEach((file) => {\n newFileItems.push({\n id: uuidv4(),\n uploadedFile: file.uploadedFile,\n file: file.file,\n state: file.uploadedFile ? 'uploaded' : 'none',\n previewUrl: file.uploadedFile ? file.uploadedFile.url : undefined,\n });\n });\n\n setFileItems((prevState) => [...prevState, ...newFileItems]);\n }\n }, [files]);\n\n /**\n * This function deletes a selected file from the file list\n */\n const handleDeleteFile = useCallback(\n (id?: string) => {\n let fileToDelete: FileItem | undefined;\n\n const filteredFiles = fileItems.filter((file) => {\n const fileId = file.id;\n\n if (fileId === id) {\n fileToDelete = file;\n }\n\n return fileId !== id;\n });\n\n setFileItems(filteredFiles);\n\n if (!fileToDelete || typeof onRemove !== 'function') {\n return;\n }\n\n onRemove(fileToDelete);\n },\n [fileItems, onRemove],\n );\n\n /**\n * This function handles the drag and drop\n */\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n if (!allowDragAndDrop) {\n return;\n }\n\n e.preventDefault();\n const draggedFiles = Array.from(e.dataTransfer.files);\n\n handleAddFiles(draggedFiles);\n },\n [allowDragAndDrop, handleAddFiles],\n );\n\n /**\n * Opens the files in a slideShow\n */\n const openFiles = useCallback(\n (file: FileItem) => {\n const startIndex = fileItems.findIndex((item) => item.id === file.id);\n\n const items: OpenMediaItem[] = fileItems.map((item) => ({\n url: item.uploadedFile?.url.replace('_0.mp4', '.mp4') ?? '',\n mediaType:\n item.uploadedFile && 'thumbnailUrl' in item.uploadedFile\n ? MediaType.VIDEO\n : MediaType.IMAGE,\n }));\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n void openMedia({ items, startIndex });\n },\n [fileItems],\n );\n\n /**\n * Returns the ratio of the single file\n */\n const ratio = useMemo(() => {\n switch (fileItems.length) {\n case 0:\n return 0;\n case 1:\n return Math.max(fileItems[0]?.uploadedFile?.ratio ?? 1, 1);\n case 2:\n return 2;\n case 3:\n return 3;\n default:\n return 1;\n }\n }, [fileItems]);\n\n /**\n * Returns the number of columns\n */\n const columns = useMemo(() => {\n const combinedFilesLength = fileItems.length;\n\n if (combinedFilesLength <= 1) {\n return '';\n }\n\n return `repeat(${combinedFilesLength === 3 ? 3 : 2}, 1fr)`;\n }, [fileItems.length]);\n\n const galleryContent = useMemo(() => {\n const combinedFilesLength = fileItems.length;\n\n if (isEditMode) {\n const items = fileItems.map((file) => (\n <GalleryItem\n key={file.id}\n fileItem={file}\n isEditMode\n onClick={openFiles}\n handleDeleteFile={handleDeleteFile}\n />\n ));\n\n items.push(<AddFile key=\"add_file\" onAdd={handleAddFiles} />);\n\n return items;\n }\n\n const shortedFiles = fileItems.slice(0, 4);\n\n return shortedFiles.map((file, index) => (\n <GalleryItem\n key={file.id}\n fileItem={file}\n isEditMode={false}\n handleDeleteFile={handleDeleteFile}\n onClick={openFiles}\n remainingItemsLength={\n combinedFilesLength > 4 && index === 3 ? combinedFilesLength : undefined\n }\n />\n ));\n }, [fileItems, isEditMode, handleAddFiles, openFiles, handleDeleteFile]);\n\n return useMemo(\n () => (\n <StyledGallery>\n {isEditMode ? (\n <StyledGalleryEditModeWrapper\n fileMinWidth={fileMinWidth}\n onDragOver={(e) => e.preventDefault()}\n onDrop={(e) => void handleDrop(e)}\n >\n {galleryContent}\n </StyledGalleryEditModeWrapper>\n ) : (\n <StyledGalleryItemWrapper\n ratio={ratio}\n columns={columns}\n uploadedFileLength={fileItems.length}\n >\n {galleryContent}\n </StyledGalleryItemWrapper>\n )}\n </StyledGallery>\n ),\n [isEditMode, fileMinWidth, galleryContent, ratio, columns, fileItems.length, handleDrop],\n );\n};\n\nGallery.displayName = 'Gallery';\n\nexport default Gallery;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Gallery.js","names":["_core","require","_chaynsApi","_react","_interopRequireWildcard","_uuid","_gallery","_file","_AddFile","_interopRequireDefault","_GalleryItem","_Gallery","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Gallery","_ref","accessToken","allowDragAndDrop","isEditMode","fileMinWidth","files","onAdd","onFileCountChange","onRemove","personId","viewMode","GalleryViewMode","GRID","fileItems","setFileItems","useState","handlePreviewUrlCallback","previewUrl","file","prevState","map","prevFile","id","handleUploadFileCallback","useCallback","UploadedFile","uploadedFile","state","useEffect","length","filesToGeneratePreview","filter","filesToUpload","forEach","type","includes","generateVideoThumbnail","callback","generatePreviewUrl","uploadFile","fileToUpload","handleAddFiles","filesToAdd","newFileItems","filterDuplicateFile","newFile","push","uuidv4","url","undefined","handleDeleteFile","fileToDelete","filteredFiles","fileId","handleDrop","preventDefault","draggedFiles","Array","from","dataTransfer","openFiles","startIndex","findIndex","item","items","replace","mediaType","MediaType","VIDEO","IMAGE","openMedia","ratio","useMemo","Math","max","galleryContent","combinedFilesLength","createElement","key","fileItem","onClick","shortedFiles","slice","index","imageRatio","remainingItemsLength","StyledGallery","StyledGalleryEditModeWrapper","onDragOver","onDrop","StyledGalleryItemWrapper","uploadedFileLength","displayName","_default","exports"],"sources":["../../src/components/Gallery.tsx"],"sourcesContent":["import { uploadFile } from '@chayns-components/core';\nimport type { FileItem, Image, Video } from '@chayns-components/core/lib/types/file'; // TODO: Check why absolute import is needed\nimport { MediaType, openMedia, OpenMediaItem } from 'chayns-api';\nimport React, { DragEvent, FC, useCallback, useEffect, useMemo, useState } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport { GalleryViewMode } from '../types/gallery';\nimport { filterDuplicateFile, generatePreviewUrl, generateVideoThumbnail } from '../utils/file';\nimport AddFile from './add-file/AddFile';\nimport GalleryItem from './gallery-item/GalleryItem';\nimport {\n StyledGallery,\n StyledGalleryEditModeWrapper,\n StyledGalleryItemWrapper,\n} from './Gallery.styles';\n\nexport type GalleryProps = {\n /**\n * AccessToken of the user\n */\n accessToken: string;\n /**\n * Whether drag and drop is allowed or not\n */\n allowDragAndDrop?: boolean;\n /**\n * Whether images and videos can be edited\n */\n isEditMode?: boolean;\n /**\n * The minimum width of a file in the edit mode\n */\n fileMinWidth?: number;\n /**\n * Images and videos which should be displayed\n */\n files?: FileItem[];\n /**\n * Function to be executed when files are added and uploaded\n */\n onAdd?: (file: FileItem) => void;\n /**\n * Function to be executed when the count of files are changed. Needed to check if all files are uploaded\n */\n onFileCountChange?: (fileCount: number) => void;\n /**\n * Function to be executed when a file is removed\n */\n onRemove?: (file: FileItem) => void;\n /**\n * PersonId of the user\n */\n personId: string;\n /**\n * The mode how the images should be displayed.\n */\n viewMode?: GalleryViewMode;\n};\n\nconst Gallery: FC<GalleryProps> = ({\n accessToken,\n allowDragAndDrop = false,\n isEditMode = false,\n fileMinWidth = 100,\n files,\n onAdd,\n onFileCountChange,\n onRemove,\n personId,\n viewMode = GalleryViewMode.GRID,\n}) => {\n const [fileItems, setFileItems] = useState<FileItem[]>([]);\n\n /**\n * This function adds a previewUrl to fileItems\n */\n const handlePreviewUrlCallback = (previewUrl: string, file: FileItem) => {\n setFileItems((prevState) =>\n prevState.map((prevFile) => {\n if (prevFile.id === file.id) {\n return { ...prevFile, previewUrl };\n }\n return prevFile;\n }),\n );\n };\n\n /**\n * This function adds uploaded files to fileItems\n */\n const handleUploadFileCallback = useCallback(\n (file: FileItem, UploadedFile: Video | Image) => {\n setFileItems((prevState) =>\n prevState.map((prevFile) => {\n if (prevFile.id === file.id) {\n if (typeof onAdd === 'function') {\n onAdd({\n ...prevFile,\n uploadedFile: UploadedFile,\n state: 'uploaded',\n });\n }\n\n return {\n ...prevFile,\n uploadedFile: UploadedFile,\n state: 'uploaded',\n };\n }\n return prevFile;\n }),\n );\n },\n [onAdd],\n );\n\n /**\n * Returns the current count to check if all files are uploaded\n */\n useEffect(() => {\n if (typeof onFileCountChange === 'function') {\n onFileCountChange(fileItems.length);\n }\n }, [fileItems.length, onFileCountChange]);\n\n /**\n * Prepares files for previewUrl and upload\n */\n useEffect(() => {\n const filesToGeneratePreview = fileItems.filter(\n (file) => file.file && !file.previewUrl && (file.state === 'none' || !file.state),\n );\n\n const filesToUpload = fileItems.filter(\n (file) => !file.uploadedFile && file.state !== 'uploading',\n );\n\n filesToGeneratePreview.forEach((file) => {\n if (!file.file) {\n return;\n }\n\n if (file.file.type.includes('video/')) {\n generateVideoThumbnail({\n file: file.file,\n callback: (previewUrl) => handlePreviewUrlCallback(previewUrl, file),\n });\n\n return;\n }\n\n generatePreviewUrl({\n file: file.file,\n callback: (previewUrl) => handlePreviewUrlCallback(previewUrl, file),\n });\n });\n\n filesToUpload.forEach((file) => {\n setFileItems((prevState) =>\n prevState.map((prevFile) => {\n if (prevFile.id === file.id) {\n return { ...prevFile, state: 'uploading' };\n }\n return prevFile;\n }),\n );\n\n void uploadFile({\n fileToUpload: file,\n personId,\n accessToken,\n callback: (UploadedFile) => handleUploadFileCallback(file, UploadedFile),\n });\n });\n }, [accessToken, fileItems, handleUploadFileCallback, personId]);\n\n /**\n * This function formats and adds files to fileItems\n */\n const handleAddFiles = useCallback(\n (filesToAdd: File[]) => {\n const newFileItems: FileItem[] = [];\n\n filesToAdd.forEach((file) => {\n if (file && !filterDuplicateFile({ files: fileItems, newFile: file })) {\n newFileItems.push({\n id: uuidv4(),\n file,\n state: 'none',\n });\n }\n });\n\n setFileItems((prevState) => [...prevState, ...newFileItems]);\n },\n [fileItems],\n );\n\n /**\n * This function adds external files to fileItems\n */\n useEffect(() => {\n if (files) {\n const newFileItems: FileItem[] = [];\n\n files.forEach((file) => {\n newFileItems.push({\n id: uuidv4(),\n uploadedFile: file.uploadedFile,\n file: file.file,\n state: file.uploadedFile ? 'uploaded' : 'none',\n previewUrl: file.uploadedFile ? file.uploadedFile.url : undefined,\n });\n });\n\n setFileItems((prevState) => [...prevState, ...newFileItems]);\n }\n }, [files]);\n\n /**\n * This function deletes a selected file from the file list\n */\n const handleDeleteFile = useCallback(\n (id?: string) => {\n let fileToDelete: FileItem | undefined;\n\n const filteredFiles = fileItems.filter((file) => {\n const fileId = file.id;\n\n if (fileId === id) {\n fileToDelete = file;\n }\n\n return fileId !== id;\n });\n\n setFileItems(filteredFiles);\n\n if (!fileToDelete || typeof onRemove !== 'function') {\n return;\n }\n\n onRemove(fileToDelete);\n },\n [fileItems, onRemove],\n );\n\n /**\n * This function handles the drag and drop\n */\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n if (!allowDragAndDrop) {\n return;\n }\n\n e.preventDefault();\n const draggedFiles = Array.from(e.dataTransfer.files);\n\n handleAddFiles(draggedFiles);\n },\n [allowDragAndDrop, handleAddFiles],\n );\n\n /**\n * Opens the files in a slideShow\n */\n const openFiles = useCallback(\n (file: FileItem) => {\n const startIndex = fileItems.findIndex((item) => item.id === file.id);\n\n const items: OpenMediaItem[] = fileItems.map((item) => ({\n url: item.uploadedFile?.url.replace('_0.mp4', '.mp4') ?? '',\n mediaType:\n item.uploadedFile && 'thumbnailUrl' in item.uploadedFile\n ? MediaType.VIDEO\n : MediaType.IMAGE,\n }));\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n void openMedia({ items, startIndex });\n },\n [fileItems],\n );\n\n /**\n * Returns the ratio of the single file\n */\n const ratio = useMemo(() => {\n switch (fileItems.length) {\n case 0:\n return 0;\n case 1:\n return Math.max(fileItems[0]?.uploadedFile?.ratio ?? 1, 1);\n case 2:\n return 2;\n case 3:\n return 3;\n default:\n return 1;\n }\n }, [fileItems]);\n\n const galleryContent = useMemo(() => {\n const combinedFilesLength = fileItems.length;\n\n if (isEditMode) {\n const items = fileItems.map((file) => (\n <GalleryItem\n key={file.id}\n fileItem={file}\n isEditMode\n onClick={openFiles}\n handleDeleteFile={handleDeleteFile}\n />\n ));\n\n items.push(<AddFile key=\"add_file\" onAdd={handleAddFiles} />);\n\n return items;\n }\n\n const shortedFiles = fileItems.slice(0, 4);\n\n return shortedFiles.map((file, index) => {\n let imageRatio = 1;\n\n if (viewMode === GalleryViewMode.GRID) {\n if (combinedFilesLength === 2 && (index === 0 || index === 1)) {\n imageRatio = 0.5;\n } else if (\n (index === 0 && combinedFilesLength > 2) ||\n (combinedFilesLength === 3 && (index === 1 || index === 2))\n ) {\n imageRatio = 1.5;\n }\n }\n\n return (\n <GalleryItem\n key={file.id}\n fileItem={file}\n isEditMode={false}\n handleDeleteFile={handleDeleteFile}\n onClick={openFiles}\n ratio={imageRatio}\n remainingItemsLength={\n combinedFilesLength > 4 && index === 3 ? combinedFilesLength : undefined\n }\n />\n );\n });\n }, [fileItems, isEditMode, handleAddFiles, openFiles, handleDeleteFile, viewMode]);\n\n return useMemo(\n () => (\n <StyledGallery>\n {isEditMode ? (\n <StyledGalleryEditModeWrapper\n fileMinWidth={fileMinWidth}\n onDragOver={(e) => e.preventDefault()}\n onDrop={(e) => void handleDrop(e)}\n >\n {galleryContent}\n </StyledGalleryEditModeWrapper>\n ) : (\n <StyledGalleryItemWrapper\n ratio={ratio}\n uploadedFileLength={fileItems.length}\n viewMode={viewMode}\n >\n {galleryContent}\n </StyledGalleryItemWrapper>\n )}\n </StyledGallery>\n ),\n [isEditMode, fileMinWidth, galleryContent, ratio, fileItems.length, viewMode, handleDrop],\n );\n};\n\nGallery.displayName = 'Gallery';\n\nexport default Gallery;\n"],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  /// <reference types="react" />
2
+ import { GalleryViewMode } from '../types/gallery';
2
3
  export declare const StyledGallery: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
3
4
  export declare const StyledGalleryItemWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
4
- columns: string;
5
5
  uploadedFileLength: number;
6
6
  ratio: number;
7
+ viewMode: GalleryViewMode;
7
8
  }>>;
8
9
  export declare const StyledGalleryEditModeWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
9
10
  fileMinWidth: number;
@@ -5,33 +5,92 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.StyledGalleryItemWrapper = exports.StyledGalleryEditModeWrapper = exports.StyledGallery = void 0;
7
7
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
+ var _gallery = require("../types/gallery");
8
9
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
10
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
11
  const StyledGallery = exports.StyledGallery = _styledComponents.default.div``;
11
12
  const StyledGalleryItemWrapper = exports.StyledGalleryItemWrapper = _styledComponents.default.div`
13
+ display: grid;
14
+ gap: 5px;
15
+
12
16
  ${_ref => {
13
17
  let {
14
- columns,
15
- uploadedFileLength,
16
- ratio
18
+ viewMode,
19
+ uploadedFileLength
17
20
  } = _ref;
18
- return uploadedFileLength > 1 ? (0, _styledComponents.css)`
19
- display: grid;
20
- grid-template-columns: ${columns};
21
- row-gap: 5px;
22
- column-gap: 5px;
23
- aspect-ratio: ${ratio};
24
- ` : (0, _styledComponents.css)`
25
- aspect-ratio: ${ratio};
26
- `;
21
+ if (viewMode === _gallery.GalleryViewMode.GRID) {
22
+ return (0, _styledComponents.css)`
23
+ > div:first-child {
24
+ grid-column: 1 / -1;
25
+ }
26
+
27
+ ${() => {
28
+ switch (uploadedFileLength) {
29
+ case 1:
30
+ return (0, _styledComponents.css)`
31
+ grid-template-columns: 1fr;
32
+ `;
33
+ case 2:
34
+ return (0, _styledComponents.css)`
35
+ grid-template-columns: repeat(2, 1fr);
36
+ > div:first-child {
37
+ grid-column: span 1;
38
+ }
39
+ `;
40
+ case 3:
41
+ return (0, _styledComponents.css)`
42
+ grid-template-columns: repeat(2, 1fr);
43
+ > div:first-child {
44
+ grid-column: span 2;
45
+ }
46
+ `;
47
+ default:
48
+ return (0, _styledComponents.css)`
49
+ grid-template-columns: repeat(3, minmax(0, 1fr));
50
+ > div:not(:first-child) {
51
+ grid-column: span 1;
52
+ }
53
+ `;
54
+ }
55
+ }}
56
+ `;
57
+ }
58
+ switch (uploadedFileLength) {
59
+ case 1:
60
+ return (0, _styledComponents.css)`
61
+ grid-template-columns: 1fr;
62
+ `;
63
+ case 2:
64
+ return (0, _styledComponents.css)`
65
+ grid-template-columns: repeat(2, 1fr);
66
+ `;
67
+ case 3:
68
+ return (0, _styledComponents.css)`
69
+ grid-template-columns: repeat(3, 1fr);
70
+ `;
71
+ default:
72
+ return (0, _styledComponents.css)`
73
+ grid-template-columns: repeat(2, 1fr);
74
+ > div:nth-child(-n + 2) {
75
+ grid-row: 1;
76
+ }
77
+ `;
78
+ }
27
79
  }}
80
+
81
+ aspect-ratio: ${_ref2 => {
82
+ let {
83
+ ratio
84
+ } = _ref2;
85
+ return ratio;
86
+ }};
28
87
  `;
29
88
  const StyledGalleryEditModeWrapper = exports.StyledGalleryEditModeWrapper = _styledComponents.default.div`
30
89
  display: grid;
31
- grid-template-columns: ${_ref2 => {
90
+ grid-template-columns: ${_ref3 => {
32
91
  let {
33
92
  fileMinWidth
34
- } = _ref2;
93
+ } = _ref3;
35
94
  return `repeat(auto-fill, minmax(${fileMinWidth}px, 1fr))`;
36
95
  }};
37
96
  grid-auto-rows: 1fr;
@@ -1 +1 @@
1
- {"version":3,"file":"Gallery.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledGallery","exports","styled","div","StyledGalleryItemWrapper","_ref","columns","uploadedFileLength","ratio","css","StyledGalleryEditModeWrapper","_ref2","fileMinWidth"],"sources":["../../src/components/Gallery.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\n\nexport const StyledGallery = styled.div``;\n\nexport const StyledGalleryItemWrapper = styled.div<{\n columns: string;\n uploadedFileLength: number;\n ratio: number;\n}>`\n ${({ columns, uploadedFileLength, ratio }) =>\n uploadedFileLength > 1\n ? css`\n display: grid;\n grid-template-columns: ${columns};\n row-gap: 5px;\n column-gap: 5px;\n aspect-ratio: ${ratio};\n `\n : css`\n aspect-ratio: ${ratio};\n `}\n`;\n\nexport const StyledGalleryEditModeWrapper = styled.div<{\n fileMinWidth: number;\n}>`\n display: grid;\n grid-template-columns: ${({ fileMinWidth }) =>\n `repeat(auto-fill, minmax(${fileMinWidth}px, 1fr))`};\n grid-auto-rows: 1fr;\n gap: 6px;\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEzC,MAAMY,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAGE,yBAAM,CAACC,GAAI,EAAC;AAElC,MAAMC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,GAAGF,yBAAM,CAACC,GAI5C;AACH,MAAME,IAAA;EAAA,IAAC;IAAEC,OAAO;IAAEC,kBAAkB;IAAEC;EAAM,CAAC,GAAAH,IAAA;EAAA,OACrCE,kBAAkB,GAAG,CAAC,GAChB,IAAAE,qBAAG,CAAC;AAClB;AACA,2CAA2CH,OAAQ;AACnD;AACA;AACA,kCAAkCE,KAAM;AACxC,eAAe,GACD,IAAAC,qBAAG,CAAC;AAClB,kCAAkCD,KAAM;AACxC,eAAe;AAAA,CAAC;AAChB,CAAC;AAEM,MAAME,4BAA4B,GAAAT,OAAA,CAAAS,4BAAA,GAAGR,yBAAM,CAACC,GAEhD;AACH;AACA,6BAA6BQ,KAAA;EAAA,IAAC;IAAEC;EAAa,CAAC,GAAAD,KAAA;EAAA,OACrC,4BAA2BC,YAAa,WAAU;AAAA,CAAC;AAC5D;AACA;AACA,CAAC"}
1
+ {"version":3,"file":"Gallery.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_gallery","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledGallery","exports","styled","div","StyledGalleryItemWrapper","_ref","viewMode","uploadedFileLength","GalleryViewMode","GRID","css","_ref2","ratio","StyledGalleryEditModeWrapper","_ref3","fileMinWidth"],"sources":["../../src/components/Gallery.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { GalleryViewMode } from '../types/gallery';\n\nexport const StyledGallery = styled.div``;\n\nexport const StyledGalleryItemWrapper = styled.div<{\n uploadedFileLength: number;\n ratio: number;\n viewMode: GalleryViewMode;\n}>`\n display: grid;\n gap: 5px;\n\n ${({ viewMode, uploadedFileLength }) => {\n if (viewMode === GalleryViewMode.GRID) {\n return css`\n > div:first-child {\n grid-column: 1 / -1;\n }\n\n ${() => {\n switch (uploadedFileLength) {\n case 1:\n return css`\n grid-template-columns: 1fr;\n `;\n case 2:\n return css`\n grid-template-columns: repeat(2, 1fr);\n > div:first-child {\n grid-column: span 1;\n }\n `;\n case 3:\n return css`\n grid-template-columns: repeat(2, 1fr);\n > div:first-child {\n grid-column: span 2;\n }\n `;\n default:\n return css`\n grid-template-columns: repeat(3, minmax(0, 1fr));\n > div:not(:first-child) {\n grid-column: span 1;\n }\n `;\n }\n }}\n `;\n }\n\n switch (uploadedFileLength) {\n case 1:\n return css`\n grid-template-columns: 1fr;\n `;\n case 2:\n return css`\n grid-template-columns: repeat(2, 1fr);\n `;\n case 3:\n return css`\n grid-template-columns: repeat(3, 1fr);\n `;\n default:\n return css`\n grid-template-columns: repeat(2, 1fr);\n > div:nth-child(-n + 2) {\n grid-row: 1;\n }\n `;\n }\n }}\n\n aspect-ratio: ${({ ratio }) => ratio};\n`;\n\nexport const StyledGalleryEditModeWrapper = styled.div<{\n fileMinWidth: number;\n}>`\n display: grid;\n grid-template-columns: ${({ fileMinWidth }) =>\n `repeat(auto-fill, minmax(${fileMinWidth}px, 1fr))`};\n grid-auto-rows: 1fr;\n gap: 6px;\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAmD,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE5C,MAAMY,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAGE,yBAAM,CAACC,GAAI,EAAC;AAElC,MAAMC,wBAAwB,GAAAH,OAAA,CAAAG,wBAAA,GAAGF,yBAAM,CAACC,GAI5C;AACH;AACA;AACA;AACA,MAAME,IAAA,IAAsC;EAAA,IAArC;IAAEC,QAAQ;IAAEC;EAAmB,CAAC,GAAAF,IAAA;EAC/B,IAAIC,QAAQ,KAAKE,wBAAe,CAACC,IAAI,EAAE;IACnC,OAAO,IAAAC,qBAAG,CAAC;AACvB;AACA;AACA;AACA;AACA,kBAAkB,MAAM;MACJ,QAAQH,kBAAkB;QACtB,KAAK,CAAC;UACF,OAAO,IAAAG,qBAAG,CAAC;AACvC;AACA,6BAA6B;QACL,KAAK,CAAC;UACF,OAAO,IAAAA,qBAAG,CAAC;AACvC;AACA;AACA;AACA;AACA,6BAA6B;QACL,KAAK,CAAC;UACF,OAAO,IAAAA,qBAAG,CAAC;AACvC;AACA;AACA;AACA;AACA,6BAA6B;QACL;UACI,OAAO,IAAAA,qBAAG,CAAC;AACvC;AACA;AACA;AACA;AACA,6BAA6B;MACT;IACJ,CAAE;AAClB,aAAa;EACL;EAEA,QAAQH,kBAAkB;IACtB,KAAK,CAAC;MACF,OAAO,IAAAG,qBAAG,CAAC;AAC3B;AACA,iBAAiB;IACL,KAAK,CAAC;MACF,OAAO,IAAAA,qBAAG,CAAC;AAC3B;AACA,iBAAiB;IACL,KAAK,CAAC;MACF,OAAO,IAAAA,qBAAG,CAAC;AAC3B;AACA,iBAAiB;IACL;MACI,OAAO,IAAAA,qBAAG,CAAC;AAC3B;AACA;AACA;AACA;AACA,iBAAiB;EACT;AACJ,CAAE;AACN;AACA,oBAAoBC,KAAA;EAAA,IAAC;IAAEC;EAAM,CAAC,GAAAD,KAAA;EAAA,OAAKC,KAAK;AAAA,CAAC;AACzC,CAAC;AAEM,MAAMC,4BAA4B,GAAAZ,OAAA,CAAAY,4BAAA,GAAGX,yBAAM,CAACC,GAEhD;AACH;AACA,6BAA6BW,KAAA;EAAA,IAAC;IAAEC;EAAa,CAAC,GAAAD,KAAA;EAAA,OACrC,4BAA2BC,YAAa,WAAU;AAAA,CAAC;AAC5D;AACA;AACA,CAAC"}
@@ -13,6 +13,10 @@ export type GalleryItemProps = {
13
13
  * Function to be executed when a file is deleted
14
14
  */
15
15
  handleDeleteFile: (id?: string) => void;
16
+ /**
17
+ * The ratio of the image
18
+ */
19
+ ratio?: number;
16
20
  /**
17
21
  * Length of the uploaded files
18
22
  */
@@ -18,6 +18,7 @@ const GalleryItem = _ref => {
18
18
  fileItem,
19
19
  handleDeleteFile,
20
20
  isEditMode,
21
+ ratio = 1,
21
22
  remainingItemsLength,
22
23
  onClick
23
24
  } = _ref;
@@ -29,14 +30,16 @@ const GalleryItem = _ref => {
29
30
  })), !fileItem.state || fileItem.state === 'none' || !fileItem.previewUrl && !fileItem.uploadedFile ? null : /*#__PURE__*/_react.default.createElement(_framerMotion.AnimatePresence, {
30
31
  initial: false
31
32
  }, fileItem.state === 'uploading' ? /*#__PURE__*/_react.default.createElement(_PreviewItem.default, {
33
+ ratio: ratio,
32
34
  key: `uploading_${fileItem.id ?? ''}`,
33
35
  fileItem: fileItem
34
36
  }) : /*#__PURE__*/_react.default.createElement(_MediaItem.default, {
35
37
  key: `uploaded_${fileItem.id ?? ''}`,
36
38
  fileItem: fileItem,
37
39
  isEditMode: isEditMode,
40
+ ratio: ratio,
38
41
  openSelectedFile: onClick
39
- })), remainingItemsLength && /*#__PURE__*/_react.default.createElement(_GalleryItem.StyledGalleryItemMoreItemsIndicator, null, /*#__PURE__*/_react.default.createElement("p", null, `+ ${remainingItemsLength - 3}`))), [fileItem, handleDeleteFile, isEditMode, onClick, remainingItemsLength]);
42
+ })), remainingItemsLength && /*#__PURE__*/_react.default.createElement(_GalleryItem.StyledGalleryItemMoreItemsIndicator, null, /*#__PURE__*/_react.default.createElement("p", null, `+ ${remainingItemsLength - 3}`))), [fileItem, handleDeleteFile, isEditMode, onClick, ratio, remainingItemsLength]);
40
43
  };
41
44
  GalleryItem.displayName = 'GalleryItem';
42
45
  var _default = exports.default = GalleryItem;
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryItem.js","names":["_core","require","_framerMotion","_react","_interopRequireWildcard","_GalleryItem","_MediaItem","_interopRequireDefault","_PreviewItem","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","GalleryItem","_ref","fileItem","handleDeleteFile","isEditMode","remainingItemsLength","onClick","useMemo","createElement","StyledGalleryItem","StyledGalleryItemDeleteButton","id","Icon","size","icons","state","previewUrl","uploadedFile","AnimatePresence","initial","key","openSelectedFile","StyledGalleryItemMoreItemsIndicator","displayName","_default","exports"],"sources":["../../../src/components/gallery-item/GalleryItem.tsx"],"sourcesContent":["import { Icon } from '@chayns-components/core';\nimport type { FileItem } from '@chayns-components/core/lib/types/file';\nimport { AnimatePresence } from 'framer-motion';\nimport React, { FC, useMemo } from 'react';\nimport {\n StyledGalleryItem,\n StyledGalleryItemDeleteButton,\n StyledGalleryItemMoreItemsIndicator,\n} from './GalleryItem.styles';\nimport MediaItem from './media-item/MediaItem';\nimport PreviewItem from './preview-item/PreviewItem';\n\nexport type GalleryItemProps = {\n /**\n * Images and videos which should be displayed\n */\n fileItem: FileItem;\n /**\n * Whether images and videos can be edited\n */\n isEditMode: boolean;\n /**\n * Function to be executed when a file is deleted\n */\n handleDeleteFile: (id?: string) => void;\n /**\n * Length of the uploaded files\n */\n remainingItemsLength?: number;\n /**\n * Function to be executed if a file should be opened\n */\n onClick: (file: FileItem) => void;\n};\n\nconst GalleryItem: FC<GalleryItemProps> = ({\n fileItem,\n handleDeleteFile,\n isEditMode,\n remainingItemsLength,\n onClick,\n}) =>\n useMemo(\n () => (\n <StyledGalleryItem>\n {isEditMode && (\n <StyledGalleryItemDeleteButton onClick={() => handleDeleteFile(fileItem.id)}>\n <Icon size={20} icons={['ts-wrong']} />\n </StyledGalleryItemDeleteButton>\n )}\n {!fileItem.state ||\n fileItem.state === 'none' ||\n (!fileItem.previewUrl && !fileItem.uploadedFile) ? null : (\n <AnimatePresence initial={false}>\n {fileItem.state === 'uploading' ? (\n <PreviewItem\n key={`uploading_${fileItem.id ?? ''}`}\n fileItem={fileItem}\n />\n ) : (\n <MediaItem\n key={`uploaded_${fileItem.id ?? ''}`}\n fileItem={fileItem}\n isEditMode={isEditMode}\n openSelectedFile={onClick}\n />\n )}\n </AnimatePresence>\n )}\n {remainingItemsLength && (\n <StyledGalleryItemMoreItemsIndicator>\n <p>{`+ ${remainingItemsLength - 3}`}</p>\n </StyledGalleryItemMoreItemsIndicator>\n )}\n </StyledGalleryItem>\n ),\n [fileItem, handleDeleteFile, isEditMode, onClick, remainingItemsLength]\n );\n\nGalleryItem.displayName = 'GalleryItem';\n\nexport default GalleryItem;\n"],"mappings":"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"}
1
+ {"version":3,"file":"GalleryItem.js","names":["_core","require","_framerMotion","_react","_interopRequireWildcard","_GalleryItem","_MediaItem","_interopRequireDefault","_PreviewItem","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","GalleryItem","_ref","fileItem","handleDeleteFile","isEditMode","ratio","remainingItemsLength","onClick","useMemo","createElement","StyledGalleryItem","StyledGalleryItemDeleteButton","id","Icon","size","icons","state","previewUrl","uploadedFile","AnimatePresence","initial","key","openSelectedFile","StyledGalleryItemMoreItemsIndicator","displayName","_default","exports"],"sources":["../../../src/components/gallery-item/GalleryItem.tsx"],"sourcesContent":["import { Icon } from '@chayns-components/core';\nimport type { FileItem } from '@chayns-components/core/lib/types/file';\nimport { AnimatePresence } from 'framer-motion';\nimport React, { FC, useMemo } from 'react';\nimport {\n StyledGalleryItem,\n StyledGalleryItemDeleteButton,\n StyledGalleryItemMoreItemsIndicator,\n} from './GalleryItem.styles';\nimport MediaItem from './media-item/MediaItem';\nimport PreviewItem from './preview-item/PreviewItem';\n\nexport type GalleryItemProps = {\n /**\n * Images and videos which should be displayed\n */\n fileItem: FileItem;\n /**\n * Whether images and videos can be edited\n */\n isEditMode: boolean;\n /**\n * Function to be executed when a file is deleted\n */\n handleDeleteFile: (id?: string) => void;\n /**\n * The ratio of the image\n */\n ratio?: number;\n /**\n * Length of the uploaded files\n */\n remainingItemsLength?: number;\n /**\n * Function to be executed if a file should be opened\n */\n onClick: (file: FileItem) => void;\n};\n\nconst GalleryItem: FC<GalleryItemProps> = ({\n fileItem,\n handleDeleteFile,\n isEditMode,\n ratio = 1,\n remainingItemsLength,\n onClick,\n}) =>\n useMemo(\n () => (\n <StyledGalleryItem>\n {isEditMode && (\n <StyledGalleryItemDeleteButton onClick={() => handleDeleteFile(fileItem.id)}>\n <Icon size={20} icons={['ts-wrong']} />\n </StyledGalleryItemDeleteButton>\n )}\n {!fileItem.state ||\n fileItem.state === 'none' ||\n (!fileItem.previewUrl && !fileItem.uploadedFile) ? null : (\n <AnimatePresence initial={false}>\n {fileItem.state === 'uploading' ? (\n <PreviewItem\n ratio={ratio}\n key={`uploading_${fileItem.id ?? ''}`}\n fileItem={fileItem}\n />\n ) : (\n <MediaItem\n key={`uploaded_${fileItem.id ?? ''}`}\n fileItem={fileItem}\n isEditMode={isEditMode}\n ratio={ratio}\n openSelectedFile={onClick}\n />\n )}\n </AnimatePresence>\n )}\n {remainingItemsLength && (\n <StyledGalleryItemMoreItemsIndicator>\n <p>{`+ ${remainingItemsLength - 3}`}</p>\n </StyledGalleryItemMoreItemsIndicator>\n )}\n </StyledGalleryItem>\n ),\n [fileItem, handleDeleteFile, isEditMode, onClick, ratio, remainingItemsLength],\n );\n\nGalleryItem.displayName = 'GalleryItem';\n\nexport default GalleryItem;\n"],"mappings":"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"}
@@ -9,6 +9,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
9
9
  const StyledGalleryItem = exports.StyledGalleryItem = _styledComponents.default.div`
10
10
  display: flex;
11
11
  position: relative;
12
+ height: 100%;
13
+ width: 100%;
12
14
  `;
13
15
  const StyledGalleryItemDeleteButton = exports.StyledGalleryItemDeleteButton = _styledComponents.default.button`
14
16
  background-color: rgba(
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryItem.styles.js","names":["_styledComponents","_interopRequireDefault","require","obj","__esModule","default","StyledGalleryItem","exports","styled","div","StyledGalleryItemDeleteButton","button","_ref","theme","_ref2","StyledGalleryItemMoreItemsIndicator"],"sources":["../../../src/components/gallery-item/GalleryItem.styles.ts"],"sourcesContent":["import type { WithTheme } from '@chayns-components/core';\nimport styled from 'styled-components';\n\nexport const StyledGalleryItem = styled.div`\n display: flex;\n position: relative;\n`;\n\ntype StyledGalleryItemDeleteButtonProps = WithTheme<unknown>;\n\nexport const StyledGalleryItemDeleteButton = styled.button<StyledGalleryItemDeleteButtonProps>`\n background-color: rgba(\n ${({ theme }: StyledGalleryItemDeleteButtonProps) => theme['000-rgb']},\n 0.75\n );\n box-shadow: 0 0 0 1px\n rgba(${({ theme }: StyledGalleryItemDeleteButtonProps) => theme['009-rgb']}, 0.08) inset;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n height: 30px;\n width: 30px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const StyledGalleryItemMoreItemsIndicator = styled.div`\n position: absolute;\n z-index: 2;\n height: 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n backdrop-filter: brightness(40%);\n\n p {\n font-size: 40px;\n color: white;\n }\n`;\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEhC,MAAMG,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGE,yBAAM,CAACC,GAAI;AAC5C;AACA;AACA,CAAC;AAIM,MAAMC,6BAA6B,GAAAH,OAAA,CAAAG,6BAAA,GAAGF,yBAAM,CAACG,MAA2C;AAC/F;AACA,UAAUC,IAAA;EAAA,IAAC;IAAEC;EAA0C,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK,CAAC,SAAS,CAAC;AAAA,CAAC;AAC9E;AACA;AACA;AACA,eAAeC,KAAA;EAAA,IAAC;IAAED;EAA0C,CAAC,GAAAC,KAAA;EAAA,OAAKD,KAAK,CAAC,SAAS,CAAC;AAAA,CAAC;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAME,mCAAmC,GAAAR,OAAA,CAAAQ,mCAAA,GAAGP,yBAAM,CAACC,GAAI;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC"}
1
+ {"version":3,"file":"GalleryItem.styles.js","names":["_styledComponents","_interopRequireDefault","require","obj","__esModule","default","StyledGalleryItem","exports","styled","div","StyledGalleryItemDeleteButton","button","_ref","theme","_ref2","StyledGalleryItemMoreItemsIndicator"],"sources":["../../../src/components/gallery-item/GalleryItem.styles.ts"],"sourcesContent":["import type { WithTheme } from '@chayns-components/core';\nimport styled from 'styled-components';\n\nexport const StyledGalleryItem = styled.div`\n display: flex;\n position: relative;\n height: 100%;\n width: 100%;\n`;\n\ntype StyledGalleryItemDeleteButtonProps = WithTheme<unknown>;\n\nexport const StyledGalleryItemDeleteButton = styled.button<StyledGalleryItemDeleteButtonProps>`\n background-color: rgba(\n ${({ theme }: StyledGalleryItemDeleteButtonProps) => theme['000-rgb']},\n 0.75\n );\n box-shadow: 0 0 0 1px\n rgba(${({ theme }: StyledGalleryItemDeleteButtonProps) => theme['009-rgb']}, 0.08) inset;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n height: 30px;\n width: 30px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const StyledGalleryItemMoreItemsIndicator = styled.div`\n position: absolute;\n z-index: 2;\n height: 100%;\n width: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n backdrop-filter: brightness(40%);\n\n p {\n font-size: 40px;\n color: white;\n }\n`;\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAuC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEhC,MAAMG,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAGE,yBAAM,CAACC,GAAI;AAC5C;AACA;AACA;AACA;AACA,CAAC;AAIM,MAAMC,6BAA6B,GAAAH,OAAA,CAAAG,6BAAA,GAAGF,yBAAM,CAACG,MAA2C;AAC/F;AACA,UAAUC,IAAA;EAAA,IAAC;IAAEC;EAA0C,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK,CAAC,SAAS,CAAC;AAAA,CAAC;AAC9E;AACA;AACA;AACA,eAAeC,KAAA;EAAA,IAAC;IAAED;EAA0C,CAAC,GAAAC,KAAA;EAAA,OAAKD,KAAK,CAAC,SAAS,CAAC;AAAA,CAAC;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAME,mCAAmC,GAAAR,OAAA,CAAAQ,mCAAA,GAAGP,yBAAM,CAACC,GAAI;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC"}
@@ -13,6 +13,10 @@ export type MediaItemProps = {
13
13
  * Function to be executed when a file is selected
14
14
  */
15
15
  openSelectedFile: (file: FileItem) => void;
16
+ /**
17
+ * The ratio of the image
18
+ */
19
+ ratio: number;
16
20
  };
17
21
  declare const MediaItem: FC<MediaItemProps>;
18
22
  export default MediaItem;
@@ -12,7 +12,8 @@ const MediaItem = _ref => {
12
12
  let {
13
13
  fileItem,
14
14
  isEditMode,
15
- openSelectedFile
15
+ openSelectedFile,
16
+ ratio
16
17
  } = _ref;
17
18
  return /*#__PURE__*/_react.default.createElement(_MediaItem.StyledMotionMediaItem, {
18
19
  animate: {
@@ -28,7 +29,8 @@ const MediaItem = _ref => {
28
29
  duration: 3.2
29
30
  }
30
31
  }, fileItem.uploadedFile && 'thumbnailUrl' in fileItem.uploadedFile ? /*#__PURE__*/_react.default.createElement(_MediaItem.StyledMediaItemVideoWrapper, {
31
- onClick: () => openSelectedFile(fileItem)
32
+ onClick: () => openSelectedFile(fileItem),
33
+ ratio: ratio
32
34
  }, /*#__PURE__*/_react.default.createElement(_MediaItem.StyledMediaItemPlayIcon, null, /*#__PURE__*/_react.default.createElement(_core.Icon, {
33
35
  size: isEditMode ? 30 : 50,
34
36
  icons: ['fa fa-play']
@@ -38,7 +40,8 @@ const MediaItem = _ref => {
38
40
  src: fileItem.uploadedFile.url,
39
41
  type: "video/mp4"
40
42
  }))) : /*#__PURE__*/_react.default.createElement(_MediaItem.StyledMediaItemImageWrapper, {
41
- onClick: () => openSelectedFile(fileItem)
43
+ onClick: () => openSelectedFile(fileItem),
44
+ ratio: ratio
42
45
  }, /*#__PURE__*/_react.default.createElement(_MediaItem.StyledMediaItemImage, {
43
46
  draggable: false,
44
47
  src: fileItem.uploadedFile?.url
@@ -1 +1 @@
1
- {"version":3,"file":"MediaItem.js","names":["_core","require","_react","_interopRequireDefault","_MediaItem","obj","__esModule","default","MediaItem","_ref","fileItem","isEditMode","openSelectedFile","createElement","StyledMotionMediaItem","animate","opacity","initial","exit","transition","duration","uploadedFile","StyledMediaItemVideoWrapper","onClick","StyledMediaItemPlayIcon","Icon","size","icons","StyledMediaItemVideo","poster","thumbnailUrl","src","url","type","StyledMediaItemImageWrapper","StyledMediaItemImage","draggable","displayName","_default","exports"],"sources":["../../../../src/components/gallery-item/media-item/MediaItem.tsx"],"sourcesContent":["import { Icon } from '@chayns-components/core';\nimport type { FileItem } from '@chayns-components/core/lib/types/file';\nimport React, { FC } from 'react';\nimport {\n StyledMediaItemImage,\n StyledMediaItemImageWrapper,\n StyledMediaItemPlayIcon,\n StyledMediaItemVideo,\n StyledMediaItemVideoWrapper,\n StyledMotionMediaItem,\n} from './MediaItem.styles';\n\nexport type MediaItemProps = {\n /**\n * Images and videos which should be displayed\n */\n fileItem: FileItem;\n /**\n * Whether images and videos can be edited\n */\n isEditMode: boolean;\n /**\n * Function to be executed when a file is selected\n */\n openSelectedFile: (file: FileItem) => void;\n};\n\nconst MediaItem: FC<MediaItemProps> = ({ fileItem, isEditMode, openSelectedFile }) => (\n <StyledMotionMediaItem\n animate={{ opacity: 1 }}\n initial={{ opacity: 0 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 3.2 }}\n >\n {fileItem.uploadedFile && 'thumbnailUrl' in fileItem.uploadedFile ? (\n <StyledMediaItemVideoWrapper onClick={() => openSelectedFile(fileItem)}>\n <StyledMediaItemPlayIcon>\n <Icon size={isEditMode ? 30 : 50} icons={['fa fa-play']} />\n </StyledMediaItemPlayIcon>\n <StyledMediaItemVideo poster={fileItem.uploadedFile.thumbnailUrl}>\n <source src={fileItem.uploadedFile.url} type=\"video/mp4\" />\n </StyledMediaItemVideo>\n </StyledMediaItemVideoWrapper>\n ) : (\n <StyledMediaItemImageWrapper onClick={() => openSelectedFile(fileItem)}>\n <StyledMediaItemImage draggable={false} src={fileItem.uploadedFile?.url} />\n </StyledMediaItemImageWrapper>\n )}\n </StyledMotionMediaItem>\n);\n\nMediaItem.displayName = 'MediaItem';\n\nexport default MediaItem;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAO4B,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAiB5B,MAAMG,SAA6B,GAAGC,IAAA;EAAA,IAAC;IAAEC,QAAQ;IAAEC,UAAU;IAAEC;EAAiB,CAAC,GAAAH,IAAA;EAAA,oBAC7EP,MAAA,CAAAK,OAAA,CAAAM,aAAA,CAACT,UAAA,CAAAU,qBAAqB;IAClBC,OAAO,EAAE;MAAEC,OAAO,EAAE;IAAE,CAAE;IACxBC,OAAO,EAAE;MAAED,OAAO,EAAE;IAAE,CAAE;IACxBE,IAAI,EAAE;MAAEF,OAAO,EAAE;IAAE,CAAE;IACrBG,UAAU,EAAE;MAAEC,QAAQ,EAAE;IAAI;EAAE,GAE7BV,QAAQ,CAACW,YAAY,IAAI,cAAc,IAAIX,QAAQ,CAACW,YAAY,gBAC7DnB,MAAA,CAAAK,OAAA,CAAAM,aAAA,CAACT,UAAA,CAAAkB,2BAA2B;IAACC,OAAO,EAAEA,CAAA,KAAMX,gBAAgB,CAACF,QAAQ;EAAE,gBACnER,MAAA,CAAAK,OAAA,CAAAM,aAAA,CAACT,UAAA,CAAAoB,uBAAuB,qBACpBtB,MAAA,CAAAK,OAAA,CAAAM,aAAA,CAACb,KAAA,CAAAyB,IAAI;IAACC,IAAI,EAAEf,UAAU,GAAG,EAAE,GAAG,EAAG;IAACgB,KAAK,EAAE,CAAC,YAAY;EAAE,CAAE,CACrC,CAAC,eAC1BzB,MAAA,CAAAK,OAAA,CAAAM,aAAA,CAACT,UAAA,CAAAwB,oBAAoB;IAACC,MAAM,EAAEnB,QAAQ,CAACW,YAAY,CAACS;EAAa,gBAC7D5B,MAAA,CAAAK,OAAA,CAAAM,aAAA;IAAQkB,GAAG,EAAErB,QAAQ,CAACW,YAAY,CAACW,GAAI;IAACC,IAAI,EAAC;EAAW,CAAE,CACxC,CACG,CAAC,gBAE9B/B,MAAA,CAAAK,OAAA,CAAAM,aAAA,CAACT,UAAA,CAAA8B,2BAA2B;IAACX,OAAO,EAAEA,CAAA,KAAMX,gBAAgB,CAACF,QAAQ;EAAE,gBACnER,MAAA,CAAAK,OAAA,CAAAM,aAAA,CAACT,UAAA,CAAA+B,oBAAoB;IAACC,SAAS,EAAE,KAAM;IAACL,GAAG,EAAErB,QAAQ,CAACW,YAAY,EAAEW;EAAI,CAAE,CACjD,CAEd,CAAC;AAAA,CAC3B;AAEDxB,SAAS,CAAC6B,WAAW,GAAG,WAAW;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAhC,OAAA,GAErBC,SAAS"}
1
+ {"version":3,"file":"MediaItem.js","names":["_core","require","_react","_interopRequireDefault","_MediaItem","obj","__esModule","default","MediaItem","_ref","fileItem","isEditMode","openSelectedFile","ratio","createElement","StyledMotionMediaItem","animate","opacity","initial","exit","transition","duration","uploadedFile","StyledMediaItemVideoWrapper","onClick","StyledMediaItemPlayIcon","Icon","size","icons","StyledMediaItemVideo","poster","thumbnailUrl","src","url","type","StyledMediaItemImageWrapper","StyledMediaItemImage","draggable","displayName","_default","exports"],"sources":["../../../../src/components/gallery-item/media-item/MediaItem.tsx"],"sourcesContent":["import { Icon } from '@chayns-components/core';\nimport type { FileItem } from '@chayns-components/core/lib/types/file';\nimport React, { FC } from 'react';\nimport {\n StyledMediaItemImage,\n StyledMediaItemImageWrapper,\n StyledMediaItemPlayIcon,\n StyledMediaItemVideo,\n StyledMediaItemVideoWrapper,\n StyledMotionMediaItem,\n} from './MediaItem.styles';\n\nexport type MediaItemProps = {\n /**\n * Images and videos which should be displayed\n */\n fileItem: FileItem;\n /**\n * Whether images and videos can be edited\n */\n isEditMode: boolean;\n /**\n * Function to be executed when a file is selected\n */\n openSelectedFile: (file: FileItem) => void;\n /**\n * The ratio of the image\n */\n ratio: number;\n};\n\nconst MediaItem: FC<MediaItemProps> = ({ fileItem, isEditMode, openSelectedFile, ratio }) => (\n <StyledMotionMediaItem\n animate={{ opacity: 1 }}\n initial={{ opacity: 0 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 3.2 }}\n >\n {fileItem.uploadedFile && 'thumbnailUrl' in fileItem.uploadedFile ? (\n <StyledMediaItemVideoWrapper onClick={() => openSelectedFile(fileItem)} ratio={ratio}>\n <StyledMediaItemPlayIcon>\n <Icon size={isEditMode ? 30 : 50} icons={['fa fa-play']} />\n </StyledMediaItemPlayIcon>\n <StyledMediaItemVideo poster={fileItem.uploadedFile.thumbnailUrl}>\n <source src={fileItem.uploadedFile.url} type=\"video/mp4\" />\n </StyledMediaItemVideo>\n </StyledMediaItemVideoWrapper>\n ) : (\n <StyledMediaItemImageWrapper onClick={() => openSelectedFile(fileItem)} ratio={ratio}>\n <StyledMediaItemImage draggable={false} src={fileItem.uploadedFile?.url} />\n </StyledMediaItemImageWrapper>\n )}\n </StyledMotionMediaItem>\n);\n\nMediaItem.displayName = 'MediaItem';\n\nexport default MediaItem;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAO4B,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAqB5B,MAAMG,SAA6B,GAAGC,IAAA;EAAA,IAAC;IAAEC,QAAQ;IAAEC,UAAU;IAAEC,gBAAgB;IAAEC;EAAM,CAAC,GAAAJ,IAAA;EAAA,oBACpFP,MAAA,CAAAK,OAAA,CAAAO,aAAA,CAACV,UAAA,CAAAW,qBAAqB;IAClBC,OAAO,EAAE;MAAEC,OAAO,EAAE;IAAE,CAAE;IACxBC,OAAO,EAAE;MAAED,OAAO,EAAE;IAAE,CAAE;IACxBE,IAAI,EAAE;MAAEF,OAAO,EAAE;IAAE,CAAE;IACrBG,UAAU,EAAE;MAAEC,QAAQ,EAAE;IAAI;EAAE,GAE7BX,QAAQ,CAACY,YAAY,IAAI,cAAc,IAAIZ,QAAQ,CAACY,YAAY,gBAC7DpB,MAAA,CAAAK,OAAA,CAAAO,aAAA,CAACV,UAAA,CAAAmB,2BAA2B;IAACC,OAAO,EAAEA,CAAA,KAAMZ,gBAAgB,CAACF,QAAQ,CAAE;IAACG,KAAK,EAAEA;EAAM,gBACjFX,MAAA,CAAAK,OAAA,CAAAO,aAAA,CAACV,UAAA,CAAAqB,uBAAuB,qBACpBvB,MAAA,CAAAK,OAAA,CAAAO,aAAA,CAACd,KAAA,CAAA0B,IAAI;IAACC,IAAI,EAAEhB,UAAU,GAAG,EAAE,GAAG,EAAG;IAACiB,KAAK,EAAE,CAAC,YAAY;EAAE,CAAE,CACrC,CAAC,eAC1B1B,MAAA,CAAAK,OAAA,CAAAO,aAAA,CAACV,UAAA,CAAAyB,oBAAoB;IAACC,MAAM,EAAEpB,QAAQ,CAACY,YAAY,CAACS;EAAa,gBAC7D7B,MAAA,CAAAK,OAAA,CAAAO,aAAA;IAAQkB,GAAG,EAAEtB,QAAQ,CAACY,YAAY,CAACW,GAAI;IAACC,IAAI,EAAC;EAAW,CAAE,CACxC,CACG,CAAC,gBAE9BhC,MAAA,CAAAK,OAAA,CAAAO,aAAA,CAACV,UAAA,CAAA+B,2BAA2B;IAACX,OAAO,EAAEA,CAAA,KAAMZ,gBAAgB,CAACF,QAAQ,CAAE;IAACG,KAAK,EAAEA;EAAM,gBACjFX,MAAA,CAAAK,OAAA,CAAAO,aAAA,CAACV,UAAA,CAAAgC,oBAAoB;IAACC,SAAS,EAAE,KAAM;IAACL,GAAG,EAAEtB,QAAQ,CAACY,YAAY,EAAEW;EAAI,CAAE,CACjD,CAEd,CAAC;AAAA,CAC3B;AAEDzB,SAAS,CAAC8B,WAAW,GAAG,WAAW;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAjC,OAAA,GAErBC,SAAS"}
@@ -265,8 +265,12 @@ export declare const StyledMotionMediaItem: import("styled-components").IStyledC
265
265
  } & import("framer-motion").MotionProps & import("react").RefAttributes<HTMLDivElement>, {
266
266
  theme: import("@chayns-components/core/lib/components/color-scheme-provider/ColorSchemeProvider").Theme;
267
267
  }>> & Omit<import("framer-motion").ForwardRefComponent<HTMLDivElement, import("framer-motion").HTMLMotionProps<"div">>, keyof import("react").Component<any, {}, any>>;
268
- export declare const StyledMediaItemVideoWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
269
- export declare const StyledMediaItemImageWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
268
+ export declare const StyledMediaItemVideoWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
269
+ ratio: number;
270
+ }>>;
271
+ export declare const StyledMediaItemImageWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
272
+ ratio: number;
273
+ }>>;
270
274
  export declare const StyledMediaItemImage: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {
271
275
  theme: import("@chayns-components/core/lib/components/color-scheme-provider/ColorSchemeProvider").Theme;
272
276
  }>>;
@@ -16,25 +16,35 @@ const StyledMediaItemVideoWrapper = exports.StyledMediaItemVideoWrapper = _style
16
16
  display: flex;
17
17
  width: 100%;
18
18
  height: 100%;
19
- aspect-ratio: 1;
19
+ aspect-ratio: ${_ref => {
20
+ let {
21
+ ratio
22
+ } = _ref;
23
+ return ratio;
24
+ }};
20
25
  `;
21
26
  const StyledMediaItemImageWrapper = exports.StyledMediaItemImageWrapper = _styledComponents.default.div`
22
27
  display: flex;
23
28
  width: 100%;
24
29
  height: 100%;
25
- aspect-ratio: 1;
30
+ aspect-ratio: ${_ref2 => {
31
+ let {
32
+ ratio
33
+ } = _ref2;
34
+ return ratio;
35
+ }};
26
36
  `;
27
37
  const StyledMediaItemImage = exports.StyledMediaItemImage = _styledComponents.default.img`
28
- background-color: ${_ref => {
38
+ background-color: ${_ref3 => {
29
39
  let {
30
40
  theme
31
- } = _ref;
41
+ } = _ref3;
32
42
  return theme['101'];
33
43
  }};
34
- box-shadow: 0 0 0 1px rgba(${_ref2 => {
44
+ box-shadow: 0 0 0 1px rgba(${_ref4 => {
35
45
  let {
36
46
  theme
37
- } = _ref2;
47
+ } = _ref4;
38
48
  return theme['009-rgb'];
39
49
  }}, 0.08)
40
50
  inset;
@@ -44,16 +54,16 @@ const StyledMediaItemImage = exports.StyledMediaItemImage = _styledComponents.de
44
54
  object-fit: cover;
45
55
  `;
46
56
  const StyledMediaItemVideo = exports.StyledMediaItemVideo = _styledComponents.default.video`
47
- background-color: ${_ref3 => {
57
+ background-color: ${_ref5 => {
48
58
  let {
49
59
  theme
50
- } = _ref3;
60
+ } = _ref5;
51
61
  return theme['101'];
52
62
  }};
53
- box-shadow: 0 0 0 1px rgba(${_ref4 => {
63
+ box-shadow: 0 0 0 1px rgba(${_ref6 => {
54
64
  let {
55
65
  theme
56
- } = _ref4;
66
+ } = _ref6;
57
67
  return theme['009-rgb'];
58
68
  }}, 0.08)
59
69
  inset;
@@ -1 +1 @@
1
- {"version":3,"file":"MediaItem.styles.js","names":["_framerMotion","require","_styledComponents","_interopRequireDefault","obj","__esModule","default","StyledMotionMediaItem","exports","styled","motion","div","StyledMediaItemVideoWrapper","StyledMediaItemImageWrapper","StyledMediaItemImage","img","_ref","theme","_ref2","StyledMediaItemVideo","video","_ref3","_ref4","StyledMediaItemPlayIcon"],"sources":["../../../../src/components/gallery-item/media-item/MediaItem.styles.ts"],"sourcesContent":["import type { FramerMotionBugFix, WithTheme } from '@chayns-components/core';\nimport { motion } from 'framer-motion';\nimport styled from 'styled-components';\n\nexport const StyledMotionMediaItem = styled(motion.div)<FramerMotionBugFix>`\n display: flex;\n width: 100%;\n height: 100%;\n`;\n\nexport const StyledMediaItemVideoWrapper = styled.div`\n display: flex;\n width: 100%;\n height: 100%;\n aspect-ratio: 1;\n`;\n\nexport const StyledMediaItemImageWrapper = styled.div`\n display: flex;\n width: 100%;\n height: 100%;\n aspect-ratio: 1;\n`;\n\ntype StyledMediaItemVideoProps = WithTheme<unknown>;\n\ntype StyledMediaItemImageProps = WithTheme<unknown>;\n\nexport const StyledMediaItemImage = styled.img<StyledMediaItemImageProps>`\n background-color: ${({ theme }: StyledMediaItemImageProps) => theme['101']};\n box-shadow: 0 0 0 1px rgba(${({ theme }: StyledMediaItemImageProps) => theme['009-rgb']}, 0.08)\n inset;\n z-index: 1;\n width: 100%;\n height: 100%;\n object-fit: cover;\n`;\n\nexport const StyledMediaItemVideo = styled.video<StyledMediaItemVideoProps>`\n background-color: ${({ theme }: StyledMediaItemVideoProps) => theme['101']};\n box-shadow: 0 0 0 1px rgba(${({ theme }: StyledMediaItemVideoProps) => theme['009-rgb']}, 0.08)\n inset;\n width: 100%;\n object-fit: cover;\n`;\n\nexport const StyledMediaItemPlayIcon = styled.div`\n position: absolute;\n z-index: 2;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n`;\n"],"mappings":";;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAuC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEhC,MAAMG,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,IAAAE,yBAAM,EAACC,oBAAM,CAACC,GAAG,CAAsB;AAC5E;AACA;AACA;AACA,CAAC;AAEM,MAAMC,2BAA2B,GAAAJ,OAAA,CAAAI,2BAAA,GAAGH,yBAAM,CAACE,GAAI;AACtD;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAME,2BAA2B,GAAAL,OAAA,CAAAK,2BAAA,GAAGJ,yBAAM,CAACE,GAAI;AACtD;AACA;AACA;AACA;AACA,CAAC;AAMM,MAAMG,oBAAoB,GAAAN,OAAA,CAAAM,oBAAA,GAAGL,yBAAM,CAACM,GAA+B;AAC1E,wBAAwBC,IAAA;EAAA,IAAC;IAAEC;EAAiC,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK,CAAC,KAAK,CAAC;AAAA,CAAC;AAC/E,iCAAiCC,KAAA;EAAA,IAAC;IAAED;EAAiC,CAAC,GAAAC,KAAA;EAAA,OAAKD,KAAK,CAAC,SAAS,CAAC;AAAA,CAAC;AAC5F;AACA;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAME,oBAAoB,GAAAX,OAAA,CAAAW,oBAAA,GAAGV,yBAAM,CAACW,KAAiC;AAC5E,wBAAwBC,KAAA;EAAA,IAAC;IAAEJ;EAAiC,CAAC,GAAAI,KAAA;EAAA,OAAKJ,KAAK,CAAC,KAAK,CAAC;AAAA,CAAC;AAC/E,iCAAiCK,KAAA;EAAA,IAAC;IAAEL;EAAiC,CAAC,GAAAK,KAAA;EAAA,OAAKL,KAAK,CAAC,SAAS,CAAC;AAAA,CAAC;AAC5F;AACA;AACA;AACA,CAAC;AAEM,MAAMM,uBAAuB,GAAAf,OAAA,CAAAe,uBAAA,GAAGd,yBAAM,CAACE,GAAI;AAClD;AACA;AACA;AACA;AACA;AACA,CAAC"}
1
+ {"version":3,"file":"MediaItem.styles.js","names":["_framerMotion","require","_styledComponents","_interopRequireDefault","obj","__esModule","default","StyledMotionMediaItem","exports","styled","motion","div","StyledMediaItemVideoWrapper","_ref","ratio","StyledMediaItemImageWrapper","_ref2","StyledMediaItemImage","img","_ref3","theme","_ref4","StyledMediaItemVideo","video","_ref5","_ref6","StyledMediaItemPlayIcon"],"sources":["../../../../src/components/gallery-item/media-item/MediaItem.styles.ts"],"sourcesContent":["import type { FramerMotionBugFix, WithTheme } from '@chayns-components/core';\nimport { motion } from 'framer-motion';\nimport styled from 'styled-components';\n\nexport const StyledMotionMediaItem = styled(motion.div)<FramerMotionBugFix>`\n display: flex;\n width: 100%;\n height: 100%;\n`;\n\nexport const StyledMediaItemVideoWrapper = styled.div<{ ratio: number }>`\n display: flex;\n width: 100%;\n height: 100%;\n aspect-ratio: ${({ ratio }) => ratio};\n`;\n\nexport const StyledMediaItemImageWrapper = styled.div<{ ratio: number }>`\n display: flex;\n width: 100%;\n height: 100%;\n aspect-ratio: ${({ ratio }) => ratio};\n`;\n\ntype StyledMediaItemVideoProps = WithTheme<unknown>;\n\ntype StyledMediaItemImageProps = WithTheme<unknown>;\n\nexport const StyledMediaItemImage = styled.img<StyledMediaItemImageProps>`\n background-color: ${({ theme }: StyledMediaItemImageProps) => theme['101']};\n box-shadow: 0 0 0 1px rgba(${({ theme }: StyledMediaItemImageProps) => theme['009-rgb']}, 0.08)\n inset;\n z-index: 1;\n width: 100%;\n height: 100%;\n object-fit: cover;\n`;\n\nexport const StyledMediaItemVideo = styled.video<StyledMediaItemVideoProps>`\n background-color: ${({ theme }: StyledMediaItemVideoProps) => theme['101']};\n box-shadow: 0 0 0 1px rgba(${({ theme }: StyledMediaItemVideoProps) => theme['009-rgb']}, 0.08)\n inset;\n width: 100%;\n object-fit: cover;\n`;\n\nexport const StyledMediaItemPlayIcon = styled.div`\n position: absolute;\n z-index: 2;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n`;\n"],"mappings":";;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAuC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEhC,MAAMG,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,IAAAE,yBAAM,EAACC,oBAAM,CAACC,GAAG,CAAsB;AAC5E;AACA;AACA;AACA,CAAC;AAEM,MAAMC,2BAA2B,GAAAJ,OAAA,CAAAI,2BAAA,GAAGH,yBAAM,CAACE,GAAuB;AACzE;AACA;AACA;AACA,oBAAoBE,IAAA;EAAA,IAAC;IAAEC;EAAM,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK;AAAA,CAAC;AACzC,CAAC;AAEM,MAAMC,2BAA2B,GAAAP,OAAA,CAAAO,2BAAA,GAAGN,yBAAM,CAACE,GAAuB;AACzE;AACA;AACA;AACA,oBAAoBK,KAAA;EAAA,IAAC;IAAEF;EAAM,CAAC,GAAAE,KAAA;EAAA,OAAKF,KAAK;AAAA,CAAC;AACzC,CAAC;AAMM,MAAMG,oBAAoB,GAAAT,OAAA,CAAAS,oBAAA,GAAGR,yBAAM,CAACS,GAA+B;AAC1E,wBAAwBC,KAAA;EAAA,IAAC;IAAEC;EAAiC,CAAC,GAAAD,KAAA;EAAA,OAAKC,KAAK,CAAC,KAAK,CAAC;AAAA,CAAC;AAC/E,iCAAiCC,KAAA;EAAA,IAAC;IAAED;EAAiC,CAAC,GAAAC,KAAA;EAAA,OAAKD,KAAK,CAAC,SAAS,CAAC;AAAA,CAAC;AAC5F;AACA;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAME,oBAAoB,GAAAd,OAAA,CAAAc,oBAAA,GAAGb,yBAAM,CAACc,KAAiC;AAC5E,wBAAwBC,KAAA;EAAA,IAAC;IAAEJ;EAAiC,CAAC,GAAAI,KAAA;EAAA,OAAKJ,KAAK,CAAC,KAAK,CAAC;AAAA,CAAC;AAC/E,iCAAiCK,KAAA;EAAA,IAAC;IAAEL;EAAiC,CAAC,GAAAK,KAAA;EAAA,OAAKL,KAAK,CAAC,SAAS,CAAC;AAAA,CAAC;AAC5F;AACA;AACA;AACA,CAAC;AAEM,MAAMM,uBAAuB,GAAAlB,OAAA,CAAAkB,uBAAA,GAAGjB,yBAAM,CAACE,GAAI;AAClD;AACA;AACA;AACA;AACA;AACA,CAAC"}
@@ -5,6 +5,10 @@ export type PreviewItemProps = {
5
5
  * Images and videos which should be displayed
6
6
  */
7
7
  fileItem: FileItem;
8
+ /**
9
+ * The ratio of the image
10
+ */
11
+ ratio: number;
8
12
  };
9
13
  declare const PreviewItem: FC<PreviewItemProps>;
10
14
  export default PreviewItem;
@@ -10,7 +10,8 @@ var _PreviewItem = require("./PreviewItem.styles");
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
11
  const PreviewItem = _ref => {
12
12
  let {
13
- fileItem
13
+ fileItem,
14
+ ratio
14
15
  } = _ref;
15
16
  return /*#__PURE__*/_react.default.createElement(_PreviewItem.StyledMotionPreviewItem, {
16
17
  animate: {
@@ -32,7 +33,9 @@ const PreviewItem = _ref => {
32
33
  style: {
33
34
  position: 'absolute'
34
35
  }
35
- }, /*#__PURE__*/_react.default.createElement(_PreviewItem.StyledPreviewItemImageWrapper, null, /*#__PURE__*/_react.default.createElement(_PreviewItem.StyledPreviewItemLoadingIcon, null, /*#__PURE__*/_react.default.createElement(_core.SmallWaitCursor, {
36
+ }, /*#__PURE__*/_react.default.createElement(_PreviewItem.StyledPreviewItemImageWrapper, {
37
+ ratio: ratio
38
+ }, /*#__PURE__*/_react.default.createElement(_PreviewItem.StyledPreviewItemLoadingIcon, null, /*#__PURE__*/_react.default.createElement(_core.SmallWaitCursor, {
36
39
  shouldHideWaitCursor: false,
37
40
  shouldHideBackground: true
38
41
  })), /*#__PURE__*/_react.default.createElement(_PreviewItem.StyledPreviewItemImage, {
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewItem.js","names":["_core","require","_react","_interopRequireDefault","_PreviewItem","obj","__esModule","default","PreviewItem","_ref","fileItem","createElement","StyledMotionPreviewItem","animate","opacity","initial","exit","transition","duration","delay","style","position","StyledPreviewItemImageWrapper","StyledPreviewItemLoadingIcon","SmallWaitCursor","shouldHideWaitCursor","shouldHideBackground","StyledPreviewItemImage","draggable","src","previewUrl","displayName","_default","exports"],"sources":["../../../../src/components/gallery-item/preview-item/PreviewItem.tsx"],"sourcesContent":["import { SmallWaitCursor } from '@chayns-components/core';\nimport type { FileItem } from '@chayns-components/core/lib/types/file';\nimport React, { FC } from 'react';\nimport {\n StyledMotionPreviewItem,\n StyledPreviewItemImage,\n StyledPreviewItemImageWrapper,\n StyledPreviewItemLoadingIcon,\n} from './PreviewItem.styles';\n\nexport type PreviewItemProps = {\n /**\n * Images and videos which should be displayed\n */\n fileItem: FileItem;\n};\n\nconst PreviewItem: FC<PreviewItemProps> = ({ fileItem }) => (\n <StyledMotionPreviewItem\n animate={{ opacity: 1 }}\n initial={{ opacity: 0 }}\n exit={{\n opacity: 0,\n transition: { duration: 3.2, delay: 3.2 },\n }}\n transition={{ duration: 3.2 }}\n style={{ position: 'absolute' }}\n >\n <StyledPreviewItemImageWrapper>\n <StyledPreviewItemLoadingIcon>\n <SmallWaitCursor shouldHideWaitCursor={false} shouldHideBackground />\n </StyledPreviewItemLoadingIcon>\n <StyledPreviewItemImage draggable={false} src={fileItem.previewUrl} />\n </StyledPreviewItemImageWrapper>\n </StyledMotionPreviewItem>\n);\n\nPreviewItem.displayName = 'PreviewItem';\n\nexport default PreviewItem;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAK8B,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAS9B,MAAMG,WAAiC,GAAGC,IAAA;EAAA,IAAC;IAAEC;EAAS,CAAC,GAAAD,IAAA;EAAA,oBACnDP,MAAA,CAAAK,OAAA,CAAAI,aAAA,CAACP,YAAA,CAAAQ,uBAAuB;IACpBC,OAAO,EAAE;MAAEC,OAAO,EAAE;IAAE,CAAE;IACxBC,OAAO,EAAE;MAAED,OAAO,EAAE;IAAE,CAAE;IACxBE,IAAI,EAAE;MACFF,OAAO,EAAE,CAAC;MACVG,UAAU,EAAE;QAAEC,QAAQ,EAAE,GAAG;QAAEC,KAAK,EAAE;MAAI;IAC5C,CAAE;IACFF,UAAU,EAAE;MAAEC,QAAQ,EAAE;IAAI,CAAE;IAC9BE,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAW;EAAE,gBAEhCnB,MAAA,CAAAK,OAAA,CAAAI,aAAA,CAACP,YAAA,CAAAkB,6BAA6B,qBAC1BpB,MAAA,CAAAK,OAAA,CAAAI,aAAA,CAACP,YAAA,CAAAmB,4BAA4B,qBACzBrB,MAAA,CAAAK,OAAA,CAAAI,aAAA,CAACX,KAAA,CAAAwB,eAAe;IAACC,oBAAoB,EAAE,KAAM;IAACC,oBAAoB;EAAA,CAAE,CAC1C,CAAC,eAC/BxB,MAAA,CAAAK,OAAA,CAAAI,aAAA,CAACP,YAAA,CAAAuB,sBAAsB;IAACC,SAAS,EAAE,KAAM;IAACC,GAAG,EAAEnB,QAAQ,CAACoB;EAAW,CAAE,CAC1C,CACV,CAAC;AAAA,CAC7B;AAEDtB,WAAW,CAACuB,WAAW,GAAG,aAAa;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA1B,OAAA,GAEzBC,WAAW"}
1
+ {"version":3,"file":"PreviewItem.js","names":["_core","require","_react","_interopRequireDefault","_PreviewItem","obj","__esModule","default","PreviewItem","_ref","fileItem","ratio","createElement","StyledMotionPreviewItem","animate","opacity","initial","exit","transition","duration","delay","style","position","StyledPreviewItemImageWrapper","StyledPreviewItemLoadingIcon","SmallWaitCursor","shouldHideWaitCursor","shouldHideBackground","StyledPreviewItemImage","draggable","src","previewUrl","displayName","_default","exports"],"sources":["../../../../src/components/gallery-item/preview-item/PreviewItem.tsx"],"sourcesContent":["import { SmallWaitCursor } from '@chayns-components/core';\nimport type { FileItem } from '@chayns-components/core/lib/types/file';\nimport React, { FC } from 'react';\nimport {\n StyledMotionPreviewItem,\n StyledPreviewItemImage,\n StyledPreviewItemImageWrapper,\n StyledPreviewItemLoadingIcon,\n} from './PreviewItem.styles';\n\nexport type PreviewItemProps = {\n /**\n * Images and videos which should be displayed\n */\n fileItem: FileItem;\n /**\n * The ratio of the image\n */\n ratio: number;\n};\n\nconst PreviewItem: FC<PreviewItemProps> = ({ fileItem, ratio }) => (\n <StyledMotionPreviewItem\n animate={{ opacity: 1 }}\n initial={{ opacity: 0 }}\n exit={{\n opacity: 0,\n transition: { duration: 3.2, delay: 3.2 },\n }}\n transition={{ duration: 3.2 }}\n style={{ position: 'absolute' }}\n >\n <StyledPreviewItemImageWrapper ratio={ratio}>\n <StyledPreviewItemLoadingIcon>\n <SmallWaitCursor shouldHideWaitCursor={false} shouldHideBackground />\n </StyledPreviewItemLoadingIcon>\n <StyledPreviewItemImage draggable={false} src={fileItem.previewUrl} />\n </StyledPreviewItemImageWrapper>\n </StyledMotionPreviewItem>\n);\n\nPreviewItem.displayName = 'PreviewItem';\n\nexport default PreviewItem;\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAK8B,SAAAE,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAa9B,MAAMG,WAAiC,GAAGC,IAAA;EAAA,IAAC;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAAF,IAAA;EAAA,oBAC1DP,MAAA,CAAAK,OAAA,CAAAK,aAAA,CAACR,YAAA,CAAAS,uBAAuB;IACpBC,OAAO,EAAE;MAAEC,OAAO,EAAE;IAAE,CAAE;IACxBC,OAAO,EAAE;MAAED,OAAO,EAAE;IAAE,CAAE;IACxBE,IAAI,EAAE;MACFF,OAAO,EAAE,CAAC;MACVG,UAAU,EAAE;QAAEC,QAAQ,EAAE,GAAG;QAAEC,KAAK,EAAE;MAAI;IAC5C,CAAE;IACFF,UAAU,EAAE;MAAEC,QAAQ,EAAE;IAAI,CAAE;IAC9BE,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAW;EAAE,gBAEhCpB,MAAA,CAAAK,OAAA,CAAAK,aAAA,CAACR,YAAA,CAAAmB,6BAA6B;IAACZ,KAAK,EAAEA;EAAM,gBACxCT,MAAA,CAAAK,OAAA,CAAAK,aAAA,CAACR,YAAA,CAAAoB,4BAA4B,qBACzBtB,MAAA,CAAAK,OAAA,CAAAK,aAAA,CAACZ,KAAA,CAAAyB,eAAe;IAACC,oBAAoB,EAAE,KAAM;IAACC,oBAAoB;EAAA,CAAE,CAC1C,CAAC,eAC/BzB,MAAA,CAAAK,OAAA,CAAAK,aAAA,CAACR,YAAA,CAAAwB,sBAAsB;IAACC,SAAS,EAAE,KAAM;IAACC,GAAG,EAAEpB,QAAQ,CAACqB;EAAW,CAAE,CAC1C,CACV,CAAC;AAAA,CAC7B;AAEDvB,WAAW,CAACwB,WAAW,GAAG,aAAa;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA3B,OAAA,GAEzBC,WAAW"}
@@ -265,7 +265,9 @@ export declare const StyledMotionPreviewItem: import("styled-components").IStyle
265
265
  } & import("framer-motion").MotionProps & import("react").RefAttributes<HTMLDivElement>, {
266
266
  theme: import("@chayns-components/core/lib/components/color-scheme-provider/ColorSchemeProvider").Theme;
267
267
  }>> & Omit<import("framer-motion").ForwardRefComponent<HTMLDivElement, import("framer-motion").HTMLMotionProps<"div">>, keyof import("react").Component<any, {}, any>>;
268
- export declare const StyledPreviewItemImageWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
268
+ export declare const StyledPreviewItemImageWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
269
+ ratio: number;
270
+ }>>;
269
271
  export declare const StyledPreviewItemImage: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {
270
272
  theme: import("@chayns-components/core/lib/components/color-scheme-provider/ColorSchemeProvider").Theme;
271
273
  }>>;
@@ -16,20 +16,25 @@ const StyledPreviewItemImageWrapper = exports.StyledPreviewItemImageWrapper = _s
16
16
  display: flex;
17
17
  width: 100%;
18
18
  height: 100%;
19
- aspect-ratio: 1;
19
+ aspect-ratio: ${_ref => {
20
+ let {
21
+ ratio
22
+ } = _ref;
23
+ return ratio;
24
+ }};
20
25
  `;
21
26
  const StyledPreviewItemImage = exports.StyledPreviewItemImage = _styledComponents.default.img`
22
- background-color: ${_ref => {
27
+ background-color: ${_ref2 => {
23
28
  let {
24
29
  theme
25
- } = _ref;
30
+ } = _ref2;
26
31
  return theme['101'];
27
32
  }};
28
33
  box-shadow: 0 0 0 1px
29
- rgba(${_ref2 => {
34
+ rgba(${_ref3 => {
30
35
  let {
31
36
  theme
32
- } = _ref2;
37
+ } = _ref3;
33
38
  return theme['009-rgb'];
34
39
  }}, 0.08) inset;
35
40
  z-index: 1;
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewItem.styles.js","names":["_framerMotion","require","_styledComponents","_interopRequireDefault","obj","__esModule","default","StyledMotionPreviewItem","exports","styled","motion","div","StyledPreviewItemImageWrapper","StyledPreviewItemImage","img","_ref","theme","_ref2","StyledPreviewItemLoadingIcon"],"sources":["../../../../src/components/gallery-item/preview-item/PreviewItem.styles.ts"],"sourcesContent":["import type { FramerMotionBugFix, WithTheme } from '@chayns-components/core';\nimport { motion } from 'framer-motion';\nimport styled from 'styled-components';\n\nexport const StyledMotionPreviewItem = styled(motion.div)<FramerMotionBugFix>`\n display: flex;\n width: 100%;\n height: 100%;\n`;\n\nexport const StyledPreviewItemImageWrapper = styled.div`\n display: flex;\n width: 100%;\n height: 100%;\n aspect-ratio: 1;\n`;\n\ntype StyledPreviewItemImageProps = WithTheme<unknown>;\n\nexport const StyledPreviewItemImage = styled.img<StyledPreviewItemImageProps>`\n background-color: ${({ theme }: StyledPreviewItemImageProps) => theme['101']};\n box-shadow: 0 0 0 1px\n rgba(${({ theme }: StyledPreviewItemImageProps) => theme['009-rgb']}, 0.08) inset;\n z-index: 1;\n width: 100%;\n height: 100%;\n object-fit: cover;\n`;\n\nexport const StyledPreviewItemLoadingIcon = styled.div`\n position: absolute;\n z-index: 2;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n`;\n"],"mappings":";;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAuC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEhC,MAAMG,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,IAAAE,yBAAM,EAACC,oBAAM,CAACC,GAAG,CAAsB;AAC9E;AACA;AACA;AACA,CAAC;AAEM,MAAMC,6BAA6B,GAAAJ,OAAA,CAAAI,6BAAA,GAAGH,yBAAM,CAACE,GAAI;AACxD;AACA;AACA;AACA;AACA,CAAC;AAIM,MAAME,sBAAsB,GAAAL,OAAA,CAAAK,sBAAA,GAAGJ,yBAAM,CAACK,GAAiC;AAC9E,wBAAwBC,IAAA;EAAA,IAAC;IAAEC;EAAmC,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK,CAAC,KAAK,CAAC;AAAA,CAAC;AACjF;AACA,eAAeC,KAAA;EAAA,IAAC;IAAED;EAAmC,CAAC,GAAAC,KAAA;EAAA,OAAKD,KAAK,CAAC,SAAS,CAAC;AAAA,CAAC;AAC5E;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAME,4BAA4B,GAAAV,OAAA,CAAAU,4BAAA,GAAGT,yBAAM,CAACE,GAAI;AACvD;AACA;AACA;AACA;AACA;AACA,CAAC"}
1
+ {"version":3,"file":"PreviewItem.styles.js","names":["_framerMotion","require","_styledComponents","_interopRequireDefault","obj","__esModule","default","StyledMotionPreviewItem","exports","styled","motion","div","StyledPreviewItemImageWrapper","_ref","ratio","StyledPreviewItemImage","img","_ref2","theme","_ref3","StyledPreviewItemLoadingIcon"],"sources":["../../../../src/components/gallery-item/preview-item/PreviewItem.styles.ts"],"sourcesContent":["import type { FramerMotionBugFix, WithTheme } from '@chayns-components/core';\nimport { motion } from 'framer-motion';\nimport styled from 'styled-components';\n\nexport const StyledMotionPreviewItem = styled(motion.div)<FramerMotionBugFix>`\n display: flex;\n width: 100%;\n height: 100%;\n`;\n\nexport const StyledPreviewItemImageWrapper = styled.div<{ ratio: number }>`\n display: flex;\n width: 100%;\n height: 100%;\n aspect-ratio: ${({ ratio }) => ratio};\n`;\n\ntype StyledPreviewItemImageProps = WithTheme<unknown>;\n\nexport const StyledPreviewItemImage = styled.img<StyledPreviewItemImageProps>`\n background-color: ${({ theme }: StyledPreviewItemImageProps) => theme['101']};\n box-shadow: 0 0 0 1px\n rgba(${({ theme }: StyledPreviewItemImageProps) => theme['009-rgb']}, 0.08) inset;\n z-index: 1;\n width: 100%;\n height: 100%;\n object-fit: cover;\n`;\n\nexport const StyledPreviewItemLoadingIcon = styled.div`\n position: absolute;\n z-index: 2;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n`;\n"],"mappings":";;;;;;AACA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAuC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEhC,MAAMG,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,IAAAE,yBAAM,EAACC,oBAAM,CAACC,GAAG,CAAsB;AAC9E;AACA;AACA;AACA,CAAC;AAEM,MAAMC,6BAA6B,GAAAJ,OAAA,CAAAI,6BAAA,GAAGH,yBAAM,CAACE,GAAuB;AAC3E;AACA;AACA;AACA,oBAAoBE,IAAA;EAAA,IAAC;IAAEC;EAAM,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK;AAAA,CAAC;AACzC,CAAC;AAIM,MAAMC,sBAAsB,GAAAP,OAAA,CAAAO,sBAAA,GAAGN,yBAAM,CAACO,GAAiC;AAC9E,wBAAwBC,KAAA;EAAA,IAAC;IAAEC;EAAmC,CAAC,GAAAD,KAAA;EAAA,OAAKC,KAAK,CAAC,KAAK,CAAC;AAAA,CAAC;AACjF;AACA,eAAeC,KAAA;EAAA,IAAC;IAAED;EAAmC,CAAC,GAAAC,KAAA;EAAA,OAAKD,KAAK,CAAC,SAAS,CAAC;AAAA,CAAC;AAC5E;AACA;AACA;AACA;AACA,CAAC;AAEM,MAAME,4BAA4B,GAAAZ,OAAA,CAAAY,4BAAA,GAAGX,yBAAM,CAACE,GAAI;AACvD;AACA;AACA;AACA;AACA;AACA,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export { default as Gallery } from './components/Gallery';
2
+ export { GalleryViewMode } from './types/gallery';
package/lib/index.js CHANGED
@@ -9,6 +9,13 @@ Object.defineProperty(exports, "Gallery", {
9
9
  return _Gallery.default;
10
10
  }
11
11
  });
12
+ Object.defineProperty(exports, "GalleryViewMode", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _gallery.GalleryViewMode;
16
+ }
17
+ });
12
18
  var _Gallery = _interopRequireDefault(require("./components/Gallery"));
19
+ var _gallery = require("./types/gallery");
13
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
21
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Gallery","_interopRequireDefault","require","obj","__esModule","default"],"sources":["../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Gallery } from './components/Gallery';\n"],"mappings":";;;;;;;;;;;AAEA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0D,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
1
+ {"version":3,"file":"index.js","names":["_Gallery","_interopRequireDefault","require","_gallery","obj","__esModule","default"],"sources":["../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Gallery } from './components/Gallery';\nexport { GalleryViewMode } from './types/gallery';\n"],"mappings":";;;;;;;;;;;;;;;;;AAEA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAkD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA"}
@@ -0,0 +1,4 @@
1
+ export declare enum GalleryViewMode {
2
+ SQUARE = 0,
3
+ GRID = 1
4
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.GalleryViewMode = void 0;
7
+ let GalleryViewMode = exports.GalleryViewMode = /*#__PURE__*/function (GalleryViewMode) {
8
+ GalleryViewMode[GalleryViewMode["SQUARE"] = 0] = "SQUARE";
9
+ GalleryViewMode[GalleryViewMode["GRID"] = 1] = "GRID";
10
+ return GalleryViewMode;
11
+ }({});
12
+ //# sourceMappingURL=gallery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gallery.js","names":["GalleryViewMode","exports"],"sources":["../../src/types/gallery.ts"],"sourcesContent":["export enum GalleryViewMode {\n SQUARE,\n GRID,\n}\n"],"mappings":";;;;;;IAAYA,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAfA,eAAe,CAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/gallery",
3
- "version": "5.0.0-beta.392",
3
+ "version": "5.0.0-beta.395",
4
4
  "description": "A set of beautiful React components for developing your own applications with chayns.",
5
5
  "keywords": [
6
6
  "chayns",
@@ -50,7 +50,7 @@
50
50
  "typescript": "^5.3.3"
51
51
  },
52
52
  "dependencies": {
53
- "@chayns-components/core": "^5.0.0-beta.392",
53
+ "@chayns-components/core": "^5.0.0-beta.395",
54
54
  "@chayns/colors": "^2.0.0",
55
55
  "chayns-api": "^1.0.44",
56
56
  "clsx": "^2.1.0",
@@ -65,5 +65,5 @@
65
65
  "publishConfig": {
66
66
  "access": "public"
67
67
  },
68
- "gitHead": "0915c6e7e6192112ee39cc7bf6d43ad1d507d8c5"
68
+ "gitHead": "040aefbbed05d51850e7daf0cbc05b7b84130a63"
69
69
  }