@payloadcms/ui 3.29.0-internal.37e46b5 → 3.29.0-internal.7b98279
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +9 -3
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/exports/client/index.js +11 -11
- package/dist/exports/client/index.js.map +3 -3
- package/dist/providers/UploadControls/index.d.ts +2 -0
- package/dist/providers/UploadControls/index.d.ts.map +1 -1
- package/dist/providers/UploadControls/index.js +9 -5
- package/dist/providers/UploadControls/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,SAAS,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAG/F,OAAO,KAA6D,MAAM,OAAO,CAAA;AAkBjF,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBAiCnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,SAAS,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAG/F,OAAO,KAA6D,MAAM,OAAO,CAAA;AAkBjF,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAA;IACnC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBAiCnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAA;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA2axC,CAAA"}
|
|
@@ -107,8 +107,10 @@ export const Upload = props => {
|
|
|
107
107
|
const [documentSlots, setDocumentSlots] = React.useState({});
|
|
108
108
|
const {
|
|
109
109
|
setUploadControlFile,
|
|
110
|
+
setUploadControlFileName,
|
|
110
111
|
setUploadControlFileUrl,
|
|
111
112
|
uploadControlFile,
|
|
113
|
+
uploadControlFileName,
|
|
112
114
|
uploadControlFileUrl
|
|
113
115
|
} = useUploadControls();
|
|
114
116
|
const {
|
|
@@ -161,11 +163,12 @@ export const Upload = props => {
|
|
|
161
163
|
setValue(newFile);
|
|
162
164
|
setShowUrlInput(false);
|
|
163
165
|
setUploadControlFileUrl('');
|
|
166
|
+
setUploadControlFileName(null);
|
|
164
167
|
setUploadControlFile(null);
|
|
165
168
|
if (typeof onChange === 'function') {
|
|
166
169
|
onChange(newFile);
|
|
167
170
|
}
|
|
168
|
-
}, [onChange, setValue, setUploadControlFile, setUploadControlFileUrl]);
|
|
171
|
+
}, [onChange, setValue, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl]);
|
|
169
172
|
const renameFile = (fileToChange, newName) => {
|
|
170
173
|
// Creating a new File object with updated properties
|
|
171
174
|
const newFile_0 = new File([fileToChange], newName, {
|
|
@@ -193,8 +196,9 @@ export const Upload = props => {
|
|
|
193
196
|
resetUploadEdits();
|
|
194
197
|
setShowUrlInput(false);
|
|
195
198
|
setUploadControlFileUrl('');
|
|
199
|
+
setUploadControlFileName(null);
|
|
196
200
|
setUploadControlFile(null);
|
|
197
|
-
}, [handleFileChange, resetUploadEdits, setUploadControlFile, setUploadControlFileUrl]);
|
|
201
|
+
}, [handleFileChange, resetUploadEdits, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl]);
|
|
198
202
|
const onEditsSave = useCallback(args => {
|
|
199
203
|
setModified(true);
|
|
200
204
|
updateUploadEdits(args);
|
|
@@ -211,7 +215,7 @@ export const Upload = props => {
|
|
|
211
215
|
throw new Error(`Fetch failed with status: ${clientResponse.status}`);
|
|
212
216
|
}
|
|
213
217
|
const blob = await clientResponse.blob();
|
|
214
|
-
const fileName = decodeURIComponent(fileUrl.split('/').pop() || '');
|
|
218
|
+
const fileName = uploadControlFileName || decodeURIComponent(fileUrl.split('/').pop() || '');
|
|
215
219
|
const file = new File([blob], fileName, {
|
|
216
220
|
type: blob.type
|
|
217
221
|
});
|
|
@@ -352,6 +356,7 @@ export const Upload = props => {
|
|
|
352
356
|
setShowUrlInput(true);
|
|
353
357
|
setUploadControlFileUrl('');
|
|
354
358
|
setUploadControlFile(null);
|
|
359
|
+
setUploadControlFileName(null);
|
|
355
360
|
},
|
|
356
361
|
size: "small",
|
|
357
362
|
children: t('upload:pasteURL')
|
|
@@ -395,6 +400,7 @@ export const Upload = props => {
|
|
|
395
400
|
setShowUrlInput(false);
|
|
396
401
|
setUploadControlFileUrl('');
|
|
397
402
|
setUploadControlFile(null);
|
|
403
|
+
setUploadControlFileName(null);
|
|
398
404
|
},
|
|
399
405
|
round: true,
|
|
400
406
|
tooltip: t('general:cancel')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","isImage","React","Fragment","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useFormProcessing","useField","useConfig","useDocumentInfo","EditDepthProvider","useServerFunctions","useTranslation","useUploadControls","useUploadEdits","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","t3","map","_temp","_jsxs","className","children","_jsx","slug","Upload","props","collectionSlug","initialState","onChange","uploadConfig","getDocumentSlots","documentSlots","setDocumentSlots","setUploadControlFile","setUploadControlFileUrl","uploadControlFile","uploadControlFileUrl","config","routes","api","serverURL","setModified","resetUploadEdits","updateUploadEdits","uploadEdits","id","docPermissions","savedDocumentData","setUploadStatus","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","name","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","urlInputRef","inputRef","useServerSideFetch","pasteURL","allowList","handleFileChange","newFile","File","URL","createObjectURL","renameFile","fileToChange","newName","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","handleUrlSubmit","clientResponse","fetch","ok","Error","status","blob","fileName","decodeURIComponent","split","pop","file","_clientError","error","encodeURIComponent","serverResponse","_serverError","current","canRemoveUpload","update","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","slots","handleControlFileUrl","handleControlFile","filter","message","customUploadActions","doc","handleRemove","hideRemoveFile","hideFileInputOnCreate","buttonStyle","onClick","click","size","accept","hidden","ref","admin","components","controls","UploadControls","icon","iconStyle","round","tooltip","Header","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","title","label","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { DocumentSlots, FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { isImage } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadControls } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport './index.scss'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {enableAdjustments && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, customActions, initialState, onChange, uploadConfig } = props\n const { getDocumentSlots } = useServerFunctions()\n const [documentSlots, setDocumentSlots] = React.useState<DocumentSlots>({})\n const { setUploadControlFile, setUploadControlFileUrl, uploadControlFile, uploadControlFileUrl } =\n useUploadControls()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n const { id, docPermissions, savedDocumentData, setUploadStatus } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const urlInputRef = useRef<HTMLInputElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n\n const useServerSideFetch =\n typeof uploadConfig?.pasteURL === 'object' && uploadConfig.pasteURL.allowList?.length > 0\n\n const handleFileChange = useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n setFileSrc(URL.createObjectURL(newFile))\n }\n\n setValue(newFile)\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue, setUploadControlFile, setUploadControlFileUrl],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange(renameFile(value, updatedFileName))\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange(null)\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n }, [handleFileChange, resetUploadEdits, setUploadControlFile, setUploadControlFileUrl])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handleUrlSubmit = useCallback(async () => {\n if (!fileUrl || uploadConfig?.pasteURL === false) {\n return\n }\n\n setUploadStatus('uploading')\n try {\n // Attempt client-side fetch\n const clientResponse = await fetch(fileUrl)\n\n if (!clientResponse.ok) {\n throw new Error(`Fetch failed with status: ${clientResponse.status}`)\n }\n\n const blob = await clientResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange(file)\n setUploadStatus('idle')\n return // Exit if client-side fetch succeeds\n } catch (_clientError) {\n if (!useServerSideFetch) {\n // If server-side fetch is not enabled, show client-side error\n toast.error('Failed to fetch the file.')\n setUploadStatus('failed')\n return\n }\n }\n\n // Attempt server-side fetch if client-side fetch fails and useServerSideFetch is true\n try {\n const pasteURL = `/${collectionSlug}/paste-url${id ? `/${id}?` : '?'}src=${encodeURIComponent(fileUrl)}`\n const serverResponse = await fetch(`${serverURL}${api}${pasteURL}`)\n\n if (!serverResponse.ok) {\n throw new Error(`Fetch failed with status: ${serverResponse.status}`)\n }\n\n const blob = await serverResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange(file)\n setUploadStatus('idle')\n } catch (_serverError) {\n toast.error('The provided URL is not allowed.')\n setUploadStatus('failed')\n }\n }, [\n fileUrl,\n uploadConfig,\n setUploadStatus,\n handleFileChange,\n useServerSideFetch,\n collectionSlug,\n id,\n serverURL,\n api,\n ])\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n // urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload =\n docPermissions?.update && 'delete' in docPermissions && docPermissions?.delete\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n const imageCacheTag = uploadConfig?.cacheTags && savedDocumentData?.updatedAt\n\n useEffect(() => {\n void (async () => {\n const slots = await getDocumentSlots({ collectionSlug })\n setDocumentSlots(slots)\n })()\n }, [getDocumentSlots, collectionSlug])\n\n useEffect(() => {\n const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit])\n\n useEffect(() => {\n const handleControlFile = () => {\n if (uploadControlFile) {\n handleFileChange(uploadControlFile)\n }\n }\n\n void handleControlFile()\n }, [uploadControlFile, handleFileChange])\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {savedDocumentData && savedDocumentData.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={savedDocumentData}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n hideRemoveFile={uploadConfig.hideRemoveFile}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n {((!uploadConfig.hideFileInputOnCreate && !savedDocumentData?.filename) || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"small\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n {uploadConfig?.pasteURL !== false && (\n <Fragment>\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n setShowUrlInput(true)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n }}\n size=\"small\"\n >\n {t('upload:pasteURL')}\n </Button>\n </Fragment>\n )}\n\n {uploadConfig?.admin?.components?.controls &&\n documentSlots?.UploadControls !== undefined && (\n <Fragment>{documentSlots.UploadControls}</Fragment>\n )}\n </div>\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() => {\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n }}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && savedDocumentData?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || savedDocumentData?.filename) && (\n <EditDepthProvider>\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || savedDocumentData?.filename}\n fileSrc={savedDocumentData?.url || fileSrc}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || savedDocumentData?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || savedDocumentData?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n </EditDepthProvider>\n )}\n {savedDocumentData && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: savedDocumentData.filename })}\n >\n <PreviewSizes\n doc={savedDocumentData}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n </Drawer>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","isImage","React","Fragment","useCallback","useEffect","useRef","useState","toast","FieldError","fieldBaseClass","useForm","useFormProcessing","useField","useConfig","useDocumentInfo","EditDepthProvider","useServerFunctions","useTranslation","useUploadControls","useUploadEdits","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","t0","$","customActions","enableAdjustments","enablePreviewSizes","mimeType","t","t1","t2","Symbol","for","bb0","fileTypeIsAdjustable","length","t3","map","_temp","_jsxs","className","children","_jsx","slug","Upload","props","collectionSlug","initialState","onChange","uploadConfig","getDocumentSlots","documentSlots","setDocumentSlots","setUploadControlFile","setUploadControlFileName","setUploadControlFileUrl","uploadControlFile","uploadControlFileName","uploadControlFileUrl","config","routes","api","serverURL","setModified","resetUploadEdits","updateUploadEdits","uploadEdits","id","docPermissions","savedDocumentData","setUploadStatus","isFormSubmitting","errorMessage","setValue","showError","path","fileSrc","setFileSrc","removedFile","setRemovedFile","filename","setFilename","name","showUrlInput","setShowUrlInput","fileUrl","setFileUrl","urlInputRef","inputRef","useServerSideFetch","pasteURL","allowList","handleFileChange","newFile","File","URL","createObjectURL","renameFile","fileToChange","newName","type","lastModified","handleFileNameChange","e","updatedFileName","target","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","args","handleUrlSubmit","clientResponse","fetch","ok","Error","status","blob","fileName","decodeURIComponent","split","pop","file","_clientError","error","encodeURIComponent","serverResponse","_serverError","current","canRemoveUpload","update","delete","hasImageSizes","imageSizes","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","focalPoint","crop","showCrop","showFocalPoint","acceptMimeTypes","mimeTypes","join","imageCacheTag","cacheTags","updatedAt","slots","handleControlFileUrl","handleControlFile","filter","message","customUploadActions","doc","handleRemove","hideRemoveFile","hideFileInputOnCreate","buttonStyle","onClick","click","size","accept","hidden","ref","admin","components","controls","UploadControls","icon","iconStyle","round","tooltip","Header","url","initialCrop","initialFocalPoint","x","focalX","y","focalY","onSave","hoverTitle","title","label","CustomAction","i"],"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { DocumentSlots, FormState, SanitizedCollectionConfig, UploadEdits } from 'payload'\n\nimport { isImage } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\nimport { toast } from 'sonner'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm, useFormProcessing } from '../../forms/Form/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useUploadControls } from '../../providers/UploadControls/index.js'\nimport { useUploadEdits } from '../../providers/UploadEdits/index.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport './index.scss'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\ntype UploadActionsArgs = {\n readonly customActions?: React.ReactNode[]\n readonly enableAdjustments: boolean\n readonly enablePreviewSizes: boolean\n readonly mimeType: string\n}\n\nexport const UploadActions = ({\n customActions,\n enableAdjustments,\n enablePreviewSizes,\n mimeType,\n}: UploadActionsArgs) => {\n const { t } = useTranslation()\n\n const fileTypeIsAdjustable =\n isImage(mimeType) && mimeType !== 'image/svg+xml' && mimeType !== 'image/jxl'\n\n if (!fileTypeIsAdjustable && (!customActions || customActions.length === 0)) {\n return null\n }\n\n return (\n <div className={`${baseClass}__upload-actions`}>\n {fileTypeIsAdjustable && (\n <React.Fragment>\n {enablePreviewSizes && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {enableAdjustments && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </React.Fragment>\n )}\n\n {customActions &&\n customActions.map((CustomAction, i) => {\n return <React.Fragment key={i}>{CustomAction}</React.Fragment>\n })}\n </div>\n )\n}\n\nexport type UploadProps = {\n readonly collectionSlug: string\n readonly customActions?: React.ReactNode[]\n readonly initialState?: FormState\n readonly onChange?: (file?: File) => void\n readonly uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, customActions, initialState, onChange, uploadConfig } = props\n const { getDocumentSlots } = useServerFunctions()\n const [documentSlots, setDocumentSlots] = React.useState<DocumentSlots>({})\n const {\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n uploadControlFile,\n uploadControlFileName,\n uploadControlFileUrl,\n } = useUploadControls()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { resetUploadEdits, updateUploadEdits, uploadEdits } = useUploadEdits()\n const { id, docPermissions, savedDocumentData, setUploadStatus } = useDocumentInfo()\n const isFormSubmitting = useFormProcessing()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const [removedFile, setRemovedFile] = useState(false)\n const [filename, setFilename] = useState<string>(value?.name || '')\n const [showUrlInput, setShowUrlInput] = useState(false)\n const [fileUrl, setFileUrl] = useState<string>('')\n\n const urlInputRef = useRef<HTMLInputElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n\n const useServerSideFetch =\n typeof uploadConfig?.pasteURL === 'object' && uploadConfig.pasteURL.allowList?.length > 0\n\n const handleFileChange = useCallback(\n (newFile: File) => {\n if (newFile instanceof File) {\n setFileSrc(URL.createObjectURL(newFile))\n }\n\n setValue(newFile)\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n\n if (typeof onChange === 'function') {\n onChange(newFile)\n }\n },\n [onChange, setValue, setUploadControlFile, setUploadControlFileName, setUploadControlFileUrl],\n )\n\n const renameFile = (fileToChange: File, newName: string): File => {\n // Creating a new File object with updated properties\n const newFile = new File([fileToChange], newName, {\n type: fileToChange.type,\n lastModified: fileToChange.lastModified,\n })\n return newFile\n }\n\n const handleFileNameChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n\n if (value) {\n handleFileChange(renameFile(value, updatedFileName))\n setFilename(updatedFileName)\n }\n },\n [handleFileChange, value],\n )\n\n const handleFileSelection = useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n handleFileChange(fileToUpload)\n },\n [handleFileChange],\n )\n\n const handleFileRemoval = useCallback(() => {\n setRemovedFile(true)\n handleFileChange(null)\n setFileSrc('')\n setFileUrl('')\n resetUploadEdits()\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFileName(null)\n setUploadControlFile(null)\n }, [\n handleFileChange,\n resetUploadEdits,\n setUploadControlFile,\n setUploadControlFileName,\n setUploadControlFileUrl,\n ])\n\n const onEditsSave = useCallback(\n (args: UploadEdits) => {\n setModified(true)\n updateUploadEdits(args)\n },\n [setModified, updateUploadEdits],\n )\n\n const handleUrlSubmit = useCallback(async () => {\n if (!fileUrl || uploadConfig?.pasteURL === false) {\n return\n }\n\n setUploadStatus('uploading')\n try {\n // Attempt client-side fetch\n const clientResponse = await fetch(fileUrl)\n\n if (!clientResponse.ok) {\n throw new Error(`Fetch failed with status: ${clientResponse.status}`)\n }\n\n const blob = await clientResponse.blob()\n const fileName = uploadControlFileName || decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange(file)\n setUploadStatus('idle')\n return // Exit if client-side fetch succeeds\n } catch (_clientError) {\n if (!useServerSideFetch) {\n // If server-side fetch is not enabled, show client-side error\n toast.error('Failed to fetch the file.')\n setUploadStatus('failed')\n return\n }\n }\n\n // Attempt server-side fetch if client-side fetch fails and useServerSideFetch is true\n try {\n const pasteURL = `/${collectionSlug}/paste-url${id ? `/${id}?` : '?'}src=${encodeURIComponent(fileUrl)}`\n const serverResponse = await fetch(`${serverURL}${api}${pasteURL}`)\n\n if (!serverResponse.ok) {\n throw new Error(`Fetch failed with status: ${serverResponse.status}`)\n }\n\n const blob = await serverResponse.blob()\n const fileName = decodeURIComponent(fileUrl.split('/').pop() || '')\n const file = new File([blob], fileName, { type: blob.type })\n\n handleFileChange(file)\n setUploadStatus('idle')\n } catch (_serverError) {\n toast.error('The provided URL is not allowed.')\n setUploadStatus('failed')\n }\n }, [\n fileUrl,\n uploadConfig,\n setUploadStatus,\n handleFileChange,\n useServerSideFetch,\n collectionSlug,\n id,\n serverURL,\n api,\n ])\n\n useEffect(() => {\n if (initialState?.file?.value instanceof File) {\n setFileSrc(URL.createObjectURL(initialState.file.value))\n setRemovedFile(false)\n }\n }, [initialState])\n\n useEffect(() => {\n if (showUrlInput && urlInputRef.current) {\n // urlInputRef.current.focus() // Focus on the remote-url input field when showUrlInput is true\n }\n }, [showUrlInput])\n\n useEffect(() => {\n if (isFormSubmitting) {\n setRemovedFile(false)\n }\n }, [isFormSubmitting])\n\n const canRemoveUpload =\n docPermissions?.update && 'delete' in docPermissions && docPermissions?.delete\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n const acceptMimeTypes = uploadConfig.mimeTypes?.join(', ')\n\n const imageCacheTag = uploadConfig?.cacheTags && savedDocumentData?.updatedAt\n\n useEffect(() => {\n void (async () => {\n const slots = await getDocumentSlots({ collectionSlug })\n setDocumentSlots(slots)\n })()\n }, [getDocumentSlots, collectionSlug])\n\n useEffect(() => {\n const handleControlFileUrl = async () => {\n if (uploadControlFileUrl) {\n setFileUrl(uploadControlFileUrl)\n await handleUrlSubmit()\n }\n }\n\n void handleControlFileUrl()\n }, [uploadControlFileUrl, handleUrlSubmit])\n\n useEffect(() => {\n const handleControlFile = () => {\n if (uploadControlFile) {\n handleFileChange(uploadControlFile)\n }\n }\n\n void handleControlFile()\n }, [uploadControlFile, handleFileChange])\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {savedDocumentData && savedDocumentData.filename && !removedFile && (\n <FileDetails\n collectionSlug={collectionSlug}\n customUploadActions={customActions}\n doc={savedDocumentData}\n enableAdjustments={showCrop || showFocalPoint}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n hideRemoveFile={uploadConfig.hideRemoveFile}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n )}\n {((!uploadConfig.hideFileInputOnCreate && !savedDocumentData?.filename) || removedFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && !showUrlInput && (\n <Dropzone onChange={handleFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneButtons`}>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n if (inputRef.current) {\n inputRef.current.click()\n }\n }}\n size=\"small\"\n >\n {t('upload:selectFile')}\n </Button>\n <input\n accept={acceptMimeTypes}\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n hidden\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n handleFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n {uploadConfig?.pasteURL !== false && (\n <Fragment>\n <span className={`${baseClass}__orText`}>{t('general:or')}</span>\n <Button\n buttonStyle=\"pill\"\n onClick={() => {\n setShowUrlInput(true)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n setUploadControlFileName(null)\n }}\n size=\"small\"\n >\n {t('upload:pasteURL')}\n </Button>\n </Fragment>\n )}\n\n {uploadConfig?.admin?.components?.controls &&\n documentSlots?.UploadControls !== undefined && (\n <Fragment>{documentSlots.UploadControls}</Fragment>\n )}\n </div>\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n )}\n {showUrlInput && (\n <React.Fragment>\n <div className={`${baseClass}__remote-file-wrap`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__remote-file`}\n onChange={(e) => {\n setFileUrl(e.target.value)\n }}\n ref={urlInputRef}\n type=\"text\"\n value={fileUrl}\n />\n <div className={`${baseClass}__add-file-wrap`}>\n <button\n className={`${baseClass}__add-file`}\n onClick={() => {\n void handleUrlSubmit()\n }}\n type=\"button\"\n >\n {t('upload:addFile')}\n </button>\n </div>\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() => {\n setShowUrlInput(false)\n setUploadControlFileUrl('')\n setUploadControlFile(null)\n setUploadControlFileName(null)\n }}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n {value && fileSrc && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n {/* eslint-disable-next-line jsx-a11y/control-has-associated-label */}\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={filename || value.name}\n />\n <UploadActions\n customActions={customActions}\n enableAdjustments={showCrop || showFocalPoint}\n enablePreviewSizes={hasImageSizes && savedDocumentData?.filename && !removedFile}\n mimeType={value.type}\n />\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || savedDocumentData?.filename) && (\n <EditDepthProvider>\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || savedDocumentData?.filename}\n fileSrc={savedDocumentData?.url || fileSrc}\n imageCacheTag={imageCacheTag}\n initialCrop={uploadEdits?.crop ?? undefined}\n initialFocalPoint={{\n x: uploadEdits?.focalPoint?.x || savedDocumentData?.focalX || 50,\n y: uploadEdits?.focalPoint?.y || savedDocumentData?.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n </EditDepthProvider>\n )}\n {savedDocumentData && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: savedDocumentData.filename })}\n >\n <PreviewSizes\n doc={savedDocumentData}\n imageCacheTag={imageCacheTag}\n uploadConfig={uploadConfig}\n />\n </Drawer>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|