@payloadcms/ui 3.0.0-alpha.46 → 3.0.0-alpha.48

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 (74) hide show
  1. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  2. package/dist/elements/DocumentDrawer/DrawerContent.js +22 -14
  3. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  4. package/dist/elements/DocumentDrawer/types.d.ts +3 -1
  5. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  6. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  7. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  8. package/dist/elements/DocumentHeader/index.js +2 -3
  9. package/dist/elements/DocumentHeader/index.js.map +1 -1
  10. package/dist/elements/RenderTitle/index.d.ts +1 -2
  11. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  12. package/dist/elements/RenderTitle/index.js +2 -3
  13. package/dist/elements/RenderTitle/index.js.map +1 -1
  14. package/dist/elements/RenderTitle/types.d.ts +1 -0
  15. package/dist/elements/RenderTitle/types.d.ts.map +1 -1
  16. package/dist/elements/RenderTitle/types.js.map +1 -1
  17. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  18. package/dist/elements/ThumbnailCard/index.js +8 -4
  19. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  20. package/dist/elements/ThumbnailCard/types.d.ts +4 -2
  21. package/dist/elements/ThumbnailCard/types.d.ts.map +1 -1
  22. package/dist/elements/ThumbnailCard/types.js.map +1 -1
  23. package/dist/forms/Form/index.d.ts.map +1 -1
  24. package/dist/forms/Form/index.js +5 -8
  25. package/dist/forms/Form/index.js.map +1 -1
  26. package/dist/forms/Form/mergeServerFormState.d.ts +7 -0
  27. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  28. package/dist/forms/Form/mergeServerFormState.js +7 -1
  29. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  30. package/dist/forms/Label/index.d.ts.map +1 -1
  31. package/dist/forms/Label/index.js +7 -1
  32. package/dist/forms/Label/index.js.map +1 -1
  33. package/dist/forms/RenderFields/RenderField.js +2 -2
  34. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  35. package/dist/forms/fields/Array/index.d.ts.map +1 -1
  36. package/dist/forms/fields/Array/index.js +0 -1
  37. package/dist/forms/fields/Array/index.js.map +1 -1
  38. package/dist/forms/fields/Blocks/index.d.ts.map +1 -1
  39. package/dist/forms/fields/Blocks/index.js +0 -1
  40. package/dist/forms/fields/Blocks/index.js.map +1 -1
  41. package/dist/forms/fields/Checkbox/index.d.ts.map +1 -1
  42. package/dist/forms/fields/Checkbox/index.js +2 -1
  43. package/dist/forms/fields/Checkbox/index.js.map +1 -1
  44. package/dist/forms/fields/JSON/index.d.ts.map +1 -1
  45. package/dist/forms/fields/JSON/index.js +4 -2
  46. package/dist/forms/fields/JSON/index.js.map +1 -1
  47. package/dist/forms/fields/Relationship/optionsReducer.d.ts.map +1 -1
  48. package/dist/forms/fields/Relationship/optionsReducer.js +12 -8
  49. package/dist/forms/fields/Relationship/optionsReducer.js.map +1 -1
  50. package/dist/forms/fields/Tabs/index.d.ts.map +1 -1
  51. package/dist/forms/fields/Tabs/index.js +4 -5
  52. package/dist/forms/fields/Tabs/index.js.map +1 -1
  53. package/dist/forms/fields/Tabs/types.d.ts +2 -0
  54. package/dist/forms/fields/Tabs/types.d.ts.map +1 -1
  55. package/dist/forms/fields/Tabs/types.js.map +1 -1
  56. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  57. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js +11 -1
  58. package/dist/forms/utilities/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  59. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  60. package/dist/hooks/usePayloadAPI.js +12 -2
  61. package/dist/hooks/usePayloadAPI.js.map +1 -1
  62. package/dist/prod/styles.css +1 -1
  63. package/dist/utilities/buildComponentMap/mapFields.d.ts.map +1 -1
  64. package/dist/utilities/buildComponentMap/mapFields.js +6 -9
  65. package/dist/utilities/buildComponentMap/mapFields.js.map +1 -1
  66. package/dist/utilities/formatDocTitle.d.ts +7 -7
  67. package/dist/utilities/formatDocTitle.d.ts.map +1 -1
  68. package/dist/utilities/formatDocTitle.js +21 -16
  69. package/dist/utilities/formatDocTitle.js.map +1 -1
  70. package/dist/utilities/generateFieldID.d.ts +2 -0
  71. package/dist/utilities/generateFieldID.d.ts.map +1 -0
  72. package/dist/utilities/generateFieldID.js +5 -0
  73. package/dist/utilities/generateFieldID.js.map +1 -0
  74. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"mapFields.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildComponentMap/mapFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAoB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,KAAK,EAAa,KAAK,EAAE,aAAa,EAAc,eAAe,EAAE,MAAM,eAAe,CAAA;AAGjG,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,KAAK,EAAE,QAAQ,EAAwC,MAAM,YAAY,CAAA;AAUhF,eAAO,MAAM,SAAS;kBACN,MAAM,EAAE,CAAC,GAAG,CAAC;YACnB,eAAe;iBACV,aAAa,EAAE;qBACX,KAAK,KAAK,OAAO;iBACrB,MAAM;kBACL,oBAAoB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC;eAC9D,OAAO;cA2VnB,CAAA"}
1
+ {"version":3,"file":"mapFields.d.ts","sourceRoot":"","sources":["../../../src/utilities/buildComponentMap/mapFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAoB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC5F,OAAO,KAAK,EAAa,KAAK,EAAE,aAAa,EAAc,eAAe,EAAE,MAAM,eAAe,CAAA;AAGjG,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,KAAK,EAAE,QAAQ,EAAwC,MAAM,YAAY,CAAA;AAUhF,eAAO,MAAM,SAAS;kBACN,MAAM,EAAE,CAAC,GAAG,CAAC;YACnB,eAAe;iBACV,aAAa,EAAE;qBACX,KAAK,KAAK,OAAO;iBACrB,MAAM;kBACL,oBAAoB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC;eAC9D,OAAO;cAwVnB,CAAA"}
@@ -21,8 +21,6 @@ export const mapFields = (args)=>{
21
21
  const path = `${parentPath ? `${parentPath}.` : ''}${field.path || (isFieldAffectingData && 'name' in field ? field.name : '')}`;
22
22
  const fieldPermissions = isFieldAffectingData ? permissions?.[field.name] : undefined;
23
23
  const labelProps = {
24
- htmlFor: 'TODO',
25
- // TODO: fix types
26
24
  // @ts-expect-error-next-line
27
25
  label: 'label' in field ? field.label : null,
28
26
  required: 'required' in field ? field.required : undefined
@@ -104,16 +102,13 @@ export const mapFields = (args)=>{
104
102
  DefaultComponent: DefaultLabel,
105
103
  componentProps: labelProps
106
104
  }),
107
- className: 'admin' in field && 'className' in field.admin ? field?.admin?.className : undefined,
108
- fieldMap: nestedFieldMap,
109
- style: 'admin' in field && 'style' in field.admin ? field?.admin?.style : undefined,
110
- width: 'admin' in field && 'width' in field.admin ? field?.admin?.width : undefined,
111
- // TODO: fix types
112
- // label: 'label' in field ? field.label : undefined,
113
105
  blocks,
106
+ className: 'admin' in field && 'className' in field.admin ? field?.admin?.className : undefined,
114
107
  date: 'admin' in field && 'date' in field.admin ? field.admin.date : undefined,
108
+ fieldMap: nestedFieldMap,
115
109
  fieldPermissions,
116
110
  hasMany: 'hasMany' in field ? field.hasMany : undefined,
111
+ label: 'label' in field && typeof field.label === 'string' ? field.label : undefined,
117
112
  max: 'max' in field ? field.max : undefined,
118
113
  maxRows: 'maxRows' in field ? field.maxRows : undefined,
119
114
  min: 'min' in field ? field.min : undefined,
@@ -122,7 +117,9 @@ export const mapFields = (args)=>{
122
117
  relationTo: 'relationTo' in field ? field.relationTo : undefined,
123
118
  richTextComponentMap: undefined,
124
119
  step: 'admin' in field && 'step' in field.admin ? field.admin.step : undefined,
125
- tabs
120
+ style: 'admin' in field && 'style' in field.admin ? field?.admin?.style : undefined,
121
+ tabs,
122
+ width: 'admin' in field && 'width' in field.admin ? field?.admin?.width : undefined
126
123
  };
127
124
  let Field = /*#__PURE__*/ React.createElement(FieldComponent, fieldComponentProps);
128
125
  const cellComponentProps = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utilities/buildComponentMap/mapFields.tsx"],"sourcesContent":["import type { CollectionPermission, FieldPermissions, GlobalPermission } from 'payload/auth'\nimport type { CellProps, Field, FieldWithPath, LabelProps, SanitizedConfig } from 'payload/types'\n\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/types'\nimport React, { Fragment } from 'react'\n\nimport type { Props as FieldDescription } from '../../forms/FieldDescription/types.js'\nimport type { FormFieldBase } from '../../forms/fields/shared.js'\nimport type { FieldMap, MappedField, MappedTab, ReducedBlock } from './types.js'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { SortColumn } from '../../elements/SortColumn/index.js'\nimport DefaultError from '../../forms/Error/index.js'\nimport DefaultDescription from '../../forms/FieldDescription/index.js'\nimport DefaultLabel from '../../forms/Label/index.js'\nimport HiddenInput from '../../forms/fields/HiddenInput/index.js'\nimport { fieldTypes } from '../../forms/fields/index.js'\n\nexport const mapFields = (args: {\n DefaultCell?: React.FC<any>\n config: SanitizedConfig\n fieldSchema: FieldWithPath[]\n filter?: (field: Field) => boolean\n parentPath?: string\n permissions?: CollectionPermission['fields'] | GlobalPermission['fields']\n readOnly?: boolean\n}): FieldMap => {\n const {\n DefaultCell,\n config,\n fieldSchema,\n filter,\n parentPath,\n permissions,\n readOnly: readOnlyOverride,\n } = args\n\n const result: FieldMap = fieldSchema.reduce((acc, field): FieldMap => {\n const fieldIsPresentational = fieldIsPresentationalOnly(field)\n let FieldComponent = field.admin?.components?.Field || fieldTypes[field.type]\n\n if (fieldIsPresentational || (!field?.hidden && field?.admin?.disabled !== true)) {\n if ((filter && typeof filter === 'function' && filter(field)) || !filter) {\n if (field.admin && 'hidden' in field.admin && field?.admin?.hidden) {\n FieldComponent = fieldTypes.hidden\n }\n\n const isFieldAffectingData = fieldAffectsData(field)\n\n const path = `${parentPath ? `${parentPath}.` : ''}${\n field.path || (isFieldAffectingData && 'name' in field ? field.name : '')\n }`\n\n const fieldPermissions = isFieldAffectingData ? permissions?.[field.name] : undefined\n\n const labelProps: LabelProps = {\n htmlFor: 'TODO',\n // TODO: fix types\n // @ts-expect-error-next-line\n label: 'label' in field ? field.label : null,\n required: 'required' in field ? field.required : undefined,\n }\n\n const descriptionProps: FieldDescription = {\n description:\n field.admin &&\n 'description' in field.admin &&\n typeof field.admin?.description === 'string'\n ? field.admin.description\n : undefined,\n }\n\n const nestedFieldMap =\n 'fields' in field &&\n field.fields &&\n Array.isArray(field.fields) &&\n mapFields({\n DefaultCell,\n config,\n fieldSchema: field.fields,\n filter,\n parentPath: path,\n permissions,\n readOnly: readOnlyOverride,\n })\n\n // `tabs` fields require a field map of each of its tab's nested fields\n const tabs =\n 'tabs' in field &&\n field.tabs &&\n Array.isArray(field.tabs) &&\n field.tabs.map((tab) => {\n const tabFieldMap = mapFields({\n DefaultCell,\n config,\n fieldSchema: tab.fields,\n filter,\n parentPath: path,\n permissions,\n readOnly: readOnlyOverride,\n })\n\n const reducedTab: MappedTab = {\n name: 'name' in tab ? tab.name : undefined,\n label: tab.label,\n subfields: tabFieldMap,\n }\n\n return reducedTab\n })\n\n // `blocks` fields require a field map of each of its block's nested fields\n const blocks =\n 'blocks' in field &&\n field.blocks &&\n Array.isArray(field.blocks) &&\n field.blocks.map((block) => {\n const blockFieldMap = mapFields({\n DefaultCell,\n config,\n fieldSchema: block.fields,\n filter,\n parentPath: `${path}.${block.slug}`,\n permissions,\n readOnly: readOnlyOverride,\n })\n\n const reducedBlock: ReducedBlock = {\n slug: block.slug,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n subfields: blockFieldMap,\n }\n\n return reducedBlock\n })\n\n // TODO: these types can get cleaned up\n // i.e. not all fields have `maxRows` or `min` or `max`\n // but this is labor intensive and requires consuming components to be updated\n const fieldComponentProps: FormFieldBase = {\n AfterInput: 'admin' in field &&\n 'components' in field.admin &&\n 'afterInput' in field.admin.components &&\n Array.isArray(field.admin?.components?.afterInput) && (\n <Fragment>\n {field.admin.components.afterInput.map((Component, i) => (\n <Component key={i} />\n ))}\n </Fragment>\n ),\n BeforeInput: 'admin' in field &&\n field.admin?.components &&\n 'beforeInput' in field.admin.components &&\n Array.isArray(field.admin.components.beforeInput) && (\n <Fragment>\n {field.admin.components.beforeInput.map((Component, i) => (\n <Component key={i} />\n ))}\n </Fragment>\n ),\n Description: (\n <RenderCustomComponent\n CustomComponent={\n field.admin &&\n 'description' in field.admin &&\n field.admin.description &&\n typeof field.admin.description === 'function' &&\n (field.admin.description as React.FC<any>)\n }\n DefaultComponent={DefaultDescription}\n componentProps={descriptionProps}\n />\n ),\n Error: (\n <RenderCustomComponent\n CustomComponent={\n 'admin' in field &&\n field.admin.components &&\n 'Error' in field.admin.components &&\n field.admin?.components?.Error\n }\n DefaultComponent={DefaultError}\n componentProps={{ path }}\n />\n ),\n Label: (\n <RenderCustomComponent\n CustomComponent={\n 'admin' in field &&\n field.admin?.components &&\n 'Label' in field.admin.components &&\n field.admin?.components?.Label\n }\n DefaultComponent={DefaultLabel}\n componentProps={labelProps}\n />\n ),\n className:\n 'admin' in field && 'className' in field.admin ? field?.admin?.className : undefined,\n fieldMap: nestedFieldMap,\n style: 'admin' in field && 'style' in field.admin ? field?.admin?.style : undefined,\n width: 'admin' in field && 'width' in field.admin ? field?.admin?.width : undefined,\n // TODO: fix types\n // label: 'label' in field ? field.label : undefined,\n blocks,\n date: 'admin' in field && 'date' in field.admin ? field.admin.date : undefined,\n fieldPermissions,\n hasMany: 'hasMany' in field ? field.hasMany : undefined,\n max: 'max' in field ? field.max : undefined,\n maxRows: 'maxRows' in field ? field.maxRows : undefined,\n min: 'min' in field ? field.min : undefined,\n options: 'options' in field ? field.options : undefined,\n readOnly:\n 'admin' in field && 'readOnly' in field.admin ? field.admin.readOnly : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n richTextComponentMap: undefined,\n step: 'admin' in field && 'step' in field.admin ? field.admin.step : undefined,\n tabs,\n }\n\n let Field = <FieldComponent {...fieldComponentProps} />\n\n const cellComponentProps: CellProps = {\n name: 'name' in field ? field.name : undefined,\n blocks:\n 'blocks' in field &&\n field.blocks.map((b) => ({\n slug: b.slug,\n labels: b.labels,\n })),\n dateDisplayFormat:\n 'admin' in field && 'date' in field.admin ? field.admin.date.displayFormat : undefined,\n fieldType: field.type,\n isFieldAffectingData,\n label:\n 'label' in field && field.label && typeof field.label !== 'function'\n ? field.label\n : undefined,\n labels: 'labels' in field ? field.labels : undefined,\n options: 'options' in field ? field.options : undefined,\n }\n\n /**\n * Handle RichText Field Components, Cell Components, and component maps\n */\n if (field.type === 'richText' && 'editor' in field) {\n let RichTextFieldComponent\n let RichTextCellComponent\n\n const isLazyField = 'LazyFieldComponent' in field.editor\n const isLazyCell = 'LazyCellComponent' in field.editor\n\n if (isLazyField) {\n RichTextFieldComponent = React.lazy(() => {\n return 'LazyFieldComponent' in field.editor\n ? field.editor.LazyFieldComponent().then((resolvedComponent) => ({\n default: resolvedComponent,\n }))\n : null\n })\n } else if ('FieldComponent' in field.editor) {\n RichTextFieldComponent = field.editor.FieldComponent\n }\n\n if (isLazyCell) {\n RichTextCellComponent = React.lazy(() => {\n return 'LazyCellComponent' in field.editor\n ? field.editor.LazyCellComponent().then((resolvedComponent) => ({\n default: resolvedComponent,\n }))\n : null\n })\n } else if ('CellComponent' in field.editor) {\n RichTextCellComponent = field.editor.CellComponent\n }\n\n if (typeof field.editor.generateComponentMap === 'function') {\n const result = field.editor.generateComponentMap({ config, schemaPath: path })\n // @ts-expect-error-next-line // TODO: the `richTextComponentMap` is not found on the union type\n fieldComponentProps.richTextComponentMap = result\n cellComponentProps.richTextComponentMap = result\n }\n\n if (RichTextFieldComponent) {\n Field = <RichTextFieldComponent {...fieldComponentProps} />\n }\n\n if (RichTextCellComponent) {\n cellComponentProps.CellComponentOverride = <RichTextCellComponent />\n }\n }\n\n const reducedField: MappedField = {\n name: 'name' in field ? field.name : '',\n type: field.type,\n Cell: (\n <RenderCustomComponent\n CustomComponent={field.admin?.components?.Cell}\n DefaultComponent={DefaultCell}\n componentProps={cellComponentProps}\n />\n ),\n Field,\n Heading: (\n <SortColumn\n disable={\n ('disableSort' in field && Boolean(field.disableSort)) ||\n fieldIsPresentationalOnly(field) ||\n undefined\n }\n label={\n 'label' in field && field.label && typeof field.label !== 'function'\n ? field.label\n : 'name' in field\n ? field.name\n : undefined\n }\n name={'name' in field ? field.name : undefined}\n />\n ),\n blocks,\n fieldIsPresentational,\n fieldPermissions,\n hasMany: 'hasMany' in field ? field.hasMany : undefined,\n isFieldAffectingData,\n isSidebar: 'admin' in field && field.admin?.position === 'sidebar',\n label: 'label' in field && typeof field.label !== 'function' ? field.label : undefined,\n labels: 'labels' in field ? field.labels : undefined,\n localized: 'localized' in field ? field.localized : false,\n options: 'options' in field ? field.options : undefined,\n readOnly:\n 'admin' in field && 'readOnly' in field.admin ? field.admin.readOnly : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n subfields: nestedFieldMap,\n tabs,\n }\n\n if (FieldComponent) {\n acc.push(reducedField)\n }\n }\n }\n\n return acc\n }, [])\n\n const hasID =\n result.findIndex(({ name, isFieldAffectingData }) => isFieldAffectingData && name === 'id') > -1\n\n if (!hasID) {\n result.push({\n name: 'id',\n type: 'text',\n Cell: DefaultCell ? <DefaultCell name=\"id\" /> : null,\n Field: <HiddenInput name=\"id\" />,\n Heading: <SortColumn label=\"ID\" name=\"id\" />,\n fieldIsPresentational: false,\n fieldPermissions: {} as FieldPermissions,\n isFieldAffectingData: true,\n isSidebar: false,\n label: 'ID',\n labels: undefined,\n localized: undefined,\n readOnly: false,\n subfields: [],\n tabs: [],\n })\n }\n\n return result\n}\n"],"names":["fieldAffectsData","fieldIsPresentationalOnly","React","Fragment","RenderCustomComponent","SortColumn","DefaultError","DefaultDescription","DefaultLabel","HiddenInput","fieldTypes","mapFields","args","DefaultCell","config","fieldSchema","filter","parentPath","permissions","readOnly","readOnlyOverride","result","reduce","acc","field","fieldIsPresentational","FieldComponent","admin","components","Field","type","hidden","disabled","isFieldAffectingData","path","name","fieldPermissions","undefined","labelProps","htmlFor","label","required","descriptionProps","description","nestedFieldMap","fields","Array","isArray","tabs","map","tab","tabFieldMap","reducedTab","subfields","blocks","block","blockFieldMap","slug","reducedBlock","imageAltText","imageURL","labels","fieldComponentProps","AfterInput","afterInput","Component","i","key","BeforeInput","beforeInput","Description","CustomComponent","DefaultComponent","componentProps","Error","Label","className","fieldMap","style","width","date","hasMany","max","maxRows","min","options","relationTo","richTextComponentMap","step","cellComponentProps","b","dateDisplayFormat","displayFormat","fieldType","RichTextFieldComponent","RichTextCellComponent","isLazyField","editor","isLazyCell","lazy","LazyFieldComponent","then","resolvedComponent","default","LazyCellComponent","CellComponent","generateComponentMap","schemaPath","CellComponentOverride","reducedField","Cell","Heading","disable","Boolean","disableSort","isSidebar","position","localized","push","hasID","findIndex"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/utilities/buildComponentMap/mapFields.tsx"],"sourcesContent":["import type { CollectionPermission, FieldPermissions, GlobalPermission } from 'payload/auth'\nimport type { CellProps, Field, FieldWithPath, LabelProps, SanitizedConfig } from 'payload/types'\n\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/types'\nimport React, { Fragment } from 'react'\n\nimport type { Props as FieldDescription } from '../../forms/FieldDescription/types.js'\nimport type { FormFieldBase } from '../../forms/fields/shared.js'\nimport type { FieldMap, MappedField, MappedTab, ReducedBlock } from './types.js'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { SortColumn } from '../../elements/SortColumn/index.js'\nimport DefaultError from '../../forms/Error/index.js'\nimport DefaultDescription from '../../forms/FieldDescription/index.js'\nimport DefaultLabel from '../../forms/Label/index.js'\nimport HiddenInput from '../../forms/fields/HiddenInput/index.js'\nimport { fieldTypes } from '../../forms/fields/index.js'\n\nexport const mapFields = (args: {\n DefaultCell?: React.FC<any>\n config: SanitizedConfig\n fieldSchema: FieldWithPath[]\n filter?: (field: Field) => boolean\n parentPath?: string\n permissions?: CollectionPermission['fields'] | GlobalPermission['fields']\n readOnly?: boolean\n}): FieldMap => {\n const {\n DefaultCell,\n config,\n fieldSchema,\n filter,\n parentPath,\n permissions,\n readOnly: readOnlyOverride,\n } = args\n\n const result: FieldMap = fieldSchema.reduce((acc, field): FieldMap => {\n const fieldIsPresentational = fieldIsPresentationalOnly(field)\n let FieldComponent = field.admin?.components?.Field || fieldTypes[field.type]\n\n if (fieldIsPresentational || (!field?.hidden && field?.admin?.disabled !== true)) {\n if ((filter && typeof filter === 'function' && filter(field)) || !filter) {\n if (field.admin && 'hidden' in field.admin && field?.admin?.hidden) {\n FieldComponent = fieldTypes.hidden\n }\n\n const isFieldAffectingData = fieldAffectsData(field)\n\n const path = `${parentPath ? `${parentPath}.` : ''}${\n field.path || (isFieldAffectingData && 'name' in field ? field.name : '')\n }`\n\n const fieldPermissions = isFieldAffectingData ? permissions?.[field.name] : undefined\n\n const labelProps: LabelProps = {\n // @ts-expect-error-next-line\n label: 'label' in field ? field.label : null,\n required: 'required' in field ? field.required : undefined,\n }\n\n const descriptionProps: FieldDescription = {\n description:\n field.admin &&\n 'description' in field.admin &&\n typeof field.admin?.description === 'string'\n ? field.admin.description\n : undefined,\n }\n\n const nestedFieldMap =\n 'fields' in field &&\n field.fields &&\n Array.isArray(field.fields) &&\n mapFields({\n DefaultCell,\n config,\n fieldSchema: field.fields,\n filter,\n parentPath: path,\n permissions,\n readOnly: readOnlyOverride,\n })\n\n // `tabs` fields require a field map of each of its tab's nested fields\n const tabs =\n 'tabs' in field &&\n field.tabs &&\n Array.isArray(field.tabs) &&\n field.tabs.map((tab) => {\n const tabFieldMap = mapFields({\n DefaultCell,\n config,\n fieldSchema: tab.fields,\n filter,\n parentPath: path,\n permissions,\n readOnly: readOnlyOverride,\n })\n\n const reducedTab: MappedTab = {\n name: 'name' in tab ? tab.name : undefined,\n label: tab.label,\n subfields: tabFieldMap,\n }\n\n return reducedTab\n })\n\n // `blocks` fields require a field map of each of its block's nested fields\n const blocks =\n 'blocks' in field &&\n field.blocks &&\n Array.isArray(field.blocks) &&\n field.blocks.map((block) => {\n const blockFieldMap = mapFields({\n DefaultCell,\n config,\n fieldSchema: block.fields,\n filter,\n parentPath: `${path}.${block.slug}`,\n permissions,\n readOnly: readOnlyOverride,\n })\n\n const reducedBlock: ReducedBlock = {\n slug: block.slug,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n subfields: blockFieldMap,\n }\n\n return reducedBlock\n })\n\n // TODO: these types can get cleaned up\n // i.e. not all fields have `maxRows` or `min` or `max`\n // but this is labor intensive and requires consuming components to be updated\n const fieldComponentProps: FormFieldBase = {\n AfterInput: 'admin' in field &&\n 'components' in field.admin &&\n 'afterInput' in field.admin.components &&\n Array.isArray(field.admin?.components?.afterInput) && (\n <Fragment>\n {field.admin.components.afterInput.map((Component, i) => (\n <Component key={i} />\n ))}\n </Fragment>\n ),\n BeforeInput: 'admin' in field &&\n field.admin?.components &&\n 'beforeInput' in field.admin.components &&\n Array.isArray(field.admin.components.beforeInput) && (\n <Fragment>\n {field.admin.components.beforeInput.map((Component, i) => (\n <Component key={i} />\n ))}\n </Fragment>\n ),\n Description: (\n <RenderCustomComponent\n CustomComponent={\n field.admin &&\n 'description' in field.admin &&\n field.admin.description &&\n typeof field.admin.description === 'function' &&\n (field.admin.description as React.FC<any>)\n }\n DefaultComponent={DefaultDescription}\n componentProps={descriptionProps}\n />\n ),\n Error: (\n <RenderCustomComponent\n CustomComponent={\n 'admin' in field &&\n field.admin.components &&\n 'Error' in field.admin.components &&\n field.admin?.components?.Error\n }\n DefaultComponent={DefaultError}\n componentProps={{ path }}\n />\n ),\n Label: (\n <RenderCustomComponent\n CustomComponent={\n 'admin' in field &&\n field.admin?.components &&\n 'Label' in field.admin.components &&\n field.admin?.components?.Label\n }\n DefaultComponent={DefaultLabel}\n componentProps={labelProps}\n />\n ),\n blocks,\n className:\n 'admin' in field && 'className' in field.admin ? field?.admin?.className : undefined,\n date: 'admin' in field && 'date' in field.admin ? field.admin.date : undefined,\n fieldMap: nestedFieldMap,\n fieldPermissions,\n hasMany: 'hasMany' in field ? field.hasMany : undefined,\n label: 'label' in field && typeof field.label === 'string' ? field.label : undefined,\n max: 'max' in field ? field.max : undefined,\n maxRows: 'maxRows' in field ? field.maxRows : undefined,\n min: 'min' in field ? field.min : undefined,\n options: 'options' in field ? field.options : undefined,\n readOnly:\n 'admin' in field && 'readOnly' in field.admin ? field.admin.readOnly : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n richTextComponentMap: undefined,\n step: 'admin' in field && 'step' in field.admin ? field.admin.step : undefined,\n style: 'admin' in field && 'style' in field.admin ? field?.admin?.style : undefined,\n tabs,\n width: 'admin' in field && 'width' in field.admin ? field?.admin?.width : undefined,\n }\n\n let Field = <FieldComponent {...fieldComponentProps} />\n\n const cellComponentProps: CellProps = {\n name: 'name' in field ? field.name : undefined,\n blocks:\n 'blocks' in field &&\n field.blocks.map((b) => ({\n slug: b.slug,\n labels: b.labels,\n })),\n dateDisplayFormat:\n 'admin' in field && 'date' in field.admin ? field.admin.date.displayFormat : undefined,\n fieldType: field.type,\n isFieldAffectingData,\n label:\n 'label' in field && field.label && typeof field.label !== 'function'\n ? field.label\n : undefined,\n labels: 'labels' in field ? field.labels : undefined,\n options: 'options' in field ? field.options : undefined,\n }\n\n /**\n * Handle RichText Field Components, Cell Components, and component maps\n */\n if (field.type === 'richText' && 'editor' in field) {\n let RichTextFieldComponent\n let RichTextCellComponent\n\n const isLazyField = 'LazyFieldComponent' in field.editor\n const isLazyCell = 'LazyCellComponent' in field.editor\n\n if (isLazyField) {\n RichTextFieldComponent = React.lazy(() => {\n return 'LazyFieldComponent' in field.editor\n ? field.editor.LazyFieldComponent().then((resolvedComponent) => ({\n default: resolvedComponent,\n }))\n : null\n })\n } else if ('FieldComponent' in field.editor) {\n RichTextFieldComponent = field.editor.FieldComponent\n }\n\n if (isLazyCell) {\n RichTextCellComponent = React.lazy(() => {\n return 'LazyCellComponent' in field.editor\n ? field.editor.LazyCellComponent().then((resolvedComponent) => ({\n default: resolvedComponent,\n }))\n : null\n })\n } else if ('CellComponent' in field.editor) {\n RichTextCellComponent = field.editor.CellComponent\n }\n\n if (typeof field.editor.generateComponentMap === 'function') {\n const result = field.editor.generateComponentMap({ config, schemaPath: path })\n // @ts-expect-error-next-line // TODO: the `richTextComponentMap` is not found on the union type\n fieldComponentProps.richTextComponentMap = result\n cellComponentProps.richTextComponentMap = result\n }\n\n if (RichTextFieldComponent) {\n Field = <RichTextFieldComponent {...fieldComponentProps} />\n }\n\n if (RichTextCellComponent) {\n cellComponentProps.CellComponentOverride = <RichTextCellComponent />\n }\n }\n\n const reducedField: MappedField = {\n name: 'name' in field ? field.name : '',\n type: field.type,\n Cell: (\n <RenderCustomComponent\n CustomComponent={field.admin?.components?.Cell}\n DefaultComponent={DefaultCell}\n componentProps={cellComponentProps}\n />\n ),\n Field,\n Heading: (\n <SortColumn\n disable={\n ('disableSort' in field && Boolean(field.disableSort)) ||\n fieldIsPresentationalOnly(field) ||\n undefined\n }\n label={\n 'label' in field && field.label && typeof field.label !== 'function'\n ? field.label\n : 'name' in field\n ? field.name\n : undefined\n }\n name={'name' in field ? field.name : undefined}\n />\n ),\n blocks,\n fieldIsPresentational,\n fieldPermissions,\n hasMany: 'hasMany' in field ? field.hasMany : undefined,\n isFieldAffectingData,\n isSidebar: 'admin' in field && field.admin?.position === 'sidebar',\n label: 'label' in field && typeof field.label !== 'function' ? field.label : undefined,\n labels: 'labels' in field ? field.labels : undefined,\n localized: 'localized' in field ? field.localized : false,\n options: 'options' in field ? field.options : undefined,\n readOnly:\n 'admin' in field && 'readOnly' in field.admin ? field.admin.readOnly : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n subfields: nestedFieldMap,\n tabs,\n }\n\n if (FieldComponent) {\n acc.push(reducedField)\n }\n }\n }\n\n return acc\n }, [])\n\n const hasID =\n result.findIndex(({ name, isFieldAffectingData }) => isFieldAffectingData && name === 'id') > -1\n\n if (!hasID) {\n result.push({\n name: 'id',\n type: 'text',\n Cell: DefaultCell ? <DefaultCell name=\"id\" /> : null,\n Field: <HiddenInput name=\"id\" />,\n Heading: <SortColumn label=\"ID\" name=\"id\" />,\n fieldIsPresentational: false,\n fieldPermissions: {} as FieldPermissions,\n isFieldAffectingData: true,\n isSidebar: false,\n label: 'ID',\n labels: undefined,\n localized: undefined,\n readOnly: false,\n subfields: [],\n tabs: [],\n })\n }\n\n return result\n}\n"],"names":["fieldAffectsData","fieldIsPresentationalOnly","React","Fragment","RenderCustomComponent","SortColumn","DefaultError","DefaultDescription","DefaultLabel","HiddenInput","fieldTypes","mapFields","args","DefaultCell","config","fieldSchema","filter","parentPath","permissions","readOnly","readOnlyOverride","result","reduce","acc","field","fieldIsPresentational","FieldComponent","admin","components","Field","type","hidden","disabled","isFieldAffectingData","path","name","fieldPermissions","undefined","labelProps","label","required","descriptionProps","description","nestedFieldMap","fields","Array","isArray","tabs","map","tab","tabFieldMap","reducedTab","subfields","blocks","block","blockFieldMap","slug","reducedBlock","imageAltText","imageURL","labels","fieldComponentProps","AfterInput","afterInput","Component","i","key","BeforeInput","beforeInput","Description","CustomComponent","DefaultComponent","componentProps","Error","Label","className","date","fieldMap","hasMany","max","maxRows","min","options","relationTo","richTextComponentMap","step","style","width","cellComponentProps","b","dateDisplayFormat","displayFormat","fieldType","RichTextFieldComponent","RichTextCellComponent","isLazyField","editor","isLazyCell","lazy","LazyFieldComponent","then","resolvedComponent","default","LazyCellComponent","CellComponent","generateComponentMap","schemaPath","CellComponentOverride","reducedField","Cell","Heading","disable","Boolean","disableSort","isSidebar","position","localized","push","hasID","findIndex"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import type { I18n } from '@payloadcms/translations';
2
- import type { FormField, SanitizedCollectionConfig } from 'payload/types';
3
- export declare const formatDocTitle: (args: {
4
- dateFormat?: any;
5
- doc?: Record<string, any>;
6
- field?: FormField;
2
+ import type { SanitizedCollectionConfig, SanitizedConfig, SanitizedGlobalConfig, TypeWithID } from 'payload/types';
3
+ export declare const formatDocTitle: ({ collectionConfig, data, dateFormat: dateFormatFromConfig, fallback, globalConfig, i18n, }: {
4
+ collectionConfig?: SanitizedCollectionConfig;
5
+ data: TypeWithID;
6
+ dateFormat: SanitizedConfig['admin']['dateFormat'];
7
+ fallback?: string;
8
+ globalConfig?: SanitizedGlobalConfig;
7
9
  i18n: I18n;
8
- isDate?: boolean;
9
- useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle'];
10
10
  }) => string;
11
11
  //# sourceMappingURL=formatDocTitle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatDocTitle.d.ts","sourceRoot":"","sources":["../../src/utilities/formatDocTitle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAMzE,eAAO,MAAM,cAAc,SAAU;IACnC,UAAU,CAAC,EAAE,GAAG,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,MAAM,EAAE,GAAG,CAAC,CAAA;IACzB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,IAAI,EAAE,IAAI,CAAA;IACV,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,KAAG,MAuBH,CAAA"}
1
+ {"version":3,"file":"formatDocTitle.d.ts","sourceRoot":"","sources":["../../src/utilities/formatDocTitle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACX,MAAM,eAAe,CAAA;AAKtB,eAAO,MAAM,cAAc;uBAQN,yBAAyB;UACtC,UAAU;gBACJ,eAAe,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC;eACvC,MAAM;mBACF,qBAAqB;UAC9B,IAAI;MACR,MAiCH,CAAA"}
@@ -1,21 +1,26 @@
1
- import { getObjectDotNotation } from 'payload/utilities';
2
- import { formatDate } from './formatDate/index.js';
3
- export const formatDocTitle = (args)=>{
4
- const { dateFormat, doc, field: fieldFromProps, i18n, isDate, useAsTitle } = args;
5
- if (!fieldFromProps && !doc) {
6
- return '';
7
- }
8
- const field = fieldFromProps || getObjectDotNotation(doc, useAsTitle);
1
+ import { getTranslation } from '@payloadcms/translations';
2
+ import { formatDate } from '@payloadcms/ui';
3
+ export const formatDocTitle = ({ collectionConfig, data, dateFormat: dateFormatFromConfig, fallback, globalConfig, i18n })=>{
9
4
  let title;
10
- if (typeof field === 'string') {
11
- title = field;
12
- } else if (typeof field === 'number') {
13
- title = String(field);
14
- } else {
15
- title = field?.value;
5
+ if (collectionConfig) {
6
+ const useAsTitle = collectionConfig?.admin?.useAsTitle;
7
+ if (useAsTitle) {
8
+ title = data?.[useAsTitle] || title;
9
+ if (title) {
10
+ const fieldConfig = collectionConfig.fields.find((f)=>'name' in f && f.name === useAsTitle);
11
+ const isDate = fieldConfig?.type === 'date';
12
+ if (isDate) {
13
+ const dateFormat = fieldConfig?.admin?.date?.displayFormat || dateFormatFromConfig;
14
+ title = formatDate(title, dateFormat, i18n.language) || title;
15
+ }
16
+ }
17
+ }
18
+ }
19
+ if (globalConfig) {
20
+ title = getTranslation(globalConfig?.label, i18n) || globalConfig?.slug;
16
21
  }
17
- if (title && isDate) {
18
- title = formatDate(title, dateFormat, i18n.language);
22
+ if (!title) {
23
+ title = fallback || `[${i18n.t('general:untitled')}]`;
19
24
  }
20
25
  return title;
21
26
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utilities/formatDocTitle.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type { FormField, SanitizedCollectionConfig } from 'payload/types'\n\nimport { getObjectDotNotation } from 'payload/utilities'\n\nimport { formatDate } from './formatDate/index.js'\n\nexport const formatDocTitle = (args: {\n dateFormat?: any\n doc?: Record<string, any>\n field?: FormField\n i18n: I18n\n isDate?: boolean\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}): string => {\n const { dateFormat, doc, field: fieldFromProps, i18n, isDate, useAsTitle } = args\n\n if (!fieldFromProps && !doc) {\n return ''\n }\n\n const field = fieldFromProps || getObjectDotNotation<FormField>(doc, useAsTitle)\n\n let title: string\n if (typeof field === 'string') {\n title = field\n } else if (typeof field === 'number') {\n title = String(field)\n } else {\n title = field?.value as string\n }\n\n if (title && isDate) {\n title = formatDate(title, dateFormat, i18n.language)\n }\n\n return title\n}\n"],"names":["getObjectDotNotation","formatDate","formatDocTitle","args","dateFormat","doc","field","fieldFromProps","i18n","isDate","useAsTitle","title","String","value","language"],"mappings":"AAGA,SAASA,oBAAoB,QAAQ,oBAAmB;AAExD,SAASC,UAAU,QAAQ,wBAAuB;AAElD,OAAO,MAAMC,iBAAiB,CAACC;IAQ7B,MAAM,EAAEC,UAAU,EAAEC,GAAG,EAAEC,OAAOC,cAAc,EAAEC,IAAI,EAAEC,MAAM,EAAEC,UAAU,EAAE,GAAGP;IAE7E,IAAI,CAACI,kBAAkB,CAACF,KAAK;QAC3B,OAAO;IACT;IAEA,MAAMC,QAAQC,kBAAkBP,qBAAgCK,KAAKK;IAErE,IAAIC;IACJ,IAAI,OAAOL,UAAU,UAAU;QAC7BK,QAAQL;IACV,OAAO,IAAI,OAAOA,UAAU,UAAU;QACpCK,QAAQC,OAAON;IACjB,OAAO;QACLK,QAAQL,OAAOO;IACjB;IAEA,IAAIF,SAASF,QAAQ;QACnBE,QAAQV,WAAWU,OAAOP,YAAYI,KAAKM,QAAQ;IACrD;IAEA,OAAOH;AACT,EAAC"}
1
+ {"version":3,"sources":["../../src/utilities/formatDocTitle.ts"],"sourcesContent":["import type { I18n } from '@payloadcms/translations'\nimport type {\n SanitizedCollectionConfig,\n SanitizedConfig,\n SanitizedGlobalConfig,\n TypeWithID,\n} from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { formatDate } from '@payloadcms/ui'\n\nexport const formatDocTitle = ({\n collectionConfig,\n data,\n dateFormat: dateFormatFromConfig,\n fallback,\n globalConfig,\n i18n,\n}: {\n collectionConfig?: SanitizedCollectionConfig\n data: TypeWithID\n dateFormat: SanitizedConfig['admin']['dateFormat']\n fallback?: string\n globalConfig?: SanitizedGlobalConfig\n i18n: I18n\n}): string => {\n let title: string\n\n if (collectionConfig) {\n const useAsTitle = collectionConfig?.admin?.useAsTitle\n\n if (useAsTitle) {\n title = data?.[useAsTitle] || title\n\n if (title) {\n const fieldConfig = collectionConfig.fields.find(\n (f) => 'name' in f && f.name === useAsTitle,\n )\n\n const isDate = fieldConfig?.type === 'date'\n\n if (isDate) {\n const dateFormat = fieldConfig?.admin?.date?.displayFormat || dateFormatFromConfig\n title = formatDate(title, dateFormat, i18n.language) || title\n }\n }\n }\n }\n\n if (globalConfig) {\n title = getTranslation(globalConfig?.label, i18n) || globalConfig?.slug\n }\n\n if (!title) {\n title = fallback || `[${i18n.t('general:untitled')}]`\n }\n\n return title\n}\n"],"names":["getTranslation","formatDate","formatDocTitle","collectionConfig","data","dateFormat","dateFormatFromConfig","fallback","globalConfig","i18n","title","useAsTitle","admin","fieldConfig","fields","find","f","name","isDate","type","date","displayFormat","language","label","slug","t"],"mappings":"AAQA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,UAAU,QAAQ,iBAAgB;AAE3C,OAAO,MAAMC,iBAAiB,CAAC,EAC7BC,gBAAgB,EAChBC,IAAI,EACJC,YAAYC,oBAAoB,EAChCC,QAAQ,EACRC,YAAY,EACZC,IAAI,EAQL;IACC,IAAIC;IAEJ,IAAIP,kBAAkB;QACpB,MAAMQ,aAAaR,kBAAkBS,OAAOD;QAE5C,IAAIA,YAAY;YACdD,QAAQN,MAAM,CAACO,WAAW,IAAID;YAE9B,IAAIA,OAAO;gBACT,MAAMG,cAAcV,iBAAiBW,MAAM,CAACC,IAAI,CAC9C,CAACC,IAAM,UAAUA,KAAKA,EAAEC,IAAI,KAAKN;gBAGnC,MAAMO,SAASL,aAAaM,SAAS;gBAErC,IAAID,QAAQ;oBACV,MAAMb,aAAaQ,aAAaD,OAAOQ,MAAMC,iBAAiBf;oBAC9DI,QAAQT,WAAWS,OAAOL,YAAYI,KAAKa,QAAQ,KAAKZ;gBAC1D;YACF;QACF;IACF;IAEA,IAAIF,cAAc;QAChBE,QAAQV,eAAeQ,cAAce,OAAOd,SAASD,cAAcgB;IACrE;IAEA,IAAI,CAACd,OAAO;QACVA,QAAQH,YAAY,CAAC,CAAC,EAAEE,KAAKgB,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACvD;IAEA,OAAOf;AACT,EAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const generateFieldID: (path: string, uuid: string) => string;
2
+ //# sourceMappingURL=generateFieldID.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateFieldID.d.ts","sourceRoot":"","sources":["../../src/utilities/generateFieldID.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,SAAU,MAAM,QAAQ,MAAM,WAEzD,CAAA"}
@@ -0,0 +1,5 @@
1
+ export const generateFieldID = (path, uuid)=>{
2
+ return `field-${path?.replace(/\./g, '__')}${uuid ? `-${uuid}` : ''}`;
3
+ };
4
+
5
+ //# sourceMappingURL=generateFieldID.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/generateFieldID.ts"],"sourcesContent":["export const generateFieldID = (path: string, uuid: string) => {\n return `field-${path?.replace(/\\./g, '__')}${uuid ? `-${uuid}` : ''}`\n}\n"],"names":["generateFieldID","path","uuid","replace"],"mappings":"AAAA,OAAO,MAAMA,kBAAkB,CAACC,MAAcC;IAC5C,OAAO,CAAC,MAAM,EAAED,MAAME,QAAQ,OAAO,MAAM,EAAED,OAAO,CAAC,CAAC,EAAEA,KAAK,CAAC,GAAG,GAAG,CAAC;AACvE,EAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/ui",
3
- "version": "3.0.0-alpha.46",
3
+ "version": "3.0.0-alpha.48",
4
4
  "main": "./src/index.ts",
5
5
  "types": "./dist/index.d.ts",
6
6
  "type": "module",
@@ -43,7 +43,7 @@
43
43
  "webpack": "^5.78.0",
44
44
  "webpack-cli": "^5.1.4",
45
45
  "@payloadcms/eslint-config": "1.1.1",
46
- "payload": "3.0.0-alpha.46"
46
+ "payload": "3.0.0-alpha.48"
47
47
  },
48
48
  "dependencies": {
49
49
  "@dnd-kit/core": "6.0.8",
@@ -67,12 +67,12 @@
67
67
  "react-toastify": "10.0.4",
68
68
  "use-context-selector": "1.4.1",
69
69
  "uuid": "9.0.1",
70
- "@payloadcms/translations": "3.0.0-alpha.46"
70
+ "@payloadcms/translations": "3.0.0-alpha.48"
71
71
  },
72
72
  "peerDependencies": {
73
73
  "next": "14.2.0-canary.7",
74
74
  "react": "^18.0.0",
75
- "payload": "3.0.0-alpha.46"
75
+ "payload": "3.0.0-alpha.48"
76
76
  },
77
77
  "engines": {
78
78
  "node": ">=18.17.0"