Browse Packages

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;
}

Feature detail