@payloadcms/ui 3.39.1 → 3.40.0-canary.0

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 (40) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.js +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  3. package/dist/elements/DocumentControls/index.js +1 -1
  4. package/dist/elements/DocumentControls/index.js.map +1 -1
  5. package/dist/elements/FolderView/CollectionTypePill/index.js +1 -1
  6. package/dist/elements/FolderView/CollectionTypePill/index.js.map +1 -1
  7. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  8. package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -2
  9. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  10. package/dist/exports/client/index.js +10 -10
  11. package/dist/exports/client/index.js.map +4 -4
  12. package/dist/fields/Select/Input.d.ts +1 -0
  13. package/dist/fields/Select/Input.d.ts.map +1 -1
  14. package/dist/fields/Select/Input.js +50 -47
  15. package/dist/fields/Select/Input.js.map +1 -1
  16. package/dist/fields/Select/index.d.ts.map +1 -1
  17. package/dist/fields/Select/index.js +4 -0
  18. package/dist/fields/Select/index.js.map +1 -1
  19. package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
  20. package/dist/fields/Upload/HasMany/index.js +1 -2
  21. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  22. package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
  23. package/dist/fields/Upload/HasOne/index.js +1 -2
  24. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  25. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  26. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +19 -0
  27. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  28. package/dist/forms/useField/index.d.ts.map +1 -1
  29. package/dist/forms/useField/index.js +60 -57
  30. package/dist/forms/useField/index.js.map +1 -1
  31. package/dist/forms/useField/types.d.ts +2 -1
  32. package/dist/forms/useField/types.d.ts.map +1 -1
  33. package/dist/forms/useField/types.js.map +1 -1
  34. package/dist/views/List/ListHeader/index.js +1 -1
  35. package/dist/views/List/ListHeader/index.js.map +1 -1
  36. package/package.json +4 -4
  37. package/dist/utilities/getBestFitFromSizes.d.ts +0 -25
  38. package/dist/utilities/getBestFitFromSizes.d.ts.map +0 -1
  39. package/dist/utilities/getBestFitFromSizes.js +0 -45
  40. package/dist/utilities/getBestFitFromSizes.js.map +0 -1
@@ -139,7 +139,7 @@ export function EditForm({
139
139
  BeforeFields: /*#__PURE__*/_jsx(React.Fragment, {
140
140
  children: CustomUpload || /*#__PURE__*/_jsx(Upload_v4, {
141
141
  collectionSlug: collectionConfig.slug,
142
- customActions: [collectionConfig.admin.folders && /*#__PURE__*/_jsx(MoveDocToFolder, {
142
+ customActions: [collectionConfig.folders && /*#__PURE__*/_jsx(MoveDocToFolder, {
143
143
  buttonProps: {
144
144
  buttonStyle: 'pill',
145
145
  size: 'small'
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["useRouter","useSearchParams","formatAdminURL","React","useCallback","useEffect","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useRouteTransition","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","MoveDocToFolder","Upload_v4","useFormsManager","BulkUploadProvider","baseClass","EditForm","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isEditing","isInitializing","Upload","CustomUpload","onSave","onSaveFromContext","getFormState","config","folders","routes","admin","adminRoute","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","router","depth","params","reportUpdate","startRouteTransition","locale","get","slug","schemaPath","useState","json","entitySlug","updatedAt","result","Date","toISOString","operation","redirectRoute","path","doc","id","push","onChange","formState","prevFormState","controller","docPreferences","state","newFormState","signal","skipValidation","current","abortOnChange","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","BeforeFields","Fragment","customActions","buttonProps","buttonStyle","size","folderFieldName","fieldName","filter","Boolean","uploadConfig","upload","fields","schemaPathSegments","ReportAllErrors","GetFieldProxy","getFields","getFormDataRef","docConfig","activeIndex","setFormTotalErrorCount","errorCountRef","reportFormErrorCount","errorCount","index","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useEffect } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { MoveDocToFolder } from '../../FolderView/MoveDocToFolder/index.js'\nimport { Upload_v4 } from '../../Upload/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { BulkUploadProvider } from '../index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({\n resetUploadEdits,\n submitted,\n updateUploadEdits,\n uploadEdits,\n}: EditFormProps) {\n const {\n action,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n hasSavePermission,\n initialState,\n isEditing,\n isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const {\n config: {\n folders,\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const router = useRouter()\n const depth = useEditDepth()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { startRouteTransition } = useRouteTransition()\n\n const locale = params.get('locale')\n\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n entitySlug: collectionSlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n },\n [\n adminRoute,\n collectionSlug,\n depth,\n isEditing,\n locale,\n onSaveFromContext,\n reportUpdate,\n resetUploadEdits,\n router,\n startRouteTransition,\n ],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newFormState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n return newFormState\n },\n [collectionSlug, schemaPath, getDocPreferences, getFormState, docPermissions],\n )\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <OperationProvider operation=\"create\">\n <BulkUploadProvider>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <DocumentFields\n BeforeFields={\n <React.Fragment>\n {CustomUpload || (\n <Upload_v4\n collectionSlug={collectionConfig.slug}\n customActions={[\n collectionConfig.admin.folders && (\n <MoveDocToFolder\n buttonProps={{\n buttonStyle: 'pill',\n size: 'small',\n }}\n folderFieldName={folders.fieldName}\n key=\"move-doc-to-folder\"\n />\n ),\n ].filter(Boolean)}\n initialState={initialState}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadConfig={collectionConfig.upload}\n uploadEdits={uploadEdits}\n />\n )}\n </React.Fragment>\n }\n docPermissions={docPermissions}\n fields={collectionConfig.fields}\n schemaPathSegments={[collectionConfig.slug]}\n />\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n </BulkUploadProvider>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n useEffect(() => {\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n getFormDataRef.current = getFields\n }, [getFields, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const reportFormErrorCount = React.useCallback(\n (errorCount) => {\n if (errorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount, index: activeIndex })\n errorCountRef.current = errorCount\n },\n [activeIndex, setFormTotalErrorCount],\n )\n\n if (!docConfig) {\n return null\n }\n\n return (\n <WatchChildErrors fields={docConfig.fields} path={[]} setErrorCount={reportFormErrorCount} />\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["useRouter","useSearchParams","formatAdminURL","React","useCallback","useEffect","Form","useForm","WatchChildErrors","useConfig","useDocumentEvents","useDocumentInfo","useEditDepth","OperationProvider","useRouteTransition","useServerFunctions","abortAndIgnore","handleAbortRef","useDocumentDrawerContext","DocumentFields","MoveDocToFolder","Upload_v4","useFormsManager","BulkUploadProvider","baseClass","EditForm","resetUploadEdits","submitted","updateUploadEdits","uploadEdits","action","collectionSlug","docSlug","docPermissions","getDocPreferences","hasSavePermission","initialState","isEditing","isInitializing","Upload","CustomUpload","onSave","onSaveFromContext","getFormState","config","folders","routes","admin","adminRoute","getEntityConfig","abortOnChangeRef","useRef","collectionConfig","router","depth","params","reportUpdate","startRouteTransition","locale","get","slug","schemaPath","useState","json","entitySlug","updatedAt","result","Date","toISOString","operation","redirectRoute","path","doc","id","push","onChange","formState","prevFormState","controller","docPreferences","state","newFormState","signal","skipValidation","current","abortOnChange","_jsx","_jsxs","className","disabled","undefined","method","onSuccess","BeforeFields","Fragment","customActions","buttonProps","buttonStyle","size","folderFieldName","fieldName","filter","Boolean","uploadConfig","upload","fields","schemaPathSegments","ReportAllErrors","GetFieldProxy","getFields","getFormDataRef","docConfig","activeIndex","setFormTotalErrorCount","errorCountRef","reportFormErrorCount","errorCount","index","setErrorCount"],"sources":["../../../../src/elements/BulkUpload/EditForm/index.tsx"],"sourcesContent":["'use client'\n\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { useCallback, useEffect } from 'react'\n\nimport type { EditFormProps } from './types.js'\n\nimport { Form, useForm } from '../../../forms/Form/index.js'\nimport { type FormProps } from '../../../forms/Form/types.js'\nimport { WatchChildErrors } from '../../../forms/WatchChildErrors/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useEditDepth } from '../../../providers/EditDepth/index.js'\nimport { OperationProvider } from '../../../providers/Operation/index.js'\nimport { useRouteTransition } from '../../../providers/RouteTransition/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../../utilities/abortAndIgnore.js'\nimport { useDocumentDrawerContext } from '../../DocumentDrawer/Provider.js'\nimport { DocumentFields } from '../../DocumentFields/index.js'\nimport { MoveDocToFolder } from '../../FolderView/MoveDocToFolder/index.js'\nimport { Upload_v4 } from '../../Upload/index.js'\nimport { useFormsManager } from '../FormsManager/index.js'\nimport { BulkUploadProvider } from '../index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-edit'\n\n// This component receives props only on _pages_\n// When rendered within a drawer, props are empty\n// This is solely to support custom edit views which get server-rendered\n\nexport function EditForm({\n resetUploadEdits,\n submitted,\n updateUploadEdits,\n uploadEdits,\n}: EditFormProps) {\n const {\n action,\n collectionSlug: docSlug,\n docPermissions,\n getDocPreferences,\n hasSavePermission,\n initialState,\n isEditing,\n isInitializing,\n Upload: CustomUpload,\n } = useDocumentInfo()\n\n const { onSave: onSaveFromContext } = useDocumentDrawerContext()\n\n const { getFormState } = useServerFunctions()\n\n const {\n config: {\n folders,\n routes: { admin: adminRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const abortOnChangeRef = React.useRef<AbortController>(null)\n\n const collectionConfig = getEntityConfig({ collectionSlug: docSlug })\n const router = useRouter()\n const depth = useEditDepth()\n const params = useSearchParams()\n const { reportUpdate } = useDocumentEvents()\n const { startRouteTransition } = useRouteTransition()\n\n const locale = params.get('locale')\n\n const collectionSlug = collectionConfig.slug\n\n const [schemaPath] = React.useState(collectionSlug)\n\n const onSave = useCallback(\n (json) => {\n reportUpdate({\n entitySlug: collectionSlug,\n updatedAt: json?.result?.updatedAt || new Date().toISOString(),\n })\n\n if (typeof onSaveFromContext === 'function') {\n void onSaveFromContext({\n ...json,\n operation: 'create',\n })\n }\n\n if (!isEditing && depth < 2) {\n // Redirect to the same locale if it's been set\n const redirectRoute = formatAdminURL({\n adminRoute,\n path: `/collections/${collectionSlug}/${json?.doc?.id}${locale ? `?locale=${locale}` : ''}`,\n })\n\n startRouteTransition(() => router.push(redirectRoute))\n } else {\n resetUploadEdits()\n }\n },\n [\n adminRoute,\n collectionSlug,\n depth,\n isEditing,\n locale,\n onSaveFromContext,\n reportUpdate,\n resetUploadEdits,\n router,\n startRouteTransition,\n ],\n )\n\n const onChange: NonNullable<FormProps['onChange']>[0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortOnChangeRef)\n\n const docPreferences = await getDocPreferences()\n\n const { state: newFormState } = await getFormState({\n collectionSlug,\n docPermissions,\n docPreferences,\n formState: prevFormState,\n operation: 'create',\n schemaPath,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortOnChangeRef.current = null\n\n return newFormState\n },\n [collectionSlug, schemaPath, getDocPreferences, getFormState, docPermissions],\n )\n\n useEffect(() => {\n const abortOnChange = abortOnChangeRef.current\n\n return () => {\n abortAndIgnore(abortOnChange)\n }\n }, [])\n\n return (\n <OperationProvider operation=\"create\">\n <BulkUploadProvider>\n <Form\n action={action}\n className={`${baseClass}__form`}\n disabled={isInitializing || !hasSavePermission}\n initialState={isInitializing ? undefined : initialState}\n isInitializing={isInitializing}\n method=\"POST\"\n onChange={[onChange]}\n onSuccess={onSave}\n submitted={submitted}\n >\n <DocumentFields\n BeforeFields={\n <React.Fragment>\n {CustomUpload || (\n <Upload_v4\n collectionSlug={collectionConfig.slug}\n customActions={[\n collectionConfig.folders && (\n <MoveDocToFolder\n buttonProps={{\n buttonStyle: 'pill',\n size: 'small',\n }}\n folderFieldName={folders.fieldName}\n key=\"move-doc-to-folder\"\n />\n ),\n ].filter(Boolean)}\n initialState={initialState}\n resetUploadEdits={resetUploadEdits}\n updateUploadEdits={updateUploadEdits}\n uploadConfig={collectionConfig.upload}\n uploadEdits={uploadEdits}\n />\n )}\n </React.Fragment>\n }\n docPermissions={docPermissions}\n fields={collectionConfig.fields}\n schemaPathSegments={[collectionConfig.slug]}\n />\n <ReportAllErrors />\n <GetFieldProxy />\n </Form>\n </BulkUploadProvider>\n </OperationProvider>\n )\n}\n\nfunction GetFieldProxy() {\n const { getFields } = useForm()\n const { getFormDataRef } = useFormsManager()\n\n useEffect(() => {\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n getFormDataRef.current = getFields\n }, [getFields, getFormDataRef])\n\n return null\n}\n\nfunction ReportAllErrors() {\n const { docConfig } = useDocumentInfo()\n const { activeIndex, setFormTotalErrorCount } = useFormsManager()\n const errorCountRef = React.useRef(0)\n\n const reportFormErrorCount = React.useCallback(\n (errorCount) => {\n if (errorCount === errorCountRef.current) {\n return\n }\n setFormTotalErrorCount({ errorCount, index: activeIndex })\n errorCountRef.current = errorCount\n },\n [activeIndex, setFormTotalErrorCount],\n )\n\n if (!docConfig) {\n return null\n }\n\n return (\n <WatchChildErrors fields={docConfig.fields} path={[]} setErrorCount={reportFormErrorCount} />\n )\n}\n"],"mappings":"AAAA;;;AAEA,SAASA,SAAS,EAAEC,eAAe,QAAQ;AAC3C,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,QAAQ;AAI9C,SAASC,IAAI,EAAEC,OAAO,QAAQ;AAE9B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,SAAS,QAAQ;AAC1B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,QAAQ;AAChC,SAASC,YAAY,QAAQ;AAC7B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,EAAEC,cAAc,QAAQ;AAC/C,SAASC,wBAAwB,QAAQ;AACzC,SAASC,cAAc,QAAQ;AAC/B,SAASC,eAAe,QAAQ;AAChC,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,kBAAkB,QAAQ;AACnC,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB;AACA;AACA;AAEA,OAAO,SAASC,SAAS;EACvBC,gBAAgB;EAChBC,SAAS;EACTC,iBAAiB;EACjBC;AAAW,CACG;EACd,MAAM;IACJC,MAAM;IACNC,cAAA,EAAgBC,OAAO;IACvBC,cAAc;IACdC,iBAAiB;IACjBC,iBAAiB;IACjBC,YAAY;IACZC,SAAS;IACTC,cAAc;IACdC,MAAA,EAAQC;EAAY,CACrB,GAAG7B,eAAA;EAEJ,MAAM;IAAE8B,MAAA,EAAQC;EAAiB,CAAE,GAAGxB,wBAAA;EAEtC,MAAM;IAAEyB;EAAY,CAAE,GAAG5B,kBAAA;EAEzB,MAAM;IACJ6B,MAAA,EAAQ;MACNC,OAAO;MACPC,MAAA,EAAQ;QAAEC,KAAA,EAAOC;MAAU;IAAE,CAC9B;IACDC;EAAe,CAChB,GAAGxC,SAAA;EAEJ,MAAMyC,gBAAA,GAAmB/C,KAAA,CAAMgD,MAAM,CAAkB;EAEvD,MAAMC,gBAAA,GAAmBH,eAAA,CAAgB;IAAElB,cAAA,EAAgBC;EAAQ;EACnE,MAAMqB,MAAA,GAASrD,SAAA;EACf,MAAMsD,KAAA,GAAQ1C,YAAA;EACd,MAAM2C,MAAA,GAAStD,eAAA;EACf,MAAM;IAAEuD;EAAY,CAAE,GAAG9C,iBAAA;EACzB,MAAM;IAAE+C;EAAoB,CAAE,GAAG3C,kBAAA;EAEjC,MAAM4C,MAAA,GAASH,MAAA,CAAOI,GAAG,CAAC;EAE1B,MAAM5B,cAAA,GAAiBqB,gBAAA,CAAiBQ,IAAI;EAE5C,MAAM,CAACC,UAAA,CAAW,GAAG1D,KAAA,CAAM2D,QAAQ,CAAC/B,cAAA;EAEpC,MAAMU,MAAA,GAASrC,WAAA,CACZ2D,IAAA;IACCP,YAAA,CAAa;MACXQ,UAAA,EAAYjC,cAAA;MACZkC,SAAA,EAAWF,IAAA,EAAMG,MAAA,EAAQD,SAAA,IAAa,IAAIE,IAAA,GAAOC,WAAW;IAC9D;IAEA,IAAI,OAAO1B,iBAAA,KAAsB,YAAY;MAC3C,KAAKA,iBAAA,CAAkB;QACrB,GAAGqB,IAAI;QACPM,SAAA,EAAW;MACb;IACF;IAEA,IAAI,CAAChC,SAAA,IAAaiB,KAAA,GAAQ,GAAG;MAC3B;MACA,MAAMgB,aAAA,GAAgBpE,cAAA,CAAe;QACnC8C,UAAA;QACAuB,IAAA,EAAM,gBAAgBxC,cAAA,IAAkBgC,IAAA,EAAMS,GAAA,EAAKC,EAAA,GAAKf,MAAA,GAAS,WAAWA,MAAA,EAAQ,GAAG;MACzF;MAEAD,oBAAA,CAAqB,MAAMJ,MAAA,CAAOqB,IAAI,CAACJ,aAAA;IACzC,OAAO;MACL5C,gBAAA;IACF;EACF,GACA,CACEsB,UAAA,EACAjB,cAAA,EACAuB,KAAA,EACAjB,SAAA,EACAqB,MAAA,EACAhB,iBAAA,EACAc,YAAA,EACA9B,gBAAA,EACA2B,MAAA,EACAI,oBAAA,CACD;EAGH,MAAMkB,QAAA,GAAkDvE,WAAA,CACtD,OAAO;IAAEwE,SAAA,EAAWC,aAAa;IAAElD,SAAS,EAATA;EAAS,CAAE;IAC5C,MAAMmD,UAAA,GAAa7D,cAAA,CAAeiC,gBAAA;IAElC,MAAM6B,cAAA,GAAiB,MAAM7C,iBAAA;IAE7B,MAAM;MAAE8C,KAAA,EAAOC;IAAY,CAAE,GAAG,MAAMtC,YAAA,CAAa;MACjDZ,cAAA;MACAE,cAAA;MACA8C,cAAA;MACAH,SAAA,EAAWC,aAAA;MACXR,SAAA,EAAW;MACXR,UAAA;MACAqB,MAAA,EAAQJ,UAAA,CAAWI,MAAM;MACzBC,cAAA,EAAgB,CAACxD;IACnB;IAEAuB,gBAAA,CAAiBkC,OAAO,GAAG;IAE3B,OAAOH,YAAA;EACT,GACA,CAAClD,cAAA,EAAgB8B,UAAA,EAAY3B,iBAAA,EAAmBS,YAAA,EAAcV,cAAA,CAAe;EAG/E5B,SAAA,CAAU;IACR,MAAMgF,aAAA,GAAgBnC,gBAAA,CAAiBkC,OAAO;IAE9C,OAAO;MACLpE,cAAA,CAAeqE,aAAA;IACjB;EACF,GAAG,EAAE;EAEL,oBACEC,IAAA,CAACzE,iBAAA;IAAkBwD,SAAA,EAAU;cAC3B,aAAAiB,IAAA,CAAC/D,kBAAA;gBACC,aAAAgE,KAAA,CAACjF,IAAA;QACCwB,MAAA,EAAQA,MAAA;QACR0D,SAAA,EAAW,GAAGhE,SAAA,QAAiB;QAC/BiE,QAAA,EAAUnD,cAAA,IAAkB,CAACH,iBAAA;QAC7BC,YAAA,EAAcE,cAAA,GAAiBoD,SAAA,GAAYtD,YAAA;QAC3CE,cAAA,EAAgBA,cAAA;QAChBqD,MAAA,EAAO;QACPhB,QAAA,EAAU,CAACA,QAAA,CAAS;QACpBiB,SAAA,EAAWnD,MAAA;QACXd,SAAA,EAAWA,SAAA;gCAEX2D,IAAA,CAACnE,cAAA;UACC0E,YAAA,eACEP,IAAA,CAACnF,KAAA,CAAM2F,QAAQ;sBACZtD,YAAA,iBACC8C,IAAA,CAACjE,SAAA;cACCU,cAAA,EAAgBqB,gBAAA,CAAiBQ,IAAI;cACrCmC,aAAA,EAAe,CACb3C,gBAAA,CAAiBP,OAAO,iBACtByC,IAAA,CAAClE,eAAA;gBACC4E,WAAA,EAAa;kBACXC,WAAA,EAAa;kBACbC,IAAA,EAAM;gBACR;gBACAC,eAAA,EAAiBtD,OAAA,CAAQuD;iBACrB,sBAGT,CAACC,MAAM,CAACC,OAAA;cACTlE,YAAA,EAAcA,YAAA;cACdV,gBAAA,EAAkBA,gBAAA;cAClBE,iBAAA,EAAmBA,iBAAA;cACnB2E,YAAA,EAAcnD,gBAAA,CAAiBoD,MAAM;cACrC3E,WAAA,EAAaA;;;UAKrBI,cAAA,EAAgBA,cAAA;UAChBwE,MAAA,EAAQrD,gBAAA,CAAiBqD,MAAM;UAC/BC,kBAAA,EAAoB,CAACtD,gBAAA,CAAiBQ,IAAI;yBAE5C0B,IAAA,CAACqB,eAAA,O,aACDrB,IAAA,CAACsB,aAAA;;;;AAKX;AAEA,SAASA,cAAA;EACP,MAAM;IAAEC;EAAS,CAAE,GAAGtG,OAAA;EACtB,MAAM;IAAEuG;EAAc,CAAE,GAAGxF,eAAA;EAE3BjB,SAAA,CAAU;IACR;IACAyG,cAAA,CAAe1B,OAAO,GAAGyB,SAAA;EAC3B,GAAG,CAACA,SAAA,EAAWC,cAAA,CAAe;EAE9B,OAAO;AACT;AAEA,SAASH,gBAAA;EACP,MAAM;IAAEI;EAAS,CAAE,GAAGpG,eAAA;EACtB,MAAM;IAAEqG,WAAW;IAAEC;EAAsB,CAAE,GAAG3F,eAAA;EAChD,MAAM4F,aAAA,GAAgB/G,KAAA,CAAMgD,MAAM,CAAC;EAEnC,MAAMgE,oBAAA,GAAuBhH,KAAA,CAAMC,WAAW,CAC3CgH,UAAA;IACC,IAAIA,UAAA,KAAeF,aAAA,CAAc9B,OAAO,EAAE;MACxC;IACF;IACA6B,sBAAA,CAAuB;MAAEG,UAAA;MAAYC,KAAA,EAAOL;IAAY;IACxDE,aAAA,CAAc9B,OAAO,GAAGgC,UAAA;EAC1B,GACA,CAACJ,WAAA,EAAaC,sBAAA,CAAuB;EAGvC,IAAI,CAACF,SAAA,EAAW;IACd,OAAO;EACT;EAEA,oBACEzB,IAAA,CAAC9E,gBAAA;IAAiBiG,MAAA,EAAQM,SAAA,CAAUN,MAAM;IAAElC,IAAA,EAAM,EAAE;IAAE+C,aAAA,EAAeH;;AAEzE","ignoreList":[]}
@@ -135,7 +135,7 @@ export const DocumentControls = props => {
135
135
  const globalAutosaveEnabled = globalConfigDrafts && globalConfigDrafts?.autosave;
136
136
  const showSaveDraftButton = collectionAutosaveEnabled && collectionConfigDrafts.autosave !== false && collectionConfigDrafts.autosave.showSaveDraftButton === true || globalAutosaveEnabled && globalConfigDrafts.autosave !== false && globalConfigDrafts.autosave.showSaveDraftButton === true;
137
137
  const showCopyToLocale = localization && !collectionConfig?.admin?.disableCopyToLocale;
138
- const showFolderMetaIcon = collectionConfig && collectionConfig.admin.folders;
138
+ const showFolderMetaIcon = collectionConfig && collectionConfig.folders;
139
139
  const showLockedMetaIcon = user && readOnlyForIncomingUser;
140
140
  let t6;
141
141
  if ($[7] !== onTakeOver || $[8] !== readOnlyForIncomingUser || $[9] !== t || $[10] !== user) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","formatAdminURL","React","Fragment","useEffect","useFormInitializing","useFormProcessing","useConfig","useEditDepth","useTranslation","formatDate","Autosave","Button","CopyLocaleData","DeleteDocument","DuplicateDocument","MoveDocToFolder","Gutter","Locked","Popup","PopupList","PreviewButton","PublishButton","RenderCustomComponent","SaveButton","SaveDraftButton","Status","baseClass","DocumentControls","props","$","id","slug","BeforeDocumentControls","customComponents","t0","data","disableActions","disableCreate","hasSavePermission","isAccountView","isEditing","onDelete","onDrawerCreateNew","onDuplicate","onTakeOver","permissions","readOnlyForIncomingUser","redirectAfterDelete","redirectAfterDuplicate","user","t1","undefined","CustomPreviewButton","CustomPublishButton","CustomSaveButton","CustomSaveDraftButton","i18n","t","editDepth","config","getEntityConfig","collectionConfig","collectionSlug","globalConfig","globalSlug","admin","t2","localization","routes","t3","dateFormat","adminRoute","updatedAt","setUpdatedAt","useState","createdAt","setCreatedAt","processing","initializing","t4","t5","date","pattern","hasCreatePermission","create","hasDeletePermission","delete","showDotMenu","Boolean","unsavedDraftWithValidations","versions","drafts","validate","collectionConfigDrafts","globalConfigDrafts","autosaveEnabled","autosave","collectionAutosaveEnabled","globalAutosaveEnabled","showSaveDraftButton","showCopyToLocale","disableCopyToLocale","showFolderMetaIcon","folders","showLockedMetaIcon","t6","_jsx","buttonStyle","onClick","size","type","children","_jsxs","className","folderFieldName","fieldName","label","labels","singular","filter","join","collection","global","publishedDocUpdatedAt","timestamps","title","preview","CustomComponent","Fallback","button","disabled","horizontalAlign","verticalAlign","ButtonGroup","href","path","disableDuplicate","toString","singularLabel","buttonId","useAsTitle"],"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientUser,\n Data,\n SanitizedCollectionConfig,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDate } from '../../utilities/formatDocTitle/formatDateTitle.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { Button } from '../Button/index.js'\nimport { CopyLocaleData } from '../CopyLocaleData/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { MoveDocToFolder } from '../FolderView/MoveDocToFolder/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { Locked } from '../Locked/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { PublishButton } from '../PublishButton/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { SaveButton } from '../SaveButton/index.js'\nimport { SaveDraftButton } from '../SaveDraftButton/index.js'\nimport { Status } from '../Status/index.js'\nimport './index.scss'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n readonly apiURL: string\n readonly BeforeDocumentControls?: React.ReactNode\n readonly customComponents?: {\n readonly PreviewButton?: React.ReactNode\n readonly PublishButton?: React.ReactNode\n readonly SaveButton?: React.ReactNode\n readonly SaveDraftButton?: React.ReactNode\n }\n readonly data?: Data\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly isAccountView?: boolean\n readonly isEditing?: boolean\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly onDrawerCreateNew?: () => void\n /* Only available if `redirectAfterDuplicate` is `false` */\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly onSave?: DocumentDrawerContextType['onSave']\n readonly onTakeOver?: () => void\n readonly permissions: null | SanitizedCollectionPermission | SanitizedGlobalPermission\n readonly readOnlyForIncomingUser?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly slug: SanitizedCollectionConfig['slug']\n readonly user?: ClientUser\n}> = (props) => {\n const {\n id,\n slug,\n BeforeDocumentControls,\n customComponents: {\n PreviewButton: CustomPreviewButton,\n PublishButton: CustomPublishButton,\n SaveButton: CustomSaveButton,\n SaveDraftButton: CustomSaveDraftButton,\n } = {},\n data,\n disableActions,\n disableCreate,\n hasSavePermission,\n isAccountView,\n isEditing,\n onDelete,\n onDrawerCreateNew,\n onDuplicate,\n onTakeOver,\n permissions,\n readOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n user,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const { config, getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n\n const globalConfig = getEntityConfig({ globalSlug: slug })\n\n const {\n admin: { dateFormat },\n localization,\n routes: { admin: adminRoute },\n } = config\n\n // Settings these in state to avoid hydration issues if there is a mismatch between the server and client\n const [updatedAt, setUpdatedAt] = React.useState<string>('')\n const [createdAt, setCreatedAt] = React.useState<string>('')\n\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n\n useEffect(() => {\n if (data?.updatedAt) {\n setUpdatedAt(formatDate({ date: data.updatedAt, i18n, pattern: dateFormat }))\n }\n if (data?.createdAt) {\n setCreatedAt(formatDate({ date: data.createdAt, i18n, pattern: dateFormat }))\n }\n }, [data, i18n, dateFormat])\n\n const hasCreatePermission = permissions && 'create' in permissions && permissions.create\n\n const hasDeletePermission = permissions && 'delete' in permissions && permissions.delete\n\n const showDotMenu = Boolean(\n collectionConfig && id && !disableActions && (hasCreatePermission || hasDeletePermission),\n )\n\n const unsavedDraftWithValidations =\n !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate\n\n const collectionConfigDrafts = collectionConfig?.versions?.drafts\n const globalConfigDrafts = globalConfig?.versions?.drafts\n\n const autosaveEnabled =\n (collectionConfigDrafts && collectionConfigDrafts?.autosave) ||\n (globalConfigDrafts && globalConfigDrafts?.autosave)\n\n const collectionAutosaveEnabled = collectionConfigDrafts && collectionConfigDrafts?.autosave\n const globalAutosaveEnabled = globalConfigDrafts && globalConfigDrafts?.autosave\n\n const showSaveDraftButton =\n (collectionAutosaveEnabled &&\n collectionConfigDrafts.autosave !== false &&\n collectionConfigDrafts.autosave.showSaveDraftButton === true) ||\n (globalAutosaveEnabled &&\n globalConfigDrafts.autosave !== false &&\n globalConfigDrafts.autosave.showSaveDraftButton === true)\n\n const showCopyToLocale = localization && !collectionConfig?.admin?.disableCopyToLocale\n\n const showFolderMetaIcon = collectionConfig && collectionConfig.admin.folders\n const showLockedMetaIcon = user && readOnlyForIncomingUser\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n {showLockedMetaIcon || showFolderMetaIcon ? (\n <div className={`${baseClass}__meta-icons`}>\n {showLockedMetaIcon && (\n <Locked className={`${baseClass}__locked-controls`} user={user} />\n )}\n {showFolderMetaIcon && <MoveDocToFolder folderFieldName={config.folders.fieldName} />}\n </div>\n ) : null}\n\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__value`}>\n {i18n.t('general:creatingNewLabel', {\n label: getTranslation(\n collectionConfig?.labels?.singular ?? i18n.t('general:document'),\n i18n,\n ),\n })}\n </p>\n </li>\n )}\n\n {(collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li\n className={[`${baseClass}__status`, `${baseClass}__list-item`]\n .filter(Boolean)\n .join(' ')}\n >\n <Status />\n </li>\n )}\n {hasSavePermission && autosaveEnabled && !unsavedDraftWithValidations && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps && (isEditing || isAccountView) && (\n <Fragment>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.updatedAt ? updatedAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:lastModified')}:&nbsp;</p>\n {data?.updatedAt && <p className={`${baseClass}__value`}>{updatedAt}</p>}\n </li>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.createdAt ? createdAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:created')}:&nbsp;</p>\n {data?.createdAt && <p className={`${baseClass}__value`}>{createdAt}</p>}\n </li>\n </Fragment>\n )}\n </ul>\n </div>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {BeforeDocumentControls}\n {(collectionConfig?.admin.preview || globalConfig?.admin.preview) && (\n <RenderCustomComponent\n CustomComponent={CustomPreviewButton}\n Fallback={<PreviewButton />}\n />\n )}\n {hasSavePermission && (\n <Fragment>\n {collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts ? (\n <Fragment>\n {(unsavedDraftWithValidations ||\n !autosaveEnabled ||\n (autosaveEnabled && showSaveDraftButton)) && (\n <RenderCustomComponent\n CustomComponent={CustomSaveDraftButton}\n Fallback={<SaveDraftButton />}\n />\n )}\n <RenderCustomComponent\n CustomComponent={CustomPublishButton}\n Fallback={<PublishButton />}\n />\n </Fragment>\n ) : (\n <RenderCustomComponent\n CustomComponent={CustomSaveButton}\n Fallback={<SaveButton />}\n />\n )}\n </Fragment>\n )}\n {user && readOnlyForIncomingUser && (\n <Button\n buttonStyle=\"secondary\"\n id=\"take-over\"\n onClick={onTakeOver}\n size=\"medium\"\n type=\"button\"\n >\n {t('general:takeOver')}\n </Button>\n )}\n </div>\n {showDotMenu && !readOnlyForIncomingUser && (\n <Popup\n button={\n <div className={`${baseClass}__dots`}>\n <div />\n <div />\n <div />\n </div>\n }\n className={`${baseClass}__popup`}\n disabled={initializing || processing}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {showCopyToLocale && <CopyLocaleData />}\n {hasCreatePermission && (\n <React.Fragment>\n {!disableCreate && (\n <Fragment>\n {editDepth > 1 ? (\n <PopupList.Button id=\"action-create\" onClick={onDrawerCreateNew}>\n {i18n.t('general:createNew')}\n </PopupList.Button>\n ) : (\n <PopupList.Button\n href={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/create`,\n })}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n )}\n </Fragment>\n )}\n {collectionConfig.disableDuplicate !== true && isEditing && (\n <DuplicateDocument\n id={id.toString()}\n onDuplicate={onDuplicate}\n redirectAfterDuplicate={redirectAfterDuplicate}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onDelete={onDelete}\n redirectAfterDelete={redirectAfterDelete}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n <div className={`${baseClass}__divider`} />\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","formatAdminURL","React","Fragment","useEffect","useFormInitializing","useFormProcessing","useConfig","useEditDepth","useTranslation","formatDate","Autosave","Button","CopyLocaleData","DeleteDocument","DuplicateDocument","MoveDocToFolder","Gutter","Locked","Popup","PopupList","PreviewButton","PublishButton","RenderCustomComponent","SaveButton","SaveDraftButton","Status","baseClass","DocumentControls","props","$","id","slug","BeforeDocumentControls","customComponents","t0","data","disableActions","disableCreate","hasSavePermission","isAccountView","isEditing","onDelete","onDrawerCreateNew","onDuplicate","onTakeOver","permissions","readOnlyForIncomingUser","redirectAfterDelete","redirectAfterDuplicate","user","t1","undefined","CustomPreviewButton","CustomPublishButton","CustomSaveButton","CustomSaveDraftButton","i18n","t","editDepth","config","getEntityConfig","collectionConfig","collectionSlug","globalConfig","globalSlug","admin","t2","localization","routes","t3","dateFormat","adminRoute","updatedAt","setUpdatedAt","useState","createdAt","setCreatedAt","processing","initializing","t4","t5","date","pattern","hasCreatePermission","create","hasDeletePermission","delete","showDotMenu","Boolean","unsavedDraftWithValidations","versions","drafts","validate","collectionConfigDrafts","globalConfigDrafts","autosaveEnabled","autosave","collectionAutosaveEnabled","globalAutosaveEnabled","showSaveDraftButton","showCopyToLocale","disableCopyToLocale","showFolderMetaIcon","folders","showLockedMetaIcon","t6","_jsx","buttonStyle","onClick","size","type","children","_jsxs","className","folderFieldName","fieldName","label","labels","singular","filter","join","collection","global","publishedDocUpdatedAt","timestamps","title","preview","CustomComponent","Fallback","button","disabled","horizontalAlign","verticalAlign","ButtonGroup","href","path","disableDuplicate","toString","singularLabel","buttonId","useAsTitle"],"sources":["../../../src/elements/DocumentControls/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientUser,\n Data,\n SanitizedCollectionConfig,\n SanitizedCollectionPermission,\n SanitizedGlobalPermission,\n} from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatAdminURL } from 'payload/shared'\nimport React, { Fragment, useEffect } from 'react'\n\nimport type { DocumentDrawerContextType } from '../DocumentDrawer/Provider.js'\n\nimport { useFormInitializing, useFormProcessing } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDate } from '../../utilities/formatDocTitle/formatDateTitle.js'\nimport { Autosave } from '../Autosave/index.js'\nimport { Button } from '../Button/index.js'\nimport { CopyLocaleData } from '../CopyLocaleData/index.js'\nimport { DeleteDocument } from '../DeleteDocument/index.js'\nimport { DuplicateDocument } from '../DuplicateDocument/index.js'\nimport { MoveDocToFolder } from '../FolderView/MoveDocToFolder/index.js'\nimport { Gutter } from '../Gutter/index.js'\nimport { Locked } from '../Locked/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { PreviewButton } from '../PreviewButton/index.js'\nimport { PublishButton } from '../PublishButton/index.js'\nimport { RenderCustomComponent } from '../RenderCustomComponent/index.js'\nimport { SaveButton } from '../SaveButton/index.js'\nimport { SaveDraftButton } from '../SaveDraftButton/index.js'\nimport { Status } from '../Status/index.js'\nimport './index.scss'\n\nconst baseClass = 'doc-controls'\n\nexport const DocumentControls: React.FC<{\n readonly apiURL: string\n readonly BeforeDocumentControls?: React.ReactNode\n readonly customComponents?: {\n readonly PreviewButton?: React.ReactNode\n readonly PublishButton?: React.ReactNode\n readonly SaveButton?: React.ReactNode\n readonly SaveDraftButton?: React.ReactNode\n }\n readonly data?: Data\n readonly disableActions?: boolean\n readonly disableCreate?: boolean\n readonly hasPublishPermission?: boolean\n readonly hasSavePermission?: boolean\n readonly id?: number | string\n readonly isAccountView?: boolean\n readonly isEditing?: boolean\n readonly onDelete?: DocumentDrawerContextType['onDelete']\n readonly onDrawerCreateNew?: () => void\n /* Only available if `redirectAfterDuplicate` is `false` */\n readonly onDuplicate?: DocumentDrawerContextType['onDuplicate']\n readonly onSave?: DocumentDrawerContextType['onSave']\n readonly onTakeOver?: () => void\n readonly permissions: null | SanitizedCollectionPermission | SanitizedGlobalPermission\n readonly readOnlyForIncomingUser?: boolean\n readonly redirectAfterDelete?: boolean\n readonly redirectAfterDuplicate?: boolean\n readonly slug: SanitizedCollectionConfig['slug']\n readonly user?: ClientUser\n}> = (props) => {\n const {\n id,\n slug,\n BeforeDocumentControls,\n customComponents: {\n PreviewButton: CustomPreviewButton,\n PublishButton: CustomPublishButton,\n SaveButton: CustomSaveButton,\n SaveDraftButton: CustomSaveDraftButton,\n } = {},\n data,\n disableActions,\n disableCreate,\n hasSavePermission,\n isAccountView,\n isEditing,\n onDelete,\n onDrawerCreateNew,\n onDuplicate,\n onTakeOver,\n permissions,\n readOnlyForIncomingUser,\n redirectAfterDelete,\n redirectAfterDuplicate,\n user,\n } = props\n\n const { i18n, t } = useTranslation()\n\n const editDepth = useEditDepth()\n\n const { config, getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug: slug })\n\n const globalConfig = getEntityConfig({ globalSlug: slug })\n\n const {\n admin: { dateFormat },\n localization,\n routes: { admin: adminRoute },\n } = config\n\n // Settings these in state to avoid hydration issues if there is a mismatch between the server and client\n const [updatedAt, setUpdatedAt] = React.useState<string>('')\n const [createdAt, setCreatedAt] = React.useState<string>('')\n\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n\n useEffect(() => {\n if (data?.updatedAt) {\n setUpdatedAt(formatDate({ date: data.updatedAt, i18n, pattern: dateFormat }))\n }\n if (data?.createdAt) {\n setCreatedAt(formatDate({ date: data.createdAt, i18n, pattern: dateFormat }))\n }\n }, [data, i18n, dateFormat])\n\n const hasCreatePermission = permissions && 'create' in permissions && permissions.create\n\n const hasDeletePermission = permissions && 'delete' in permissions && permissions.delete\n\n const showDotMenu = Boolean(\n collectionConfig && id && !disableActions && (hasCreatePermission || hasDeletePermission),\n )\n\n const unsavedDraftWithValidations =\n !id && collectionConfig?.versions?.drafts && collectionConfig.versions?.drafts.validate\n\n const collectionConfigDrafts = collectionConfig?.versions?.drafts\n const globalConfigDrafts = globalConfig?.versions?.drafts\n\n const autosaveEnabled =\n (collectionConfigDrafts && collectionConfigDrafts?.autosave) ||\n (globalConfigDrafts && globalConfigDrafts?.autosave)\n\n const collectionAutosaveEnabled = collectionConfigDrafts && collectionConfigDrafts?.autosave\n const globalAutosaveEnabled = globalConfigDrafts && globalConfigDrafts?.autosave\n\n const showSaveDraftButton =\n (collectionAutosaveEnabled &&\n collectionConfigDrafts.autosave !== false &&\n collectionConfigDrafts.autosave.showSaveDraftButton === true) ||\n (globalAutosaveEnabled &&\n globalConfigDrafts.autosave !== false &&\n globalConfigDrafts.autosave.showSaveDraftButton === true)\n\n const showCopyToLocale = localization && !collectionConfig?.admin?.disableCopyToLocale\n\n const showFolderMetaIcon = collectionConfig && collectionConfig.folders\n const showLockedMetaIcon = user && readOnlyForIncomingUser\n\n return (\n <Gutter className={baseClass}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n {showLockedMetaIcon || showFolderMetaIcon ? (\n <div className={`${baseClass}__meta-icons`}>\n {showLockedMetaIcon && (\n <Locked className={`${baseClass}__locked-controls`} user={user} />\n )}\n {showFolderMetaIcon && <MoveDocToFolder folderFieldName={config.folders.fieldName} />}\n </div>\n ) : null}\n\n <ul className={`${baseClass}__meta`}>\n {collectionConfig && !isEditing && !isAccountView && (\n <li className={`${baseClass}__list-item`}>\n <p className={`${baseClass}__value`}>\n {i18n.t('general:creatingNewLabel', {\n label: getTranslation(\n collectionConfig?.labels?.singular ?? i18n.t('general:document'),\n i18n,\n ),\n })}\n </p>\n </li>\n )}\n\n {(collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts) && (\n <Fragment>\n {(globalConfig || (collectionConfig && isEditing)) && (\n <li\n className={[`${baseClass}__status`, `${baseClass}__list-item`]\n .filter(Boolean)\n .join(' ')}\n >\n <Status />\n </li>\n )}\n {hasSavePermission && autosaveEnabled && !unsavedDraftWithValidations && (\n <li className={`${baseClass}__list-item`}>\n <Autosave\n collection={collectionConfig}\n global={globalConfig}\n id={id}\n publishedDocUpdatedAt={data?.createdAt}\n />\n </li>\n )}\n </Fragment>\n )}\n {collectionConfig?.timestamps && (isEditing || isAccountView) && (\n <Fragment>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.updatedAt ? updatedAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:lastModified')}:&nbsp;</p>\n {data?.updatedAt && <p className={`${baseClass}__value`}>{updatedAt}</p>}\n </li>\n <li\n className={[`${baseClass}__list-item`, `${baseClass}__value-wrap`]\n .filter(Boolean)\n .join(' ')}\n title={data?.createdAt ? createdAt : ''}\n >\n <p className={`${baseClass}__label`}>{i18n.t('general:created')}:&nbsp;</p>\n {data?.createdAt && <p className={`${baseClass}__value`}>{createdAt}</p>}\n </li>\n </Fragment>\n )}\n </ul>\n </div>\n <div className={`${baseClass}__controls-wrapper`}>\n <div className={`${baseClass}__controls`}>\n {BeforeDocumentControls}\n {(collectionConfig?.admin.preview || globalConfig?.admin.preview) && (\n <RenderCustomComponent\n CustomComponent={CustomPreviewButton}\n Fallback={<PreviewButton />}\n />\n )}\n {hasSavePermission && (\n <Fragment>\n {collectionConfig?.versions?.drafts || globalConfig?.versions?.drafts ? (\n <Fragment>\n {(unsavedDraftWithValidations ||\n !autosaveEnabled ||\n (autosaveEnabled && showSaveDraftButton)) && (\n <RenderCustomComponent\n CustomComponent={CustomSaveDraftButton}\n Fallback={<SaveDraftButton />}\n />\n )}\n <RenderCustomComponent\n CustomComponent={CustomPublishButton}\n Fallback={<PublishButton />}\n />\n </Fragment>\n ) : (\n <RenderCustomComponent\n CustomComponent={CustomSaveButton}\n Fallback={<SaveButton />}\n />\n )}\n </Fragment>\n )}\n {user && readOnlyForIncomingUser && (\n <Button\n buttonStyle=\"secondary\"\n id=\"take-over\"\n onClick={onTakeOver}\n size=\"medium\"\n type=\"button\"\n >\n {t('general:takeOver')}\n </Button>\n )}\n </div>\n {showDotMenu && !readOnlyForIncomingUser && (\n <Popup\n button={\n <div className={`${baseClass}__dots`}>\n <div />\n <div />\n <div />\n </div>\n }\n className={`${baseClass}__popup`}\n disabled={initializing || processing}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>\n {showCopyToLocale && <CopyLocaleData />}\n {hasCreatePermission && (\n <React.Fragment>\n {!disableCreate && (\n <Fragment>\n {editDepth > 1 ? (\n <PopupList.Button id=\"action-create\" onClick={onDrawerCreateNew}>\n {i18n.t('general:createNew')}\n </PopupList.Button>\n ) : (\n <PopupList.Button\n href={formatAdminURL({\n adminRoute,\n path: `/collections/${collectionConfig?.slug}/create`,\n })}\n id=\"action-create\"\n >\n {i18n.t('general:createNew')}\n </PopupList.Button>\n )}\n </Fragment>\n )}\n {collectionConfig.disableDuplicate !== true && isEditing && (\n <DuplicateDocument\n id={id.toString()}\n onDuplicate={onDuplicate}\n redirectAfterDuplicate={redirectAfterDuplicate}\n singularLabel={collectionConfig?.labels?.singular}\n slug={collectionConfig?.slug}\n />\n )}\n </React.Fragment>\n )}\n {hasDeletePermission && (\n <DeleteDocument\n buttonId=\"action-delete\"\n collectionSlug={collectionConfig?.slug}\n id={id.toString()}\n onDelete={onDelete}\n redirectAfterDelete={redirectAfterDelete}\n singularLabel={collectionConfig?.labels?.singular}\n useAsTitle={collectionConfig?.admin?.useAsTitle}\n />\n )}\n </PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n <div className={`${baseClass}__divider`} />\n </Gutter>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -29,7 +29,7 @@ export function CollectionTypePill() {
29
29
  let t0;
30
30
  if ($[0] !== config || $[1] !== folderCollectionSlug || $[2] !== getEntityConfig || $[3] !== i18n) {
31
31
  t0 = () => config.collections.reduce((acc, collection) => {
32
- if (collection.admin.folders) {
32
+ if (collection.folders) {
33
33
  acc.push({
34
34
  label: getTranslation(collection.labels?.plural, i18n),
35
35
  value: collection.slug
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useConfig","useFolder","useTranslation","Button","CheckboxPopup","baseClass","CollectionTypePill","$","filterItems","folderCollectionSlug","visibleCollectionSlugs","i18n","t","config","getEntityConfig","t0","collections","reduce","acc","collection","admin","folders","push","label","labels","plural","value","slug","collectionSlug","allCollectionOptions","useState","t1","t2","t3","selectedValues","relationTo","_jsx","_jsxs","buttonStyle","el","icon","margin","size","children","length","className","options"],"sources":["../../../../src/elements/FolderView/CollectionTypePill/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { CheckboxPopup } from '../../CheckboxPopup/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-type'\n\nexport function CollectionTypePill() {\n const { filterItems, folderCollectionSlug, visibleCollectionSlugs } = useFolder()\n const { i18n, t } = useTranslation()\n const { config, getEntityConfig } = useConfig()\n\n const [allCollectionOptions] = React.useState(() => {\n return config.collections.reduce(\n (acc, collection) => {\n if (collection.admin.folders) {\n acc.push({\n label: getTranslation(collection.labels?.plural, i18n),\n value: collection.slug,\n })\n }\n\n return acc\n },\n [\n {\n label: getTranslation(\n getEntityConfig({ collectionSlug: folderCollectionSlug }).labels?.plural,\n i18n,\n ),\n value: folderCollectionSlug,\n },\n ],\n )\n })\n\n return (\n <CheckboxPopup\n Button={\n <Button buttonStyle=\"pill\" el=\"div\" icon=\"chevron\" margin={false} size=\"small\">\n {visibleCollectionSlugs.length ? (\n <span className={`${baseClass}__count`}>{visibleCollectionSlugs.length}</span>\n ) : null}\n {t('version:type')}\n </Button>\n }\n key=\"relation-to-selection-popup\"\n onChange={({ selectedValues }) => {\n void filterItems({ relationTo: selectedValues })\n }}\n options={allCollectionOptions}\n selectedValues={visibleCollectionSlugs}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,SAAAC,mBAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACL;IAAAW,WAAA;IAAAC,oBAAA;IAAAC;EAAA,IAAsET,SAAA;EACtE;IAAAU,IAAA;IAAAC;EAAA,IAAoBV,cAAA;EACpB;IAAAW,MAAA;IAAAC;EAAA,IAAoCd,SAAA;EAAA,IAAAe,EAAA;EAAA,IAAAR,CAAA,QAAAM,MAAA,IAAAN,CAAA,QAAAE,oBAAA,IAAAF,CAAA,QAAAO,eAAA,IAAAP,CAAA,QAAAI,IAAA;IAEUI,EAAA,GAAAA,CAAA,KACrCF,MAAA,CAAAG,WAAA,CAAAC,MAAA,EAAAC,GAAA,EAAAC,UAAA;MAAA,IAECA,UAAA,CAAAC,KAAA,CAAAC,OAAA;QACFH,GAAA,CAAAI,IAAA;UAAAC,KAAA,EACSzB,cAAA,CAAeqB,UAAA,CAAAK,MAAA,EAAAC,MAAA,EAA2Bd,IAAA;UAAAe,KAAA,EAC1CP,UAAA,CAAAQ;QAAA,CACT;MAAA;MAAA,OAGKT,GAAA;IAAA;MAAAK,KAAA,EAIEzB,cAAA,CACLgB,eAAA;QAAAc,cAAA,EAAkCnB;MAAA,CAAqB,EAAAe,MAAA,EAAAC,MAAA,EACvDd,IAAA;MAAAe,KAAA,EAEKjB;IAAA,EAEV;IAELF,CAAA,MAAAM,MAAA;IAAAN,CAAA,MAAAE,oBAAA;IAAAF,CAAA,MAAAO,eAAA;IAAAP,CAAA,MAAAI,IAAA;IAAAJ,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAtBA,OAAAsB,oBAAA,IAA+B9B,KAAA,CAAA+B,QAAA,CAAef,EAsB9C;EAAA,IAAAgB,EAAA;EAAA,IAAAxB,CAAA,QAAAsB,oBAAA,IAAAtB,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAK,CAAA,IAAAL,CAAA,QAAAG,sBAAA;IAAA,IAAAsB,EAAA;IAAA,IAAAzB,CAAA,SAAAC,WAAA;MAacwB,EAAA,GAAAC,EAAA;QAAC;UAAAC;QAAA,IAAAD,EAAkB;QACtBzB,WAAA;UAAA2B,UAAA,EAA0BD;QAAA,CAAe;MAAA;MAChD3B,CAAA,OAAAC,WAAA;MAAAD,CAAA,OAAAyB,EAAA;IAAA;MAAAA,EAAA,GAAAzB,CAAA;IAAA;IAZFwB,EAAA,GAAAK,IAAA,CAAAhC,aAAA;MAAAD,MAAA,EAEIkC,KAAA,CAAAlC,MAAA;QAAAmC,WAAA,EAAoB;QAAAC,EAAA,EAAU;QAAAC,IAAA,EAAW;QAAAC,MAAA;QAAAC,IAAA,EAA8B;QAAAC,QAAA,GACpEjC,sBAAA,CAAAkC,MAAA,GACCR,IAAA,CAAC;UAAAS,SAAA,EAAgB,GAAAxC,SAAA,SAAqB;UAAAsC,QAAA,EAAGjC,sBAAA,CAAAkC;QAAA,C,QACvC,EACHhC,CAAA,CAAE;MAAA,C;gBAIGoB,EAEV;MAAAc,OAAA,EACSjB,oBAAA;MAAAK,cAAA,EACOxB;IAAA,GALZ;IAAAH,CAAA,MAAAsB,oBAAA;IAAAtB,CAAA,MAAAC,WAAA;IAAAD,CAAA,MAAAK,CAAA;IAAAL,CAAA,MAAAG,sBAAA;IAAAH,CAAA,MAAAwB,EAAA;EAAA;IAAAA,EAAA,GAAAxB,CAAA;EAAA;EAAA,OATNwB,EASM;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","React","useConfig","useFolder","useTranslation","Button","CheckboxPopup","baseClass","CollectionTypePill","$","filterItems","folderCollectionSlug","visibleCollectionSlugs","i18n","t","config","getEntityConfig","t0","collections","reduce","acc","collection","folders","push","label","labels","plural","value","slug","collectionSlug","allCollectionOptions","useState","t1","t2","t3","selectedValues","relationTo","_jsx","_jsxs","buttonStyle","el","icon","margin","size","children","length","className","options"],"sources":["../../../../src/elements/FolderView/CollectionTypePill/index.tsx"],"sourcesContent":["'use client'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useFolder } from '../../../providers/Folders/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { Button } from '../../Button/index.js'\nimport { CheckboxPopup } from '../../CheckboxPopup/index.js'\nimport './index.scss'\n\nconst baseClass = 'collection-type'\n\nexport function CollectionTypePill() {\n const { filterItems, folderCollectionSlug, visibleCollectionSlugs } = useFolder()\n const { i18n, t } = useTranslation()\n const { config, getEntityConfig } = useConfig()\n\n const [allCollectionOptions] = React.useState(() => {\n return config.collections.reduce(\n (acc, collection) => {\n if (collection.folders) {\n acc.push({\n label: getTranslation(collection.labels?.plural, i18n),\n value: collection.slug,\n })\n }\n\n return acc\n },\n [\n {\n label: getTranslation(\n getEntityConfig({ collectionSlug: folderCollectionSlug }).labels?.plural,\n i18n,\n ),\n value: folderCollectionSlug,\n },\n ],\n )\n })\n\n return (\n <CheckboxPopup\n Button={\n <Button buttonStyle=\"pill\" el=\"div\" icon=\"chevron\" margin={false} size=\"small\">\n {visibleCollectionSlugs.length ? (\n <span className={`${baseClass}__count`}>{visibleCollectionSlugs.length}</span>\n ) : null}\n {t('version:type')}\n </Button>\n }\n key=\"relation-to-selection-popup\"\n onChange={({ selectedValues }) => {\n void filterItems({ relationTo: selectedValues })\n }}\n options={allCollectionOptions}\n selectedValues={visibleCollectionSlugs}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,SAASC,cAAc,QAAQ;AAC/B,OAAOC,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,aAAa,QAAQ;AAC9B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,SAAAC,mBAAA;EAAA,MAAAC,CAAA,GAAAV,EAAA;EACL;IAAAW,WAAA;IAAAC,oBAAA;IAAAC;EAAA,IAAsET,SAAA;EACtE;IAAAU,IAAA;IAAAC;EAAA,IAAoBV,cAAA;EACpB;IAAAW,MAAA;IAAAC;EAAA,IAAoCd,SAAA;EAAA,IAAAe,EAAA;EAAA,IAAAR,CAAA,QAAAM,MAAA,IAAAN,CAAA,QAAAE,oBAAA,IAAAF,CAAA,QAAAO,eAAA,IAAAP,CAAA,QAAAI,IAAA;IAEUI,EAAA,GAAAA,CAAA,KACrCF,MAAA,CAAAG,WAAA,CAAAC,MAAA,EAAAC,GAAA,EAAAC,UAAA;MAAA,IAECA,UAAA,CAAAC,OAAA;QACFF,GAAA,CAAAG,IAAA;UAAAC,KAAA,EACSxB,cAAA,CAAeqB,UAAA,CAAAI,MAAA,EAAAC,MAAA,EAA2Bb,IAAA;UAAAc,KAAA,EAC1CN,UAAA,CAAAO;QAAA,CACT;MAAA;MAAA,OAGKR,GAAA;IAAA;MAAAI,KAAA,EAIExB,cAAA,CACLgB,eAAA;QAAAa,cAAA,EAAkClB;MAAA,CAAqB,EAAAc,MAAA,EAAAC,MAAA,EACvDb,IAAA;MAAAc,KAAA,EAEKhB;IAAA,EAEV;IAELF,CAAA,MAAAM,MAAA;IAAAN,CAAA,MAAAE,oBAAA;IAAAF,CAAA,MAAAO,eAAA;IAAAP,CAAA,MAAAI,IAAA;IAAAJ,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAtBA,OAAAqB,oBAAA,IAA+B7B,KAAA,CAAA8B,QAAA,CAAed,EAsB9C;EAAA,IAAAe,EAAA;EAAA,IAAAvB,CAAA,QAAAqB,oBAAA,IAAArB,CAAA,QAAAC,WAAA,IAAAD,CAAA,QAAAK,CAAA,IAAAL,CAAA,QAAAG,sBAAA;IAAA,IAAAqB,EAAA;IAAA,IAAAxB,CAAA,SAAAC,WAAA;MAacuB,EAAA,GAAAC,EAAA;QAAC;UAAAC;QAAA,IAAAD,EAAkB;QACtBxB,WAAA;UAAA0B,UAAA,EAA0BD;QAAA,CAAe;MAAA;MAChD1B,CAAA,OAAAC,WAAA;MAAAD,CAAA,OAAAwB,EAAA;IAAA;MAAAA,EAAA,GAAAxB,CAAA;IAAA;IAZFuB,EAAA,GAAAK,IAAA,CAAA/B,aAAA;MAAAD,MAAA,EAEIiC,KAAA,CAAAjC,MAAA;QAAAkC,WAAA,EAAoB;QAAAC,EAAA,EAAU;QAAAC,IAAA,EAAW;QAAAC,MAAA;QAAAC,IAAA,EAA8B;QAAAC,QAAA,GACpEhC,sBAAA,CAAAiC,MAAA,GACCR,IAAA,CAAC;UAAAS,SAAA,EAAgB,GAAAvC,SAAA,SAAqB;UAAAqC,QAAA,EAAGhC,sBAAA,CAAAiC;QAAA,C,QACvC,EACH/B,CAAA,CAAE;MAAA,C;gBAIGmB,EAEV;MAAAc,OAAA,EACSjB,oBAAA;MAAAK,cAAA,EACOvB;IAAA,GALZ;IAAAH,CAAA,MAAAqB,oBAAA;IAAArB,CAAA,MAAAC,WAAA;IAAAD,CAAA,MAAAK,CAAA;IAAAL,CAAA,MAAAG,sBAAA;IAAAH,CAAA,MAAAuB,EAAA;EAAA;IAAAA,EAAA,GAAAvB,CAAA;EAAA;EAAA,OATNuB,EASM;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAMrB,MAAM,WAAW,aACf,SAAQ,yBAAyB,CAAC,eAAe,GAAG,iBAAiB,CAAC;IACtE,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;CAClD;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA2C5C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAGhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,cAAc,CAAA;AAKrB,MAAM,WAAW,aACf,SAAQ,yBAAyB,CAAC,eAAe,GAAG,iBAAiB,CAAC;IACtE,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;CAClD;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA2C5C,CAAA"}
@@ -1,10 +1,9 @@
1
1
  'use client';
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
4
- import { isImage } from 'payload/shared';
4
+ import { getBestFitFromSizes, isImage } from 'payload/shared';
5
5
  import React from 'react';
6
6
  import './index.scss';
7
- import { getBestFitFromSizes } from '../../../../../utilities/getBestFitFromSizes.js';
8
7
  import { Thumbnail } from '../../../../Thumbnail/index.js';
9
8
  const baseClass = 'file';
10
9
  export const FileCell = ({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["isImage","React","getBestFitFromSizes","Thumbnail","baseClass","FileCell","cellData","filename","collectionConfig","field","rowData","fieldPreviewAllowed","displayPreview","undefined","previewAllowed","upload","isFileImage","mimeType","fileSrc","thumbnailURL","url","sizes","width","_jsxs","className","_jsx","collectionSlug","slug","doc","size","uploadConfig","String","_Fragment"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n DefaultCellComponentProps,\n TextFieldClient,\n UploadFieldClient,\n} from 'payload'\n\nimport { isImage } from 'payload/shared'\nimport React from 'react'\n\nimport './index.scss'\nimport { getBestFitFromSizes } from '../../../../../utilities/getBestFitFromSizes.js'\nimport { Thumbnail } from '../../../../Thumbnail/index.js'\n\nconst baseClass = 'file'\n\nexport interface FileCellProps\n extends DefaultCellComponentProps<TextFieldClient | UploadFieldClient> {\n readonly collectionConfig: ClientCollectionConfig\n}\n\nexport const FileCell: React.FC<FileCellProps> = ({\n cellData: filename,\n collectionConfig,\n field,\n rowData,\n}) => {\n const fieldPreviewAllowed = 'displayPreview' in field ? field.displayPreview : undefined\n const previewAllowed = fieldPreviewAllowed ?? collectionConfig.upload?.displayPreview ?? true\n\n if (previewAllowed) {\n const isFileImage = isImage(rowData?.mimeType)\n let fileSrc: string | undefined = isFileImage\n ? rowData?.thumbnailURL || rowData?.url\n : rowData?.thumbnailURL\n\n if (isFileImage) {\n fileSrc = getBestFitFromSizes({\n sizes: rowData?.sizes,\n thumbnailURL: rowData?.thumbnailURL,\n url: rowData?.url,\n width: rowData?.width,\n })\n }\n\n return (\n <div className={baseClass}>\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionConfig?.slug}\n doc={{\n ...rowData,\n filename,\n }}\n fileSrc={fileSrc}\n size=\"small\"\n uploadConfig={collectionConfig?.upload}\n />\n <span className={`${baseClass}__filename`}>{String(filename)}</span>\n </div>\n )\n } else {\n return <>{String(filename)}</>\n }\n}\n"],"mappings":"AAAA;;;AAQA,SAASA,OAAO,QAAQ;AACxB,OAAOC,KAAA,MAAW;AAElB,OAAO;AACP,SAASC,mBAAmB,QAAQ;AACpC,SAASC,SAAS,QAAQ;AAE1B,MAAMC,SAAA,GAAY;AAOlB,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,QAAA,EAAUC,QAAQ;EAClBC,gBAAgB;EAChBC,KAAK;EACLC;AAAO,CACR;EACC,MAAMC,mBAAA,GAAsB,oBAAoBF,KAAA,GAAQA,KAAA,CAAMG,cAAc,GAAGC,SAAA;EAC/E,MAAMC,cAAA,GAAiBH,mBAAA,IAAuBH,gBAAA,CAAiBO,MAAM,EAAEH,cAAA,IAAkB;EAEzF,IAAIE,cAAA,EAAgB;IAClB,MAAME,WAAA,GAAchB,OAAA,CAAQU,OAAA,EAASO,QAAA;IACrC,IAAIC,OAAA,GAA8BF,WAAA,GAC9BN,OAAA,EAASS,YAAA,IAAgBT,OAAA,EAASU,GAAA,GAClCV,OAAA,EAASS,YAAA;IAEb,IAAIH,WAAA,EAAa;MACfE,OAAA,GAAUhB,mBAAA,CAAoB;QAC5BmB,KAAA,EAAOX,OAAA,EAASW,KAAA;QAChBF,YAAA,EAAcT,OAAA,EAASS,YAAA;QACvBC,GAAA,EAAKV,OAAA,EAASU,GAAA;QACdE,KAAA,EAAOZ,OAAA,EAASY;MAClB;IACF;IAEA,oBACEC,KAAA,CAAC;MAAIC,SAAA,EAAWpB,SAAA;8BACdqB,IAAA,CAACtB,SAAA;QACCqB,SAAA,EAAW,GAAGpB,SAAA,aAAsB;QACpCsB,cAAA,EAAgBlB,gBAAA,EAAkBmB,IAAA;QAClCC,GAAA,EAAK;UACH,GAAGlB,OAAO;UACVH;QACF;QACAW,OAAA,EAASA,OAAA;QACTW,IAAA,EAAK;QACLC,YAAA,EAActB,gBAAA,EAAkBO;uBAElCU,IAAA,CAAC;QAAKD,SAAA,EAAW,GAAGpB,SAAA,YAAqB;kBAAG2B,MAAA,CAAOxB,QAAA;;;EAGzD,OAAO;IACL,oBAAOkB,IAAA,CAAAO,SAAA;gBAAGD,MAAA,CAAOxB,QAAA;;EACnB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getBestFitFromSizes","isImage","React","Thumbnail","baseClass","FileCell","cellData","filename","collectionConfig","field","rowData","fieldPreviewAllowed","displayPreview","undefined","previewAllowed","upload","isFileImage","mimeType","fileSrc","thumbnailURL","url","sizes","width","_jsxs","className","_jsx","collectionSlug","slug","doc","size","uploadConfig","String","_Fragment"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n DefaultCellComponentProps,\n TextFieldClient,\n UploadFieldClient,\n} from 'payload'\n\nimport { getBestFitFromSizes, isImage } from 'payload/shared'\nimport React from 'react'\n\nimport './index.scss'\nimport { Thumbnail } from '../../../../Thumbnail/index.js'\n\nconst baseClass = 'file'\n\nexport interface FileCellProps\n extends DefaultCellComponentProps<TextFieldClient | UploadFieldClient> {\n readonly collectionConfig: ClientCollectionConfig\n}\n\nexport const FileCell: React.FC<FileCellProps> = ({\n cellData: filename,\n collectionConfig,\n field,\n rowData,\n}) => {\n const fieldPreviewAllowed = 'displayPreview' in field ? field.displayPreview : undefined\n const previewAllowed = fieldPreviewAllowed ?? collectionConfig.upload?.displayPreview ?? true\n\n if (previewAllowed) {\n const isFileImage = isImage(rowData?.mimeType)\n let fileSrc: string | undefined = isFileImage\n ? rowData?.thumbnailURL || rowData?.url\n : rowData?.thumbnailURL\n\n if (isFileImage) {\n fileSrc = getBestFitFromSizes({\n sizes: rowData?.sizes,\n thumbnailURL: rowData?.thumbnailURL,\n url: rowData?.url,\n width: rowData?.width,\n })\n }\n\n return (\n <div className={baseClass}>\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionConfig?.slug}\n doc={{\n ...rowData,\n filename,\n }}\n fileSrc={fileSrc}\n size=\"small\"\n uploadConfig={collectionConfig?.upload}\n />\n <span className={`${baseClass}__filename`}>{String(filename)}</span>\n </div>\n )\n } else {\n return <>{String(filename)}</>\n }\n}\n"],"mappings":"AAAA;;;AAQA,SAASA,mBAAmB,EAAEC,OAAO,QAAQ;AAC7C,OAAOC,KAAA,MAAW;AAElB,OAAO;AACP,SAASC,SAAS,QAAQ;AAE1B,MAAMC,SAAA,GAAY;AAOlB,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,QAAA,EAAUC,QAAQ;EAClBC,gBAAgB;EAChBC,KAAK;EACLC;AAAO,CACR;EACC,MAAMC,mBAAA,GAAsB,oBAAoBF,KAAA,GAAQA,KAAA,CAAMG,cAAc,GAAGC,SAAA;EAC/E,MAAMC,cAAA,GAAiBH,mBAAA,IAAuBH,gBAAA,CAAiBO,MAAM,EAAEH,cAAA,IAAkB;EAEzF,IAAIE,cAAA,EAAgB;IAClB,MAAME,WAAA,GAAcf,OAAA,CAAQS,OAAA,EAASO,QAAA;IACrC,IAAIC,OAAA,GAA8BF,WAAA,GAC9BN,OAAA,EAASS,YAAA,IAAgBT,OAAA,EAASU,GAAA,GAClCV,OAAA,EAASS,YAAA;IAEb,IAAIH,WAAA,EAAa;MACfE,OAAA,GAAUlB,mBAAA,CAAoB;QAC5BqB,KAAA,EAAOX,OAAA,EAASW,KAAA;QAChBF,YAAA,EAAcT,OAAA,EAASS,YAAA;QACvBC,GAAA,EAAKV,OAAA,EAASU,GAAA;QACdE,KAAA,EAAOZ,OAAA,EAASY;MAClB;IACF;IAEA,oBACEC,KAAA,CAAC;MAAIC,SAAA,EAAWpB,SAAA;8BACdqB,IAAA,CAACtB,SAAA;QACCqB,SAAA,EAAW,GAAGpB,SAAA,aAAsB;QACpCsB,cAAA,EAAgBlB,gBAAA,EAAkBmB,IAAA;QAClCC,GAAA,EAAK;UACH,GAAGlB,OAAO;UACVH;QACF;QACAW,OAAA,EAASA,OAAA;QACTW,IAAA,EAAK;QACLC,YAAA,EAActB,gBAAA,EAAkBO;uBAElCU,IAAA,CAAC;QAAKD,SAAA,EAAW,GAAGpB,SAAA,YAAqB;kBAAG2B,MAAA,CAAOxB,QAAA;;;EAGzD,OAAO;IACL,oBAAOkB,IAAA,CAAAO,SAAA;gBAAGD,MAAA,CAAOxB,QAAA;;EACnB;AACF","ignoreList":[]}