svelte-craftcms-headless-formie
Version:
Svelte Package for using Craft CMS with the Formie Plugin in headless configuration
83 lines (82 loc) • 2.1 kB
TypeScript
import type { FieldProps } from './FieldTypes.js';
export type FormField = {
handle: string;
value: string;
};
export type FormieFetchProps = {
data: FormieFetchDataProps | undefined;
errors: CraftGraphQlErrorProps[] | undefined;
};
export type FormieFetchDataProps = {
form: {
id: string;
captchas: RecaptchaProps[];
csrfToken: {
name: string;
value: string;
};
handle: string;
siteId: number;
title: string;
settings: FormieSettingsProps;
pages: FormiePagesProps[];
};
};
export type FormiePagesProps = {
id: string;
label: string;
settings: FormiePagesSettingsProps;
rows: {
rowFields: FieldProps[];
}[];
};
type FormiePagesSettingsProps = {
submitButtonLabel: string;
pageConditions: string;
backButtonLabel: string;
showBackButton: boolean;
buttonsPosition: string;
enablePageConditions: boolean;
};
export type RecaptchaProps = {
handle: string;
value: string;
name: string;
};
type FormieSettingsProps = {
defaultInstructionsPosition: string;
defaultLabelPosition: string;
displayCurrentPageTitle: boolean;
displayFormTitle: boolean;
displayPageProgress: boolean;
displayPageTabs: boolean;
errorMessageHtml: string | null;
integrations: {
settings: string;
}[];
loadingIndicator: string | null;
loadingIndicatorText: string | null;
progressPosition: string;
redirectEntry: string | null;
redirectUrl: string | null;
submitAction: string;
submitActionFormHide: boolean;
submitActionMessageHtml: string | null;
submitActionMessageTimeout: number;
submitActionTab: string | null;
submitMethod: string;
validationOnFocus: boolean;
validationOnSubmit: boolean;
};
export type CraftGraphQlErrorProps = {
extensions: {
category: string;
};
locations: {
line: number;
column: 3;
}[];
message: string;
};
export type FormieErrorReturnObj = Record<string, string[]>;
export {};