@open-formulieren/formio-builder
Version:
An opinionated Formio webform builder for Open Forms
51 lines (50 loc) • 2.39 kB
TypeScript
import { SupportedLocales } from '@open-formulieren/types';
import React from 'react';
import { PrefillAttributeOption, PrefillPluginOption } from './components/builder/prefill/types';
import { RegistrationAttributeOption } from './components/builder/registration/registration-attribute';
import type { ColorOption } from './components/builder/rich-text';
import { ValidatorOption } from './components/builder/validate/validator-select';
import { ReferenceListsServiceOption, ReferenceListsTable, ReferenceListsTableItem } from './components/builder/values/reference-lists/types';
import { AuthPluginOption } from './registry/cosignV1/edit';
import { AnyComponentSchema } from './types';
export interface SelectOption {
value: string;
label: string;
}
export interface DocumentTypeOption {
backendLabel: string;
catalogueLabel: string;
url: string;
description: string;
}
export interface MapTileLayer {
identifier: string;
url: string;
label: string;
}
export interface BuilderContextType {
uniquifyKey: (key: string) => string;
supportedLanguageCodes: SupportedLocales[];
richTextColors: ColorOption[];
theme: 'light' | 'dark';
getFormComponents: () => AnyComponentSchema[];
getValidatorPlugins: (componentType: string) => Promise<ValidatorOption[]>;
getRegistrationAttributes: (componentType: string) => Promise<RegistrationAttributeOption[]>;
getServices: (type: string) => Promise<ReferenceListsServiceOption[]>;
getReferenceListsTables: (service: string) => Promise<ReferenceListsTable[]>;
getReferenceListsTableItems: (service: string, tableCode: string) => Promise<ReferenceListsTableItem[]>;
getPrefillPlugins: (componentType: string) => Promise<PrefillPluginOption[]>;
getPrefillAttributes: (plugin: string) => Promise<PrefillAttributeOption[]>;
getFileTypes: () => Promise<SelectOption[]>;
serverUploadLimit: string;
getDocumentTypes: () => Promise<Array<DocumentTypeOption>>;
getConfidentialityLevels: () => Promise<SelectOption[]>;
getAuthPlugins: () => Promise<AuthPluginOption[]>;
getMapTileLayers: () => Promise<MapTileLayer[]>;
}
declare const BuilderContext: React.Context<BuilderContextType>;
export interface RenderContextType {
bareInput: boolean;
}
declare const RenderContext: React.Context<RenderContextType>;
export { BuilderContext, RenderContext };