diff --git a/components/Block/Columns.vue b/components/Block/Columns.vue index 682bb9ce..f361907f 100644 --- a/components/Block/Columns.vue +++ b/components/Block/Columns.vue @@ -25,6 +25,7 @@ const components: Record> = { comp_button_group: resolveComponent('CompButtonGroup'), comp_metrics: resolveComponent('CompMetrics'), comp_media: resolveComponent('CompMedia'), + comp_cards: resolveComponent('CompCards'), }; diff --git a/types/schema/components/component-card.ts b/types/schema/components/component-card.ts new file mode 100644 index 00000000..4d5dec95 --- /dev/null +++ b/types/schema/components/component-card.ts @@ -0,0 +1,15 @@ +import type { File } from '../system/file.js'; +import type { Page } from '../content/page/page.js'; +import type { Resource } from '../content/resource.js'; + +export interface ComponentCard { + id: string; + sort: number | null; + title: string | null; + description: string | null; + image: File | null; + type: string | null; + page: string | Page | null; + resource: string | Resource | null; + external_url: string | null; +} diff --git a/types/schema/components/component.ts b/types/schema/components/component.ts index 57045175..69ef1ee0 100644 --- a/types/schema/components/component.ts +++ b/types/schema/components/component.ts @@ -3,7 +3,20 @@ import type { ComponentHeading } from './component-heading'; import type { ComponentMedia } from './component-media'; import type { ComponentMetrics } from './component-metrics'; import type { ComponentQuote } from './component-quote'; +import type { ComponentCard } from './component-card'; -export type ComponentType = 'comp_button_group' | 'comp_heading' | 'comp_media' | 'comp_metrics' | 'comp_quote'; +export type ComponentType = + | 'comp_button_group' + | 'comp_heading' + | 'comp_media' + | 'comp_metrics' + | 'comp_quote' + | 'comp_cards'; -export type Component = ComponentButtonGroup | ComponentHeading | ComponentMedia | ComponentMetrics | ComponentQuote; +export type Component = + | ComponentButtonGroup + | ComponentHeading + | ComponentMedia + | ComponentMetrics + | ComponentQuote + | ComponentCard; diff --git a/types/schema/components/index.ts b/types/schema/components/index.ts index 9f08b56c..c3b9a647 100644 --- a/types/schema/components/index.ts +++ b/types/schema/components/index.ts @@ -1,5 +1,6 @@ export type * from './component-button-group.js'; export type * from './component-button.js'; +export type * from './component-card.js'; export type * from './component-heading.js'; export type * from './component-media.js'; export type * from './component-metrics.js'; diff --git a/types/schema/meta/globals.ts b/types/schema/meta/globals.ts index 12fa6443..4b291ffb 100644 --- a/types/schema/meta/globals.ts +++ b/types/schema/meta/globals.ts @@ -1,4 +1,5 @@ import type { User } from '../system/index.js'; +import type { ComponentButtonGroup } from '../components/component-button-group.js'; export interface Globals { id: string; @@ -14,4 +15,5 @@ export interface Globals { social: string; sales: string; seo: string; + header_cta_buttons: ComponentButtonGroup; }