PromoHandleOptions
This type is used by an exported signature but is not directly exported from @plandalf/sdk's package entrypoint. It is shown here from core/promo-handle.ts:38 so the signature can be inspected fully.
export interface PromoHandleOptions {
/** Optional element (or selector) to mount a live ticking countdown
* widget into. Same SVG the `<div data-plandalf-promo="…">` auto-scan
* produces. Omit for a headless monitor (no visible UI; just events
* + redirect side-effect). */
target?: HTMLElement | string;
/** Per-mount style overrides on top of the merchant's saved promo
* style. Only meaningful when `target` is set (no widget = nothing
* to style). Same shape as `<div data-plandalf-style='{...}'>`. */
style?: Record<string, unknown>;
/** Auto-redirect to active tier's `redirect_url` on URL mismatch. Default true. */
redirect?: boolean;
/** Poll cadence in ms. Default 1000. */
interval?: number;
/** Reserved for future `'modal' | 'slideout' | 'bottom' | 'fullscreen'`
* modes that present a promo widget inside a chrome frame instead of
* inline. Today only `'inline'` (the default — when `target` is set)
* and headless (no `target`, no `frame`) work. */
frame?: 'inline' | 'modal' | 'slideout' | 'bottom' | 'fullscreen';
/** Optional logger; receives any `[plandalf]`-prefixed lines. */
log?: (...args: unknown[]) => void;
}