wwwfiberdirekt/src/payload-types.ts

3106 lines
74 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* tslint:disable */
/* eslint-disable */
/**
* This file was automatically generated by Payload.
* DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,
* and re-run `payload generate:types` to regenerate this file.
*/
/**
* Supported timezones in IANA format.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "supportedTimezones".
*/
export type SupportedTimezones =
| 'Pacific/Midway'
| 'Pacific/Niue'
| 'Pacific/Honolulu'
| 'Pacific/Rarotonga'
| 'America/Anchorage'
| 'Pacific/Gambier'
| 'America/Los_Angeles'
| 'America/Tijuana'
| 'America/Denver'
| 'America/Phoenix'
| 'America/Chicago'
| 'America/Guatemala'
| 'America/New_York'
| 'America/Bogota'
| 'America/Caracas'
| 'America/Santiago'
| 'America/Buenos_Aires'
| 'America/Sao_Paulo'
| 'Atlantic/South_Georgia'
| 'Atlantic/Azores'
| 'Atlantic/Cape_Verde'
| 'Europe/London'
| 'Europe/Berlin'
| 'Africa/Lagos'
| 'Europe/Athens'
| 'Africa/Cairo'
| 'Europe/Moscow'
| 'Asia/Riyadh'
| 'Asia/Dubai'
| 'Asia/Baku'
| 'Asia/Karachi'
| 'Asia/Tashkent'
| 'Asia/Calcutta'
| 'Asia/Dhaka'
| 'Asia/Almaty'
| 'Asia/Jakarta'
| 'Asia/Bangkok'
| 'Asia/Shanghai'
| 'Asia/Singapore'
| 'Asia/Tokyo'
| 'Asia/Seoul'
| 'Australia/Brisbane'
| 'Australia/Sydney'
| 'Pacific/Guam'
| 'Pacific/Noumea'
| 'Pacific/Auckland'
| 'Pacific/Fiji';
export interface Config {
auth: {
users: UserAuthOperations;
};
blocks: {};
collections: {
pages: Page;
posts: Post;
media: Media;
categories: Category;
users: User;
redirects: Redirect;
forms: Form;
'form-submissions': FormSubmission;
'payload-kv': PayloadKv;
'payload-jobs': PayloadJob;
'payload-locked-documents': PayloadLockedDocument;
'payload-preferences': PayloadPreference;
'payload-migrations': PayloadMigration;
};
collectionsJoins: {};
collectionsSelect: {
pages: PagesSelect<false> | PagesSelect<true>;
posts: PostsSelect<false> | PostsSelect<true>;
media: MediaSelect<false> | MediaSelect<true>;
categories: CategoriesSelect<false> | CategoriesSelect<true>;
users: UsersSelect<false> | UsersSelect<true>;
redirects: RedirectsSelect<false> | RedirectsSelect<true>;
forms: FormsSelect<false> | FormsSelect<true>;
'form-submissions': FormSubmissionsSelect<false> | FormSubmissionsSelect<true>;
'payload-kv': PayloadKvSelect<false> | PayloadKvSelect<true>;
'payload-jobs': PayloadJobsSelect<false> | PayloadJobsSelect<true>;
'payload-locked-documents': PayloadLockedDocumentsSelect<false> | PayloadLockedDocumentsSelect<true>;
'payload-preferences': PayloadPreferencesSelect<false> | PayloadPreferencesSelect<true>;
'payload-migrations': PayloadMigrationsSelect<false> | PayloadMigrationsSelect<true>;
};
db: {
defaultIDType: number;
};
fallbackLocale: null;
globals: {
header: Header;
footer: Footer;
'announcement-bar': AnnouncementBar;
'popup-announcement': PopupAnnouncement;
'site-settings': SiteSetting;
};
globalsSelect: {
header: HeaderSelect<false> | HeaderSelect<true>;
footer: FooterSelect<false> | FooterSelect<true>;
'announcement-bar': AnnouncementBarSelect<false> | AnnouncementBarSelect<true>;
'popup-announcement': PopupAnnouncementSelect<false> | PopupAnnouncementSelect<true>;
'site-settings': SiteSettingsSelect<false> | SiteSettingsSelect<true>;
};
locale: null;
user: User;
jobs: {
tasks: {
schedulePublish: TaskSchedulePublish;
inline: {
input: unknown;
output: unknown;
};
};
workflows: unknown;
};
}
export interface UserAuthOperations {
forgotPassword: {
email: string;
password: string;
};
login: {
email: string;
password: string;
};
registerFirstUser: {
email: string;
password: string;
};
unlock: {
email: string;
password: string;
};
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "pages".
*/
export interface Page {
id: number;
title: string;
layout: (
| FDHeroBlock
| FDCtaSideImageBlock
| FDFeatureAnnouncementBlock
| FDServicesGridBlock
| FDContactBlock
| FDFaqBlock
| FDCardGridBlock
| FDPricingCardBlock
| FDSpacerBlock
| FDIconBarBlock
| FDUspChecklistBlock
| FDWideCardBlock
| FDTechPropertiesBlock
| FDUspTableBlock
| FDHeaderTextImageBlock
| FDContactFormBlock
| FDLocationsGridBlock
| FDAlternateHeroBlock
| FDStatisticsBlock
| FDPartnersLogosBlock
| FDNewsletterBlock
| FDServiceChooserBlock
| FDDataTableBlock
| FDVpsCalculatorBlock
| FDTagsBlock
| FDTextBlock
| FDCodeEmbedBlock
| FDVideoBlock
| FDCtaBannerBlock
| FDTestimonialBlock
| FDTeamBlock
)[];
meta?: {
title?: string | null;
/**
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
*/
image?: (number | null) | Media;
description?: string | null;
};
publishedAt?: string | null;
/**
* Genereras automatiskt från titeln.
*/
slug: string;
updatedAt: string;
createdAt: string;
_status?: ('draft' | 'published') | null;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDHeroBlock".
*/
export interface FDHeroBlock {
heading: string;
subheading?: string | null;
body?: string | null;
ctaText?: string | null;
ctaLink?: string | null;
secondaryCtaText?: string | null;
secondaryCtaLink?: string | null;
/**
* Fullbreddsbild bakom texten. Lämna tom för enfärgad bakgrund.
*/
backgroundImage?: (number | null) | Media;
/**
* Hur mörk overlay över bilden (för läsbarhet)
*/
overlayOpacity?: ('30' | '50' | '70') | null;
textColor?: ('auto' | 'white' | 'navy') | null;
/**
* Ignoreras om bakgrundsbild är vald
*/
theme?: ('light' | 'dark') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdHero';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "media".
*/
export interface Media {
id: number;
alt: string;
updatedAt: string;
createdAt: string;
url?: string | null;
thumbnailURL?: string | null;
filename?: string | null;
mimeType?: string | null;
filesize?: number | null;
width?: number | null;
height?: number | null;
focalX?: number | null;
focalY?: number | null;
sizes?: {
thumbnail?: {
url?: string | null;
width?: number | null;
height?: number | null;
mimeType?: string | null;
filesize?: number | null;
filename?: string | null;
};
medium?: {
url?: string | null;
width?: number | null;
height?: number | null;
mimeType?: string | null;
filesize?: number | null;
filename?: string | null;
};
large?: {
url?: string | null;
width?: number | null;
height?: number | null;
mimeType?: string | null;
filesize?: number | null;
filename?: string | null;
};
hero?: {
url?: string | null;
width?: number | null;
height?: number | null;
mimeType?: string | null;
filesize?: number | null;
filename?: string | null;
};
};
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDCtaSideImageBlock".
*/
export interface FDCtaSideImageBlock {
heading: string;
body: string;
ctaText?: string | null;
ctaLink?: string | null;
image: number | Media;
imagePosition?: ('right' | 'left') | null;
theme?: ('light' | 'dark' | 'custom') | null;
/**
* Valfri HEX-färg, t.ex. #1a3a5c eller #fecc02
*/
customBackgroundColor?: string | null;
/**
* Aktivera för vit text på mörk anpassad bakgrund
*/
customTextLight?: boolean | null;
/**
* Tonad overlay över bilden med varumärkesfärg
*/
imageOverlay?: ('none' | 'navy' | 'yellow' | 'black') | null;
/**
* Hur stark overlay över bilden
*/
imageOverlayOpacity?: ('20' | '30' | '50' | '70') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdCtaSideImage';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDFeatureAnnouncementBlock".
*/
export interface FDFeatureAnnouncementBlock {
heading: string;
body: string;
ctaText?: string | null;
ctaLink?: string | null;
theme?: ('gray' | 'light' | 'dark') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdFeatureAnnouncement';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDServicesGridBlock".
*/
export interface FDServicesGridBlock {
heading: string;
services?:
| {
title: string;
description: string;
image?: (number | null) | Media;
link?: string | null;
id?: string | null;
}[]
| null;
columns?: ('2' | '3' | '4') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdServicesGrid';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDContactBlock".
*/
export interface FDContactBlock {
heading: string;
contactMethods?:
| {
label: string;
icon?: (number | null) | Media;
/**
* tel:, mailto:, eller URL
*/
link?: string | null;
id?: string | null;
}[]
| null;
id?: string | null;
blockName?: string | null;
blockType: 'fdContact';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDFaqBlock".
*/
export interface FDFaqBlock {
heading: string;
items?:
| {
question: string;
answer?: {
root: {
type: string;
children: {
type: any;
version: number;
[k: string]: unknown;
}[];
direction: ('ltr' | 'rtl') | null;
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number;
version: number;
};
[k: string]: unknown;
} | null;
id?: string | null;
}[]
| null;
theme?: ('gray' | 'light' | 'dark') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdFaq';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDCardGridBlock".
*/
export interface FDCardGridBlock {
layout: '1-2' | '2-1' | '1-1-1' | '1-1';
cardStyle: 'navy' | 'gray' | 'yellow' | 'green' | 'outlined';
cards?:
| {
/**
* "Centrerad stor rubrik" visar bara rubrikfältet centrerat med stor text. "Centrerad brödtext" visar bara brödtext centrerat.
*/
displayMode?: ('content' | 'centeredHeading' | 'centeredBody') | null;
heading?: string | null;
centeredBodyText?: string | null;
contentLines?:
| {
text: string;
style?: ('normal' | 'bold' | 'italic' | 'boldItalic') | null;
/**
* Om ifylld blir texten en klickbar länk med understruken stil
*/
link?: string | null;
id?: string | null;
}[]
| null;
/**
* Gör hela kortet klickbart
*/
cardLink?: string | null;
id?: string | null;
}[]
| null;
sectionBackground?: ('white' | 'navy' | 'gray') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdCardGrid';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDPricingCardBlock".
*/
export interface FDPricingCardBlock {
/**
* Stor rubrik ovanför korten
*/
sectionTitle?: string | null;
cards?:
| {
/**
* T.ex. produktnamn eller tjänstenamn
*/
title: string;
/**
* T.ex. pris: "från 640 kr/mån"
*/
subtitle?: string | null;
description?: string | null;
bulletPoints?:
| {
text: string;
id?: string | null;
}[]
| null;
ctaText?: string | null;
ctaLink?: string | null;
id?: string | null;
}[]
| null;
cardStyle?: ('outlined' | 'navy' | 'gray' | 'yellow' | 'white') | null;
buttonColor?: ('yellow' | 'navy' | 'outlinedNavy' | 'outlinedWhite') | null;
sectionBackground?: ('white' | 'navy' | 'gray' | 'yellow') | null;
/**
* Färg på blockrubriken
*/
titleColor?: ('navy' | 'white' | 'yellow') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdPricingCard';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDSpacerBlock".
*/
export interface FDSpacerBlock {
height?: ('sm' | 'md' | 'lg' | 'xl') | null;
sectionBackground?: ('white' | 'navy' | 'gray' | 'yellow' | 'transparent') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdSpacer';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDIconBarBlock".
*/
export interface FDIconBarBlock {
heading?: string | null;
icons?:
| {
icon: number | Media;
label: string;
link?: string | null;
id?: string | null;
}[]
| null;
iconStyle?: ('navy' | 'yellow' | 'gray' | 'none') | null;
sectionBackground?: ('white' | 'gray' | 'navy' | 'yellow') | null;
textColor?: ('navy' | 'white') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdIconBar';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDUspChecklistBlock".
*/
export interface FDUspChecklistBlock {
heading: string;
items?:
| {
text: string;
id?: string | null;
}[]
| null;
image?: (number | null) | Media;
imagePosition?: ('right' | 'left') | null;
checkColor?: ('navy' | 'yellow' | 'gray') | null;
sectionBackground?: ('white' | 'gray' | 'navy') | null;
textColor?: ('navy' | 'white') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdUspChecklist';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDWideCardBlock".
*/
export interface FDWideCardBlock {
heading: string;
body?: string | null;
ctaText?: string | null;
ctaLink?: string | null;
image?: (number | null) | Media;
cardBackground?: ('navy' | 'yellow' | 'gray' | 'white') | null;
buttonColor?: ('yellow' | 'navy' | 'white') | null;
sectionBackground?: ('white' | 'gray' | 'navy') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdWideCard';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDTechPropertiesBlock".
*/
export interface FDTechPropertiesBlock {
properties?:
| {
/**
* T.ex. "Skyddsklass"
*/
category: string;
/**
* T.ex. "3" eller "1,6 MW"
*/
value: string;
id?: string | null;
}[]
| null;
sectionBackground?: ('navy' | 'white' | 'gray' | 'yellow') | null;
categoryColor?: ('white' | 'navy') | null;
valueColor?: ('yellow' | 'white' | 'navy') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdTechProperties';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDUspTableBlock".
*/
export interface FDUspTableBlock {
heading?: string | null;
rows?:
| {
/**
* T.ex. "Högsta säkerhet"
*/
title: string;
description?: {
root: {
type: string;
children: {
type: any;
version: number;
[k: string]: unknown;
}[];
direction: ('ltr' | 'rtl') | null;
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number;
version: number;
};
[k: string]: unknown;
} | null;
id?: string | null;
}[]
| null;
checkColor?: ('navy' | 'yellow' | 'gray') | null;
sectionBackground?: ('white' | 'gray' | 'navy') | null;
textColor?: ('navy' | 'white') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdUspTable';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDHeaderTextImageBlock".
*/
export interface FDHeaderTextImageBlock {
heading?: string | null;
body?: string | null;
image: number | Media;
imageOverlay?:
| ('none' | 'navyLight' | 'navyMedium' | 'yellowLight' | 'yellowMedium' | 'sepia' | 'blackLight' | 'blackMedium')
| null;
imageRounded?: ('none' | 'medium' | 'large') | null;
textAlign?: ('left' | 'center') | null;
sectionBackground?: ('white' | 'gray' | 'navy') | null;
textColor?: ('navy' | 'white') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdHeaderTextImage';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDContactFormBlock".
*/
export interface FDContactFormBlock {
/**
* Välj ett formulär skapat under Formulär i adminpanelen
*/
form: number | Form;
heading: string;
description?: string | null;
submitText?: string | null;
sectionBackground?: ('white' | 'gray' | 'navy' | 'navyGradient') | null;
layout?: ('standard' | 'withImage' | 'card') | null;
/**
* Visas till höger om formuläret på desktop
*/
sideImage?: (number | null) | Media;
privacyText?: string | null;
privacyLinkText?: string | null;
privacyLinkUrl?: string | null;
/**
* Skicka formulärdata till ett externt system (t.ex. Lime CRM) utöver Payload
*/
externalApi?: {
enabled?: boolean | null;
/**
* T.ex. https://api.lime-crm.se/webhook/forms
*/
endpoint?: string | null;
/**
* Skickas som Authorization: Bearer {token}
*/
authToken?: string | null;
};
id?: string | null;
blockName?: string | null;
blockType: 'fdContactForm';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "forms".
*/
export interface Form {
id: number;
title: string;
fields?:
| (
| {
name: string;
label?: string | null;
width?: number | null;
required?: boolean | null;
defaultValue?: boolean | null;
id?: string | null;
blockName?: string | null;
blockType: 'checkbox';
}
| {
name: string;
label?: string | null;
width?: number | null;
required?: boolean | null;
id?: string | null;
blockName?: string | null;
blockType: 'country';
}
| {
name: string;
label?: string | null;
width?: number | null;
required?: boolean | null;
id?: string | null;
blockName?: string | null;
blockType: 'email';
}
| {
message?: {
root: {
type: string;
children: {
type: any;
version: number;
[k: string]: unknown;
}[];
direction: ('ltr' | 'rtl') | null;
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number;
version: number;
};
[k: string]: unknown;
} | null;
id?: string | null;
blockName?: string | null;
blockType: 'message';
}
| {
name: string;
label?: string | null;
width?: number | null;
defaultValue?: number | null;
required?: boolean | null;
id?: string | null;
blockName?: string | null;
blockType: 'number';
}
| {
name: string;
label?: string | null;
width?: number | null;
defaultValue?: string | null;
placeholder?: string | null;
options?:
| {
label: string;
value: string;
id?: string | null;
}[]
| null;
required?: boolean | null;
id?: string | null;
blockName?: string | null;
blockType: 'select';
}
| {
name: string;
label?: string | null;
width?: number | null;
required?: boolean | null;
id?: string | null;
blockName?: string | null;
blockType: 'state';
}
| {
name: string;
label?: string | null;
width?: number | null;
defaultValue?: string | null;
required?: boolean | null;
id?: string | null;
blockName?: string | null;
blockType: 'text';
}
| {
name: string;
label?: string | null;
width?: number | null;
defaultValue?: string | null;
required?: boolean | null;
id?: string | null;
blockName?: string | null;
blockType: 'textarea';
}
)[]
| null;
submitButtonLabel?: string | null;
/**
* Choose whether to display an on-page message or redirect to a different page after they submit the form.
*/
confirmationType?: ('message' | 'redirect') | null;
confirmationMessage?: {
root: {
type: string;
children: {
type: any;
version: number;
[k: string]: unknown;
}[];
direction: ('ltr' | 'rtl') | null;
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number;
version: number;
};
[k: string]: unknown;
} | null;
redirect?: {
url: string;
};
/**
* Send custom emails when the form submits. Use comma separated lists to send the same email to multiple recipients. To reference a value from this form, wrap that field's name with double curly brackets, i.e. {{firstName}}. You can use a wildcard {{*}} to output all data and {{*:table}} to format it as an HTML table in the email.
*/
emails?:
| {
emailTo?: string | null;
cc?: string | null;
bcc?: string | null;
replyTo?: string | null;
emailFrom?: string | null;
subject: string;
/**
* Enter the message that should be sent in this email.
*/
message?: {
root: {
type: string;
children: {
type: any;
version: number;
[k: string]: unknown;
}[];
direction: ('ltr' | 'rtl') | null;
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number;
version: number;
};
[k: string]: unknown;
} | null;
id?: string | null;
}[]
| null;
updatedAt: string;
createdAt: string;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDLocationsGridBlock".
*/
export interface FDLocationsGridBlock {
heading?: string | null;
description?: string | null;
ctaText?: string | null;
ctaLink?: string | null;
cards?:
| {
image: number | Media;
locationName: string;
address?: string | null;
link?: string | null;
id?: string | null;
}[]
| null;
hoverColor?: ('navy' | 'yellow' | 'mint') | null;
sectionBackground?: ('white' | 'navy' | 'gray') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdLocationsGrid';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDAlternateHeroBlock".
*/
export interface FDAlternateHeroBlock {
heading: string;
description?: string | null;
primaryCtaText?: string | null;
primaryCtaLink?: string | null;
secondaryCtaText?: string | null;
secondaryCtaLink?: string | null;
/**
* Bred bild utan border-radius — visas som en full showcase under CTA-knapparna.
*/
image?: (number | null) | Media;
imageCaption?: string | null;
sectionBackground?: ('white' | 'navy' | 'gray') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdAlternateHero';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDStatisticsBlock".
*/
export interface FDStatisticsBlock {
heading?: string | null;
stats?:
| {
/**
* T.ex. "77%", "24/7", "10 Gbit"
*/
number: string;
/**
* T.ex. "av ärenden lösta av AI"
*/
label: string;
id?: string | null;
}[]
| null;
sectionBackground?: ('white' | 'navy' | 'gray') | null;
numberColor?: ('gradient' | 'yellow' | 'mint' | 'navy' | 'white') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdStatistics';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDPartnersLogosBlock".
*/
export interface FDPartnersLogosBlock {
heading?: string | null;
logos?:
| {
image: number | Media;
/**
* Beskrivning av logotypen (tillgänglighet)
*/
alt?: string | null;
/**
* URL till partnerns webbplats
*/
link?: string | null;
id?: string | null;
}[]
| null;
displayMode?: ('color' | 'monochrome') | null;
sectionBackground?: ('white' | 'gray' | 'navy') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdPartnersLogos';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDNewsletterBlock".
*/
export interface FDNewsletterBlock {
heading?: string | null;
description?: string | null;
/**
* URL dit formulärdata skickas (POST). T.ex. /api/newsletter, en Lime CRM webhook, eller en tredjeparts-URL.
*/
submitEndpoint: string;
buttonText?: string | null;
successMessage?: string | null;
/**
* Text bredvid samtyckeskryssrutan (GDPR)
*/
consentText?: string | null;
privacyPolicyLink?: string | null;
/**
* Lägg till ett namnfält i formuläret
*/
collectName?: boolean | null;
/**
* Lägg till ett fält för företagsnamn
*/
collectCompany?: boolean | null;
layout?: ('inline' | 'stacked' | 'card') | null;
sectionBackground?: ('white' | 'navy' | 'gray' | 'yellow') | null;
textColor?: ('auto' | 'navy' | 'white') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdNewsletter';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDServiceChooserBlock".
*/
export interface FDServiceChooserBlock {
heading?: string | null;
description?: string | null;
categories?:
| {
/**
* T.ex. "Butik & Handel", "Lager & Logistik"
*/
label: string;
intro?: string | null;
services?:
| {
title: string;
description?: string | null;
ctaText?: string | null;
ctaLink?: string | null;
id?: string | null;
}[]
| null;
id?: string | null;
}[]
| null;
sectionBackground?: ('gray' | 'white' | 'navy') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdServiceChooser';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDDataTableBlock".
*/
export interface FDDataTableBlock {
heading?: string | null;
description?: string | null;
/**
* Välj om du vill ladda upp en fil eller ange tabelldata manuellt.
*/
dataSource?: ('upload' | 'manual') | null;
/**
* Ladda upp en .csv, .xlsx eller .xls fil. Den första raden används som kolumnrubriker.
*/
file?: (number | null) | Media;
/**
* Lägg till en rad per kolumn.
*/
headers?:
| {
text: string;
id?: string | null;
}[]
| null;
/**
* Varje rad är en kommaseparerad sträng av cellvärden, i samma ordning som kolumnrubrikerna.
*/
rows?:
| {
/**
* T.ex: "Stockholm, 10 Gbit, 99.9%, 2 400 kr/mån"
*/
cells: string;
id?: string | null;
}[]
| null;
sectionBackground?: ('white' | 'navy' | 'gray') | null;
headerStyle?: ('navy' | 'yellow' | 'mint' | 'gray') | null;
/**
* Aktivera för att annenhålla rader med subtil bakgrundsfärg.
*/
stripeRows?: boolean | null;
/**
* Lägg till linjer mellan alla celler.
*/
bordered?: boolean | null;
/**
* Gör den första kolumnen fet — användbart för namnkolumner.
*/
firstColumnBold?: boolean | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdDataTable';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDVpsCalculatorBlock".
*/
export interface FDVpsCalculatorBlock {
heading?: string | null;
description?: string | null;
orderCtaText?: string | null;
orderCtaLink?: string | null;
contactCtaText?: string | null;
contactCtaLink?: string | null;
sectionBackground?: ('white' | 'gray' | 'navy') | null;
pricingCpuPerCore?: number | null;
pricingRamPerGb?: number | null;
pricingSsdPerGb?: number | null;
pricingHddPerGb?: number | null;
pricingWindowsLicense?: number | null;
/**
* Appliceras på alla resurser. 0 = ingen rabatt.
*/
discountPercent?: number | null;
/**
* Lägg till en fast avgift som alltid ingår i totalen.
*/
showAdminFee?: boolean | null;
/**
* Standard: 200 kr/mån
*/
adminFeeAmount?: number | null;
/**
* Kunden kan slå på/av dessa i kalkylatorn. Visas under "Tillvalstjänster".
*/
additionalServices?:
| {
label: string;
price: number;
id?: string | null;
}[]
| null;
id?: string | null;
blockName?: string | null;
blockType: 'fdVpsCalculator';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDTagsBlock".
*/
export interface FDTagsBlock {
heading?: string | null;
tags?:
| {
text: string;
link?: string | null;
id?: string | null;
}[]
| null;
tagStyle?: ('navy' | 'yellow' | 'outlined' | 'gray') | null;
tagSize?: ('small' | 'medium' | 'large') | null;
alignment?: ('left' | 'center') | null;
sectionBackground?: ('white' | 'navy' | 'gray') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdTags';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDTextBlock".
*/
export interface FDTextBlock {
heading?: string | null;
subheading?: string | null;
body?: {
root: {
type: string;
children: {
type: any;
version: number;
[k: string]: unknown;
}[];
direction: ('ltr' | 'rtl') | null;
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number;
version: number;
};
[k: string]: unknown;
} | null;
alignment?: ('left' | 'center' | 'right') | null;
textColor?: ('navy' | 'white' | 'yellow') | null;
sectionBackground?: ('white' | 'navy' | 'gray' | 'yellow') | null;
maxWidth?: ('narrow' | 'medium' | 'wide' | 'full') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdText';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDCodeEmbedBlock".
*/
export interface FDCodeEmbedBlock {
/**
* Visas ovanför den inbäddade koden
*/
heading?: string | null;
/**
* Visas mellan rubrik och inbäddning
*/
description?: string | null;
embedType: 'iframe' | 'custom';
/**
* Full URL till iframe-källan, t.ex. Lime CRM-formulär
*/
iframeSrc?: string | null;
/**
* Beskrivning för skärmläsare
*/
iframeTitle?: string | null;
/**
* CSS-höjd, t.ex. 600px, 80vh, auto
*/
iframeHeight?: string | null;
/**
* T.ex. "clipboard-write; encrypted-media" — lämna tomt om du är osäker
*/
iframeAllow?: string | null;
/**
* Klistra in din HTML, CSS eller JavaScript här. Renderas i en sandlåda.
*/
customCode?: string | null;
/**
* Renderar koden i en isolerad iframe. Avaktivera bara om koden måste interagera med huvudsidan.
*/
sandboxed?: boolean | null;
maxWidth?: ('default' | 'narrow' | 'wide' | 'full') | null;
sectionBackground?: ('white' | 'navy' | 'gray' | 'yellow' | 'transparent') | null;
textColor?: ('auto' | 'navy' | 'white') | null;
embedBackground?: ('none' | 'card' | 'navy-card') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdCodeEmbed';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDVideoBlock".
*/
export interface FDVideoBlock {
heading?: string | null;
description?: string | null;
videoSource: 'upload' | 'youtube' | 'vimeo';
/**
* Ladda upp en MP4, WebM eller annan videofil
*/
videoFile?: (number | null) | Media;
/**
* Full YouTube-länk, t.ex. https://www.youtube.com/watch?v=abc123 eller https://youtu.be/abc123
*/
youtubeUrl?: string | null;
/**
* Full Vimeo-länk, t.ex. https://vimeo.com/123456789
*/
vimeoUrl?: string | null;
/**
* Ersätter standardminiatyrbilden. Visas innan videon spelas. Rekommenderad storlek: 1920×1080 (16:9) eller 1920×1200 (16:10)
*/
thumbnail?: (number | null) | Media;
aspectRatio?: ('16/9' | '16/10') | null;
/**
* Spelar videon automatiskt utan ljud vid sidladdning
*/
autoplay?: boolean | null;
loop?: boolean | null;
maxWidth?: ('default' | 'narrow' | 'wide') | null;
sectionBackground?: ('white' | 'navy' | 'gray' | 'yellow' | 'transparent') | null;
textColor?: ('auto' | 'navy' | 'white') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdVideo';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDCtaBannerBlock".
*/
export interface FDCtaBannerBlock {
heading: string;
/**
* Kort text under rubriken
*/
subheading?: string | null;
ctaText?: string | null;
ctaLink?: string | null;
secondaryCtaText?: string | null;
secondaryCtaLink?: string | null;
sectionBackground?: ('yellow' | 'navy' | 'gray' | 'white') | null;
alignment?: ('center' | 'left') | null;
size?: ('small' | 'medium' | 'large') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdCtaBanner';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDTestimonialBlock".
*/
export interface FDTestimonialBlock {
/**
* T.ex. "Vad våra kunder säger"
*/
heading?: string | null;
testimonials?:
| {
/**
* Kundens citat utan citattecken
*/
quote: string;
authorName: string;
/**
* T.ex. "IT-chef"
*/
authorRole?: string | null;
authorCompany?: string | null;
avatar?: (number | null) | Media;
id?: string | null;
}[]
| null;
layout?: ('grid' | 'featured') | null;
sectionBackground?: ('gray' | 'white' | 'navy') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdTestimonial';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDTeamBlock".
*/
export interface FDTeamBlock {
/**
* T.ex. "Möt vårt team"
*/
heading?: string | null;
subheading?: string | null;
members?:
| {
photo?: (number | null) | Media;
name: string;
role: string;
/**
* Kort beskrivning om personen
*/
bio?: string | null;
email?: string | null;
linkedin?: string | null;
id?: string | null;
}[]
| null;
columns?: ('2' | '3' | '4') | null;
cardStyle?: ('navy' | 'white' | 'gray') | null;
sectionBackground?: ('white' | 'gray' | 'navy') | null;
id?: string | null;
blockName?: string | null;
blockType: 'fdTeam';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "posts".
*/
export interface Post {
id: number;
title: string;
heroImage?: (number | null) | Media;
content: {
root: {
type: string;
children: {
type: any;
version: number;
[k: string]: unknown;
}[];
direction: ('ltr' | 'rtl') | null;
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number;
version: number;
};
[k: string]: unknown;
};
relatedPosts?: (number | Post)[] | null;
categories?: (number | Category)[] | null;
meta?: {
title?: string | null;
/**
* Maximum upload file size: 12MB. Recommended file size for images is <500KB.
*/
image?: (number | null) | Media;
description?: string | null;
};
publishedAt?: string | null;
authors?: (number | User)[] | null;
populatedAuthors?:
| {
id?: string | null;
name?: string | null;
}[]
| null;
/**
* Genereras automatiskt från titeln.
*/
slug: string;
updatedAt: string;
createdAt: string;
_status?: ('draft' | 'published') | null;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "categories".
*/
export interface Category {
id: number;
title: string;
slug: string;
parent?: (number | null) | Category;
breadcrumbs?:
| {
doc?: (number | null) | Category;
url?: string | null;
label?: string | null;
id?: string | null;
}[]
| null;
updatedAt: string;
createdAt: string;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "users".
*/
export interface User {
id: number;
name?: string | null;
updatedAt: string;
createdAt: string;
email: string;
resetPasswordToken?: string | null;
resetPasswordExpiration?: string | null;
salt?: string | null;
hash?: string | null;
loginAttempts?: number | null;
lockUntil?: string | null;
sessions?:
| {
id: string;
createdAt?: string | null;
expiresAt: string;
}[]
| null;
password?: string | null;
collection: 'users';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "redirects".
*/
export interface Redirect {
id: number;
/**
* You will need to rebuild the website when changing this field.
*/
from: string;
to?: {
type?: ('reference' | 'custom') | null;
reference?:
| ({
relationTo: 'pages';
value: number | Page;
} | null)
| ({
relationTo: 'posts';
value: number | Post;
} | null);
url?: string | null;
};
updatedAt: string;
createdAt: string;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "form-submissions".
*/
export interface FormSubmission {
id: number;
form: number | Form;
submissionData?:
| {
field: string;
value: string;
id?: string | null;
}[]
| null;
updatedAt: string;
createdAt: string;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-kv".
*/
export interface PayloadKv {
id: number;
key: string;
data:
| {
[k: string]: unknown;
}
| unknown[]
| string
| number
| boolean
| null;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-jobs".
*/
export interface PayloadJob {
id: number;
/**
* Input data provided to the job
*/
input?:
| {
[k: string]: unknown;
}
| unknown[]
| string
| number
| boolean
| null;
taskStatus?:
| {
[k: string]: unknown;
}
| unknown[]
| string
| number
| boolean
| null;
completedAt?: string | null;
totalTried?: number | null;
/**
* If hasError is true this job will not be retried
*/
hasError?: boolean | null;
/**
* If hasError is true, this is the error that caused it
*/
error?:
| {
[k: string]: unknown;
}
| unknown[]
| string
| number
| boolean
| null;
/**
* Task execution log
*/
log?:
| {
executedAt: string;
completedAt: string;
taskSlug: 'inline' | 'schedulePublish';
taskID: string;
input?:
| {
[k: string]: unknown;
}
| unknown[]
| string
| number
| boolean
| null;
output?:
| {
[k: string]: unknown;
}
| unknown[]
| string
| number
| boolean
| null;
state: 'failed' | 'succeeded';
error?:
| {
[k: string]: unknown;
}
| unknown[]
| string
| number
| boolean
| null;
id?: string | null;
}[]
| null;
taskSlug?: ('inline' | 'schedulePublish') | null;
queue?: string | null;
waitUntil?: string | null;
processing?: boolean | null;
updatedAt: string;
createdAt: string;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-locked-documents".
*/
export interface PayloadLockedDocument {
id: number;
document?:
| ({
relationTo: 'pages';
value: number | Page;
} | null)
| ({
relationTo: 'posts';
value: number | Post;
} | null)
| ({
relationTo: 'media';
value: number | Media;
} | null)
| ({
relationTo: 'categories';
value: number | Category;
} | null)
| ({
relationTo: 'users';
value: number | User;
} | null)
| ({
relationTo: 'redirects';
value: number | Redirect;
} | null)
| ({
relationTo: 'forms';
value: number | Form;
} | null)
| ({
relationTo: 'form-submissions';
value: number | FormSubmission;
} | null);
globalSlug?: string | null;
user: {
relationTo: 'users';
value: number | User;
};
updatedAt: string;
createdAt: string;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-preferences".
*/
export interface PayloadPreference {
id: number;
user: {
relationTo: 'users';
value: number | User;
};
key?: string | null;
value?:
| {
[k: string]: unknown;
}
| unknown[]
| string
| number
| boolean
| null;
updatedAt: string;
createdAt: string;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-migrations".
*/
export interface PayloadMigration {
id: number;
name?: string | null;
batch?: number | null;
updatedAt: string;
createdAt: string;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "pages_select".
*/
export interface PagesSelect<T extends boolean = true> {
title?: T;
layout?:
| T
| {
fdHero?: T | FDHeroBlockSelect<T>;
fdCtaSideImage?: T | FDCtaSideImageBlockSelect<T>;
fdFeatureAnnouncement?: T | FDFeatureAnnouncementBlockSelect<T>;
fdServicesGrid?: T | FDServicesGridBlockSelect<T>;
fdContact?: T | FDContactBlockSelect<T>;
fdFaq?: T | FDFaqBlockSelect<T>;
fdCardGrid?: T | FDCardGridBlockSelect<T>;
fdPricingCard?: T | FDPricingCardBlockSelect<T>;
fdSpacer?: T | FDSpacerBlockSelect<T>;
fdIconBar?: T | FDIconBarBlockSelect<T>;
fdUspChecklist?: T | FDUspChecklistBlockSelect<T>;
fdWideCard?: T | FDWideCardBlockSelect<T>;
fdTechProperties?: T | FDTechPropertiesBlockSelect<T>;
fdUspTable?: T | FDUspTableBlockSelect<T>;
fdHeaderTextImage?: T | FDHeaderTextImageBlockSelect<T>;
fdContactForm?: T | FDContactFormBlockSelect<T>;
fdLocationsGrid?: T | FDLocationsGridBlockSelect<T>;
fdAlternateHero?: T | FDAlternateHeroBlockSelect<T>;
fdStatistics?: T | FDStatisticsBlockSelect<T>;
fdPartnersLogos?: T | FDPartnersLogosBlockSelect<T>;
fdNewsletter?: T | FDNewsletterBlockSelect<T>;
fdServiceChooser?: T | FDServiceChooserBlockSelect<T>;
fdDataTable?: T | FDDataTableBlockSelect<T>;
fdVpsCalculator?: T | FDVpsCalculatorBlockSelect<T>;
fdTags?: T | FDTagsBlockSelect<T>;
fdText?: T | FDTextBlockSelect<T>;
fdCodeEmbed?: T | FDCodeEmbedBlockSelect<T>;
fdVideo?: T | FDVideoBlockSelect<T>;
fdCtaBanner?: T | FDCtaBannerBlockSelect<T>;
fdTestimonial?: T | FDTestimonialBlockSelect<T>;
fdTeam?: T | FDTeamBlockSelect<T>;
};
meta?:
| T
| {
title?: T;
image?: T;
description?: T;
};
publishedAt?: T;
slug?: T;
updatedAt?: T;
createdAt?: T;
_status?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDHeroBlock_select".
*/
export interface FDHeroBlockSelect<T extends boolean = true> {
heading?: T;
subheading?: T;
body?: T;
ctaText?: T;
ctaLink?: T;
secondaryCtaText?: T;
secondaryCtaLink?: T;
backgroundImage?: T;
overlayOpacity?: T;
textColor?: T;
theme?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDCtaSideImageBlock_select".
*/
export interface FDCtaSideImageBlockSelect<T extends boolean = true> {
heading?: T;
body?: T;
ctaText?: T;
ctaLink?: T;
image?: T;
imagePosition?: T;
theme?: T;
customBackgroundColor?: T;
customTextLight?: T;
imageOverlay?: T;
imageOverlayOpacity?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDFeatureAnnouncementBlock_select".
*/
export interface FDFeatureAnnouncementBlockSelect<T extends boolean = true> {
heading?: T;
body?: T;
ctaText?: T;
ctaLink?: T;
theme?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDServicesGridBlock_select".
*/
export interface FDServicesGridBlockSelect<T extends boolean = true> {
heading?: T;
services?:
| T
| {
title?: T;
description?: T;
image?: T;
link?: T;
id?: T;
};
columns?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDContactBlock_select".
*/
export interface FDContactBlockSelect<T extends boolean = true> {
heading?: T;
contactMethods?:
| T
| {
label?: T;
icon?: T;
link?: T;
id?: T;
};
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDFaqBlock_select".
*/
export interface FDFaqBlockSelect<T extends boolean = true> {
heading?: T;
items?:
| T
| {
question?: T;
answer?: T;
id?: T;
};
theme?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDCardGridBlock_select".
*/
export interface FDCardGridBlockSelect<T extends boolean = true> {
layout?: T;
cardStyle?: T;
cards?:
| T
| {
displayMode?: T;
heading?: T;
centeredBodyText?: T;
contentLines?:
| T
| {
text?: T;
style?: T;
link?: T;
id?: T;
};
cardLink?: T;
id?: T;
};
sectionBackground?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDPricingCardBlock_select".
*/
export interface FDPricingCardBlockSelect<T extends boolean = true> {
sectionTitle?: T;
cards?:
| T
| {
title?: T;
subtitle?: T;
description?: T;
bulletPoints?:
| T
| {
text?: T;
id?: T;
};
ctaText?: T;
ctaLink?: T;
id?: T;
};
cardStyle?: T;
buttonColor?: T;
sectionBackground?: T;
titleColor?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDSpacerBlock_select".
*/
export interface FDSpacerBlockSelect<T extends boolean = true> {
height?: T;
sectionBackground?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDIconBarBlock_select".
*/
export interface FDIconBarBlockSelect<T extends boolean = true> {
heading?: T;
icons?:
| T
| {
icon?: T;
label?: T;
link?: T;
id?: T;
};
iconStyle?: T;
sectionBackground?: T;
textColor?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDUspChecklistBlock_select".
*/
export interface FDUspChecklistBlockSelect<T extends boolean = true> {
heading?: T;
items?:
| T
| {
text?: T;
id?: T;
};
image?: T;
imagePosition?: T;
checkColor?: T;
sectionBackground?: T;
textColor?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDWideCardBlock_select".
*/
export interface FDWideCardBlockSelect<T extends boolean = true> {
heading?: T;
body?: T;
ctaText?: T;
ctaLink?: T;
image?: T;
cardBackground?: T;
buttonColor?: T;
sectionBackground?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDTechPropertiesBlock_select".
*/
export interface FDTechPropertiesBlockSelect<T extends boolean = true> {
properties?:
| T
| {
category?: T;
value?: T;
id?: T;
};
sectionBackground?: T;
categoryColor?: T;
valueColor?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDUspTableBlock_select".
*/
export interface FDUspTableBlockSelect<T extends boolean = true> {
heading?: T;
rows?:
| T
| {
title?: T;
description?: T;
id?: T;
};
checkColor?: T;
sectionBackground?: T;
textColor?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDHeaderTextImageBlock_select".
*/
export interface FDHeaderTextImageBlockSelect<T extends boolean = true> {
heading?: T;
body?: T;
image?: T;
imageOverlay?: T;
imageRounded?: T;
textAlign?: T;
sectionBackground?: T;
textColor?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDContactFormBlock_select".
*/
export interface FDContactFormBlockSelect<T extends boolean = true> {
form?: T;
heading?: T;
description?: T;
submitText?: T;
sectionBackground?: T;
layout?: T;
sideImage?: T;
privacyText?: T;
privacyLinkText?: T;
privacyLinkUrl?: T;
externalApi?:
| T
| {
enabled?: T;
endpoint?: T;
authToken?: T;
};
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDLocationsGridBlock_select".
*/
export interface FDLocationsGridBlockSelect<T extends boolean = true> {
heading?: T;
description?: T;
ctaText?: T;
ctaLink?: T;
cards?:
| T
| {
image?: T;
locationName?: T;
address?: T;
link?: T;
id?: T;
};
hoverColor?: T;
sectionBackground?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDAlternateHeroBlock_select".
*/
export interface FDAlternateHeroBlockSelect<T extends boolean = true> {
heading?: T;
description?: T;
primaryCtaText?: T;
primaryCtaLink?: T;
secondaryCtaText?: T;
secondaryCtaLink?: T;
image?: T;
imageCaption?: T;
sectionBackground?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDStatisticsBlock_select".
*/
export interface FDStatisticsBlockSelect<T extends boolean = true> {
heading?: T;
stats?:
| T
| {
number?: T;
label?: T;
id?: T;
};
sectionBackground?: T;
numberColor?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDPartnersLogosBlock_select".
*/
export interface FDPartnersLogosBlockSelect<T extends boolean = true> {
heading?: T;
logos?:
| T
| {
image?: T;
alt?: T;
link?: T;
id?: T;
};
displayMode?: T;
sectionBackground?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDNewsletterBlock_select".
*/
export interface FDNewsletterBlockSelect<T extends boolean = true> {
heading?: T;
description?: T;
submitEndpoint?: T;
buttonText?: T;
successMessage?: T;
consentText?: T;
privacyPolicyLink?: T;
collectName?: T;
collectCompany?: T;
layout?: T;
sectionBackground?: T;
textColor?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDServiceChooserBlock_select".
*/
export interface FDServiceChooserBlockSelect<T extends boolean = true> {
heading?: T;
description?: T;
categories?:
| T
| {
label?: T;
intro?: T;
services?:
| T
| {
title?: T;
description?: T;
ctaText?: T;
ctaLink?: T;
id?: T;
};
id?: T;
};
sectionBackground?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDDataTableBlock_select".
*/
export interface FDDataTableBlockSelect<T extends boolean = true> {
heading?: T;
description?: T;
dataSource?: T;
file?: T;
headers?:
| T
| {
text?: T;
id?: T;
};
rows?:
| T
| {
cells?: T;
id?: T;
};
sectionBackground?: T;
headerStyle?: T;
stripeRows?: T;
bordered?: T;
firstColumnBold?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDVpsCalculatorBlock_select".
*/
export interface FDVpsCalculatorBlockSelect<T extends boolean = true> {
heading?: T;
description?: T;
orderCtaText?: T;
orderCtaLink?: T;
contactCtaText?: T;
contactCtaLink?: T;
sectionBackground?: T;
pricingCpuPerCore?: T;
pricingRamPerGb?: T;
pricingSsdPerGb?: T;
pricingHddPerGb?: T;
pricingWindowsLicense?: T;
discountPercent?: T;
showAdminFee?: T;
adminFeeAmount?: T;
additionalServices?:
| T
| {
label?: T;
price?: T;
id?: T;
};
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDTagsBlock_select".
*/
export interface FDTagsBlockSelect<T extends boolean = true> {
heading?: T;
tags?:
| T
| {
text?: T;
link?: T;
id?: T;
};
tagStyle?: T;
tagSize?: T;
alignment?: T;
sectionBackground?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDTextBlock_select".
*/
export interface FDTextBlockSelect<T extends boolean = true> {
heading?: T;
subheading?: T;
body?: T;
alignment?: T;
textColor?: T;
sectionBackground?: T;
maxWidth?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDCodeEmbedBlock_select".
*/
export interface FDCodeEmbedBlockSelect<T extends boolean = true> {
heading?: T;
description?: T;
embedType?: T;
iframeSrc?: T;
iframeTitle?: T;
iframeHeight?: T;
iframeAllow?: T;
customCode?: T;
sandboxed?: T;
maxWidth?: T;
sectionBackground?: T;
textColor?: T;
embedBackground?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDVideoBlock_select".
*/
export interface FDVideoBlockSelect<T extends boolean = true> {
heading?: T;
description?: T;
videoSource?: T;
videoFile?: T;
youtubeUrl?: T;
vimeoUrl?: T;
thumbnail?: T;
aspectRatio?: T;
autoplay?: T;
loop?: T;
maxWidth?: T;
sectionBackground?: T;
textColor?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDCtaBannerBlock_select".
*/
export interface FDCtaBannerBlockSelect<T extends boolean = true> {
heading?: T;
subheading?: T;
ctaText?: T;
ctaLink?: T;
secondaryCtaText?: T;
secondaryCtaLink?: T;
sectionBackground?: T;
alignment?: T;
size?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDTestimonialBlock_select".
*/
export interface FDTestimonialBlockSelect<T extends boolean = true> {
heading?: T;
testimonials?:
| T
| {
quote?: T;
authorName?: T;
authorRole?: T;
authorCompany?: T;
avatar?: T;
id?: T;
};
layout?: T;
sectionBackground?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "FDTeamBlock_select".
*/
export interface FDTeamBlockSelect<T extends boolean = true> {
heading?: T;
subheading?: T;
members?:
| T
| {
photo?: T;
name?: T;
role?: T;
bio?: T;
email?: T;
linkedin?: T;
id?: T;
};
columns?: T;
cardStyle?: T;
sectionBackground?: T;
id?: T;
blockName?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "posts_select".
*/
export interface PostsSelect<T extends boolean = true> {
title?: T;
heroImage?: T;
content?: T;
relatedPosts?: T;
categories?: T;
meta?:
| T
| {
title?: T;
image?: T;
description?: T;
};
publishedAt?: T;
authors?: T;
populatedAuthors?:
| T
| {
id?: T;
name?: T;
};
slug?: T;
updatedAt?: T;
createdAt?: T;
_status?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "media_select".
*/
export interface MediaSelect<T extends boolean = true> {
alt?: T;
updatedAt?: T;
createdAt?: T;
url?: T;
thumbnailURL?: T;
filename?: T;
mimeType?: T;
filesize?: T;
width?: T;
height?: T;
focalX?: T;
focalY?: T;
sizes?:
| T
| {
thumbnail?:
| T
| {
url?: T;
width?: T;
height?: T;
mimeType?: T;
filesize?: T;
filename?: T;
};
medium?:
| T
| {
url?: T;
width?: T;
height?: T;
mimeType?: T;
filesize?: T;
filename?: T;
};
large?:
| T
| {
url?: T;
width?: T;
height?: T;
mimeType?: T;
filesize?: T;
filename?: T;
};
hero?:
| T
| {
url?: T;
width?: T;
height?: T;
mimeType?: T;
filesize?: T;
filename?: T;
};
};
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "categories_select".
*/
export interface CategoriesSelect<T extends boolean = true> {
title?: T;
slug?: T;
parent?: T;
breadcrumbs?:
| T
| {
doc?: T;
url?: T;
label?: T;
id?: T;
};
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "users_select".
*/
export interface UsersSelect<T extends boolean = true> {
name?: T;
updatedAt?: T;
createdAt?: T;
email?: T;
resetPasswordToken?: T;
resetPasswordExpiration?: T;
salt?: T;
hash?: T;
loginAttempts?: T;
lockUntil?: T;
sessions?:
| T
| {
id?: T;
createdAt?: T;
expiresAt?: T;
};
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "redirects_select".
*/
export interface RedirectsSelect<T extends boolean = true> {
from?: T;
to?:
| T
| {
type?: T;
reference?: T;
url?: T;
};
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "forms_select".
*/
export interface FormsSelect<T extends boolean = true> {
title?: T;
fields?:
| T
| {
checkbox?:
| T
| {
name?: T;
label?: T;
width?: T;
required?: T;
defaultValue?: T;
id?: T;
blockName?: T;
};
country?:
| T
| {
name?: T;
label?: T;
width?: T;
required?: T;
id?: T;
blockName?: T;
};
email?:
| T
| {
name?: T;
label?: T;
width?: T;
required?: T;
id?: T;
blockName?: T;
};
message?:
| T
| {
message?: T;
id?: T;
blockName?: T;
};
number?:
| T
| {
name?: T;
label?: T;
width?: T;
defaultValue?: T;
required?: T;
id?: T;
blockName?: T;
};
select?:
| T
| {
name?: T;
label?: T;
width?: T;
defaultValue?: T;
placeholder?: T;
options?:
| T
| {
label?: T;
value?: T;
id?: T;
};
required?: T;
id?: T;
blockName?: T;
};
state?:
| T
| {
name?: T;
label?: T;
width?: T;
required?: T;
id?: T;
blockName?: T;
};
text?:
| T
| {
name?: T;
label?: T;
width?: T;
defaultValue?: T;
required?: T;
id?: T;
blockName?: T;
};
textarea?:
| T
| {
name?: T;
label?: T;
width?: T;
defaultValue?: T;
required?: T;
id?: T;
blockName?: T;
};
};
submitButtonLabel?: T;
confirmationType?: T;
confirmationMessage?: T;
redirect?:
| T
| {
url?: T;
};
emails?:
| T
| {
emailTo?: T;
cc?: T;
bcc?: T;
replyTo?: T;
emailFrom?: T;
subject?: T;
message?: T;
id?: T;
};
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "form-submissions_select".
*/
export interface FormSubmissionsSelect<T extends boolean = true> {
form?: T;
submissionData?:
| T
| {
field?: T;
value?: T;
id?: T;
};
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-kv_select".
*/
export interface PayloadKvSelect<T extends boolean = true> {
key?: T;
data?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-jobs_select".
*/
export interface PayloadJobsSelect<T extends boolean = true> {
input?: T;
taskStatus?: T;
completedAt?: T;
totalTried?: T;
hasError?: T;
error?: T;
log?:
| T
| {
executedAt?: T;
completedAt?: T;
taskSlug?: T;
taskID?: T;
input?: T;
output?: T;
state?: T;
error?: T;
id?: T;
};
taskSlug?: T;
queue?: T;
waitUntil?: T;
processing?: T;
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-locked-documents_select".
*/
export interface PayloadLockedDocumentsSelect<T extends boolean = true> {
document?: T;
globalSlug?: T;
user?: T;
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-preferences_select".
*/
export interface PayloadPreferencesSelect<T extends boolean = true> {
user?: T;
key?: T;
value?: T;
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "payload-migrations_select".
*/
export interface PayloadMigrationsSelect<T extends boolean = true> {
name?: T;
batch?: T;
updatedAt?: T;
createdAt?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "header".
*/
export interface Header {
id: number;
navItems?:
| {
label: string;
url?: string | null;
/**
* When checked, hovering/clicking this item opens a full-width mega menu instead of a small dropdown card.
*/
megaMenu?: boolean | null;
/**
* Add submenu links. If these exist, the parent URL is ignored. Use "Group" to create columns in the mega menu.
*/
children?:
| {
label: string;
url: string;
/**
* Links with the same group name appear together in a separate column in the mega menu. Leave empty for the main column.
*/
group?: string | null;
id?: string | null;
}[]
| null;
id?: string | null;
}[]
| null;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "footer".
*/
export interface Footer {
id: number;
/**
* Footer-kolumner med rubriker och länkar (sitemap-stil)
*/
columns?:
| {
/**
* T.ex. "Tjänster", "Om oss", "Support"
*/
heading: string;
links?:
| {
link: {
type?: ('reference' | 'custom') | null;
newTab?: boolean | null;
reference?:
| ({
relationTo: 'pages';
value: number | Page;
} | null)
| ({
relationTo: 'posts';
value: number | Post;
} | null);
url?: string | null;
label: string;
};
id?: string | null;
}[]
| null;
id?: string | null;
}[]
| null;
/**
* Enkla footer-länkar (visas om inga kolumner finns)
*/
navItems?:
| {
link: {
type?: ('reference' | 'custom') | null;
newTab?: boolean | null;
reference?:
| ({
relationTo: 'pages';
value: number | Page;
} | null)
| ({
relationTo: 'posts';
value: number | Post;
} | null);
url?: string | null;
label: string;
};
id?: string | null;
}[]
| null;
/**
* Använd {year} för aktuellt årtal
*/
bottomLeftText?: string | null;
bottomRightText?: string | null;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "announcement-bar".
*/
export interface AnnouncementBar {
id: number;
enabled?: boolean | null;
text?: string | null;
buttonLabel?: string | null;
buttonUrl?: string | null;
dismissible?: boolean | null;
backgroundColor?: ('yellow' | 'navy' | 'mint') | null;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* Ett popup-fönster som visas för besökare. Kan begränsas till specifika sidor.
*
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "popup-announcement".
*/
export interface PopupAnnouncement {
id: number;
enabled?: boolean | null;
heading?: string | null;
subheading?: string | null;
body?: string | null;
ctaText?: string | null;
ctaLink?: string | null;
image?: (number | null) | Media;
/**
* T.ex. "NYHET", "ERBJUDANDE", "VIKTIG INFO"
*/
badgeText?: string | null;
theme?: ('light' | 'dark') | null;
showOnPages?: ('all' | 'home' | 'specific') | null;
/**
* T.ex. /bredband, /cloud, /kontakt
*/
specificPages?: string | null;
/**
* Hur många dagar popupen ska döljas efter att besökaren stänger den
*/
dismissDays?: number | null;
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "site-settings".
*/
export interface SiteSetting {
id: number;
headerCodeInjection?: {
enabled?: boolean | null;
/**
* Klistra in <script>, <link>, <meta> eller <style>-taggar här.
*/
code?: string | null;
};
footerCodeInjection?: {
enabled?: boolean | null;
/**
* Script-taggar som ska laddas i slutet av sidan.
*/
code?: string | null;
};
cookieConsent?: {
enabled?: boolean | null;
privacyPolicyUrl?: string | null;
};
matomo?: {
enabled?: boolean | null;
/**
* Klistra in spårningskoden från Matomo (Administration → Tracking Code). Samtyckesgating läggs till automatiskt — du behöver inte ändra något i koden.
*/
code?: string | null;
};
updatedAt?: string | null;
createdAt?: string | null;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "header_select".
*/
export interface HeaderSelect<T extends boolean = true> {
navItems?:
| T
| {
label?: T;
url?: T;
megaMenu?: T;
children?:
| T
| {
label?: T;
url?: T;
group?: T;
id?: T;
};
id?: T;
};
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "footer_select".
*/
export interface FooterSelect<T extends boolean = true> {
columns?:
| T
| {
heading?: T;
links?:
| T
| {
link?:
| T
| {
type?: T;
newTab?: T;
reference?: T;
url?: T;
label?: T;
};
id?: T;
};
id?: T;
};
navItems?:
| T
| {
link?:
| T
| {
type?: T;
newTab?: T;
reference?: T;
url?: T;
label?: T;
};
id?: T;
};
bottomLeftText?: T;
bottomRightText?: T;
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "announcement-bar_select".
*/
export interface AnnouncementBarSelect<T extends boolean = true> {
enabled?: T;
text?: T;
buttonLabel?: T;
buttonUrl?: T;
dismissible?: T;
backgroundColor?: T;
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "popup-announcement_select".
*/
export interface PopupAnnouncementSelect<T extends boolean = true> {
enabled?: T;
heading?: T;
subheading?: T;
body?: T;
ctaText?: T;
ctaLink?: T;
image?: T;
badgeText?: T;
theme?: T;
showOnPages?: T;
specificPages?: T;
dismissDays?: T;
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "site-settings_select".
*/
export interface SiteSettingsSelect<T extends boolean = true> {
headerCodeInjection?:
| T
| {
enabled?: T;
code?: T;
};
footerCodeInjection?:
| T
| {
enabled?: T;
code?: T;
};
cookieConsent?:
| T
| {
enabled?: T;
privacyPolicyUrl?: T;
};
matomo?:
| T
| {
enabled?: T;
code?: T;
};
updatedAt?: T;
createdAt?: T;
globalType?: T;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "TaskSchedulePublish".
*/
export interface TaskSchedulePublish {
input: {
type?: ('publish' | 'unpublish') | null;
locale?: string | null;
doc?:
| ({
relationTo: 'pages';
value: number | Page;
} | null)
| ({
relationTo: 'posts';
value: number | Post;
} | null);
global?: string | null;
user?: (number | null) | User;
};
output?: unknown;
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "BannerBlock".
*/
export interface BannerBlock {
style: 'info' | 'warning' | 'error' | 'success';
content: {
root: {
type: string;
children: {
type: any;
version: number;
[k: string]: unknown;
}[];
direction: ('ltr' | 'rtl') | null;
format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | '';
indent: number;
version: number;
};
[k: string]: unknown;
};
id?: string | null;
blockName?: string | null;
blockType: 'banner';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "CodeBlock".
*/
export interface CodeBlock {
language?: ('typescript' | 'javascript' | 'css') | null;
code: string;
id?: string | null;
blockName?: string | null;
blockType: 'code';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "MediaBlock".
*/
export interface MediaBlock {
media: number | Media;
id?: string | null;
blockName?: string | null;
blockType: 'mediaBlock';
}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "auth".
*/
export interface Auth {
[k: string]: unknown;
}
declare module 'payload' {
export interface GeneratedTypes extends Config {}
}