export type zecimoWidgetEvent = { type: 'ready'; } | { type: 'resize'; payload: { height: number; }; } | { type: 'saved'; } | { type: 'submitted'; } | { type: 'error'; payload: { message: string; }; }; export interface zecimoWidgetOptions { sessionToken: string; elementId: string; /** * Iframe height. By default the widget auto-resizes to fit its content * (min 450px), growing/shrinking as the user navigates. * * Pass a fixed height to disable auto-resize — the widget then fills that * height and scrolls internally if the content is taller: * - a number → pixels (e.g. `600` → `600px`) * - a CSS string → used as-is (e.g. `'100%'`, `'80vh'`, `'600px'`) * * With `'100%'`, make sure the container element (`elementId`) has a * defined height, otherwise it resolves to 0. */ height?: number | string; /** * Custom CSS injected into the embedded document — e.g. to bump the base * font size (`'html { font-size: 16px }'`) or tweak spacing/colors. * Applied as a `