@pdfme/ui
Version:
TypeScript base PDF generator and React base UI. Open source, developed by the community, and completely free to use under the MIT license!
95 lines (94 loc) • 3.16 kB
TypeScript
import { ReactNode } from 'react';
import { Template, Size, UIProps, UIOptions, PluginRegistry, PreviewProps } from '@pdfme/common';
export declare abstract class BaseUIClass {
protected domContainer: HTMLElement | null;
protected template: Template;
protected size: Size;
private reactRoot;
private lang;
private font;
private pluginsRegistry;
private options;
private readonly setSize;
resizeObserver: ResizeObserver;
constructor(props: UIProps);
protected getLang(): "en" | "zh" | "ja" | "ko" | "ar" | "th" | "pl" | "it" | "de" | "es" | "fr";
protected getFont(): Record<string, {
data: string | ArrayBuffer | Uint8Array<ArrayBuffer>;
fallback?: boolean | undefined;
subset?: boolean | undefined;
}>;
protected getPluginsRegistry(): PluginRegistry;
getOptions(): UIOptions;
getTemplate(): {
[x: string]: unknown;
schemas: {
[x: string]: unknown;
name: string;
type: string;
position: {
x: number;
y: number;
};
width: number;
height: number;
content?: string | undefined;
rotate?: number | undefined;
opacity?: number | undefined;
readOnly?: boolean | undefined;
required?: boolean | undefined;
__splitRange?: {
unit: string;
start: number;
end?: number | undefined;
} | undefined;
__isSplit?: boolean | undefined;
}[][];
basePdf: string | ArrayBuffer | Uint8Array<ArrayBuffer> | {
width: number;
height: number;
padding: [number, number, number, number];
staticSchema?: {
[x: string]: unknown;
name: string;
type: string;
position: {
x: number;
y: number;
};
width: number;
height: number;
content?: string | undefined;
rotate?: number | undefined;
opacity?: number | undefined;
readOnly?: boolean | undefined;
required?: boolean | undefined;
__splitRange?: {
unit: string;
start: number;
end?: number | undefined;
} | undefined;
__isSplit?: boolean | undefined;
}[] | undefined;
};
pdfmeVersion?: string | undefined;
};
updateTemplate(template: Template): void;
updateOptions(options: UIOptions): void;
destroy(): void;
protected mount(node: ReactNode): void;
protected abstract render(): void;
}
export declare abstract class PreviewUI extends BaseUIClass {
protected inputs: {
[key: string]: string;
}[];
constructor(props: PreviewProps);
getInputs(): {
[key: string]: string;
}[];
setInputs(inputs: {
[key: string]: string;
}[]): void;
protected abstract render(): void;
}