@payloadcms/ui 3.0.0-beta.68 → 3.0.0-beta.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +5 -1
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +7 -3
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +5 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentFields/index.d.ts.map +1 -1
- package/dist/elements/DocumentFields/index.js +46 -48
- package/dist/elements/DocumentFields/index.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +10 -6
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/Logout/index.d.ts.map +1 -1
- package/dist/elements/Logout/index.js +6 -3
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +6 -2
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +5 -1
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js +4 -4
- package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +4 -2
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/exports/client/index.js +18 -18
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.d.ts +1 -0
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Upload/Input.d.ts +4 -0
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +2 -2
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/fields/Upload/index.d.ts.map +1 -1
- package/dist/fields/Upload/index.js +18 -3
- package/dist/fields/Upload/index.js.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +39 -18
- package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
- package/dist/graphics/Account/index.d.ts.map +1 -1
- package/dist/graphics/Account/index.js +5 -1
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/providers/Auth/index.d.ts +1 -1
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +46 -38
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js +1 -0
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +1 -0
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/formatAdminURL.d.ts +8 -0
- package/dist/utilities/formatAdminURL.d.ts.map +1 -0
- package/dist/utilities/formatAdminURL.js +15 -0
- package/dist/utilities/formatAdminURL.js.map +1 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n CellComponentProps,\n CustomComponent,\n Field,\n FieldDescriptionProps,\n FieldWithPath,\n LabelProps,\n Option,\n SanitizedConfig,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { ArrayFieldProps } from '../../../fields/Array/index.js'\nimport type { BlocksFieldProps } from '../../../fields/Blocks/index.js'\nimport type { CheckboxFieldProps } from '../../../fields/Checkbox/index.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 { JSONFieldProps } from '../../../fields/JSON/index.js'\nimport type { NumberFieldProps } from '../../../fields/Number/index.js'\nimport type { PointFieldProps } from '../../../fields/Point/index.js'\nimport type { RadioFieldProps } from '../../../fields/RadioGroup/index.js'\nimport type { RelationshipFieldProps } from '../../../fields/Relationship/types.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'\nimport type { FormFieldBase } from '../../../fields/shared/index.js'\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type {\n FieldComponentProps,\n FieldMap,\n MappedField,\n MappedTab,\n ReducedBlock,\n} from './types.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { FieldDescription } from '../../../exports/client/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { HiddenField } from '../../../exports/client/index.js'\n\nfunction generateFieldPath(parentPath, name) {\n let tabPath = parentPath || ''\n if (parentPath && name) {\n tabPath = `${parentPath}.${name}`\n } else if (!parentPath && name) {\n tabPath = name\n }\n\n return tabPath\n}\n\nexport const mapFields = (args: {\n WithServerSideProps: WithServerSidePropsPrePopulated\n config: SanitizedConfig\n /**\n * If mapFields is used outside of collections, you might not want it to add an id field\n */\n disableAddingID?: boolean\n fieldSchema: FieldWithPath[]\n filter?: (field: Field) => boolean\n i18n: I18nClient\n parentPath?: string\n readOnly?: boolean\n}): FieldMap => {\n const {\n WithServerSideProps,\n config,\n disableAddingID,\n fieldSchema,\n filter,\n i18n,\n i18n: { t },\n parentPath,\n readOnly: readOnlyOverride,\n } = args\n\n const result: FieldMap = fieldSchema.reduce((acc, field): FieldMap => {\n const fieldIsPresentational = fieldIsPresentationalOnly(field)\n let CustomFieldComponent: CustomComponent<FieldComponentProps> = field.admin?.components?.Field\n\n let CustomCellComponent = field.admin?.components?.Cell\n\n const isHidden = field?.admin && 'hidden' in field.admin && field.admin.hidden\n\n if (fieldIsPresentational || (!field?.hidden && field?.admin?.disabled !== true)) {\n if ((filter && typeof filter === 'function' && filter(field)) || !filter) {\n if (isHidden) {\n if (CustomFieldComponent) {\n CustomFieldComponent = HiddenField\n }\n }\n\n const isFieldAffectingData = fieldAffectsData(field)\n\n const path = generateFieldPath(\n parentPath,\n isFieldAffectingData && 'name' in field ? field.name : '',\n )\n\n const AfterInput =\n ('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 <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n const BeforeInput =\n ('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 <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n let label = undefined\n if ('label' in field) {\n if (typeof field.label === 'string' || typeof field.label === 'object') {\n label = field.label\n } else if (typeof field.label === 'function') {\n label = field.label({ t })\n }\n }\n\n const labelProps: LabelProps = {\n label,\n required: 'required' in field ? field.required : undefined,\n schemaPath: path,\n }\n\n const CustomLabelComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Label' in field.admin.components &&\n field.admin.components?.Label) ||\n undefined\n\n // If we return undefined here (so if no CUSTOM label component is set), the field client component is responsible for falling back to the default label\n const CustomLabel =\n CustomLabelComponent !== undefined ? (\n <WithServerSideProps Component={CustomLabelComponent} {...(labelProps || {})} />\n ) : undefined\n\n let description = undefined\n if (field.admin && 'description' in field.admin) {\n if (\n typeof field.admin?.description === 'string' ||\n typeof field.admin?.description === 'object'\n ) {\n description = field.admin.description\n } else if (typeof field.admin?.description === 'function') {\n description = field.admin?.description({ t })\n }\n }\n\n const descriptionProps: FieldDescriptionProps = {\n description,\n }\n\n let CustomDescriptionComponent = undefined\n if (\n field.admin?.components &&\n 'Description' in field.admin.components &&\n field.admin.components?.Description\n ) {\n CustomDescriptionComponent = field.admin.components.Description\n } else if (description) {\n CustomDescriptionComponent = FieldDescription\n }\n\n const CustomDescription =\n CustomDescriptionComponent !== undefined ? (\n <WithServerSideProps\n Component={CustomDescriptionComponent}\n {...(descriptionProps || {})}\n />\n ) : undefined\n\n const errorProps = {\n path,\n }\n\n const CustomErrorComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Error' in field.admin.components &&\n field.admin?.components?.Error) ||\n undefined\n\n const CustomError =\n CustomErrorComponent !== undefined ? (\n <WithServerSideProps Component={CustomErrorComponent} {...(errorProps || {})} />\n ) : undefined\n\n // These fields are shared across all field types even if they are not used in the default field, as the custom field component can use them\n const baseFieldProps: FormFieldBase = {\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n custom: 'admin' in field && 'custom' in field.admin ? field.admin?.custom : undefined,\n descriptionProps,\n disabled: 'admin' in field && 'disabled' in field.admin ? field.admin?.disabled : false,\n errorProps,\n label: labelProps?.label,\n path,\n required: 'required' in field ? field.required : undefined,\n }\n\n let fieldComponentProps: FieldComponentProps\n\n let fieldOptions: Option[]\n\n if ('options' in field) {\n fieldOptions = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n const cellComponentProps: CellComponentProps = {\n name: 'name' in field ? field.name : undefined,\n fieldType: field.type,\n isFieldAffectingData,\n label: labelProps?.label || undefined,\n labels: 'labels' in field ? field.labels : undefined,\n options: 'options' in field ? fieldOptions : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n schemaPath: path,\n }\n\n switch (field.type) {\n case 'array': {\n let CustomRowLabel: React.ReactNode\n\n if (\n 'admin' in field &&\n field.admin.components &&\n 'RowLabel' in field.admin.components &&\n field.admin.components.RowLabel\n ) {\n const CustomRowLabelComponent = field.admin.components.RowLabel\n CustomRowLabel = (\n <WithServerSideProps Component={CustomRowLabelComponent} {...(labelProps || {})} />\n )\n }\n\n const arrayFieldProps: Omit<ArrayFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n CustomRowLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = arrayFieldProps\n break\n }\n case 'blocks': {\n const blocks = field.blocks.map((block) => {\n const blockFieldMap = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: block.fields,\n filter,\n i18n,\n parentPath: `${path}.${block.slug}`,\n readOnly: readOnlyOverride,\n })\n\n const reducedBlock: ReducedBlock = {\n slug: block.slug,\n LabelComponent: block.admin?.components?.Label,\n custom: block.admin?.custom,\n fieldMap: blockFieldMap,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n }\n\n return reducedBlock\n })\n\n const blocksField: Omit<BlocksFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n blocks,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = blocksField\n\n cellComponentProps.blocks = field.blocks.map((b) => ({\n slug: b.slug,\n labels: b.labels,\n }))\n\n break\n }\n case 'checkbox': {\n const checkboxField: CheckboxFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = checkboxField\n break\n }\n case 'code': {\n const codeField: CodeFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n language: field.admin?.language,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = codeField\n break\n }\n case 'collapsible': {\n let CustomCollapsibleLabel: React.ReactNode\n if (\n field?.admin?.components &&\n 'RowLabel' in field.admin.components &&\n field?.admin?.components?.RowLabel\n ) {\n const CustomCollapsibleLabelComponent = field.admin.components.RowLabel\n CustomCollapsibleLabel = (\n <WithServerSideProps\n Component={CustomCollapsibleLabelComponent}\n {...(labelProps || {})}\n />\n )\n }\n\n const collapsibleField: Omit<CollapsibleFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n CustomLabel: CustomCollapsibleLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n initCollapsed: field.admin?.initCollapsed,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = collapsibleField as CollapsibleFieldProps // TODO: dunno why this is needed\n break\n }\n case 'date': {\n const dateField: DateFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n date: field.admin?.date,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = dateField\n cellComponentProps.dateDisplayFormat = field.admin?.date?.displayFormat\n break\n }\n case 'email': {\n const emailField: EmailFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = emailField\n break\n }\n case 'group': {\n const groupField: Omit<GroupFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n hideGutter: field.admin?.hideGutter,\n readOnly: field.admin?.readOnly,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = groupField\n break\n }\n case 'json': {\n const jsonField: JSONFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n jsonSchema: field.jsonSchema,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = jsonField\n break\n }\n case 'number': {\n const numberField: NumberFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n max: field.max,\n maxRows: field.maxRows,\n min: field.min,\n readOnly: field.admin?.readOnly,\n required: field.required,\n step: field.admin?.step,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = numberField\n break\n }\n case 'point': {\n const pointField: PointFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = pointField\n break\n }\n case 'relationship': {\n const relationshipField: RelationshipFieldProps = {\n ...baseFieldProps,\n name: field.name,\n allowCreate: field.admin.allowCreate,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isSortable: field.admin?.isSortable,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n sortOptions: field.admin.sortOptions,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = relationshipField\n break\n }\n case 'radio': {\n const radioField: RadioFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n layout: field.admin?.layout,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = radioField\n break\n }\n case 'richText': {\n const richTextField: RichTextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n const RichTextFieldComponent = field.editor.FieldComponent\n const RichTextCellComponent = field.editor.CellComponent\n\n if (typeof field.editor.generateComponentMap === 'function') {\n const result = field.editor.generateComponentMap({\n WithServerSideProps,\n config,\n i18n,\n schemaPath: path,\n })\n richTextField.richTextComponentMap = result\n cellComponentProps.richTextComponentMap = result\n }\n\n if (RichTextFieldComponent) {\n CustomFieldComponent = RichTextFieldComponent\n }\n\n if (RichTextCellComponent) {\n CustomCellComponent = RichTextCellComponent\n }\n\n fieldComponentProps = richTextField\n\n break\n }\n case 'row': {\n const rowField: Omit<RowFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = rowField\n break\n }\n case 'tabs': {\n // `tabs` fields require a field map of each of its tab's nested fields\n const tabs = field.tabs.map((tab) => {\n const tabFieldMap = mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: tab.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n })\n\n const reducedTab: MappedTab = {\n name: 'name' in tab ? tab.name : undefined,\n fieldMap: tabFieldMap,\n label: tab.label,\n }\n\n return reducedTab\n })\n\n const tabsField: Omit<TabsFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: 'name' in field ? (field.name as string) : undefined,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n tabs,\n width: field.admin?.width,\n }\n\n fieldComponentProps = tabsField\n break\n }\n case 'text': {\n const textField: TextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textField\n break\n }\n case 'textarea': {\n const textareaField: TextareaFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n rows: field.admin?.rows,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textareaField\n break\n }\n case 'ui': {\n fieldComponentProps = baseFieldProps\n break\n }\n case 'upload': {\n const uploadField: UploadFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n filterOptions: field.filterOptions,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = uploadField\n break\n }\n case 'select': {\n const selectField: SelectFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isClearable: field.admin?.isClearable,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = selectField\n break\n }\n default: {\n break\n }\n }\n\n const reducedField: MappedField = {\n name: 'name' in field ? field.name : undefined,\n type: field.type,\n CustomCell: CustomCellComponent ? (\n <WithServerSideProps Component={CustomCellComponent} {...cellComponentProps} />\n ) : undefined,\n CustomField: CustomFieldComponent ? (\n <WithServerSideProps Component={CustomFieldComponent} {...fieldComponentProps} />\n ) : undefined,\n cellComponentProps,\n custom: field?.admin?.custom,\n disableBulkEdit:\n 'admin' in field && 'disableBulkEdit' in field.admin && field.admin.disableBulkEdit,\n disableListColumn:\n 'admin' in field && 'disableListColumn' in field.admin && field.admin.disableListColumn,\n disableListFilter:\n 'admin' in field && 'disableListFilter' in field.admin && field.admin.disableListFilter,\n fieldComponentProps,\n fieldIsPresentational,\n isFieldAffectingData,\n isHidden,\n isSidebar:\n 'admin' in field && 'position' in field.admin && field.admin.position === 'sidebar',\n localized: 'localized' in field ? field.localized : false,\n unique: 'unique' in field ? field.unique : false,\n }\n\n acc.push(reducedField)\n }\n }\n\n return acc\n }, [])\n\n const hasID =\n result.findIndex((f) => 'name' in f && f.isFieldAffectingData && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n // TODO: For all fields (not just this one) we need to add the name to both .fieldComponentProps.name AND .name. This can probably be improved\n result.push({\n name: 'id',\n type: 'text',\n CustomField: null,\n cellComponentProps: {\n name: 'id',\n schemaPath: 'id',\n },\n disableBulkEdit: true,\n fieldComponentProps: {\n name: 'id',\n label: 'ID',\n },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n isHidden: true,\n localized: undefined,\n })\n }\n\n return result\n}\n"],"names":["MissingEditorProp","fieldAffectsData","fieldIsPresentationalOnly","React","Fragment","FieldDescription","HiddenField","generateFieldPath","parentPath","name","tabPath","mapFields","args","WithServerSideProps","config","disableAddingID","fieldSchema","filter","i18n","t","readOnly","readOnlyOverride","result","reduce","acc","field","fieldIsPresentational","CustomFieldComponent","admin","components","Field","CustomCellComponent","Cell","isHidden","hidden","disabled","isFieldAffectingData","path","AfterInput","Array","isArray","afterInput","map","Component","i","BeforeInput","beforeInput","label","undefined","labelProps","required","schemaPath","CustomLabelComponent","Label","CustomLabel","description","descriptionProps","CustomDescriptionComponent","Description","CustomDescription","errorProps","CustomErrorComponent","Error","CustomError","baseFieldProps","custom","fieldComponentProps","fieldOptions","options","option","value","cellComponentProps","fieldType","type","labels","relationTo","CustomRowLabel","RowLabel","CustomRowLabelComponent","arrayFieldProps","className","fieldMap","fields","isSortable","maxRows","minRows","style","width","blocks","block","blockFieldMap","slug","reducedBlock","LabelComponent","imageAltText","imageURL","blocksField","b","checkboxField","codeField","editorOptions","language","CustomCollapsibleLabel","CustomCollapsibleLabelComponent","collapsibleField","initCollapsed","dateField","date","placeholder","dateDisplayFormat","displayFormat","emailField","groupField","hideGutter","jsonField","jsonSchema","numberField","hasMany","max","min","step","pointField","relationshipField","allowCreate","sortOptions","radioField","layout","richTextField","editor","RichTextFieldComponent","FieldComponent","RichTextCellComponent","CellComponent","generateComponentMap","richTextComponentMap","rowField","tabs","tab","tabFieldMap","reducedTab","tabsField","textField","maxLength","minLength","textareaField","rows","uploadField","filterOptions","selectField","isClearable","reducedField","CustomCell","CustomField","disableBulkEdit","disableListColumn","disableListFilter","isSidebar","position","localized","unique","push","hasID","findIndex","f"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n CellComponentProps,\n CustomComponent,\n Field,\n FieldDescriptionProps,\n FieldWithPath,\n LabelProps,\n Option,\n SanitizedConfig,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { ArrayFieldProps } from '../../../fields/Array/index.js'\nimport type { BlocksFieldProps } from '../../../fields/Blocks/index.js'\nimport type { CheckboxFieldProps } from '../../../fields/Checkbox/index.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 { JSONFieldProps } from '../../../fields/JSON/index.js'\nimport type { NumberFieldProps } from '../../../fields/Number/index.js'\nimport type { PointFieldProps } from '../../../fields/Point/index.js'\nimport type { RadioFieldProps } from '../../../fields/RadioGroup/index.js'\nimport type { RelationshipFieldProps } from '../../../fields/Relationship/types.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'\nimport type { FormFieldBase } from '../../../fields/shared/index.js'\nimport type { WithServerSidePropsPrePopulated } from './index.js'\nimport type {\n FieldComponentProps,\n FieldMap,\n MappedField,\n MappedTab,\n ReducedBlock,\n} from './types.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { FieldDescription } from '../../../exports/client/index.js'\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { HiddenField } from '../../../exports/client/index.js'\n\nfunction generateFieldPath(parentPath, name) {\n let tabPath = parentPath || ''\n if (parentPath && name) {\n tabPath = `${parentPath}.${name}`\n } else if (!parentPath && name) {\n tabPath = name\n }\n\n return tabPath\n}\n\nexport const mapFields = (args: {\n WithServerSideProps: WithServerSidePropsPrePopulated\n config: SanitizedConfig\n /**\n * If mapFields is used outside of collections, you might not want it to add an id field\n */\n disableAddingID?: boolean\n fieldSchema: FieldWithPath[]\n filter?: (field: Field) => boolean\n i18n: I18nClient\n parentPath?: string\n readOnly?: boolean\n}): FieldMap => {\n const {\n WithServerSideProps,\n config,\n disableAddingID,\n fieldSchema,\n filter,\n i18n,\n i18n: { t },\n parentPath,\n readOnly: readOnlyOverride,\n } = args\n\n const result: FieldMap = fieldSchema.reduce((acc, field): FieldMap => {\n const fieldIsPresentational = fieldIsPresentationalOnly(field)\n let CustomFieldComponent: CustomComponent<FieldComponentProps> = field.admin?.components?.Field\n\n let CustomCellComponent = field.admin?.components?.Cell\n\n const isHidden = field?.admin && 'hidden' in field.admin && field.admin.hidden\n\n if (fieldIsPresentational || (!field?.hidden && field?.admin?.disabled !== true)) {\n if ((filter && typeof filter === 'function' && filter(field)) || !filter) {\n if (isHidden) {\n if (CustomFieldComponent) {\n CustomFieldComponent = HiddenField\n }\n }\n\n const isFieldAffectingData = fieldAffectsData(field)\n\n const path = generateFieldPath(\n parentPath,\n isFieldAffectingData && 'name' in field ? field.name : '',\n )\n\n const AfterInput =\n ('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 <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n const BeforeInput =\n ('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 <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n let label = undefined\n if ('label' in field) {\n if (typeof field.label === 'string' || typeof field.label === 'object') {\n label = field.label\n } else if (typeof field.label === 'function') {\n label = field.label({ t })\n }\n }\n\n const labelProps: LabelProps = {\n label,\n required: 'required' in field ? field.required : undefined,\n schemaPath: path,\n }\n\n const CustomLabelComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Label' in field.admin.components &&\n field.admin.components?.Label) ||\n undefined\n\n // If we return undefined here (so if no CUSTOM label component is set), the field client component is responsible for falling back to the default label\n const CustomLabel =\n CustomLabelComponent !== undefined ? (\n <WithServerSideProps Component={CustomLabelComponent} {...(labelProps || {})} />\n ) : undefined\n\n let description = undefined\n if (field.admin && 'description' in field.admin) {\n if (\n typeof field.admin?.description === 'string' ||\n typeof field.admin?.description === 'object'\n ) {\n description = field.admin.description\n } else if (typeof field.admin?.description === 'function') {\n description = field.admin?.description({ t })\n }\n }\n\n const descriptionProps: FieldDescriptionProps = {\n description,\n }\n\n let CustomDescriptionComponent = undefined\n if (\n field.admin?.components &&\n 'Description' in field.admin.components &&\n field.admin.components?.Description\n ) {\n CustomDescriptionComponent = field.admin.components.Description\n } else if (description) {\n CustomDescriptionComponent = FieldDescription\n }\n\n const CustomDescription =\n CustomDescriptionComponent !== undefined ? (\n <WithServerSideProps\n Component={CustomDescriptionComponent}\n {...(descriptionProps || {})}\n />\n ) : undefined\n\n const errorProps = {\n path,\n }\n\n const CustomErrorComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Error' in field.admin.components &&\n field.admin?.components?.Error) ||\n undefined\n\n const CustomError =\n CustomErrorComponent !== undefined ? (\n <WithServerSideProps Component={CustomErrorComponent} {...(errorProps || {})} />\n ) : undefined\n\n // These fields are shared across all field types even if they are not used in the default field, as the custom field component can use them\n const baseFieldProps: FormFieldBase = {\n AfterInput,\n BeforeInput,\n CustomDescription,\n CustomError,\n CustomLabel,\n custom: 'admin' in field && 'custom' in field.admin ? field.admin?.custom : undefined,\n descriptionProps,\n disabled: 'admin' in field && 'disabled' in field.admin ? field.admin?.disabled : false,\n errorProps,\n label: labelProps?.label,\n path,\n required: 'required' in field ? field.required : undefined,\n }\n\n let fieldComponentProps: FieldComponentProps\n\n let fieldOptions: Option[]\n\n if ('options' in field) {\n fieldOptions = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n const cellComponentProps: CellComponentProps = {\n name: 'name' in field ? field.name : undefined,\n fieldType: field.type,\n isFieldAffectingData,\n label: labelProps?.label || undefined,\n labels: 'labels' in field ? field.labels : undefined,\n options: 'options' in field ? fieldOptions : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n schemaPath: path,\n }\n\n switch (field.type) {\n case 'array': {\n let CustomRowLabel: React.ReactNode\n\n if (\n 'admin' in field &&\n field.admin.components &&\n 'RowLabel' in field.admin.components &&\n field.admin.components.RowLabel\n ) {\n const CustomRowLabelComponent = field.admin.components.RowLabel\n CustomRowLabel = (\n <WithServerSideProps Component={CustomRowLabelComponent} {...(labelProps || {})} />\n )\n }\n\n const arrayFieldProps: Omit<ArrayFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n CustomRowLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = arrayFieldProps\n break\n }\n case 'blocks': {\n const blocks = field.blocks.map((block) => {\n const blockFieldMap = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: block.fields,\n filter,\n i18n,\n parentPath: `${path}.${block.slug}`,\n readOnly: readOnlyOverride,\n })\n\n const reducedBlock: ReducedBlock = {\n slug: block.slug,\n LabelComponent: block.admin?.components?.Label,\n custom: block.admin?.custom,\n fieldMap: blockFieldMap,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n }\n\n return reducedBlock\n })\n\n const blocksField: Omit<BlocksFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n blocks,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = blocksField\n\n cellComponentProps.blocks = field.blocks.map((b) => ({\n slug: b.slug,\n labels: b.labels,\n }))\n\n break\n }\n case 'checkbox': {\n const checkboxField: CheckboxFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = checkboxField\n break\n }\n case 'code': {\n const codeField: CodeFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n language: field.admin?.language,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = codeField\n break\n }\n case 'collapsible': {\n let CustomCollapsibleLabel: React.ReactNode\n if (\n field?.admin?.components &&\n 'RowLabel' in field.admin.components &&\n field?.admin?.components?.RowLabel\n ) {\n const CustomCollapsibleLabelComponent = field.admin.components.RowLabel\n CustomCollapsibleLabel = (\n <WithServerSideProps\n Component={CustomCollapsibleLabelComponent}\n {...(labelProps || {})}\n />\n )\n }\n\n const collapsibleField: Omit<CollapsibleFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n CustomLabel: CustomCollapsibleLabel,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n initCollapsed: field.admin?.initCollapsed,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = collapsibleField as CollapsibleFieldProps // TODO: dunno why this is needed\n break\n }\n case 'date': {\n const dateField: DateFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n date: field.admin?.date,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = dateField\n cellComponentProps.dateDisplayFormat = field.admin?.date?.displayFormat\n break\n }\n case 'email': {\n const emailField: EmailFieldProps = {\n ...baseFieldProps,\n name: field.name,\n autoComplete: field.admin?.autoComplete,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = emailField\n break\n }\n case 'group': {\n const groupField: Omit<GroupFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n hideGutter: field.admin?.hideGutter,\n readOnly: field.admin?.readOnly,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = groupField\n break\n }\n case 'json': {\n const jsonField: JSONFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n jsonSchema: field.jsonSchema,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = jsonField\n break\n }\n case 'number': {\n const numberField: NumberFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n max: field.max,\n maxRows: field.maxRows,\n min: field.min,\n readOnly: field.admin?.readOnly,\n required: field.required,\n step: field.admin?.step,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = numberField\n break\n }\n case 'point': {\n const pointField: PointFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = pointField\n break\n }\n case 'relationship': {\n const relationshipField: RelationshipFieldProps = {\n ...baseFieldProps,\n name: field.name,\n allowCreate: field.admin.allowCreate,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isSortable: field.admin?.isSortable,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n sortOptions: field.admin.sortOptions,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = relationshipField\n break\n }\n case 'radio': {\n const radioField: RadioFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n layout: field.admin?.layout,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = radioField\n break\n }\n case 'richText': {\n const richTextField: RichTextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n const RichTextFieldComponent = field.editor.FieldComponent\n const RichTextCellComponent = field.editor.CellComponent\n\n if (typeof field.editor.generateComponentMap === 'function') {\n const result = field.editor.generateComponentMap({\n WithServerSideProps,\n config,\n i18n,\n schemaPath: path,\n })\n richTextField.richTextComponentMap = result\n cellComponentProps.richTextComponentMap = result\n }\n\n if (RichTextFieldComponent) {\n CustomFieldComponent = RichTextFieldComponent\n }\n\n if (RichTextCellComponent) {\n CustomCellComponent = RichTextCellComponent\n }\n\n fieldComponentProps = richTextField\n\n break\n }\n case 'row': {\n const rowField: Omit<RowFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = rowField\n break\n }\n case 'tabs': {\n // `tabs` fields require a field map of each of its tab's nested fields\n const tabs = field.tabs.map((tab) => {\n const tabFieldMap = mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: tab.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n })\n\n const reducedTab: MappedTab = {\n name: 'name' in tab ? tab.name : undefined,\n fieldMap: tabFieldMap,\n label: tab.label,\n }\n\n return reducedTab\n })\n\n const tabsField: Omit<TabsFieldProps, 'indexPath' | 'permissions'> = {\n ...baseFieldProps,\n name: 'name' in field ? (field.name as string) : undefined,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n tabs,\n width: field.admin?.width,\n }\n\n fieldComponentProps = tabsField\n break\n }\n case 'text': {\n const textField: TextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textField\n break\n }\n case 'textarea': {\n const textareaField: TextareaFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n rows: field.admin?.rows,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentProps = textareaField\n break\n }\n case 'ui': {\n fieldComponentProps = baseFieldProps\n break\n }\n case 'upload': {\n const uploadField: UploadFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n filterOptions: field.filterOptions,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentProps = uploadField\n break\n }\n case 'select': {\n const selectField: SelectFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isClearable: field.admin?.isClearable,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentProps = selectField\n break\n }\n default: {\n break\n }\n }\n\n const reducedField: MappedField = {\n name: 'name' in field ? field.name : undefined,\n type: field.type,\n CustomCell: CustomCellComponent ? (\n <WithServerSideProps Component={CustomCellComponent} {...cellComponentProps} />\n ) : undefined,\n CustomField: CustomFieldComponent ? (\n <WithServerSideProps Component={CustomFieldComponent} {...fieldComponentProps} />\n ) : undefined,\n cellComponentProps,\n custom: field?.admin?.custom,\n disableBulkEdit:\n 'admin' in field && 'disableBulkEdit' in field.admin && field.admin.disableBulkEdit,\n disableListColumn:\n 'admin' in field && 'disableListColumn' in field.admin && field.admin.disableListColumn,\n disableListFilter:\n 'admin' in field && 'disableListFilter' in field.admin && field.admin.disableListFilter,\n fieldComponentProps,\n fieldIsPresentational,\n isFieldAffectingData,\n isHidden,\n isSidebar:\n 'admin' in field && 'position' in field.admin && field.admin.position === 'sidebar',\n localized: 'localized' in field ? field.localized : false,\n unique: 'unique' in field ? field.unique : false,\n }\n\n acc.push(reducedField)\n }\n }\n\n return acc\n }, [])\n\n const hasID =\n result.findIndex((f) => 'name' in f && f.isFieldAffectingData && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n // TODO: For all fields (not just this one) we need to add the name to both .fieldComponentProps.name AND .name. This can probably be improved\n result.push({\n name: 'id',\n type: 'text',\n CustomField: null,\n cellComponentProps: {\n name: 'id',\n schemaPath: 'id',\n },\n disableBulkEdit: true,\n fieldComponentProps: {\n name: 'id',\n label: 'ID',\n },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n isHidden: true,\n localized: undefined,\n })\n }\n\n return result\n}\n"],"names":["MissingEditorProp","fieldAffectsData","fieldIsPresentationalOnly","React","Fragment","FieldDescription","HiddenField","generateFieldPath","parentPath","name","tabPath","mapFields","args","WithServerSideProps","config","disableAddingID","fieldSchema","filter","i18n","t","readOnly","readOnlyOverride","result","reduce","acc","field","fieldIsPresentational","CustomFieldComponent","admin","components","Field","CustomCellComponent","Cell","isHidden","hidden","disabled","isFieldAffectingData","path","AfterInput","Array","isArray","afterInput","map","Component","i","BeforeInput","beforeInput","label","undefined","labelProps","required","schemaPath","CustomLabelComponent","Label","CustomLabel","description","descriptionProps","CustomDescriptionComponent","Description","CustomDescription","errorProps","CustomErrorComponent","Error","CustomError","baseFieldProps","custom","fieldComponentProps","fieldOptions","options","option","value","cellComponentProps","fieldType","type","labels","relationTo","CustomRowLabel","RowLabel","CustomRowLabelComponent","arrayFieldProps","className","fieldMap","fields","isSortable","maxRows","minRows","style","width","blocks","block","blockFieldMap","slug","reducedBlock","LabelComponent","imageAltText","imageURL","blocksField","b","checkboxField","codeField","editorOptions","language","CustomCollapsibleLabel","CustomCollapsibleLabelComponent","collapsibleField","initCollapsed","dateField","date","placeholder","dateDisplayFormat","displayFormat","emailField","autoComplete","groupField","hideGutter","jsonField","jsonSchema","numberField","hasMany","max","min","step","pointField","relationshipField","allowCreate","sortOptions","radioField","layout","richTextField","editor","RichTextFieldComponent","FieldComponent","RichTextCellComponent","CellComponent","generateComponentMap","richTextComponentMap","rowField","tabs","tab","tabFieldMap","reducedTab","tabsField","textField","maxLength","minLength","textareaField","rows","uploadField","filterOptions","selectField","isClearable","reducedField","CustomCell","CustomField","disableBulkEdit","disableListColumn","disableListFilter","isSidebar","position","localized","unique","push","hasID","findIndex","f"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,SAAS,EAAE,cAAc,EAAc,MAAM,SAAS,CAAA;AAKhG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAapE,eAAO,MAAM,iBAAiB,QAAS,cAAc,KAAG,cAWvD,CAAA;AAED,eAAO,MAAM,cAAc,YAAmB;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,KAAG,OAAO,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"buildFormState.d.ts","sourceRoot":"","sources":["../../src/utilities/buildFormState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,SAAS,EAAE,cAAc,EAAc,MAAM,SAAS,CAAA;AAKhG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAapE,eAAO,MAAM,iBAAiB,QAAS,cAAc,KAAG,cAWvD,CAAA;AAED,eAAO,MAAM,cAAc,YAAmB;IAAE,GAAG,EAAE,cAAc,CAAA;CAAE,KAAG,OAAO,CAAC,SAAS,CA4KxF,CAAA"}
|
|
@@ -152,6 +152,7 @@ export const buildFormState = async ({ req })=>{
|
|
|
152
152
|
result.file = formState.file;
|
|
153
153
|
}
|
|
154
154
|
if (req.payload.collections[collectionSlug]?.config?.auth && !req.payload.collections[collectionSlug].config.auth.disableLocalStrategy) {
|
|
155
|
+
if (formState.username) result.username = formState.username;
|
|
155
156
|
if (formState.password) result.password = formState.password;
|
|
156
157
|
if (formState['confirm-password']) result['confirm-password'] = formState['confirm-password'];
|
|
157
158
|
if (formState.email) result.email = formState.email;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type { DocumentPreferences, Field, FormState, PayloadRequest, TypeWithID } from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\nimport type { FieldSchemaMap } from './buildFieldSchemaMap/types.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport {} from '../exports/client/index.js'\nimport { buildStateFromSchema } from '../forms/buildStateFromSchema/index.js'\nimport { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js'\n\nlet cached = global._payload_fieldSchemaMap\n\nif (!cached) {\n cached = global._payload_fieldSchemaMap = null\n}\n\nexport const getFieldSchemaMap = (req: PayloadRequest): FieldSchemaMap => {\n if (cached && process.env.NODE_ENV !== 'development') {\n return cached\n }\n\n cached = buildFieldSchemaMap({\n config: req.payload.config,\n i18n: req.i18n,\n })\n\n return cached\n}\n\nexport const buildFormState = async ({ req }: { req: PayloadRequest }): Promise<FormState> => {\n const reqData: BuildFormStateArgs = (req.data || {}) as BuildFormStateArgs\n const { collectionSlug, formState, globalSlug, locale, operation, schemaPath } = reqData\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await req.payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const fieldSchemaMap = getFieldSchemaMap(req)\n\n const id = collectionSlug ? reqData.id : undefined\n const schemaPathSegments = schemaPath && schemaPath.split('.')\n\n let fieldSchema: Field[]\n\n if (schemaPathSegments.length === 1) {\n if (req.payload.collections[schemaPath]) {\n fieldSchema = req.payload.collections[schemaPath].config.fields\n } else {\n fieldSchema = req.payload.config.globals.find((global) => global.slug === schemaPath)?.fields\n }\n } else if (fieldSchemaMap.has(schemaPath)) {\n fieldSchema = fieldSchemaMap.get(schemaPath)\n }\n\n if (!fieldSchema) {\n throw new Error('Could not find field schema for given path')\n }\n\n let docPreferences = reqData.docPreferences\n let data = reqData.data\n\n const promises: {\n data?: Promise<void>\n preferences?: Promise<void>\n } = {}\n\n // If the request does not include doc preferences,\n // we should fetch them. This is useful for DocumentInfoProvider\n // as it reduces the amount of client-side fetches necessary\n // when we fetch data for the Edit view\n if (!docPreferences) {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const fetchPreferences = async () => {\n const preferencesResult = (await req.payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n key: {\n equals: preferencesKey,\n },\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) docPreferences = preferencesResult.docs[0].value\n }\n\n promises.preferences = fetchPreferences()\n }\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) data = reduceFieldsToValues(formState, true)\n\n // If we do not have data at this point,\n // we can fetch it. This is useful for DocumentInfoProvider\n // to reduce the amount of fetches required\n if (!data) {\n const fetchData = async () => {\n let resolvedData: Record<string, unknown> | TypeWithID\n\n if (collectionSlug && id) {\n resolvedData = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n if (globalSlug && schemaPath === globalSlug) {\n resolvedData = await req.payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n data = resolvedData\n }\n\n promises.data = fetchData()\n }\n\n if (Object.keys(promises).length > 0) {\n await Promise.all(Object.values(promises))\n }\n\n const result = await buildStateFromSchema({\n id,\n data,\n fieldSchema,\n operation,\n preferences: docPreferences || { fields: {} },\n req,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (req.payload.collections[collectionSlug]?.config?.upload && formState.file) {\n result.file = formState.file\n }\n\n if (\n req.payload.collections[collectionSlug]?.config?.auth &&\n !req.payload.collections[collectionSlug].config.auth.disableLocalStrategy\n ) {\n if (formState.password) result.password = formState.password\n if (formState['confirm-password']) result['confirm-password'] = formState['confirm-password']\n if (formState.email) result.email = formState.email\n }\n }\n\n return result\n}\n"],"names":["reduceFieldsToValues","buildStateFromSchema","buildFieldSchemaMap","cached","global","_payload_fieldSchemaMap","getFieldSchemaMap","req","process","env","NODE_ENV","config","payload","i18n","buildFormState","reqData","data","collectionSlug","formState","globalSlug","locale","operation","schemaPath","incomingUserSlug","user","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","fieldSchemaMap","id","undefined","schemaPathSegments","split","fieldSchema","fields","globals","slug","has","get","docPreferences","promises","preferencesKey","fetchPreferences","preferencesResult","where","key","equals","value","preferences","fetchData","resolvedData","findByID","draft","fallbackLocale","overrideAccess","findGlobal","Object","keys","Promise","all","values","result","upload","file","auth","disableLocalStrategy","password","email"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/buildFormState.ts"],"sourcesContent":["import type { DocumentPreferences, Field, FormState, PayloadRequest, TypeWithID } from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\n\nimport type { BuildFormStateArgs } from '../forms/buildStateFromSchema/index.js'\nimport type { FieldSchemaMap } from './buildFieldSchemaMap/types.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport {} from '../exports/client/index.js'\nimport { buildStateFromSchema } from '../forms/buildStateFromSchema/index.js'\nimport { buildFieldSchemaMap } from './buildFieldSchemaMap/index.js'\n\nlet cached = global._payload_fieldSchemaMap\n\nif (!cached) {\n cached = global._payload_fieldSchemaMap = null\n}\n\nexport const getFieldSchemaMap = (req: PayloadRequest): FieldSchemaMap => {\n if (cached && process.env.NODE_ENV !== 'development') {\n return cached\n }\n\n cached = buildFieldSchemaMap({\n config: req.payload.config,\n i18n: req.i18n,\n })\n\n return cached\n}\n\nexport const buildFormState = async ({ req }: { req: PayloadRequest }): Promise<FormState> => {\n const reqData: BuildFormStateArgs = (req.data || {}) as BuildFormStateArgs\n const { collectionSlug, formState, globalSlug, locale, operation, schemaPath } = reqData\n\n const incomingUserSlug = req.user?.collection\n const adminUserSlug = req.payload.config.admin.user\n\n // If we have a user slug, test it against the functions\n if (incomingUserSlug) {\n const adminAccessFunction = req.payload.collections[incomingUserSlug].config.access?.admin\n\n // Run the admin access function from the config if it exists\n if (adminAccessFunction) {\n const canAccessAdmin = await adminAccessFunction({ req })\n\n if (!canAccessAdmin) {\n throw new Error('Unauthorized')\n }\n // Match the user collection to the global admin config\n } else if (adminUserSlug !== incomingUserSlug) {\n throw new Error('Unauthorized')\n }\n } else {\n const hasUsers = await req.payload.find({\n collection: adminUserSlug,\n depth: 0,\n limit: 1,\n pagination: false,\n })\n // If there are users, we should not allow access because of /create-first-user\n if (hasUsers.docs.length) {\n throw new Error('Unauthorized')\n }\n }\n\n const fieldSchemaMap = getFieldSchemaMap(req)\n\n const id = collectionSlug ? reqData.id : undefined\n const schemaPathSegments = schemaPath && schemaPath.split('.')\n\n let fieldSchema: Field[]\n\n if (schemaPathSegments.length === 1) {\n if (req.payload.collections[schemaPath]) {\n fieldSchema = req.payload.collections[schemaPath].config.fields\n } else {\n fieldSchema = req.payload.config.globals.find((global) => global.slug === schemaPath)?.fields\n }\n } else if (fieldSchemaMap.has(schemaPath)) {\n fieldSchema = fieldSchemaMap.get(schemaPath)\n }\n\n if (!fieldSchema) {\n throw new Error('Could not find field schema for given path')\n }\n\n let docPreferences = reqData.docPreferences\n let data = reqData.data\n\n const promises: {\n data?: Promise<void>\n preferences?: Promise<void>\n } = {}\n\n // If the request does not include doc preferences,\n // we should fetch them. This is useful for DocumentInfoProvider\n // as it reduces the amount of client-side fetches necessary\n // when we fetch data for the Edit view\n if (!docPreferences) {\n let preferencesKey\n\n if (collectionSlug && id) {\n preferencesKey = `collection-${collectionSlug}-${id}`\n }\n\n if (globalSlug) {\n preferencesKey = `global-${globalSlug}`\n }\n\n if (preferencesKey) {\n const fetchPreferences = async () => {\n const preferencesResult = (await req.payload.find({\n collection: 'payload-preferences',\n depth: 0,\n limit: 1,\n where: {\n key: {\n equals: preferencesKey,\n },\n },\n })) as unknown as { docs: { value: DocumentPreferences }[] }\n\n if (preferencesResult?.docs?.[0]?.value) docPreferences = preferencesResult.docs[0].value\n }\n\n promises.preferences = fetchPreferences()\n }\n }\n\n // If there is a form state,\n // then we can deduce data from that form state\n if (formState) data = reduceFieldsToValues(formState, true)\n\n // If we do not have data at this point,\n // we can fetch it. This is useful for DocumentInfoProvider\n // to reduce the amount of fetches required\n if (!data) {\n const fetchData = async () => {\n let resolvedData: Record<string, unknown> | TypeWithID\n\n if (collectionSlug && id) {\n resolvedData = await req.payload.findByID({\n id,\n collection: collectionSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n if (globalSlug && schemaPath === globalSlug) {\n resolvedData = await req.payload.findGlobal({\n slug: globalSlug,\n depth: 0,\n draft: true,\n fallbackLocale: null,\n locale,\n overrideAccess: false,\n user: req.user,\n })\n }\n\n data = resolvedData\n }\n\n promises.data = fetchData()\n }\n\n if (Object.keys(promises).length > 0) {\n await Promise.all(Object.values(promises))\n }\n\n const result = await buildStateFromSchema({\n id,\n data,\n fieldSchema,\n operation,\n preferences: docPreferences || { fields: {} },\n req,\n })\n\n // Maintain form state of auth / upload fields\n if (collectionSlug && formState) {\n if (req.payload.collections[collectionSlug]?.config?.upload && formState.file) {\n result.file = formState.file\n }\n\n if (\n req.payload.collections[collectionSlug]?.config?.auth &&\n !req.payload.collections[collectionSlug].config.auth.disableLocalStrategy\n ) {\n if (formState.username) result.username = formState.username\n if (formState.password) result.password = formState.password\n if (formState['confirm-password']) result['confirm-password'] = formState['confirm-password']\n if (formState.email) result.email = formState.email\n }\n }\n\n return result\n}\n"],"names":["reduceFieldsToValues","buildStateFromSchema","buildFieldSchemaMap","cached","global","_payload_fieldSchemaMap","getFieldSchemaMap","req","process","env","NODE_ENV","config","payload","i18n","buildFormState","reqData","data","collectionSlug","formState","globalSlug","locale","operation","schemaPath","incomingUserSlug","user","collection","adminUserSlug","admin","adminAccessFunction","collections","access","canAccessAdmin","Error","hasUsers","find","depth","limit","pagination","docs","length","fieldSchemaMap","id","undefined","schemaPathSegments","split","fieldSchema","fields","globals","slug","has","get","docPreferences","promises","preferencesKey","fetchPreferences","preferencesResult","where","key","equals","value","preferences","fetchData","resolvedData","findByID","draft","fallbackLocale","overrideAccess","findGlobal","Object","keys","Promise","all","values","result","upload","file","auth","disableLocalStrategy","username","password","email"],"mappings":"AAEA,SAASA,oBAAoB,QAAQ,iBAAgB;AAKrD,+DAA+D;AAC/D,OAAe,6BAA4B;AAC3C,SAASC,oBAAoB,QAAQ,yCAAwC;AAC7E,SAASC,mBAAmB,QAAQ,iCAAgC;AAEpE,IAAIC,SAASC,OAAOC,uBAAuB;AAE3C,IAAI,CAACF,QAAQ;IACXA,SAASC,OAAOC,uBAAuB,GAAG;AAC5C;AAEA,OAAO,MAAMC,oBAAoB,CAACC;IAChC,IAAIJ,UAAUK,QAAQC,GAAG,CAACC,QAAQ,KAAK,eAAe;QACpD,OAAOP;IACT;IAEAA,SAASD,oBAAoB;QAC3BS,QAAQJ,IAAIK,OAAO,CAACD,MAAM;QAC1BE,MAAMN,IAAIM,IAAI;IAChB;IAEA,OAAOV;AACT,EAAC;AAED,OAAO,MAAMW,iBAAiB,OAAO,EAAEP,GAAG,EAA2B;IACnE,MAAMQ,UAA+BR,IAAIS,IAAI,IAAI,CAAC;IAClD,MAAM,EAAEC,cAAc,EAAEC,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,SAAS,EAAEC,UAAU,EAAE,GAAGP;IAEjF,MAAMQ,mBAAmBhB,IAAIiB,IAAI,EAAEC;IACnC,MAAMC,gBAAgBnB,IAAIK,OAAO,CAACD,MAAM,CAACgB,KAAK,CAACH,IAAI;IAEnD,wDAAwD;IACxD,IAAID,kBAAkB;QACpB,MAAMK,sBAAsBrB,IAAIK,OAAO,CAACiB,WAAW,CAACN,iBAAiB,CAACZ,MAAM,CAACmB,MAAM,EAAEH;QAErF,6DAA6D;QAC7D,IAAIC,qBAAqB;YACvB,MAAMG,iBAAiB,MAAMH,oBAAoB;gBAAErB;YAAI;YAEvD,IAAI,CAACwB,gBAAgB;gBACnB,MAAM,IAAIC,MAAM;YAClB;QACA,uDAAuD;QACzD,OAAO,IAAIN,kBAAkBH,kBAAkB;YAC7C,MAAM,IAAIS,MAAM;QAClB;IACF,OAAO;QACL,MAAMC,WAAW,MAAM1B,IAAIK,OAAO,CAACsB,IAAI,CAAC;YACtCT,YAAYC;YACZS,OAAO;YACPC,OAAO;YACPC,YAAY;QACd;QACA,+EAA+E;QAC/E,IAAIJ,SAASK,IAAI,CAACC,MAAM,EAAE;YACxB,MAAM,IAAIP,MAAM;QAClB;IACF;IAEA,MAAMQ,iBAAiBlC,kBAAkBC;IAEzC,MAAMkC,KAAKxB,iBAAiBF,QAAQ0B,EAAE,GAAGC;IACzC,MAAMC,qBAAqBrB,cAAcA,WAAWsB,KAAK,CAAC;IAE1D,IAAIC;IAEJ,IAAIF,mBAAmBJ,MAAM,KAAK,GAAG;QACnC,IAAIhC,IAAIK,OAAO,CAACiB,WAAW,CAACP,WAAW,EAAE;YACvCuB,cAActC,IAAIK,OAAO,CAACiB,WAAW,CAACP,WAAW,CAACX,MAAM,CAACmC,MAAM;QACjE,OAAO;YACLD,cAActC,IAAIK,OAAO,CAACD,MAAM,CAACoC,OAAO,CAACb,IAAI,CAAC,CAAC9B,UAAWA,QAAO4C,IAAI,KAAK1B,aAAawB;QACzF;IACF,OAAO,IAAIN,eAAeS,GAAG,CAAC3B,aAAa;QACzCuB,cAAcL,eAAeU,GAAG,CAAC5B;IACnC;IAEA,IAAI,CAACuB,aAAa;QAChB,MAAM,IAAIb,MAAM;IAClB;IAEA,IAAImB,iBAAiBpC,QAAQoC,cAAc;IAC3C,IAAInC,OAAOD,QAAQC,IAAI;IAEvB,MAAMoC,WAGF,CAAC;IAEL,mDAAmD;IACnD,gEAAgE;IAChE,4DAA4D;IAC5D,uCAAuC;IACvC,IAAI,CAACD,gBAAgB;QACnB,IAAIE;QAEJ,IAAIpC,kBAAkBwB,IAAI;YACxBY,iBAAiB,CAAC,WAAW,EAAEpC,eAAe,CAAC,EAAEwB,GAAG,CAAC;QACvD;QAEA,IAAItB,YAAY;YACdkC,iBAAiB,CAAC,OAAO,EAAElC,WAAW,CAAC;QACzC;QAEA,IAAIkC,gBAAgB;YAClB,MAAMC,mBAAmB;gBACvB,MAAMC,oBAAqB,MAAMhD,IAAIK,OAAO,CAACsB,IAAI,CAAC;oBAChDT,YAAY;oBACZU,OAAO;oBACPC,OAAO;oBACPoB,OAAO;wBACLC,KAAK;4BACHC,QAAQL;wBACV;oBACF;gBACF;gBAEA,IAAIE,mBAAmBjB,MAAM,CAAC,EAAE,EAAEqB,OAAOR,iBAAiBI,kBAAkBjB,IAAI,CAAC,EAAE,CAACqB,KAAK;YAC3F;YAEAP,SAASQ,WAAW,GAAGN;QACzB;IACF;IAEA,4BAA4B;IAC5B,+CAA+C;IAC/C,IAAIpC,WAAWF,OAAOhB,qBAAqBkB,WAAW;IAEtD,wCAAwC;IACxC,2DAA2D;IAC3D,2CAA2C;IAC3C,IAAI,CAACF,MAAM;QACT,MAAM6C,YAAY;YAChB,IAAIC;YAEJ,IAAI7C,kBAAkBwB,IAAI;gBACxBqB,eAAe,MAAMvD,IAAIK,OAAO,CAACmD,QAAQ,CAAC;oBACxCtB;oBACAhB,YAAYR;oBACZkB,OAAO;oBACP6B,OAAO;oBACPC,gBAAgB;oBAChB7C;oBACA8C,gBAAgB;oBAChB1C,MAAMjB,IAAIiB,IAAI;gBAChB;YACF;YAEA,IAAIL,cAAcG,eAAeH,YAAY;gBAC3C2C,eAAe,MAAMvD,IAAIK,OAAO,CAACuD,UAAU,CAAC;oBAC1CnB,MAAM7B;oBACNgB,OAAO;oBACP6B,OAAO;oBACPC,gBAAgB;oBAChB7C;oBACA8C,gBAAgB;oBAChB1C,MAAMjB,IAAIiB,IAAI;gBAChB;YACF;YAEAR,OAAO8C;QACT;QAEAV,SAASpC,IAAI,GAAG6C;IAClB;IAEA,IAAIO,OAAOC,IAAI,CAACjB,UAAUb,MAAM,GAAG,GAAG;QACpC,MAAM+B,QAAQC,GAAG,CAACH,OAAOI,MAAM,CAACpB;IAClC;IAEA,MAAMqB,SAAS,MAAMxE,qBAAqB;QACxCwC;QACAzB;QACA6B;QACAxB;QACAuC,aAAaT,kBAAkB;YAAEL,QAAQ,CAAC;QAAE;QAC5CvC;IACF;IAEA,8CAA8C;IAC9C,IAAIU,kBAAkBC,WAAW;QAC/B,IAAIX,IAAIK,OAAO,CAACiB,WAAW,CAACZ,eAAe,EAAEN,QAAQ+D,UAAUxD,UAAUyD,IAAI,EAAE;YAC7EF,OAAOE,IAAI,GAAGzD,UAAUyD,IAAI;QAC9B;QAEA,IACEpE,IAAIK,OAAO,CAACiB,WAAW,CAACZ,eAAe,EAAEN,QAAQiE,QACjD,CAACrE,IAAIK,OAAO,CAACiB,WAAW,CAACZ,eAAe,CAACN,MAAM,CAACiE,IAAI,CAACC,oBAAoB,EACzE;YACA,IAAI3D,UAAU4D,QAAQ,EAAEL,OAAOK,QAAQ,GAAG5D,UAAU4D,QAAQ;YAC5D,IAAI5D,UAAU6D,QAAQ,EAAEN,OAAOM,QAAQ,GAAG7D,UAAU6D,QAAQ;YAC5D,IAAI7D,SAAS,CAAC,mBAAmB,EAAEuD,MAAM,CAAC,mBAAmB,GAAGvD,SAAS,CAAC,mBAAmB;YAC7F,IAAIA,UAAU8D,KAAK,EAAEP,OAAOO,KAAK,GAAG9D,UAAU8D,KAAK;QACrD;IACF;IAEA,OAAOP;AACT,EAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Config } from 'payload';
|
|
2
|
+
/** Will read the `routes.admin` config and appropriately handle `"/"` admin paths */
|
|
3
|
+
export declare const formatAdminURL: (args: {
|
|
4
|
+
adminRoute: Config["routes"]["admin"];
|
|
5
|
+
path: string;
|
|
6
|
+
serverURL?: Config["serverURL"];
|
|
7
|
+
}) => string;
|
|
8
|
+
//# sourceMappingURL=formatAdminURL.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatAdminURL.d.ts","sourceRoot":"","sources":["../../src/utilities/formatAdminURL.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAErC,qFAAqF;AACrF,eAAO,MAAM,cAAc,SAAU;IACnC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;CAChC,KAAG,MAcH,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Will read the `routes.admin` config and appropriately handle `"/"` admin paths */ export const formatAdminURL = (args)=>{
|
|
2
|
+
const { adminRoute, path, serverURL } = args;
|
|
3
|
+
if (adminRoute) {
|
|
4
|
+
if (adminRoute === '/') {
|
|
5
|
+
if (!path) {
|
|
6
|
+
return `${serverURL || ''}${adminRoute}`;
|
|
7
|
+
}
|
|
8
|
+
} else {
|
|
9
|
+
return `${serverURL || ''}${adminRoute}${path}`;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return `${serverURL || ''}${path}`;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=formatAdminURL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utilities/formatAdminURL.ts"],"sourcesContent":["import type { Config } from 'payload'\n\n/** Will read the `routes.admin` config and appropriately handle `\"/\"` admin paths */\nexport const formatAdminURL = (args: {\n adminRoute: Config['routes']['admin']\n path: string\n serverURL?: Config['serverURL']\n}): string => {\n const { adminRoute, path, serverURL } = args\n\n if (adminRoute) {\n if (adminRoute === '/') {\n if (!path) {\n return `${serverURL || ''}${adminRoute}`\n }\n } else {\n return `${serverURL || ''}${adminRoute}${path}`\n }\n }\n\n return `${serverURL || ''}${path}`\n}\n"],"names":["formatAdminURL","args","adminRoute","path","serverURL"],"mappings":"AAEA,mFAAmF,GACnF,OAAO,MAAMA,iBAAiB,CAACC;IAK7B,MAAM,EAAEC,UAAU,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGH;IAExC,IAAIC,YAAY;QACd,IAAIA,eAAe,KAAK;YACtB,IAAI,CAACC,MAAM;gBACT,OAAO,CAAC,EAAEC,aAAa,GAAG,EAAEF,WAAW,CAAC;YAC1C;QACF,OAAO;YACL,OAAO,CAAC,EAAEE,aAAa,GAAG,EAAEF,WAAW,EAAEC,KAAK,CAAC;QACjD;IACF;IAEA,OAAO,CAAC,EAAEC,aAAa,GAAG,EAAED,KAAK,CAAC;AACpC,EAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@payloadcms/ui",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.69",
|
|
4
4
|
"homepage": "https://payloadcms.com",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
"sonner": "^1.5.0",
|
|
104
104
|
"use-context-selector": "2.0.0",
|
|
105
105
|
"uuid": "10.0.0",
|
|
106
|
-
"@payloadcms/translations": "3.0.0-beta.
|
|
106
|
+
"@payloadcms/translations": "3.0.0-beta.69"
|
|
107
107
|
},
|
|
108
108
|
"devDependencies": {
|
|
109
109
|
"@babel/cli": "^7.24.5",
|
|
@@ -120,14 +120,14 @@
|
|
|
120
120
|
"babel-plugin-react-compiler": "0.0.0-experimental-592953e-20240517",
|
|
121
121
|
"esbuild": "0.23.0",
|
|
122
122
|
"esbuild-sass-plugin": "3.3.1",
|
|
123
|
-
"payload": "3.0.0-beta.
|
|
123
|
+
"payload": "3.0.0-beta.69",
|
|
124
124
|
"@payloadcms/eslint-config": "3.0.0-beta.59"
|
|
125
125
|
},
|
|
126
126
|
"peerDependencies": {
|
|
127
127
|
"next": "^15.0.0-canary.53",
|
|
128
128
|
"react": "^19.0.0 || ^19.0.0-rc-6230622a1a-20240610",
|
|
129
129
|
"react-dom": "^19.0.0 || ^19.0.0-rc-6230622a1a-20240610",
|
|
130
|
-
"payload": "3.0.0-beta.
|
|
130
|
+
"payload": "3.0.0-beta.69"
|
|
131
131
|
},
|
|
132
132
|
"engines": {
|
|
133
133
|
"node": "^18.20.2 || >=20.9.0"
|