@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.
Files changed (109) hide show
  1. package/dist/elements/BulkUpload/AddFilesView/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/AddFilesView/index.js +44 -30
  3. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/AddFilesView/index.scss +14 -1
  5. package/dist/elements/BulkUpload/AddingFilesView/index.d.ts.map +1 -1
  6. package/dist/elements/BulkUpload/AddingFilesView/index.js +7 -7
  7. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  8. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.d.ts.map +1 -1
  9. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +14 -17
  10. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  11. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts +1 -2
  12. package/dist/elements/BulkUpload/DrawerCloseButton/index.d.ts.map +1 -1
  13. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +5 -8
  14. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  16. package/dist/elements/BulkUpload/EditForm/index.js +31 -28
  17. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  18. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/FileSidebar/index.js +65 -55
  20. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  21. package/dist/elements/BulkUpload/FileSidebar/index.scss +4 -0
  22. package/dist/elements/BulkUpload/FormsManager/index.d.ts +4 -7
  23. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  24. package/dist/elements/BulkUpload/FormsManager/index.js +62 -36
  25. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/Header/index.d.ts.map +1 -1
  27. package/dist/elements/BulkUpload/Header/index.js +1 -3
  28. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  29. package/dist/elements/BulkUpload/index.d.ts +21 -5
  30. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  31. package/dist/elements/BulkUpload/index.js +148 -51
  32. package/dist/elements/BulkUpload/index.js.map +1 -1
  33. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  34. package/dist/elements/DocumentDrawer/DrawerContent.js +18 -15
  35. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  36. package/dist/elements/DocumentDrawer/types.d.ts +1 -0
  37. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  38. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  39. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  40. package/dist/elements/DraggableSortable/index.js +1 -0
  41. package/dist/elements/DraggableSortable/index.js.map +1 -1
  42. package/dist/elements/Dropzone/index.d.ts +3 -3
  43. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  44. package/dist/elements/Dropzone/index.js +23 -50
  45. package/dist/elements/Dropzone/index.js.map +1 -1
  46. package/dist/elements/Dropzone/index.scss +6 -23
  47. package/dist/elements/FileDetails/DraggableFileDetails/index.d.ts.map +1 -1
  48. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  49. package/dist/elements/FileDetails/StaticFileDetails/index.d.ts.map +1 -1
  50. package/dist/elements/FileDetails/StaticFileDetails/index.js +0 -1
  51. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  52. package/dist/elements/FileDetails/StaticFileDetails/index.scss +1 -0
  53. package/dist/elements/ListDrawer/index.scss +7 -0
  54. package/dist/elements/ShimmerEffect/index.d.ts +3 -3
  55. package/dist/elements/ShimmerEffect/index.d.ts.map +1 -1
  56. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  57. package/dist/elements/Thumbnail/index.d.ts +10 -6
  58. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  59. package/dist/elements/Thumbnail/index.js +84 -9
  60. package/dist/elements/Thumbnail/index.js.map +1 -1
  61. package/dist/elements/Upload/index.d.ts.map +1 -1
  62. package/dist/elements/Upload/index.js +59 -33
  63. package/dist/elements/Upload/index.js.map +1 -1
  64. package/dist/elements/Upload/index.scss +9 -0
  65. package/dist/exports/client/{CodeEditor-MTP455NO.js → CodeEditor-P66JEENA.js} +2 -2
  66. package/dist/exports/client/{chunk-NJHSEGFB.js → chunk-XKP472RX.js} +1 -1
  67. package/dist/exports/client/{chunk-NJHSEGFB.js.map → chunk-XKP472RX.js.map} +1 -1
  68. package/dist/exports/client/index.d.ts +3 -2
  69. package/dist/exports/client/index.d.ts.map +1 -1
  70. package/dist/exports/client/index.js +19 -19
  71. package/dist/exports/client/index.js.map +4 -4
  72. package/dist/fields/Upload/HasMany/index.d.ts +16 -2
  73. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  74. package/dist/fields/Upload/HasMany/index.js +148 -224
  75. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  76. package/dist/fields/Upload/HasMany/index.scss +12 -56
  77. package/dist/fields/Upload/HasOne/index.d.ts +13 -9
  78. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
  79. package/dist/fields/Upload/HasOne/index.js +30 -121
  80. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  81. package/dist/fields/Upload/HasOne/index.scss +0 -68
  82. package/dist/fields/Upload/{HasOne/Input.d.ts → Input.d.ts} +9 -4
  83. package/dist/fields/Upload/Input.d.ts.map +1 -0
  84. package/dist/fields/Upload/Input.js +366 -0
  85. package/dist/fields/Upload/Input.js.map +1 -0
  86. package/dist/fields/Upload/RelationshipContent/index.d.ts +21 -0
  87. package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -0
  88. package/dist/fields/Upload/RelationshipContent/index.js +135 -0
  89. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -0
  90. package/dist/fields/Upload/RelationshipContent/index.scss +51 -0
  91. package/dist/fields/Upload/UploadCard/index.d.ts +10 -0
  92. package/dist/fields/Upload/UploadCard/index.d.ts.map +1 -0
  93. package/dist/fields/Upload/UploadCard/index.js +15 -0
  94. package/dist/fields/Upload/UploadCard/index.js.map +1 -0
  95. package/dist/fields/Upload/UploadCard/index.scss +27 -0
  96. package/dist/fields/Upload/index.d.ts +4 -4
  97. package/dist/fields/Upload/index.d.ts.map +1 -1
  98. package/dist/fields/Upload/index.js +85 -91
  99. package/dist/fields/Upload/index.js.map +1 -1
  100. package/dist/fields/Upload/index.scss +57 -0
  101. package/dist/providers/Root/index.d.ts +12 -12
  102. package/dist/providers/Root/index.d.ts.map +1 -1
  103. package/dist/providers/Root/index.js.map +1 -1
  104. package/dist/styles.css +1 -1
  105. package/package.json +5 -5
  106. package/dist/fields/Upload/HasOne/Input.d.ts.map +0 -1
  107. package/dist/fields/Upload/HasOne/Input.js +0 -324
  108. package/dist/fields/Upload/HasOne/Input.js.map +0 -1
  109. /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":"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","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 type { UploadInputProps } from './HasOne/Input.js';
4
- import { UploadInputHasOne } from './HasOne/Input.js';
5
- export { UploadFieldProps, UploadInputHasOne as UploadInput };
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,KAA+B,MAAM,OAAO,CAAA;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAOzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,IAAI,WAAW,EAAE,CAAA;AAC7D,YAAY,EAAE,gBAAgB,EAAE,CAAA;AAEhC,eAAO,MAAM,SAAS,WAAW,CAAA;AA2FjC,eAAO,MAAM,WAAW,4BAAiC,CAAA"}
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, { useCallback, useMemo } from '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 { useAuth } from '../../providers/Auth/index.js';
10
- import { UploadComponentHasMany } from './HasMany/index.js';
11
- import { UploadInputHasOne } from './HasOne/Input.js';
12
- import { UploadComponentHasOne } from './HasOne/index.js';
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
- const UploadComponent = props => {
16
- const $ = _c(22);
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: pathFromProps,
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
- readOnly: readOnlyFromAdmin
39
+ className,
40
+ isSortable,
41
+ readOnly: readOnlyFromAdmin,
42
+ style,
43
+ width
39
44
  } = t2;
40
45
  const readOnlyFromProps = readOnlyFromTopLevelProps || readOnlyFromAdmin;
41
46
  const {
42
- permissions
43
- } = useAuth();
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
- bb0: {
67
- if (typeof relationTo === "string") {
68
- if (permissions?.collections && permissions.collections?.[relationTo]?.create) {
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] = t5;
72
+ $[5] = _path;
86
73
  $[6] = memoizedValidate;
87
- $[7] = t6;
74
+ $[7] = t4;
88
75
  } else {
89
- t6 = $[7];
76
+ t4 = $[7];
90
77
  }
91
- const fieldHookResult = useField(t6);
92
- let t7;
93
- t7 = fieldHookResult.setValue;
94
- const setValue = t7;
95
- const disabled = readOnlyFromProps || readOnlyFromContext || fieldHookResult.formProcessing || fieldHookResult.formInitializing;
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 = incomingValue => {
99
- const incomingID = incomingValue?.id || incomingValue;
100
- setValue(incomingID);
101
- };
102
- $[8] = setValue;
103
- $[9] = t8;
104
- } else {
105
- t8 = $[9];
106
- }
107
- const onChange = t8;
108
- if (hasMany) {
109
- let t9;
110
- if ($[10] !== props || $[11] !== canCreate || $[12] !== disabled || $[13] !== fieldHookResult || $[14] !== onChange) {
111
- t9 = _jsx(UploadComponentHasMany, {
112
- ...props,
113
- canCreate,
114
- disabled,
115
- fieldHookResult,
116
- onChange
117
- });
118
- $[10] = props;
119
- $[11] = canCreate;
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
- $[16] = props;
139
- $[17] = canCreate;
140
- $[18] = disabled;
141
- $[19] = fieldHookResult;
142
- $[20] = onChange;
143
- $[21] = t9;
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
- t9 = $[21];
139
+ t8 = $[29];
146
140
  }
147
- return t9;
148
- };
141
+ return t8;
142
+ }
149
143
  export const UploadField = withCondition(UploadComponent);
150
144
  //# sourceMappingURL=index.js.map