@payloadcms/ui 3.0.0-beta.93 → 3.0.0-beta.94
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/BulkUpload/AddFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.js +44 -30
- package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/AddFilesView/index.scss +14 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/AddingFilesView/index.js +7 -7
- package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +14 -17
- package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts +1 -2
- package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js +5 -8
- package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +31 -28
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +65 -55
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.scss +4 -0
- package/dist/elements/BulkUpload/FormsManager/index.d.ts +4 -7
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +62 -36
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/Header/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/Header/index.js +1 -3
- package/dist/elements/BulkUpload/Header/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.d.ts +21 -5
- package/dist/elements/BulkUpload/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/index.js +148 -51
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +18 -15
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +1 -0
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
- package/dist/elements/DraggableSortable/index.js +1 -0
- package/dist/elements/DraggableSortable/index.js.map +1 -1
- package/dist/elements/Dropzone/index.d.ts +3 -3
- package/dist/elements/Dropzone/index.d.ts.map +1 -1
- package/dist/elements/Dropzone/index.js +23 -50
- package/dist/elements/Dropzone/index.js.map +1 -1
- package/dist/elements/Dropzone/index.scss +6 -23
- package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js +0 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
- package/dist/elements/FileDetails/StaticFileDetails/index.scss +1 -0
- package/dist/elements/ListDrawer/index.scss +7 -0
- package/dist/elements/ShimmerEffect/index.d.ts +3 -3
- package/dist/elements/ShimmerEffect/index.d.ts.map +1 -1
- package/dist/elements/ShimmerEffect/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.d.ts +10 -6
- package/dist/elements/Thumbnail/index.d.ts.map +1 -1
- package/dist/elements/Thumbnail/index.js +84 -9
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +59 -33
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/elements/Upload/index.scss +9 -0
- package/dist/exports/client/{CodeEditor-MTP455NO.js → CodeEditor-P66JEENA.js} +2 -2
- package/dist/exports/client/{chunk-NJHSEGFB.js → chunk-XKP472RX.js} +1 -1
- package/dist/exports/client/{chunk-NJHSEGFB.js.map → chunk-XKP472RX.js.map} +1 -1
- package/dist/exports/client/index.d.ts +3 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +19 -19
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Upload/HasMany/index.d.ts +16 -2
- package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +148 -224
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasMany/index.scss +12 -56
- package/dist/fields/Upload/HasOne/index.d.ts +13 -9
- package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +30 -121
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.scss +0 -68
- package/dist/fields/Upload/{HasOne/Input.d.ts → Input.d.ts} +9 -4
- package/dist/fields/Upload/Input.d.ts.map +1 -0
- package/dist/fields/Upload/Input.js +366 -0
- package/dist/fields/Upload/Input.js.map +1 -0
- package/dist/fields/Upload/RelationshipContent/index.d.ts +21 -0
- package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -0
- package/dist/fields/Upload/RelationshipContent/index.js +135 -0
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -0
- package/dist/fields/Upload/RelationshipContent/index.scss +51 -0
- package/dist/fields/Upload/UploadCard/index.d.ts +10 -0
- package/dist/fields/Upload/UploadCard/index.d.ts.map +1 -0
- package/dist/fields/Upload/UploadCard/index.js +15 -0
- package/dist/fields/Upload/UploadCard/index.js.map +1 -0
- package/dist/fields/Upload/UploadCard/index.scss +27 -0
- package/dist/fields/Upload/index.d.ts +4 -4
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +85 -91
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/fields/Upload/index.scss +57 -0
- package/dist/providers/Root/index.d.ts +12 -12
- package/dist/providers/Root/index.d.ts.map +1 -1
- package/dist/providers/Root/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +5 -5
- package/dist/fields/Upload/HasOne/Input.d.ts.map +0 -1
- package/dist/fields/Upload/HasOne/Input.js +0 -324
- package/dist/fields/Upload/HasOne/Input.js.map +0 -1
- /package/dist/exports/client/{CodeEditor-MTP455NO.js.map → CodeEditor-P66JEENA.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.js","names":["useModal","qs","React","useCallback","useEffect","useMemo","useBulkUpload","Button","Dropzone","useListDrawer","ShimmerEffect","useAuth","useLocale","useTranslation","FieldDescription","FieldError","FieldLabel","fieldBaseClass","UploadComponentHasMany","UploadComponentHasOne","baseClass","UploadInput","props","Description","Error","Label","allowNewUpload","api","className","description","descriptionProps","errorProps","field","filterOptions","filterOptionsFromProps","hasMany","isSortable","label","labelProps","maxRows","onChange","onChangeFromProps","path","readOnly","relationTo","required","serverURL","showError","style","value","width","populatedDocs","setPopulatedDocs","useState","activeRelationTo","setActiveRelationTo","Array","isArray","openModal","drawerSlug","setCollectionSlug","setInitialFiles","setMaxFiles","setOnSuccess","permissions","code","i18n","t","id","not_in","concat","ListDrawer","ListDrawerToggler","closeDrawer","closeListDrawer","collectionSlugs","inputRef","useRef","loadedValueDocsRef","canCreate","collections","create","permission","newValue","populateDocs","ids","relatedCollectionSlug","query","depth","draft","limit","length","locale","where","and","in","response","fetch","body","stringify","credentials","headers","language","method","ok","json","sortedDocs","map","docs","find","doc","onUploadSuccess","newDocs","mergedValue","currentDocs","firstDoc","onFileSelection","fileList","fileListToUse","dataTransfer","DataTransfer","items","add","files","onListBulkSelect","selectedDocIDs","Object","entries","reduce","acc","docID","isSelected","push","loadedDocs","onListSelect","collectionSlug","selectedDoc","onReorder","newValueIDs","onRemove","loadInitialDocs","current","showDropzone","_jsxs","filter","Boolean","join","_jsx","CustomError","_Fragment","fileDocs","readonly","height","fileDoc","multipleFiles","buttonStyle","disabled","icon","iconPosition","onClick","click","size","hidden","multiple","e","target","ref","type","el","enableRowSelections","onBulkSelect","onSelect"],"sources":["../../../src/fields/Upload/Input.tsx"],"sourcesContent":["'use client'\n\nimport type {\n ClientCollectionConfig,\n FieldDescriptionClientProps,\n FieldErrorClientProps,\n FieldLabelClientProps,\n FilterOptionsResult,\n JsonObject,\n MappedComponent,\n PaginatedDocs,\n StaticDescription,\n StaticLabel,\n UploadFieldClient,\n UploadField as UploadFieldType,\n Where,\n} from 'payload'\nimport type { MarkOptional } from 'ts-essentials'\n\nimport { useModal } from '@faceless-ui/modal'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo } from 'react'\n\nimport type { ListDrawerProps } from '../../elements/ListDrawer/types.js'\n\nimport { useBulkUpload } from '../../elements/BulkUpload/index.js'\nimport { Button } from '../../elements/Button/index.js'\nimport { Dropzone } from '../../elements/Dropzone/index.js'\nimport { useListDrawer } from '../../elements/ListDrawer/index.js'\nimport { ShimmerEffect } from '../../elements/ShimmerEffect/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { FieldDescription } from '../FieldDescription/index.js'\nimport { FieldError } from '../FieldError/index.js'\nimport { FieldLabel } from '../FieldLabel/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { UploadComponentHasMany } from './HasMany/index.js'\nimport { UploadComponentHasOne } from './HasOne/index.js'\nimport './index.scss'\n\nexport const baseClass = 'upload'\n\ntype PopulatedDocs = { relationTo: string; value: JsonObject }[]\n\nexport type UploadInputProps = {\n readonly Description?: MappedComponent\n readonly Error?: MappedComponent\n readonly Label?: MappedComponent\n /**\n * Controls the visibility of the \"Create new collection\" button\n */\n readonly allowNewUpload?: boolean\n readonly api?: string\n readonly className?: string\n readonly collection?: ClientCollectionConfig\n readonly customUploadActions?: React.ReactNode[]\n readonly description?: StaticDescription\n readonly descriptionProps?: FieldDescriptionClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly errorProps?: FieldErrorClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly field?: MarkOptional<UploadFieldClient, 'type'>\n readonly filterOptions?: FilterOptionsResult\n readonly hasMany?: boolean\n readonly isSortable?: boolean\n readonly label: StaticLabel\n readonly labelProps?: FieldLabelClientProps<MarkOptional<UploadFieldClient, 'type'>>\n readonly maxRows?: number\n readonly onChange?: (e) => void\n readonly path: string\n readonly readOnly?: boolean\n readonly relationTo: UploadFieldType['relationTo']\n readonly required?: boolean\n readonly serverURL?: string\n readonly showError?: boolean\n readonly style?: React.CSSProperties\n readonly value?: (number | string)[] | (number | string)\n readonly width?: string\n}\n\nexport function UploadInput(props: UploadInputProps) {\n const {\n Description,\n Error,\n Label,\n allowNewUpload,\n api,\n className,\n description,\n descriptionProps,\n errorProps,\n field,\n filterOptions: filterOptionsFromProps,\n hasMany,\n isSortable,\n label,\n labelProps,\n maxRows,\n onChange: onChangeFromProps,\n path,\n readOnly,\n relationTo,\n required,\n serverURL,\n showError,\n style,\n value,\n width,\n } = props\n\n const [populatedDocs, setPopulatedDocs] = React.useState<\n {\n relationTo: string\n value: JsonObject\n }[]\n >()\n const [activeRelationTo, setActiveRelationTo] = React.useState<string>(\n Array.isArray(relationTo) ? relationTo[0] : relationTo,\n )\n\n const { openModal } = useModal()\n const { drawerSlug, setCollectionSlug, setInitialFiles, setMaxFiles, setOnSuccess } =\n useBulkUpload()\n const { permissions } = useAuth()\n const { code } = useLocale()\n const { i18n, t } = useTranslation()\n\n const filterOptions: FilterOptionsResult = useMemo(() => {\n return {\n ...filterOptionsFromProps,\n [activeRelationTo]: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any) || {}),\n id: {\n ...((filterOptionsFromProps?.[activeRelationTo] as any)?.id || {}),\n not_in: ((filterOptionsFromProps?.[activeRelationTo] as any)?.id?.not_in || []).concat(\n ...((Array.isArray(value) || value ? [value] : []) || []),\n ),\n },\n },\n }\n }, [value, activeRelationTo, filterOptionsFromProps])\n\n const [ListDrawer, ListDrawerToggler, { closeDrawer: closeListDrawer }] = useListDrawer({\n collectionSlugs: typeof relationTo === 'string' ? [relationTo] : relationTo,\n filterOptions,\n })\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n const loadedValueDocsRef = React.useRef<boolean>(false)\n\n const canCreate = useMemo(() => {\n if (typeof activeRelationTo === 'string') {\n if (permissions?.collections && permissions.collections?.[activeRelationTo]?.create) {\n if (permissions.collections[activeRelationTo].create?.permission === true) {\n return true\n }\n }\n }\n\n return false\n }, [activeRelationTo, permissions])\n\n const onChange = React.useCallback(\n (newValue) => {\n if (typeof onChangeFromProps === 'function') {\n onChangeFromProps(newValue)\n }\n },\n [onChangeFromProps],\n )\n\n const populateDocs = React.useCallback(\n async (\n ids: (number | string)[],\n relatedCollectionSlug: string,\n ): Promise<PaginatedDocs | null> => {\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: ids.length,\n locale: code,\n where: {\n and: [\n {\n id: {\n in: ids,\n },\n },\n ],\n },\n }\n\n const response = await fetch(`${serverURL}${api}/${relatedCollectionSlug}`, {\n body: qs.stringify(query),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n method: 'POST',\n })\n if (response.ok) {\n const json = await response.json()\n const sortedDocs = ids.map((id) => json.docs.find((doc) => doc.id === id))\n return { ...json, docs: sortedDocs }\n }\n\n return null\n },\n [code, serverURL, api, i18n.language],\n )\n\n const onUploadSuccess = useCallback(\n (newDocs: JsonObject[]) => {\n if (hasMany) {\n const mergedValue = [\n ...(Array.isArray(value) ? value : []),\n ...newDocs.map((doc) => doc.id),\n ]\n onChange(mergedValue)\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...newDocs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n } else {\n const firstDoc = newDocs[0]\n onChange(firstDoc.id)\n setPopulatedDocs([\n {\n relationTo: activeRelationTo,\n value: firstDoc,\n },\n ])\n }\n },\n [value, onChange, activeRelationTo, hasMany],\n )\n\n const onFileSelection = React.useCallback(\n (fileList?: FileList) => {\n let fileListToUse = fileList\n if (!hasMany && fileList && fileList.length > 1) {\n const dataTransfer = new DataTransfer()\n dataTransfer.items.add(fileList[0])\n fileListToUse = dataTransfer.files\n }\n if (fileListToUse) setInitialFiles(fileListToUse)\n setCollectionSlug(relationTo)\n setOnSuccess(onUploadSuccess)\n if (typeof maxRows === 'number') setMaxFiles(maxRows)\n openModal(drawerSlug)\n },\n [\n drawerSlug,\n hasMany,\n onUploadSuccess,\n openModal,\n relationTo,\n setCollectionSlug,\n setInitialFiles,\n setOnSuccess,\n maxRows,\n setMaxFiles,\n ],\n )\n\n // only hasMany can bulk select\n const onListBulkSelect = React.useCallback<NonNullable<ListDrawerProps['onBulkSelect']>>(\n async (docs) => {\n const selectedDocIDs = Object.entries(docs).reduce<string[]>((acc, [docID, isSelected]) => {\n if (isSelected) {\n acc.push(docID)\n }\n return acc\n }, [])\n const loadedDocs = await populateDocs(selectedDocIDs, activeRelationTo)\n if (loadedDocs) {\n setPopulatedDocs((currentDocs) => [\n ...(currentDocs || []),\n ...loadedDocs.docs.map((doc) => ({\n relationTo: activeRelationTo,\n value: doc,\n })),\n ])\n }\n onChange([...(Array.isArray(value) ? value : []), ...selectedDocIDs])\n closeListDrawer()\n },\n [activeRelationTo, closeListDrawer, onChange, populateDocs, value],\n )\n\n const onListSelect = React.useCallback<NonNullable<ListDrawerProps['onSelect']>>(\n async ({ collectionSlug, docID }) => {\n const loadedDocs = await populateDocs([docID], collectionSlug)\n const selectedDoc = loadedDocs ? loadedDocs.docs?.[0] : null\n setPopulatedDocs((currentDocs) => {\n if (selectedDoc) {\n if (hasMany) {\n return [\n ...(currentDocs || []),\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return [\n {\n relationTo: activeRelationTo,\n value: selectedDoc,\n },\n ]\n }\n return currentDocs\n })\n if (hasMany) {\n onChange([...(Array.isArray(value) ? value : []), docID])\n } else {\n onChange(docID)\n }\n closeListDrawer()\n },\n [closeListDrawer, hasMany, populateDocs, onChange, value, activeRelationTo],\n )\n\n // only hasMany can reorder\n const onReorder = React.useCallback(\n (newValue) => {\n const newValueIDs = newValue.map(({ value }) => value.id)\n onChange(newValueIDs)\n setPopulatedDocs(newValue)\n },\n [onChange],\n )\n\n const onRemove = React.useCallback(\n (newValue?: PopulatedDocs) => {\n const newValueIDs = newValue ? newValue.map(({ value }) => value.id) : null\n onChange(hasMany ? newValueIDs : newValueIDs ? newValueIDs[0] : null)\n setPopulatedDocs(newValue ? newValue : [])\n },\n [onChange, hasMany],\n )\n\n useEffect(() => {\n async function loadInitialDocs() {\n if (value) {\n const loadedDocs = await populateDocs(\n Array.isArray(value) ? value : [value],\n activeRelationTo,\n )\n if (loadedDocs) {\n setPopulatedDocs(\n loadedDocs.docs.map((doc) => ({ relationTo: activeRelationTo, value: doc })),\n )\n }\n }\n\n loadedValueDocsRef.current = true\n }\n\n if (!loadedValueDocsRef.current) {\n void loadInitialDocs()\n }\n }, [populateDocs, activeRelationTo, value])\n\n const showDropzone =\n !readOnly &&\n (!value ||\n (hasMany && Array.isArray(value) && (typeof maxRows !== 'number' || value.length < maxRows)))\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n readOnly && 'read-only',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n Label={Label}\n label={label}\n required={required}\n {...(labelProps || {})}\n field={field as UploadFieldClient}\n />\n <div className={`${baseClass}__wrap`}>\n <FieldError\n CustomError={Error}\n path={path}\n {...(errorProps || {})}\n field={field as UploadFieldClient}\n />\n </div>\n\n <div className={`${baseClass}__dropzoneAndUpload`}>\n {hasMany && Array.isArray(value) && value.length > 0 ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasMany\n fileDocs={populatedDocs}\n isSortable={isSortable && !readOnly}\n onRemove={onRemove}\n onReorder={onReorder}\n readonly={readOnly}\n serverURL={serverURL}\n />\n ) : (\n <div className={`${baseClass}__loadingRows`}>\n {value.map((id) => (\n <ShimmerEffect height=\"40px\" key={id} />\n ))}\n </div>\n )}\n </>\n ) : null}\n\n {!hasMany && value ? (\n <>\n {populatedDocs && populatedDocs?.length > 0 ? (\n <UploadComponentHasOne\n fileDoc={populatedDocs[0]}\n onRemove={onRemove}\n readonly={readOnly}\n serverURL={serverURL}\n />\n ) : (\n <ShimmerEffect height=\"62px\" />\n )}\n </>\n ) : null}\n\n {showDropzone ? (\n <Dropzone multipleFiles={hasMany} onChange={onFileSelection}>\n <div className={`${baseClass}__dropzoneContent`}>\n <div className={`${baseClass}__dropzoneContent__buttons`}>\n <Button\n buttonStyle=\"icon-label\"\n disabled={readOnly || !canCreate}\n icon=\"plus\"\n iconPosition=\"left\"\n onClick={() => {\n if (!readOnly) {\n if (hasMany) {\n onFileSelection()\n } else if (inputRef.current) {\n inputRef.current.click()\n }\n }\n }}\n size=\"small\"\n >\n {t('general:createNew')}\n </Button>\n <input\n aria-hidden=\"true\"\n className={`${baseClass}__hidden-input`}\n disabled={readOnly}\n hidden\n multiple={hasMany}\n onChange={(e) => {\n if (e.target.files && e.target.files.length > 0) {\n onFileSelection(e.target.files)\n }\n }}\n ref={inputRef}\n type=\"file\"\n />\n <ListDrawerToggler className={`${baseClass}__toggler`} disabled={readOnly}>\n <Button buttonStyle=\"icon-label\" el=\"span\" icon=\"plus\" iconPosition=\"left\">\n {t('fields:chooseFromExisting')}\n </Button>\n </ListDrawerToggler>\n <ListDrawer\n enableRowSelections={hasMany}\n onBulkSelect={onListBulkSelect}\n onSelect={onListSelect}\n />\n </div>\n\n <p className={`${baseClass}__dragAndDropText`}>\n {t('general:or')} {t('upload:dragAndDrop')}\n </p>\n </div>\n </Dropzone>\n ) : (\n <>\n {!readOnly &&\n !populatedDocs &&\n (!value ||\n typeof maxRows !== 'number' ||\n (Array.isArray(value) && value.length < maxRows)) ? (\n <ShimmerEffect height=\"40px\" />\n ) : null}\n </>\n )}\n </div>\n <FieldDescription\n Description={Description}\n description={description}\n {...(descriptionProps || {})}\n field={field as UploadFieldClient}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './index.scss';
|
|
3
|
+
type Props = {
|
|
4
|
+
readonly allowEdit?: boolean;
|
|
5
|
+
readonly allowRemove?: boolean;
|
|
6
|
+
readonly alt: string;
|
|
7
|
+
readonly byteSize: number;
|
|
8
|
+
readonly className?: string;
|
|
9
|
+
readonly collectionSlug: string;
|
|
10
|
+
readonly filename: string;
|
|
11
|
+
readonly id: number | string;
|
|
12
|
+
readonly mimeType: string;
|
|
13
|
+
readonly onRemove: () => void;
|
|
14
|
+
readonly src: string;
|
|
15
|
+
readonly withMeta?: boolean;
|
|
16
|
+
readonly x?: number;
|
|
17
|
+
readonly y?: number;
|
|
18
|
+
};
|
|
19
|
+
export declare function RelationshipContent(props: Props): React.JSX.Element;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAA;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AACD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,KAAK,qBA6E/C"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { c as _c } from "react/compiler-runtime";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { formatFilesize } from 'payload/shared';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import { Button } from '../../../elements/Button/index.js';
|
|
8
|
+
import { useDocumentDrawer } from '../../../elements/DocumentDrawer/index.js';
|
|
9
|
+
import { ThumbnailComponent } from '../../../elements/Thumbnail/index.js';
|
|
10
|
+
import './index.scss';
|
|
11
|
+
const baseClass = 'uploadDocRelationshipContent';
|
|
12
|
+
export function RelationshipContent(props) {
|
|
13
|
+
const $ = _c(22);
|
|
14
|
+
const {
|
|
15
|
+
id,
|
|
16
|
+
allowEdit,
|
|
17
|
+
allowRemove,
|
|
18
|
+
alt,
|
|
19
|
+
byteSize,
|
|
20
|
+
className,
|
|
21
|
+
collectionSlug,
|
|
22
|
+
filename,
|
|
23
|
+
mimeType,
|
|
24
|
+
onRemove,
|
|
25
|
+
src,
|
|
26
|
+
withMeta: t0,
|
|
27
|
+
x,
|
|
28
|
+
y
|
|
29
|
+
} = props;
|
|
30
|
+
const withMeta = t0 === undefined ? true : t0;
|
|
31
|
+
let t1;
|
|
32
|
+
if ($[0] !== id || $[1] !== collectionSlug) {
|
|
33
|
+
t1 = {
|
|
34
|
+
id,
|
|
35
|
+
collectionSlug
|
|
36
|
+
};
|
|
37
|
+
$[0] = id;
|
|
38
|
+
$[1] = collectionSlug;
|
|
39
|
+
$[2] = t1;
|
|
40
|
+
} else {
|
|
41
|
+
t1 = $[2];
|
|
42
|
+
}
|
|
43
|
+
const [DocumentDrawer, _, t2] = useDocumentDrawer(t1);
|
|
44
|
+
const {
|
|
45
|
+
openDrawer
|
|
46
|
+
} = t2;
|
|
47
|
+
let t3;
|
|
48
|
+
if ($[3] !== x || $[4] !== y) {
|
|
49
|
+
t3 = function generateMetaText(mimeType_0, size) {
|
|
50
|
+
const sections = [];
|
|
51
|
+
if (mimeType_0.includes("image")) {
|
|
52
|
+
sections.push(formatFilesize(size));
|
|
53
|
+
}
|
|
54
|
+
if (x && y) {
|
|
55
|
+
sections.push(`${x}x${y}`);
|
|
56
|
+
}
|
|
57
|
+
if (mimeType_0) {
|
|
58
|
+
sections.push(mimeType_0);
|
|
59
|
+
}
|
|
60
|
+
return sections.join(" \u2014 ");
|
|
61
|
+
};
|
|
62
|
+
$[3] = x;
|
|
63
|
+
$[4] = y;
|
|
64
|
+
$[5] = t3;
|
|
65
|
+
} else {
|
|
66
|
+
t3 = $[5];
|
|
67
|
+
}
|
|
68
|
+
const generateMetaText = t3;
|
|
69
|
+
let t4;
|
|
70
|
+
if ($[6] !== withMeta || $[7] !== generateMetaText || $[8] !== mimeType || $[9] !== byteSize || $[10] !== className || $[11] !== alt || $[12] !== src || $[13] !== filename || $[14] !== allowEdit || $[15] !== allowRemove || $[16] !== openDrawer || $[17] !== onRemove || $[18] !== DocumentDrawer) {
|
|
71
|
+
const metaText = withMeta ? generateMetaText(mimeType, byteSize) : "";
|
|
72
|
+
let t5;
|
|
73
|
+
if ($[20] !== className) {
|
|
74
|
+
t5 = [baseClass, className].filter(Boolean);
|
|
75
|
+
$[20] = className;
|
|
76
|
+
$[21] = t5;
|
|
77
|
+
} else {
|
|
78
|
+
t5 = $[21];
|
|
79
|
+
}
|
|
80
|
+
t4 = _jsxs("div", {
|
|
81
|
+
className: t5.join(" "),
|
|
82
|
+
children: [_jsxs("div", {
|
|
83
|
+
className: `${baseClass}__imageAndDetails`,
|
|
84
|
+
children: [_jsx(ThumbnailComponent, {
|
|
85
|
+
alt,
|
|
86
|
+
className: `${baseClass}__thumbnail`,
|
|
87
|
+
fileSrc: src,
|
|
88
|
+
filename,
|
|
89
|
+
size: "small"
|
|
90
|
+
}), _jsxs("div", {
|
|
91
|
+
className: `${baseClass}__details`,
|
|
92
|
+
children: [_jsx("p", {
|
|
93
|
+
className: `${baseClass}__title`,
|
|
94
|
+
children: filename
|
|
95
|
+
}), withMeta ? _jsx("p", {
|
|
96
|
+
className: `${baseClass}__meta`,
|
|
97
|
+
children: metaText
|
|
98
|
+
}) : null]
|
|
99
|
+
})]
|
|
100
|
+
}), allowEdit !== false || allowRemove !== false ? _jsxs("div", {
|
|
101
|
+
className: `${baseClass}__actions`,
|
|
102
|
+
children: [allowEdit !== false ? _jsx(Button, {
|
|
103
|
+
buttonStyle: "icon-label",
|
|
104
|
+
icon: "edit",
|
|
105
|
+
iconStyle: "none",
|
|
106
|
+
onClick: openDrawer
|
|
107
|
+
}) : null, allowRemove !== false ? _jsx(Button, {
|
|
108
|
+
buttonStyle: "icon-label",
|
|
109
|
+
className: `${baseClass}__button`,
|
|
110
|
+
icon: "x",
|
|
111
|
+
iconStyle: "none",
|
|
112
|
+
onClick: () => onRemove()
|
|
113
|
+
}) : null, _jsx(DocumentDrawer, {})]
|
|
114
|
+
}) : null]
|
|
115
|
+
});
|
|
116
|
+
$[6] = withMeta;
|
|
117
|
+
$[7] = generateMetaText;
|
|
118
|
+
$[8] = mimeType;
|
|
119
|
+
$[9] = byteSize;
|
|
120
|
+
$[10] = className;
|
|
121
|
+
$[11] = alt;
|
|
122
|
+
$[12] = src;
|
|
123
|
+
$[13] = filename;
|
|
124
|
+
$[14] = allowEdit;
|
|
125
|
+
$[15] = allowRemove;
|
|
126
|
+
$[16] = openDrawer;
|
|
127
|
+
$[17] = onRemove;
|
|
128
|
+
$[18] = DocumentDrawer;
|
|
129
|
+
$[19] = t4;
|
|
130
|
+
} else {
|
|
131
|
+
t4 = $[19];
|
|
132
|
+
}
|
|
133
|
+
return t4;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","formatFilesize","React","Button","useDocumentDrawer","ThumbnailComponent","baseClass","RelationshipContent","props","$","id","allowEdit","allowRemove","alt","byteSize","className","collectionSlug","filename","mimeType","onRemove","src","withMeta","t0","x","y","undefined","t1","DocumentDrawer","_","t2","openDrawer","t3","generateMetaText","mimeType_0","size","sections","includes","push","join","t4","metaText","t5","filter","Boolean","_jsxs","children","_jsx","fileSrc","buttonStyle","icon","iconStyle","onClick"],"sources":["../../../../src/fields/Upload/RelationshipContent/index.tsx"],"sourcesContent":["'use client'\n\nimport { formatFilesize } from 'payload/shared'\nimport React from 'react'\n\nimport { Button } from '../../../elements/Button/index.js'\nimport { useDocumentDrawer } from '../../../elements/DocumentDrawer/index.js'\nimport { ThumbnailComponent } from '../../../elements/Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'uploadDocRelationshipContent'\n\ntype Props = {\n readonly allowEdit?: boolean\n readonly allowRemove?: boolean\n readonly alt: string\n readonly byteSize: number\n readonly className?: string\n readonly collectionSlug: string\n readonly filename: string\n readonly id: number | string\n readonly mimeType: string\n readonly onRemove: () => void\n readonly src: string\n readonly withMeta?: boolean\n readonly x?: number\n readonly y?: number\n}\nexport function RelationshipContent(props: Props) {\n const {\n id,\n allowEdit,\n allowRemove,\n alt,\n byteSize,\n className,\n collectionSlug,\n filename,\n mimeType,\n onRemove,\n src,\n withMeta = true,\n x,\n y,\n } = props\n\n const [DocumentDrawer, _, { openDrawer }] = useDocumentDrawer({\n id,\n collectionSlug,\n })\n\n function generateMetaText(mimeType: string, size: number): string {\n const sections: string[] = []\n if (mimeType.includes('image')) {\n sections.push(formatFilesize(size))\n }\n\n if (x && y) {\n sections.push(`${x}x${y}`)\n }\n\n if (mimeType) {\n sections.push(mimeType)\n }\n\n return sections.join(' — ')\n }\n\n const metaText = withMeta ? generateMetaText(mimeType, byteSize) : ''\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <div className={`${baseClass}__imageAndDetails`}>\n <ThumbnailComponent\n alt={alt}\n className={`${baseClass}__thumbnail`}\n fileSrc={src}\n filename={filename}\n size=\"small\"\n />\n <div className={`${baseClass}__details`}>\n <p className={`${baseClass}__title`}>{filename}</p>\n {withMeta ? <p className={`${baseClass}__meta`}>{metaText}</p> : null}\n </div>\n </div>\n\n {allowEdit !== false || allowRemove !== false ? (\n <div className={`${baseClass}__actions`}>\n {allowEdit !== false ? (\n <Button buttonStyle=\"icon-label\" icon=\"edit\" iconStyle=\"none\" onClick={openDrawer} />\n ) : null}\n {allowRemove !== false ? (\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__button`}\n icon=\"x\"\n iconStyle=\"none\"\n onClick={() => onRemove()}\n />\n ) : null}\n <DocumentDrawer />\n </div>\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,MAAM,QAAQ;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AACnC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAkBlB,OAAO,SAAAC,oBAAAC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACL;IAAAU,EAAA;IAAAC,SAAA;IAAAC,WAAA;IAAAC,GAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC,cAAA;IAAAC,QAAA;IAAAC,QAAA;IAAAC,QAAA;IAAAC,GAAA;IAAAC,QAAA,EAAAC,EAAA;IAAAC,CAAA;IAAAC;EAAA,IAeIhB,KAAA;EAHF,MAAAa,QAAA,GAAAC,EAAe,KAAAG,SAAA,UAAfH,EAAe;EAAA,IAAAI,EAAA;EAAA,IAAAjB,CAAA,QAAAC,EAAA,IAAAD,CAAA,QAAAO,cAAA;IAK6CU,EAAA;MAAAhB,EAAA;MAAAM;IAAA;IAG9DP,CAAA,MAAAC,EAAA;IAAAD,CAAA,MAAAO,cAAA;IAAAP,CAAA,MAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EAHA,OAAAkB,cAAA,EAAAC,CAAA,EAAAC,EAAA,IAA4CzB,iBAAA,CAAkBsB,EAG9D;EAH0B;IAAAI;EAAA,IAAAD,EAAc;EAAA,IAAAE,EAAA;EAAA,IAAAtB,CAAA,QAAAc,CAAA,IAAAd,CAAA,QAAAe,CAAA;IAKxCO,EAAA,YAAAC,iBAAAC,UAAA,EAAAC,IAAA;MACE,MAAAC,QAAA;MAA6B,IACzBjB,UAAA,CAAAkB,QAAA,CAAkB;QACpBD,QAAA,CAAAE,IAAA,CAAcpC,cAAA,CAAeiC,IAAA;MAAA;MAAA,IAG3BX,CAAA,IAAKC,CAAA;QACPW,QAAA,CAAAE,IAAA,CAAc,GAAGd,CAAA,IAAKC,CAAA,EAAG;MAAA;MAAA,IAGvBN,UAAA;QACFiB,QAAA,CAAAE,IAAA,CAAcnB,UAAA;MAAA;MAAA,OAGTiB,QAAA,CAAAG,IAAA,CAAc;IAAA;IACvB7B,CAAA,MAAAc,CAAA;IAAAd,CAAA,MAAAe,CAAA;IAAAf,CAAA,MAAAsB,EAAA;EAAA;IAAAA,EAAA,GAAAtB,CAAA;EAAA;EAfA,MAAAuB,gBAAA,GAAAD,EAeA;EAAA,IAAAQ,EAAA;EAAA,IAAA9B,CAAA,QAAAY,QAAA,IAAAZ,CAAA,QAAAuB,gBAAA,IAAAvB,CAAA,QAAAS,QAAA,IAAAT,CAAA,QAAAK,QAAA,IAAAL,CAAA,SAAAM,SAAA,IAAAN,CAAA,SAAAI,GAAA,IAAAJ,CAAA,SAAAW,GAAA,IAAAX,CAAA,SAAAQ,QAAA,IAAAR,CAAA,SAAAE,SAAA,IAAAF,CAAA,SAAAG,WAAA,IAAAH,CAAA,SAAAqB,UAAA,IAAArB,CAAA,SAAAU,QAAA,IAAAV,CAAA,SAAAkB,cAAA;IAEA,MAAAa,QAAA,GAAiBnB,QAAA,GAAWW,gBAAA,CAAiBd,QAAA,EAAUJ,QAAA,IAAY;IAAA,IAAA2B,EAAA;IAAA,IAAAhC,CAAA,SAAAM,SAAA;MAGjD0B,EAAA,IAAAnC,SAAA,EAAYS,SAAA,EAAA2B,MAAA,CAAAC,OAAkB;MAAAlC,CAAA,OAAAM,SAAA;MAAAN,CAAA,OAAAgC,EAAA;IAAA;MAAAA,EAAA,GAAAhC,CAAA;IAAA;IAA9C8B,EAAA,GAAAK,KAAA,CAAC;MAAA7B,SAAA,EAAe0B,EAA8B,CAAAH,IAAA,CAAc;MAAAO,QAAA,GAC1DD,KAAA,CAAC;QAAA7B,SAAA,EAAe,GAAAT,SAAA,mBAA+B;QAAAuC,QAAA,GAC7CC,IAAA,CAAAzC,kBAAA;UAAAQ,GAAA;UAAAE,SAAA,EAEa,GAAAT,SAAA,aAAyB;UAAAyC,OAAA,EAC3B3B,GAAA;UAAAH,QAAA;UAAAiB,IAAA,EAEJ;QAAA,C,GAEPU,KAAA,CAAC;UAAA7B,SAAA,EAAe,GAAAT,SAAA,WAAuB;UAAAuC,QAAA,GACrCC,IAAA,CAAC;YAAA/B,SAAA,EAAa,GAAAT,SAAA,SAAqB;YAAAuC,QAAA,EAAG5B;UAAA,C,GACrCI,QAAA,GAAWyB,IAAA,CAAC;YAAA/B,SAAA,EAAa,GAAAT,SAAA,QAAoB;YAAAuC,QAAA,EAAGL;UAAA,C,QAAgB;QAAA,C;UAIpE7B,SAAA,UAAc,IAASC,WAAA,UAAgB,GACtCgC,KAAA,CAAC;QAAA7B,SAAA,EAAe,GAAAT,SAAA,WAAuB;QAAAuC,QAAA,GACpClC,SAAA,UAAc,GACbmC,IAAA,CAAA3C,MAAA;UAAA6C,WAAA,EAAoB;UAAAC,IAAA,EAAkB;UAAAC,SAAA,EAAiB;UAAAC,OAAA,EAAgBrB;QAAA,C,QACrE,EACHlB,WAAA,UAAgB,GACfkC,IAAA,CAAA3C,MAAA;UAAA6C,WAAA,EACc;UAAAjC,SAAA,EACD,GAAAT,SAAA,UAAsB;UAAA2C,IAAA,EAC5B;UAAAC,SAAA,EACK;UAAAC,OAAA,EAAAA,CAAA,KACKhC,QAAA;QAAA,C,QAEf,EACJ2B,IAAA,CAACnB,cAAA;MAAA,C,QAED;IAAA,C;;;;;;;;;;;;;;;;;;SA/BNY,E","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
.uploadDocRelationshipContent {
|
|
2
|
+
display: flex;
|
|
3
|
+
justify-content: space-between;
|
|
4
|
+
align-items: center;
|
|
5
|
+
width: 100%;
|
|
6
|
+
min-width: 0;
|
|
7
|
+
|
|
8
|
+
&__imageAndDetails {
|
|
9
|
+
display: flex;
|
|
10
|
+
gap: calc(var(--base) / 2);
|
|
11
|
+
align-items: center;
|
|
12
|
+
min-width: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&__thumbnail {
|
|
16
|
+
align-self: center;
|
|
17
|
+
border-radius: var(--style-radius-s);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&__details {
|
|
21
|
+
display: flex;
|
|
22
|
+
flex-direction: column;
|
|
23
|
+
gap: 0;
|
|
24
|
+
overflow: hidden;
|
|
25
|
+
margin-right: calc(var(--base)* 2);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&__title {
|
|
29
|
+
margin: 0;
|
|
30
|
+
text-wrap: nowrap;
|
|
31
|
+
text-overflow: ellipsis;
|
|
32
|
+
overflow: hidden;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&__meta {
|
|
36
|
+
margin: 0;
|
|
37
|
+
color: var(--theme-elevation-500);
|
|
38
|
+
text-wrap: nowrap;
|
|
39
|
+
text-overflow: ellipsis;
|
|
40
|
+
overflow: hidden;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&__actions {
|
|
44
|
+
flex-shrink: 0;
|
|
45
|
+
display: flex;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.btn {
|
|
49
|
+
margin: 0;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import './index.scss';
|
|
3
|
+
type Props = {
|
|
4
|
+
readonly children: React.ReactNode;
|
|
5
|
+
readonly className?: string;
|
|
6
|
+
readonly size?: 'medium' | 'small';
|
|
7
|
+
};
|
|
8
|
+
export declare function UploadCard({ children, className, size }: Props): React.JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fields/Upload/UploadCard/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAA;CACnC,CAAA;AACD,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAe,EAAE,EAAE,KAAK,qBAMzE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import './index.scss';
|
|
4
|
+
const baseClass = 'upload-field-card';
|
|
5
|
+
export function UploadCard({
|
|
6
|
+
children,
|
|
7
|
+
className,
|
|
8
|
+
size = 'medium'
|
|
9
|
+
}) {
|
|
10
|
+
return /*#__PURE__*/_jsx("div", {
|
|
11
|
+
className: [baseClass, className, `${baseClass}--size-${size}`].filter(Boolean).join(' '),
|
|
12
|
+
children: children
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","baseClass","UploadCard","children","className","size","_jsx","filter","Boolean","join"],"sources":["../../../../src/fields/Upload/UploadCard/index.tsx"],"sourcesContent":["import React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'upload-field-card'\n\ntype Props = {\n readonly children: React.ReactNode\n readonly className?: string\n readonly size?: 'medium' | 'small'\n}\nexport function UploadCard({ children, className, size = 'medium' }: Props) {\n return (\n <div className={[baseClass, className, `${baseClass}--size-${size}`].filter(Boolean).join(' ')}>\n {children}\n </div>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAOlB,OAAO,SAASC,WAAW;EAAEC,QAAQ;EAAEC,SAAS;EAAEC,IAAA,GAAO;AAAQ,CAAS;EACxE,oBACEC,IAAA,CAAC;IAAIF,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,EAAW,GAAGH,SAAA,UAAmBI,IAAA,EAAM,CAAC,CAACE,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;cACvFN;;AAGP","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
.upload-field-card {
|
|
2
|
+
background: var(--theme-elevation-50);
|
|
3
|
+
border: 1px solid var(--theme-border-color);
|
|
4
|
+
border-radius: var(--style-radius-s);
|
|
5
|
+
display: flex;
|
|
6
|
+
align-items: center;
|
|
7
|
+
width: 100%;
|
|
8
|
+
gap: calc(var(--base) / 2);
|
|
9
|
+
|
|
10
|
+
&--size-medium {
|
|
11
|
+
padding: calc(var(--base) * .5);
|
|
12
|
+
|
|
13
|
+
.thumbnail {
|
|
14
|
+
width: 40px;
|
|
15
|
+
height: 40px;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&--size-small {
|
|
20
|
+
padding: calc(var(--base) / 3) calc(var(--base) / 2);
|
|
21
|
+
|
|
22
|
+
.thumbnail {
|
|
23
|
+
width: 25px;
|
|
24
|
+
height: 25px;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { UploadFieldProps } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
export {
|
|
6
|
-
export type { UploadInputProps };
|
|
3
|
+
import './index.scss';
|
|
4
|
+
export { UploadInput } from './Input.js';
|
|
5
|
+
export type { UploadInputProps } from './Input.js';
|
|
7
6
|
export declare const baseClass = "upload";
|
|
7
|
+
export declare function UploadComponent(props: UploadFieldProps): React.JSX.Element;
|
|
8
8
|
export declare const UploadField: React.FC<UploadFieldProps>;
|
|
9
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fields/Upload/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,eAAO,MAAM,SAAS,WAAW,CAAA;AAEjC,wBAAgB,eAAe,CAAC,KAAK,EAAE,gBAAgB,qBAmEtD;AAED,eAAO,MAAM,WAAW,4BAAiC,CAAA"}
|
|
@@ -2,27 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
import { c as _c } from "react/compiler-runtime";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
import React
|
|
6
|
-
import { useFieldProps } from '../../forms/FieldPropsProvider/index.js';
|
|
5
|
+
import React from 'react';
|
|
7
6
|
import { useField } from '../../forms/useField/index.js';
|
|
8
7
|
import { withCondition } from '../../forms/withCondition/index.js';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
12
|
-
|
|
13
|
-
export { UploadInputHasOne as UploadInput };
|
|
8
|
+
import { useConfig } from '../../providers/Config/index.js';
|
|
9
|
+
import { UploadInput } from './Input.js';
|
|
10
|
+
import './index.scss';
|
|
11
|
+
export { UploadInput } from './Input.js';
|
|
14
12
|
export const baseClass = 'upload';
|
|
15
|
-
|
|
16
|
-
const $ = _c(
|
|
13
|
+
export function UploadComponent(props) {
|
|
14
|
+
const $ = _c(30);
|
|
17
15
|
const {
|
|
18
16
|
field: t0,
|
|
17
|
+
field,
|
|
19
18
|
readOnly: readOnlyFromTopLevelProps,
|
|
20
19
|
validate
|
|
21
20
|
} = props;
|
|
22
21
|
const {
|
|
23
|
-
_path
|
|
22
|
+
_path,
|
|
24
23
|
admin: t1,
|
|
25
24
|
hasMany,
|
|
25
|
+
label,
|
|
26
|
+
maxRows,
|
|
26
27
|
relationTo,
|
|
27
28
|
required
|
|
28
29
|
} = t0;
|
|
@@ -35,12 +36,16 @@ const UploadComponent = props => {
|
|
|
35
36
|
t2 = $[1];
|
|
36
37
|
}
|
|
37
38
|
const {
|
|
38
|
-
|
|
39
|
+
className,
|
|
40
|
+
isSortable,
|
|
41
|
+
readOnly: readOnlyFromAdmin,
|
|
42
|
+
style,
|
|
43
|
+
width
|
|
39
44
|
} = t2;
|
|
40
45
|
const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin;
|
|
41
46
|
const {
|
|
42
|
-
|
|
43
|
-
} =
|
|
47
|
+
config
|
|
48
|
+
} = useConfig();
|
|
44
49
|
let t3;
|
|
45
50
|
if ($[2] !== validate || $[3] !== required) {
|
|
46
51
|
t3 = (value, options) => {
|
|
@@ -58,93 +63,82 @@ const UploadComponent = props => {
|
|
|
58
63
|
t3 = $[4];
|
|
59
64
|
}
|
|
60
65
|
const memoizedValidate = t3;
|
|
61
|
-
const {
|
|
62
|
-
path: pathFromContext,
|
|
63
|
-
readOnly: readOnlyFromContext
|
|
64
|
-
} = useFieldProps();
|
|
65
66
|
let t4;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
if (permissions.collections[relationTo].create?.permission === true) {
|
|
70
|
-
t4 = true;
|
|
71
|
-
break bb0;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
t4 = false;
|
|
76
|
-
}
|
|
77
|
-
const canCreate = t4;
|
|
78
|
-
const t5 = pathFromContext ?? pathFromProps;
|
|
79
|
-
let t6;
|
|
80
|
-
if ($[5] !== t5 || $[6] !== memoizedValidate) {
|
|
81
|
-
t6 = {
|
|
82
|
-
path: t5,
|
|
67
|
+
if ($[5] !== _path || $[6] !== memoizedValidate) {
|
|
68
|
+
t4 = {
|
|
69
|
+
path: _path,
|
|
83
70
|
validate: memoizedValidate
|
|
84
71
|
};
|
|
85
|
-
$[5] =
|
|
72
|
+
$[5] = _path;
|
|
86
73
|
$[6] = memoizedValidate;
|
|
87
|
-
$[7] =
|
|
74
|
+
$[7] = t4;
|
|
88
75
|
} else {
|
|
89
|
-
|
|
76
|
+
t4 = $[7];
|
|
90
77
|
}
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
78
|
+
const {
|
|
79
|
+
filterOptions,
|
|
80
|
+
formInitializing,
|
|
81
|
+
formProcessing,
|
|
82
|
+
readOnly: readOnlyFromField,
|
|
83
|
+
setValue,
|
|
84
|
+
showError,
|
|
85
|
+
value: value_0
|
|
86
|
+
} = useField(t4);
|
|
87
|
+
const disabled = readOnlyFromProps || readOnlyFromField || formProcessing || formInitializing;
|
|
88
|
+
const t5 = field?.admin?.components?.Description;
|
|
89
|
+
const t6 = field?.admin?.components?.Error;
|
|
90
|
+
const t7 = field?.admin?.components?.Label;
|
|
96
91
|
let t8;
|
|
97
|
-
if ($[8] !== setValue) {
|
|
98
|
-
t8 =
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
$[12] = disabled;
|
|
121
|
-
$[13] = fieldHookResult;
|
|
122
|
-
$[14] = onChange;
|
|
123
|
-
$[15] = t9;
|
|
124
|
-
} else {
|
|
125
|
-
t9 = $[15];
|
|
126
|
-
}
|
|
127
|
-
return t9;
|
|
128
|
-
}
|
|
129
|
-
let t9;
|
|
130
|
-
if ($[16] !== props || $[17] !== canCreate || $[18] !== disabled || $[19] !== fieldHookResult || $[20] !== onChange) {
|
|
131
|
-
t9 = _jsx(UploadComponentHasOne, {
|
|
132
|
-
...props,
|
|
133
|
-
canCreate,
|
|
134
|
-
disabled,
|
|
135
|
-
fieldHookResult,
|
|
136
|
-
onChange
|
|
92
|
+
if ($[8] !== t5 || $[9] !== t6 || $[10] !== t7 || $[11] !== config.routes.api || $[12] !== config.serverURL || $[13] !== className || $[14] !== field || $[15] !== filterOptions || $[16] !== hasMany || $[17] !== isSortable || $[18] !== label || $[19] !== maxRows || $[20] !== setValue || $[21] !== _path || $[22] !== disabled || $[23] !== relationTo || $[24] !== required || $[25] !== showError || $[26] !== style || $[27] !== value_0 || $[28] !== width) {
|
|
93
|
+
t8 = _jsx(UploadInput, {
|
|
94
|
+
Description: t5,
|
|
95
|
+
Error: t6,
|
|
96
|
+
Label: t7,
|
|
97
|
+
api: config.routes.api,
|
|
98
|
+
className,
|
|
99
|
+
field,
|
|
100
|
+
filterOptions,
|
|
101
|
+
hasMany,
|
|
102
|
+
isSortable,
|
|
103
|
+
label,
|
|
104
|
+
maxRows,
|
|
105
|
+
onChange: setValue,
|
|
106
|
+
path: _path,
|
|
107
|
+
readOnly: disabled,
|
|
108
|
+
relationTo,
|
|
109
|
+
required,
|
|
110
|
+
serverURL: config.serverURL,
|
|
111
|
+
showError,
|
|
112
|
+
style,
|
|
113
|
+
value: value_0,
|
|
114
|
+
width
|
|
137
115
|
});
|
|
138
|
-
$[
|
|
139
|
-
$[
|
|
140
|
-
$[
|
|
141
|
-
$[
|
|
142
|
-
$[
|
|
143
|
-
$[
|
|
116
|
+
$[8] = t5;
|
|
117
|
+
$[9] = t6;
|
|
118
|
+
$[10] = t7;
|
|
119
|
+
$[11] = config.routes.api;
|
|
120
|
+
$[12] = config.serverURL;
|
|
121
|
+
$[13] = className;
|
|
122
|
+
$[14] = field;
|
|
123
|
+
$[15] = filterOptions;
|
|
124
|
+
$[16] = hasMany;
|
|
125
|
+
$[17] = isSortable;
|
|
126
|
+
$[18] = label;
|
|
127
|
+
$[19] = maxRows;
|
|
128
|
+
$[20] = setValue;
|
|
129
|
+
$[21] = _path;
|
|
130
|
+
$[22] = disabled;
|
|
131
|
+
$[23] = relationTo;
|
|
132
|
+
$[24] = required;
|
|
133
|
+
$[25] = showError;
|
|
134
|
+
$[26] = style;
|
|
135
|
+
$[27] = value_0;
|
|
136
|
+
$[28] = width;
|
|
137
|
+
$[29] = t8;
|
|
144
138
|
} else {
|
|
145
|
-
|
|
139
|
+
t8 = $[29];
|
|
146
140
|
}
|
|
147
|
-
return
|
|
148
|
-
}
|
|
141
|
+
return t8;
|
|
142
|
+
}
|
|
149
143
|
export const UploadField = withCondition(UploadComponent);
|
|
150
144
|
//# sourceMappingURL=index.js.map
|