27 lines
636 B
TypeScript
27 lines
636 B
TypeScript
import type { ArrayField, Field } from '../../../packages/payload/src/fields/config/types'
|
|
import type { LinkAppearances } from './link'
|
|
|
|
import deepMerge from '../utilities/deepMerge'
|
|
import link from './link'
|
|
|
|
type LinkGroupType = (options?: {
|
|
appearances?: LinkAppearances[] | false
|
|
overrides?: Partial<ArrayField>
|
|
}) => Field
|
|
|
|
const linkGroup: LinkGroupType = ({ overrides = {}, appearances } = {}) => {
|
|
const generatedLinkGroup: Field = {
|
|
name: 'links',
|
|
type: 'array',
|
|
fields: [
|
|
link({
|
|
appearances,
|
|
}),
|
|
],
|
|
}
|
|
|
|
return deepMerge(generatedLinkGroup, overrides)
|
|
}
|
|
|
|
export default linkGroup
|