@payloadcms/ui 3.0.0-beta.65 → 3.0.0-beta.67

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 (59) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +4 -1
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/DatePicker/index.scss +3 -1
  5. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  6. package/dist/elements/DocumentDrawer/DrawerContent.js +0 -6
  7. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  8. package/dist/elements/EditUpload/index.d.ts +3 -6
  9. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  10. package/dist/elements/EditUpload/index.js +20 -25
  11. package/dist/elements/EditUpload/index.js.map +1 -1
  12. package/dist/elements/ListControls/index.d.ts.map +1 -1
  13. package/dist/elements/ListControls/index.js +38 -3
  14. package/dist/elements/ListControls/index.js.map +1 -1
  15. package/dist/elements/Localizer/index.d.ts.map +1 -1
  16. package/dist/elements/Localizer/index.js +6 -13
  17. package/dist/elements/Localizer/index.js.map +1 -1
  18. package/dist/elements/SearchFilter/index.d.ts +5 -3
  19. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  20. package/dist/elements/SearchFilter/index.js +14 -53
  21. package/dist/elements/SearchFilter/index.js.map +1 -1
  22. package/dist/elements/Upload/index.d.ts.map +1 -1
  23. package/dist/elements/Upload/index.js +12 -27
  24. package/dist/elements/Upload/index.js.map +1 -1
  25. package/dist/exports/client/index.d.ts +1 -1
  26. package/dist/exports/client/index.d.ts.map +1 -1
  27. package/dist/exports/client/index.js +18 -18
  28. package/dist/exports/client/index.js.map +4 -4
  29. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  30. package/dist/fields/Blocks/BlockRow.js +5 -1
  31. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  32. package/dist/forms/Form/index.d.ts.map +1 -1
  33. package/dist/forms/Form/index.js +5 -15
  34. package/dist/forms/Form/index.js.map +1 -1
  35. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  36. package/dist/providers/ComponentMap/buildComponentMap/fields.js +1 -0
  37. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  38. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +2 -1
  39. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  40. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  41. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  42. package/dist/providers/DocumentInfo/index.js +33 -1
  43. package/dist/providers/DocumentInfo/index.js.map +1 -1
  44. package/dist/providers/UploadEdits/index.d.ts +12 -0
  45. package/dist/providers/UploadEdits/index.d.ts.map +1 -0
  46. package/dist/providers/UploadEdits/index.js +30 -0
  47. package/dist/providers/UploadEdits/index.js.map +1 -0
  48. package/dist/styles.css +1 -1
  49. package/dist/utilities/buildFormState.js +2 -2
  50. package/dist/utilities/buildFormState.js.map +1 -1
  51. package/package.json +5 -5
  52. package/dist/providers/FormQueryParams/index.d.ts +0 -13
  53. package/dist/providers/FormQueryParams/index.d.ts.map +0 -1
  54. package/dist/providers/FormQueryParams/index.js +0 -53
  55. package/dist/providers/FormQueryParams/index.js.map +0 -1
  56. package/dist/providers/FormQueryParams/types.d.ts +0 -16
  57. package/dist/providers/FormQueryParams/types.d.ts.map +0 -1
  58. package/dist/providers/FormQueryParams/types.js +0 -3
  59. package/dist/providers/FormQueryParams/types.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import type { BlockField, CellComponentProps, FieldTypes, SanitizedCollectionConfig, SanitizedGlobalConfig, TabsField } from 'payload';
1
+ import type { Block, BlockField, CellComponentProps, FieldTypes, SanitizedCollectionConfig, SanitizedGlobalConfig, TabsField } from 'payload';
2
2
  import type { ArrayFieldProps } from '../../../fields/Array/index.js';
3
3
  import type { BlocksFieldProps } from '../../../fields/Blocks/index.js';
4
4
  import type { CheckboxFieldProps } from '../../../fields/Checkbox/types.js';
@@ -25,6 +25,7 @@ export type MappedTab = {
25
25
  name?: string;
26
26
  };
27
27
  export type ReducedBlock = {
28
+ LabelComponent: Block['admin']['components']['Label'];
28
29
  custom?: Record<any, string>;
29
30
  fieldMap: FieldMap;
30
31
  imageAltText?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,yBAAyB,EACzB,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAA;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAEvE,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC5B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,cAAc,GACd,qBAAqB,GACrB,cAAc,GACd,eAAe,GACf,eAAe,GACf,qBAAqB,GACrB,cAAc,GACd,gBAAgB,GAChB,eAAe,GACf,sBAAsB,GACtB,kBAAkB,GAClB,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,cAAc,GACd,kBAAkB,GAClB,gBAAgB,CAAA;AAEpB,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,qBAAqB,EAAE,OAAO,CAAA;IAC9B,oBAAoB,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,UAAU,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;AAEpC,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE;QACJ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;KAClC,CAAA;IACD,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,cAAc,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,eAAe,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;CACtB,GAAG,sBAAsB,CAAA;AAE1B,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAA;AAEvD,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,aAAa,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAA;IAC9B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B,eAAe,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAA;IACvB,UAAU,EAAE,SAAS,CAAA;IACrB,QAAQ,EAAE,QAAQ,CAAA;IAClB,gBAAgB,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1B,WAAW,EAAE;QACX,CAAC,IAAI,EAAE,yBAAyB,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAA;KAClE,CAAA;IACD,OAAO,EAAE;QACP,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,GAAG,kBAAkB,CAAA;KAC1D,CAAA;CACF,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/types.ts"],"sourcesContent":["import type {\n BlockField,\n CellComponentProps,\n FieldTypes,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TabsField,\n} from 'payload'\n\nimport type { ArrayFieldProps } from '../../../fields/Array/index.js'\nimport type { BlocksFieldProps } from '../../../fields/Blocks/index.js'\nimport type { CheckboxFieldProps } from '../../../fields/Checkbox/types.js'\nimport type { CodeFieldProps } from '../../../fields/Code/index.js'\nimport type { CollapsibleFieldProps } from '../../../fields/Collapsible/index.js'\nimport type { DateFieldProps } from '../../../fields/DateTime/index.js'\nimport type { EmailFieldProps } from '../../../fields/Email/index.js'\nimport type { GroupFieldProps } from '../../../fields/Group/index.js'\nimport type { HiddenInputFieldProps } from '../../../fields/Hidden/index.js'\nimport type { JSONFieldProps } from '../../../fields/JSON/index.js'\nimport type { NumberFieldProps } from '../../../fields/Number/index.js'\nimport type { PointFieldProps } from '../../../fields/Point/index.js'\nimport type { RelationshipFieldProps } from '../../../fields/Relationship/index.js'\nimport type { RichTextFieldProps } from '../../../fields/RichText/index.js'\nimport type { RowFieldProps } from '../../../fields/Row/types.js'\nimport type { SelectFieldProps } from '../../../fields/Select/index.js'\nimport type { TabsFieldProps } from '../../../fields/Tabs/index.js'\nimport type { TextFieldProps } from '../../../fields/Text/types.js'\nimport type { TextareaFieldProps } from '../../../fields/Textarea/types.js'\nimport type { UploadFieldProps } from '../../../fields/Upload/types.js'\n\nexport type MappedTab = {\n fieldMap?: FieldMap\n label: TabsField['tabs'][0]['label']\n name?: string\n}\n\nexport type ReducedBlock = {\n custom?: Record<any, string>\n fieldMap: FieldMap\n imageAltText?: string\n imageURL?: string\n labels: BlockField['labels']\n slug: string\n}\n\nexport type FieldComponentProps =\n | ArrayFieldProps\n | BlocksFieldProps\n | CheckboxFieldProps\n | CodeFieldProps\n | CollapsibleFieldProps\n | DateFieldProps\n | EmailFieldProps\n | GroupFieldProps\n | HiddenInputFieldProps\n | JSONFieldProps\n | NumberFieldProps\n | PointFieldProps\n | RelationshipFieldProps\n | RichTextFieldProps\n | RowFieldProps\n | SelectFieldProps\n | TabsFieldProps\n | TextFieldProps\n | TextareaFieldProps\n | UploadFieldProps\n\nexport type MappedField = {\n CustomCell?: React.ReactNode\n CustomField?: React.ReactNode\n cellComponentProps: CellComponentProps\n custom?: Record<any, string>\n disableBulkEdit?: boolean\n disableListColumn?: boolean\n disableListFilter?: boolean\n disabled?: boolean\n fieldComponentProps: FieldComponentProps\n fieldIsPresentational: boolean\n isFieldAffectingData: boolean\n isHidden?: boolean\n isSidebar?: boolean\n localized: boolean\n name?: string\n type: keyof FieldTypes\n unique?: boolean\n}\n\nexport type FieldMap = MappedField[]\n\nexport type ActionMap = {\n Edit: {\n [view: string]: React.ReactNode[]\n }\n List: React.ReactNode[]\n}\n\nexport type CollectionComponentMap = {\n AfterList: React.ReactNode\n AfterListTable: React.ReactNode\n BeforeList: React.ReactNode\n BeforeListTable: React.ReactNode\n List: React.ReactNode\n} & ConfigComponentMapBase\n\nexport type GlobalComponentMap = ConfigComponentMapBase\n\nexport type ConfigComponentMapBase = {\n Description: React.ReactNode\n Edit: React.ReactNode\n PreviewButton: React.ReactNode\n PublishButton: React.ReactNode\n SaveButton: React.ReactNode\n SaveDraftButton: React.ReactNode\n Upload: React.ReactNode\n actionsMap: ActionMap\n fieldMap: FieldMap\n isPreviewEnabled: boolean\n}\n\nexport type ComponentMap = {\n Icon: React.ReactNode\n LogoutButton: React.ReactNode\n actions: React.ReactNode[]\n collections: {\n [slug: SanitizedCollectionConfig['slug']]: CollectionComponentMap\n }\n globals: {\n [slug: SanitizedGlobalConfig['slug']]: GlobalComponentMap\n }\n}\n"],"names":[],"mappings":"AAuHA,WAUC"}
1
+ {"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/types.ts"],"sourcesContent":["import type {\n Block,\n BlockField,\n CellComponentProps,\n FieldTypes,\n SanitizedCollectionConfig,\n SanitizedGlobalConfig,\n TabsField,\n} from 'payload'\n\nimport type { ArrayFieldProps } from '../../../fields/Array/index.js'\nimport type { BlocksFieldProps } from '../../../fields/Blocks/index.js'\nimport type { CheckboxFieldProps } from '../../../fields/Checkbox/types.js'\nimport type { CodeFieldProps } from '../../../fields/Code/index.js'\nimport type { CollapsibleFieldProps } from '../../../fields/Collapsible/index.js'\nimport type { DateFieldProps } from '../../../fields/DateTime/index.js'\nimport type { EmailFieldProps } from '../../../fields/Email/index.js'\nimport type { GroupFieldProps } from '../../../fields/Group/index.js'\nimport type { HiddenInputFieldProps } from '../../../fields/Hidden/index.js'\nimport type { JSONFieldProps } from '../../../fields/JSON/index.js'\nimport type { NumberFieldProps } from '../../../fields/Number/index.js'\nimport type { PointFieldProps } from '../../../fields/Point/index.js'\nimport type { RelationshipFieldProps } from '../../../fields/Relationship/index.js'\nimport type { RichTextFieldProps } from '../../../fields/RichText/index.js'\nimport type { RowFieldProps } from '../../../fields/Row/types.js'\nimport type { SelectFieldProps } from '../../../fields/Select/index.js'\nimport type { TabsFieldProps } from '../../../fields/Tabs/index.js'\nimport type { TextFieldProps } from '../../../fields/Text/types.js'\nimport type { TextareaFieldProps } from '../../../fields/Textarea/types.js'\nimport type { UploadFieldProps } from '../../../fields/Upload/types.js'\n\nexport type MappedTab = {\n fieldMap?: FieldMap\n label: TabsField['tabs'][0]['label']\n name?: string\n}\n\nexport type ReducedBlock = {\n LabelComponent: Block['admin']['components']['Label']\n custom?: Record<any, string>\n fieldMap: FieldMap\n imageAltText?: string\n imageURL?: string\n labels: BlockField['labels']\n slug: string\n}\n\nexport type FieldComponentProps =\n | ArrayFieldProps\n | BlocksFieldProps\n | CheckboxFieldProps\n | CodeFieldProps\n | CollapsibleFieldProps\n | DateFieldProps\n | EmailFieldProps\n | GroupFieldProps\n | HiddenInputFieldProps\n | JSONFieldProps\n | NumberFieldProps\n | PointFieldProps\n | RelationshipFieldProps\n | RichTextFieldProps\n | RowFieldProps\n | SelectFieldProps\n | TabsFieldProps\n | TextFieldProps\n | TextareaFieldProps\n | UploadFieldProps\n\nexport type MappedField = {\n CustomCell?: React.ReactNode\n CustomField?: React.ReactNode\n cellComponentProps: CellComponentProps\n custom?: Record<any, string>\n disableBulkEdit?: boolean\n disableListColumn?: boolean\n disableListFilter?: boolean\n disabled?: boolean\n fieldComponentProps: FieldComponentProps\n fieldIsPresentational: boolean\n isFieldAffectingData: boolean\n isHidden?: boolean\n isSidebar?: boolean\n localized: boolean\n name?: string\n type: keyof FieldTypes\n unique?: boolean\n}\n\nexport type FieldMap = MappedField[]\n\nexport type ActionMap = {\n Edit: {\n [view: string]: React.ReactNode[]\n }\n List: React.ReactNode[]\n}\n\nexport type CollectionComponentMap = {\n AfterList: React.ReactNode\n AfterListTable: React.ReactNode\n BeforeList: React.ReactNode\n BeforeListTable: React.ReactNode\n List: React.ReactNode\n} & ConfigComponentMapBase\n\nexport type GlobalComponentMap = ConfigComponentMapBase\n\nexport type ConfigComponentMapBase = {\n Description: React.ReactNode\n Edit: React.ReactNode\n PreviewButton: React.ReactNode\n PublishButton: React.ReactNode\n SaveButton: React.ReactNode\n SaveDraftButton: React.ReactNode\n Upload: React.ReactNode\n actionsMap: ActionMap\n fieldMap: FieldMap\n isPreviewEnabled: boolean\n}\n\nexport type ComponentMap = {\n Icon: React.ReactNode\n LogoutButton: React.ReactNode\n actions: React.ReactNode[]\n collections: {\n [slug: SanitizedCollectionConfig['slug']]: CollectionComponentMap\n }\n globals: {\n [slug: SanitizedGlobalConfig['slug']]: GlobalComponentMap\n }\n}\n"],"names":[],"mappings":"AAyHA,WAUC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAcxE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AAE7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,iBAAiB,CAkftB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/DocumentInfo/index.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAA8E,MAAM,OAAO,CAAA;AAElG,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAexE,mBAAmB,YAAY,CAAA;AAE/B,eAAO,MAAM,eAAe,QAAO,mBAA0C,CAAA;AA6gB7E,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CACzC;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,GAAG,iBAAiB,CAOtB,CAAA"}
@@ -13,15 +13,17 @@ import { useConfig } from '../Config/index.js';
13
13
  import { useLocale } from '../Locale/index.js';
14
14
  import { usePreferences } from '../Preferences/index.js';
15
15
  import { useTranslation } from '../Translation/index.js';
16
+ import { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js';
16
17
  const Context = /*#__PURE__*/ createContext({});
17
18
  export const useDocumentInfo = ()=>useContext(Context);
18
- export const DocumentInfoProvider = ({ children, ...props })=>{
19
+ const DocumentInfo = ({ children, ...props })=>{
19
20
  const { id, collectionSlug, docPermissions: docPermissionsFromProps, globalSlug, hasPublishPermission: hasPublishPermissionFromProps, hasSavePermission: hasSavePermissionFromProps, initialData: initialDataFromProps, initialState: initialStateFromProps, onLoadError, onSave: onSaveFromProps } = props;
20
21
  const { admin: { dateFormat }, collections, globals, routes: { api }, serverURL } = useConfig();
21
22
  const collectionConfig = collections.find((c)=>c.slug === collectionSlug);
22
23
  const globalConfig = globals.find((g)=>g.slug === globalSlug);
23
24
  const docConfig = collectionConfig || globalConfig;
24
25
  const { i18n } = useTranslation();
26
+ const { uploadEdits } = useUploadEdits();
25
27
  const [documentTitle, setDocumentTitle] = useState(()=>{
26
28
  if (!initialDataFromProps) return '';
27
29
  return formatDocTitle({
@@ -55,13 +57,16 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
55
57
  const versionsConfig = docConfig?.versions;
56
58
  const baseURL = `${serverURL}${api}`;
57
59
  let slug;
60
+ let pluralType;
58
61
  let preferencesKey;
59
62
  if (globalSlug) {
60
63
  slug = globalSlug;
64
+ pluralType = 'globals';
61
65
  preferencesKey = `global-${slug}`;
62
66
  }
63
67
  if (collectionSlug) {
64
68
  slug = collectionSlug;
69
+ pluralType = 'collections';
65
70
  if (id) {
66
71
  preferencesKey = `collection-${slug}-${id}`;
67
72
  }
@@ -417,9 +422,29 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
417
422
  globalSlug,
418
423
  data
419
424
  ]);
425
+ const action = React.useMemo(()=>{
426
+ const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`;
427
+ const params = {
428
+ depth: 0,
429
+ 'fallback-locale': 'null',
430
+ locale,
431
+ uploadEdits: uploadEdits || undefined
432
+ };
433
+ return `${docURL}${qs.stringify(params, {
434
+ addQueryPrefix: true
435
+ })}`;
436
+ }, [
437
+ baseURL,
438
+ locale,
439
+ pluralType,
440
+ id,
441
+ slug,
442
+ uploadEdits
443
+ ]);
420
444
  if (isError) notFound();
421
445
  const value = {
422
446
  ...props,
447
+ action,
423
448
  docConfig,
424
449
  docPermissions,
425
450
  getDocPermissions,
@@ -444,5 +469,12 @@ export const DocumentInfoProvider = ({ children, ...props })=>{
444
469
  children: children
445
470
  });
446
471
  };
472
+ export const DocumentInfoProvider = (props)=>{
473
+ return /*#__PURE__*/ _jsx(UploadEditsProvider, {
474
+ children: /*#__PURE__*/ _jsx(DocumentInfo, {
475
+ ...props
476
+ })
477
+ });
478
+ };
447
479
 
448
480
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nexport const DocumentInfoProvider: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) return ''\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const hasInitializedDocPermissions = useRef(false)\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const newIsEditing = getIsEditing({ id: data?.id, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${data.id}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n data: {\n ...(data || {}),\n _status: 'published',\n },\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) prevLocale.current = locale\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n\n setData(reduceFieldsToValues(result, true))\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n abortController.abort()\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n const loadDocPermissions = async () => {\n const docPermissions: DocumentPermissions = docPermissionsFromProps\n const hasSavePermission: boolean = hasSavePermissionFromProps\n const hasPublishPermission: boolean = hasPublishPermissionFromProps\n\n if (\n !docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null\n ) {\n await getDocPermissions(data)\n }\n }\n\n if (!hasInitializedDocPermissions.current && data && (collectionSlug || globalSlug)) {\n hasInitializedDocPermissions.current = true\n void loadDocPermissions()\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n ])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n"],"names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","Context","useDocumentInfo","DocumentInfoProvider","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","hasInitializedDocPermissions","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","versionsConfig","baseURL","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","newIsEditing","docAccessURL","publishedAccessJSON","body","JSON","method","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","loadDocPermissions","value","title","Provider"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/providers/DocumentInfo/index.tsx"],"sourcesContent":["'use client'\nimport type {\n Data,\n DocumentPermissions,\n DocumentPreferences,\n FormState,\n PaginatedDocs,\n TypeWithID,\n TypeWithTimestamps,\n TypeWithVersion,\n Where,\n} from 'payload'\n\nimport { notFound } from 'next/navigation.js'\nimport { reduceFieldsToValues } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentInfoContext, DocumentInfoProps } from './types.js'\n\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport { getFormState } from '../../utilities/getFormState.js'\nimport { hasSavePermission as getHasSavePermission } from '../../utilities/hasSavePermission.js'\nimport { isEditing as getIsEditing } from '../../utilities/isEditing.js'\nimport { useAuth } from '../Auth/index.js'\nimport { useConfig } from '../Config/index.js'\nimport { useLocale } from '../Locale/index.js'\nimport { usePreferences } from '../Preferences/index.js'\nimport { useTranslation } from '../Translation/index.js'\nimport { UploadEditsProvider, useUploadEdits } from '../UploadEdits/index.js'\n\nconst Context = createContext({} as DocumentInfoContext)\n\nexport type * from './types.js'\n\nexport const useDocumentInfo = (): DocumentInfoContext => useContext(Context)\n\nconst DocumentInfo: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = ({ children, ...props }) => {\n const {\n id,\n collectionSlug,\n docPermissions: docPermissionsFromProps,\n globalSlug,\n hasPublishPermission: hasPublishPermissionFromProps,\n hasSavePermission: hasSavePermissionFromProps,\n initialData: initialDataFromProps,\n initialState: initialStateFromProps,\n onLoadError,\n onSave: onSaveFromProps,\n } = props\n\n const {\n admin: { dateFormat },\n collections,\n globals,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const collectionConfig = collections.find((c) => c.slug === collectionSlug)\n const globalConfig = globals.find((g) => g.slug === globalSlug)\n const docConfig = collectionConfig || globalConfig\n\n const { i18n } = useTranslation()\n\n const { uploadEdits } = useUploadEdits()\n\n const [documentTitle, setDocumentTitle] = useState(() => {\n if (!initialDataFromProps) return ''\n\n return formatDocTitle({\n collectionConfig,\n data: { ...initialDataFromProps, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n })\n })\n\n const [isLoading, setIsLoading] = useState(false)\n const [isError, setIsError] = useState(false)\n const [data, setData] = useState<Data>(initialDataFromProps)\n const [initialState, setInitialState] = useState<FormState>(initialStateFromProps)\n const [publishedDoc, setPublishedDoc] = useState<TypeWithID & TypeWithTimestamps>(null)\n const [versions, setVersions] = useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n const [docPermissions, setDocPermissions] = useState<DocumentPermissions>(docPermissionsFromProps)\n const [hasSavePermission, setHasSavePermission] = useState<boolean>(hasSavePermissionFromProps)\n const [hasPublishPermission, setHasPublishPermission] = useState<boolean>(\n hasPublishPermissionFromProps,\n )\n const isInitializing = initialState === undefined || data === undefined\n const hasInitializedDocPermissions = useRef(false)\n const [unpublishedVersions, setUnpublishedVersions] =\n useState<PaginatedDocs<TypeWithVersion<any>>>(null)\n\n const { getPreference, setPreference } = usePreferences()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const versionsConfig = docConfig?.versions\n\n const baseURL = `${serverURL}${api}`\n let slug: string\n let pluralType: 'collections' | 'globals'\n let preferencesKey: string\n\n if (globalSlug) {\n slug = globalSlug\n pluralType = 'globals'\n preferencesKey = `global-${slug}`\n }\n\n if (collectionSlug) {\n slug = collectionSlug\n pluralType = 'collections'\n\n if (id) {\n preferencesKey = `collection-${slug}-${id}`\n }\n }\n\n const isEditing = getIsEditing({ id, collectionSlug, globalSlug })\n const operation = isEditing ? 'update' : 'create'\n const shouldFetchVersions = Boolean(versionsConfig && docPermissions?.readVersions?.permission)\n\n const getVersions = useCallback(async () => {\n let versionFetchURL\n let publishedFetchURL\n let unpublishedVersionJSON = null\n let versionJSON = null\n let shouldFetch = true\n\n const versionParams = {\n depth: 0,\n where: {\n and: [],\n },\n }\n\n const publishedVersionParams: { depth: number; locale: string; where: Where } = {\n depth: 0,\n locale: locale || undefined,\n where: {\n and: [\n {\n or: [\n {\n _status: {\n equals: 'published',\n },\n },\n {\n _status: {\n exists: false,\n },\n },\n ],\n },\n ],\n },\n }\n\n if (globalSlug) {\n versionFetchURL = `${baseURL}/globals/${globalSlug}/versions`\n publishedFetchURL = `${baseURL}/globals/${globalSlug}?${qs.stringify(publishedVersionParams)}`\n }\n\n if (collectionSlug) {\n versionFetchURL = `${baseURL}/${collectionSlug}/versions`\n\n publishedVersionParams.where.and.push({\n id: {\n equals: id,\n },\n })\n\n publishedFetchURL = `${baseURL}/${collectionSlug}?${qs.stringify(publishedVersionParams)}`\n\n if (!id) {\n shouldFetch = false\n }\n\n versionParams.where.and.push({\n parent: {\n equals: id,\n },\n })\n }\n\n if (shouldFetch) {\n let publishedJSON\n\n if (versionsConfig?.drafts) {\n publishedJSON = await fetch(publishedFetchURL, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (collectionSlug) {\n publishedJSON = publishedJSON?.docs?.[0]\n }\n }\n\n if (shouldFetchVersions) {\n versionJSON = await fetch(`${versionFetchURL}?${qs.stringify(versionParams)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n }).then((res) => res.json())\n\n if (publishedJSON?.updatedAt) {\n const newerVersionParams = {\n ...versionParams,\n where: {\n ...versionParams.where,\n and: [\n ...versionParams.where.and,\n {\n updatedAt: {\n greater_than: publishedJSON?.updatedAt,\n },\n },\n ],\n },\n }\n\n // Get any newer versions available\n const newerVersionRes = await fetch(\n `${versionFetchURL}?${qs.stringify(newerVersionParams)}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n },\n )\n\n if (newerVersionRes.status === 200) {\n unpublishedVersionJSON = await newerVersionRes.json()\n }\n }\n }\n\n setPublishedDoc(publishedJSON)\n setVersions(versionJSON)\n setUnpublishedVersions(unpublishedVersionJSON)\n }\n }, [i18n, globalSlug, collectionSlug, id, baseURL, locale, versionsConfig, shouldFetchVersions])\n\n const getDocPermissions = React.useCallback(\n async (data: Data) => {\n const params = {\n locale: locale || undefined,\n }\n\n const newIsEditing = getIsEditing({ id: data?.id, collectionSlug, globalSlug })\n\n if (newIsEditing) {\n const docAccessURL = collectionSlug\n ? `/${collectionSlug}/access/${data.id}`\n : globalSlug\n ? `/globals/${globalSlug}/access`\n : null\n\n if (docAccessURL) {\n const res = await fetch(`${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n const json: DocumentPermissions = await res.json()\n const publishedAccessJSON = await fetch(\n `${serverURL}${api}${docAccessURL}?${qs.stringify(params)}`,\n {\n body: JSON.stringify({\n data: {\n ...(data || {}),\n _status: 'published',\n },\n }),\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n method: 'POST',\n },\n ).then((res) => res.json())\n\n setDocPermissions(json)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: json,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n\n setHasPublishPermission(publishedAccessJSON?.update?.permission)\n }\n } else {\n // when creating new documents, there is no permissions saved for this document yet\n // use the generic entity permissions instead\n const newDocPermissions = collectionSlug\n ? permissions?.collections?.[collectionSlug]\n : permissions?.globals?.[globalSlug]\n\n setDocPermissions(newDocPermissions)\n\n setHasSavePermission(\n getHasSavePermission({\n collectionSlug,\n docPermissions: newDocPermissions,\n globalSlug,\n isEditing: newIsEditing,\n }),\n )\n }\n },\n [serverURL, api, permissions, i18n.language, locale, collectionSlug, globalSlug],\n )\n\n const getDocPreferences = useCallback(() => {\n return getPreference<DocumentPreferences>(preferencesKey)\n }, [getPreference, preferencesKey])\n\n const setDocFieldPreferences = useCallback<DocumentInfoContext['setDocFieldPreferences']>(\n async (path, fieldPreferences) => {\n const allPreferences = await getDocPreferences()\n\n if (preferencesKey) {\n try {\n await setPreference(preferencesKey, {\n ...allPreferences,\n fields: {\n ...(allPreferences?.fields || {}),\n [path]: {\n ...allPreferences?.fields?.[path],\n ...fieldPreferences,\n },\n },\n })\n } catch (e) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n },\n [setPreference, preferencesKey, getDocPreferences],\n )\n\n const onSave = React.useCallback<DocumentInfoContext['onSave']>(\n async (json) => {\n if (typeof onSaveFromProps === 'function') {\n void onSaveFromProps(json)\n }\n\n const docPreferences = await getDocPreferences()\n\n const newData = collectionSlug ? json.doc : json.result\n\n const newState = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n data: newData,\n docPreferences,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n serverURL,\n })\n\n setInitialState(newState)\n setData(newData)\n await getDocPermissions(newData)\n },\n [\n api,\n collectionSlug,\n getDocPreferences,\n globalSlug,\n id,\n operation,\n locale,\n onSaveFromProps,\n serverURL,\n getDocPermissions,\n ],\n )\n\n useEffect(() => {\n const abortController = new AbortController()\n const localeChanged = locale !== prevLocale.current\n\n if (\n initialStateFromProps === undefined ||\n initialDataFromProps === undefined ||\n localeChanged\n ) {\n if (localeChanged) prevLocale.current = locale\n\n const getInitialState = async () => {\n setIsError(false)\n setIsLoading(true)\n\n try {\n const result = await getFormState({\n apiRoute: api,\n body: {\n id,\n collectionSlug,\n globalSlug,\n locale,\n operation,\n schemaPath: collectionSlug || globalSlug,\n },\n onError: onLoadError,\n serverURL,\n signal: abortController.signal,\n })\n\n setData(reduceFieldsToValues(result, true))\n setInitialState(result)\n } catch (err) {\n if (!abortController.signal.aborted) {\n if (typeof onLoadError === 'function') {\n void onLoadError()\n }\n setIsError(true)\n setIsLoading(false)\n }\n }\n setIsLoading(false)\n }\n\n void getInitialState()\n }\n\n return () => {\n abortController.abort()\n }\n }, [\n api,\n operation,\n collectionSlug,\n serverURL,\n id,\n globalSlug,\n locale,\n onLoadError,\n initialDataFromProps,\n initialStateFromProps,\n ])\n\n useEffect(() => {\n void getVersions()\n }, [getVersions])\n\n useEffect(() => {\n setDocumentTitle(\n formatDocTitle({\n collectionConfig,\n data: { ...data, id },\n dateFormat,\n fallback: id?.toString(),\n globalConfig,\n i18n,\n }),\n )\n }, [collectionConfig, data, dateFormat, i18n, id, globalConfig])\n\n useEffect(() => {\n const loadDocPermissions = async () => {\n const docPermissions: DocumentPermissions = docPermissionsFromProps\n const hasSavePermission: boolean = hasSavePermissionFromProps\n const hasPublishPermission: boolean = hasPublishPermissionFromProps\n\n if (\n !docPermissions ||\n hasSavePermission === undefined ||\n hasSavePermission === null ||\n hasPublishPermission === undefined ||\n hasPublishPermission === null\n ) {\n await getDocPermissions(data)\n }\n }\n\n if (!hasInitializedDocPermissions.current && data && (collectionSlug || globalSlug)) {\n hasInitializedDocPermissions.current = true\n void loadDocPermissions()\n }\n }, [\n getDocPermissions,\n docPermissionsFromProps,\n hasSavePermissionFromProps,\n hasPublishPermissionFromProps,\n setDocPermissions,\n collectionSlug,\n globalSlug,\n data,\n ])\n\n const action: string = React.useMemo(() => {\n const docURL = `${baseURL}${pluralType === 'globals' ? `/globals` : ''}/${slug}${id ? `/${id}` : ''}`\n const params = {\n depth: 0,\n 'fallback-locale': 'null',\n locale,\n uploadEdits: uploadEdits || undefined,\n }\n\n return `${docURL}${qs.stringify(params, {\n addQueryPrefix: true,\n })}`\n }, [baseURL, locale, pluralType, id, slug, uploadEdits])\n\n if (isError) notFound()\n\n const value: DocumentInfoContext = {\n ...props,\n action,\n docConfig,\n docPermissions,\n getDocPermissions,\n getDocPreferences,\n getVersions,\n hasPublishPermission,\n hasSavePermission,\n initialData: data,\n initialState,\n isInitializing,\n isLoading,\n onSave,\n publishedDoc,\n setDocFieldPreferences,\n setDocumentTitle,\n title: documentTitle,\n unpublishedVersions,\n versions,\n }\n\n return <Context.Provider value={value}>{children}</Context.Provider>\n}\n\nexport const DocumentInfoProvider: React.FC<\n {\n children: React.ReactNode\n } & DocumentInfoProps\n> = (props) => {\n return (\n <UploadEditsProvider>\n <DocumentInfo {...props} />\n </UploadEditsProvider>\n )\n}\n"],"names":["notFound","reduceFieldsToValues","qs","React","createContext","useCallback","useContext","useEffect","useRef","useState","formatDocTitle","getFormState","hasSavePermission","getHasSavePermission","isEditing","getIsEditing","useAuth","useConfig","useLocale","usePreferences","useTranslation","UploadEditsProvider","useUploadEdits","Context","useDocumentInfo","DocumentInfo","children","props","id","collectionSlug","docPermissions","docPermissionsFromProps","globalSlug","hasPublishPermission","hasPublishPermissionFromProps","hasSavePermissionFromProps","initialData","initialDataFromProps","initialState","initialStateFromProps","onLoadError","onSave","onSaveFromProps","admin","dateFormat","collections","globals","routes","api","serverURL","collectionConfig","find","c","slug","globalConfig","g","docConfig","i18n","uploadEdits","documentTitle","setDocumentTitle","data","fallback","toString","isLoading","setIsLoading","isError","setIsError","setData","setInitialState","publishedDoc","setPublishedDoc","versions","setVersions","setDocPermissions","setHasSavePermission","setHasPublishPermission","isInitializing","undefined","hasInitializedDocPermissions","unpublishedVersions","setUnpublishedVersions","getPreference","setPreference","permissions","code","locale","prevLocale","versionsConfig","baseURL","pluralType","preferencesKey","operation","shouldFetchVersions","Boolean","readVersions","permission","getVersions","versionFetchURL","publishedFetchURL","unpublishedVersionJSON","versionJSON","shouldFetch","versionParams","depth","where","and","publishedVersionParams","or","_status","equals","exists","stringify","push","parent","publishedJSON","drafts","fetch","credentials","headers","language","then","res","json","docs","updatedAt","newerVersionParams","greater_than","newerVersionRes","status","getDocPermissions","params","newIsEditing","docAccessURL","publishedAccessJSON","body","JSON","method","update","newDocPermissions","getDocPreferences","setDocFieldPreferences","path","fieldPreferences","allPreferences","fields","e","console","error","docPreferences","newData","doc","result","newState","apiRoute","schemaPath","abortController","AbortController","localeChanged","current","getInitialState","onError","signal","err","aborted","abort","loadDocPermissions","action","useMemo","docURL","addQueryPrefix","value","title","Provider","DocumentInfoProvider"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { UploadEdits } from 'payload';
2
+ import React from 'react';
3
+ export type UploadEditsContext = {
4
+ resetUploadEdits: () => void;
5
+ updateUploadEdits: (edits: UploadEdits) => void;
6
+ uploadEdits: UploadEdits;
7
+ };
8
+ export declare const UploadEditsProvider: ({ children }: {
9
+ children: any;
10
+ }) => React.JSX.Element;
11
+ export declare const useUploadEdits: () => UploadEditsContext;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/UploadEdits/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1C,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,iBAAiB,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;IAC/C,WAAW,EAAE,WAAW,CAAA;CACzB,CAAA;AAQD,eAAO,MAAM,mBAAmB;;uBAmB/B,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,kBAA+C,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ const Context = /*#__PURE__*/ React.createContext({
4
+ resetUploadEdits: undefined,
5
+ updateUploadEdits: undefined,
6
+ uploadEdits: undefined
7
+ });
8
+ export const UploadEditsProvider = ({ children })=>{
9
+ const [uploadEdits, setUploadEdits] = React.useState(undefined);
10
+ const resetUploadEdits = ()=>{
11
+ setUploadEdits({});
12
+ };
13
+ const updateUploadEdits = (edits)=>{
14
+ setUploadEdits((prevEdits)=>({
15
+ ...prevEdits || {},
16
+ ...edits || {}
17
+ }));
18
+ };
19
+ return /*#__PURE__*/ _jsx(Context.Provider, {
20
+ value: {
21
+ resetUploadEdits,
22
+ updateUploadEdits,
23
+ uploadEdits
24
+ },
25
+ children: children
26
+ });
27
+ };
28
+ export const useUploadEdits = ()=>React.useContext(Context);
29
+
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/providers/UploadEdits/index.tsx"],"sourcesContent":["import type { UploadEdits } from 'payload'\n\nimport React from 'react'\n\nexport type UploadEditsContext = {\n resetUploadEdits: () => void\n updateUploadEdits: (edits: UploadEdits) => void\n uploadEdits: UploadEdits\n}\n\nconst Context = React.createContext<UploadEditsContext>({\n resetUploadEdits: undefined,\n updateUploadEdits: undefined,\n uploadEdits: undefined,\n})\n\nexport const UploadEditsProvider = ({ children }) => {\n const [uploadEdits, setUploadEdits] = React.useState<UploadEdits>(undefined)\n\n const resetUploadEdits = () => {\n setUploadEdits({})\n }\n\n const updateUploadEdits = (edits: UploadEdits) => {\n setUploadEdits((prevEdits) => ({\n ...(prevEdits || {}),\n ...(edits || {}),\n }))\n }\n\n return (\n <Context.Provider value={{ resetUploadEdits, updateUploadEdits, uploadEdits }}>\n {children}\n </Context.Provider>\n )\n}\n\nexport const useUploadEdits = (): UploadEditsContext => React.useContext(Context)\n"],"names":["React","Context","createContext","resetUploadEdits","undefined","updateUploadEdits","uploadEdits","UploadEditsProvider","children","setUploadEdits","useState","edits","prevEdits","Provider","value","useUploadEdits","useContext"],"mappings":";AAEA,OAAOA,WAAW,QAAO;AAQzB,MAAMC,wBAAUD,MAAME,aAAa,CAAqB;IACtDC,kBAAkBC;IAClBC,mBAAmBD;IACnBE,aAAaF;AACf;AAEA,OAAO,MAAMG,sBAAsB,CAAC,EAAEC,QAAQ,EAAE;IAC9C,MAAM,CAACF,aAAaG,eAAe,GAAGT,MAAMU,QAAQ,CAAcN;IAElE,MAAMD,mBAAmB;QACvBM,eAAe,CAAC;IAClB;IAEA,MAAMJ,oBAAoB,CAACM;QACzBF,eAAe,CAACG,YAAe,CAAA;gBAC7B,GAAIA,aAAa,CAAC,CAAC;gBACnB,GAAID,SAAS,CAAC,CAAC;YACjB,CAAA;IACF;IAEA,qBACE,KAACV,QAAQY,QAAQ;QAACC,OAAO;YAAEX;YAAkBE;YAAmBC;QAAY;kBACzEE;;AAGP,EAAC;AAED,OAAO,MAAMO,iBAAiB,IAA0Bf,MAAMgB,UAAU,CAACf,SAAQ"}