28 lines
610 B
TypeScript
28 lines
610 B
TypeScript
import type { ArrayField, Field } from 'payload/types'
|
|
|
|
import type { LinkAppearances } from './link.js'
|
|
|
|
import deepMerge from '../utilities/deepMerge.js'
|
|
import link from './link.js'
|
|
|
|
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
|