sovads-sdk 1.0.9 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,3 +1,7 @@
1
+ /** Runtime SDK version. Kept in sync with `sdk/package.json#version`.
2
+ * Sent as `X-SovAds-SDK-Version` on signed tracking requests and exported
3
+ * so host pages can log / gate on it. */
4
+ export declare const SDK_VERSION = "1.1.1";
1
5
  export interface SovAdsConfig {
2
6
  siteId?: string;
3
7
  apiUrl?: string;
@@ -11,6 +15,17 @@ export interface SovAdsConfig {
11
15
  popupMinIntervalMinutes?: number;
12
16
  popupSessionMax?: number;
13
17
  walletAddress?: string;
18
+ /** Phase 2: render the "Sponsored" disclosure badge on every ad surface.
19
+ * - `true` (default) \u2192 show 'Sponsored'.
20
+ * - `false` \u2192 suppress (advertisers / publishers should NOT use
21
+ * this in production; it exists for very narrow
22
+ * contexts like SDK-internal previews).
23
+ * - string \u2192 use as the label text (e.g. 'Ad', 'Promoted'). */
24
+ disclosureLabel?: boolean | string;
25
+ /** Phase 2: advertiser/brand name to append to the disclosure (rendered as
26
+ * "Sponsored \u00b7 {advertiserName}"). When omitted, only the label is shown.
27
+ * Per-ad advertiser metadata would override this once the server returns it. */
28
+ advertiserName?: string;
14
29
  }
15
30
  export interface AdComponent {
16
31
  id: string;
@@ -30,16 +45,113 @@ export interface AdComponent {
30
45
  placement?: string;
31
46
  size?: string;
32
47
  isUnverified?: boolean;
48
+ /** false when the campaign is out of token budget; the SDK suppresses banner click-through. */
49
+ bannerClickActive?: boolean;
50
+ /** Up to 2 inline CTAs (VISIT_URL / SIGN_MESSAGE / POLL) rendered under the banner. */
51
+ attachedTasks?: AttachedTask[];
52
+ }
53
+ export type AttachedTaskKind = 'VISIT_URL' | 'SIGN_MESSAGE' | 'POLL';
54
+ export interface AttachedPollOption {
55
+ id: string;
56
+ label: string;
57
+ }
58
+ export interface AttachedTask {
59
+ id: string;
60
+ campaignId: string;
61
+ kind: AttachedTaskKind;
62
+ label: string;
63
+ buttonLabel: string | null;
64
+ description: string | null;
65
+ rewardPoints: number;
66
+ rewardGs: number;
67
+ url?: string | null;
68
+ minDwellMs?: number;
69
+ signMessage?: string | null;
70
+ options?: AttachedPollOption[];
71
+ }
72
+ /** Per-task viewer status returned by GET /api/tasks/status. Loose shape —
73
+ * the SDK only consumes `id` + `eligibility.completionsUsed` + the most
74
+ * recent verified/paid completion, so additional fields are tolerated. */
75
+ export interface TaskStatusEntry {
76
+ id: string;
77
+ eligibility?: {
78
+ eligible?: boolean;
79
+ reason?: string;
80
+ completionsUsed?: number;
81
+ maxPerWallet?: number;
82
+ cooldownSecs?: number;
83
+ retryAfterSec?: number;
84
+ };
85
+ completions?: Array<{
86
+ id: string;
87
+ status: string;
88
+ createdAt?: string | Date;
89
+ }>;
33
90
  }
34
91
  interface AdLoadOptions {
35
92
  consumerId?: string;
36
93
  placement?: string;
37
94
  size?: string;
38
95
  walletAddress?: string;
96
+ /** Ask the server to include attached CTA tasks (VISIT_URL/SIGN_MESSAGE/POLL)
97
+ * and to keep serving banners whose token budget is exhausted (with
98
+ * bannerClickActive=false). Off by default for backward compatibility. */
99
+ attached?: boolean;
39
100
  }
40
101
  interface SlotConfig {
41
102
  placementId?: string;
42
103
  size?: string;
104
+ /** Render attached CTAs under the banner (auto-passes attached=true to loadAd). */
105
+ attached?: boolean;
106
+ /** Optional handler invoked after each attached-CTA submission attempt. */
107
+ onCtaComplete?: (ev: AttachedCtaCompleteEvent) => void;
108
+ /** Phase 2: where the click-through is wired.
109
+ * - 'media' (default for inline units) \u2014 the whole banner element is the
110
+ * click target. Preserves today's behaviour for Banner/Sidebar.
111
+ * - 'button' \u2014 an explicit "Learn more \u2192" button below the media is the
112
+ * only click target. Massively reduces accidental clicks. Recommended for
113
+ * new integrations; default for BottomBar (where bar-wide clicks were
114
+ * generating fraudulent traffic). */
115
+ clickTarget?: 'media' | 'button';
116
+ /** Phase 2: per-slot override for the disclosure badge. Falls back to
117
+ * `SovAdsConfig.disclosureLabel` (which defaults to `true`). */
118
+ disclosureLabel?: boolean | string;
119
+ }
120
+ export interface AttachedCtaCompleteEvent {
121
+ taskId: string;
122
+ campaignId: string;
123
+ kind: AttachedTaskKind;
124
+ ok: boolean;
125
+ status: number;
126
+ awarded?: {
127
+ points: number;
128
+ gs: number;
129
+ bonusPointsInLieuOfGs?: number;
130
+ };
131
+ error?: string;
132
+ /** Only emitted for SIGN_MESSAGE when the SDK cannot sign on the viewer's behalf. */
133
+ needsSignature?: {
134
+ message: string;
135
+ };
136
+ }
137
+ export type MountUnitKind = 'BANNER' | 'POLL' | 'FEEDBACK' | 'SURVEY';
138
+ export type MountUnitEventType = 'READY' | 'LOADED' | 'NONE' | 'IMPRESSION' | 'INTERACTION' | 'COMPLETE' | 'CLICK' | 'DISMISS' | 'ERROR' | 'RESIZE';
139
+ export interface MountUnitEvent {
140
+ type: MountUnitEventType;
141
+ slotId: string;
142
+ payload: Record<string, unknown>;
143
+ }
144
+ export interface MountUnitOptions {
145
+ /** csv of BANNER|POLL|FEEDBACK|SURVEY — default BANNER */
146
+ kind?: string;
147
+ slotId?: string;
148
+ location?: string;
149
+ placement?: string;
150
+ size?: string;
151
+ wallet?: string;
152
+ /** minHeight CSS value for the iframe (e.g. '180px') */
153
+ minHeight?: string;
154
+ onEvent?: (ev: MountUnitEvent) => void;
43
155
  }
44
156
  export declare class SovAds {
45
157
  protected config: SovAdsConfig;
@@ -50,12 +162,31 @@ export declare class SovAds {
50
162
  private debugLoggingEnabled;
51
163
  private adTrackingTokens;
52
164
  private walletAddress;
165
+ private unitListeners;
166
+ /** Subscribers notified whenever the viewer's wallet identity becomes known
167
+ * or changes. Used by `renderAttachedCtas` to lazy-mount CTAs once the host
168
+ * page connects a wallet. */
169
+ private identityListeners;
53
170
  constructor(config?: SovAdsConfig);
171
+ /**
172
+ * Lightweight "I'm alive" ping to `/api/sites/heartbeat`. Best-effort:
173
+ * never blocks SDK init, never retries, never surfaces errors to the
174
+ * host page. The server is responsible for write-throttling so we can
175
+ * call this freely on every constructor.
176
+ */
177
+ private sendHeartbeat;
54
178
  /**
55
179
  * Identifies the current viewer with a wallet address.
56
180
  * This links the device fingerprint to the wallet on the backend.
57
181
  */
58
182
  identify(walletAddress: string): void;
183
+ /**
184
+ * Subscribe to wallet-identity changes. Fires once immediately if a wallet
185
+ * is already known, then on every subsequent `identify()` call that changes
186
+ * the address. Returns an unsubscribe function.
187
+ */
188
+ onIdentify(cb: (wallet: string | null) => void): () => void;
189
+ private notifyIdentityListeners;
59
190
  private loadPersistedIdentity;
60
191
  private generateFingerprint;
61
192
  private detectSiteId;
@@ -107,6 +238,38 @@ export declare class SovAds {
107
238
  * Get config (for components to access debug mode)
108
239
  */
109
240
  getConfig(): SovAdsConfig;
241
+ /**
242
+ * Submit a CTA-task completion (POLL / VISIT_URL / SIGN_MESSAGE) on behalf
243
+ * of the current viewer. Uses plain fetch (no retry) to avoid double-submitting
244
+ * an idempotent task; rate-limit/dedupe is enforced server-side.
245
+ */
246
+ submitTaskCompletion(params: {
247
+ taskId: string;
248
+ proof?: Record<string, unknown>;
249
+ }): Promise<{
250
+ ok: boolean;
251
+ status: number;
252
+ awarded?: {
253
+ points: number;
254
+ gs: number;
255
+ bonusPointsInLieuOfGs?: number;
256
+ };
257
+ error?: string;
258
+ data?: Record<string, unknown> | null;
259
+ }>;
260
+ /**
261
+ * Public accessor for the current wallet address (read-only).
262
+ * CTA renderers use this to suppress wallet-bound rewards on anonymous viewers.
263
+ */
264
+ getWalletAddress(): string | null;
265
+ /**
266
+ * Fetch this viewer's completion / eligibility status for every active task
267
+ * of a campaign. Used by the attached-CTA panel to mark already-completed
268
+ * tasks with a \u2713 badge after the wallet connects. Returns a Map keyed by
269
+ * taskId so callers can do O(1) lookups; tasks missing from the map are
270
+ * assumed eligible.
271
+ */
272
+ fetchTaskStatuses(campaignId: string): Promise<Map<string, TaskStatusEntry>>;
110
273
  /**
111
274
  * Log interaction (public method for components)
112
275
  */
@@ -119,7 +282,180 @@ export declare class SovAds {
119
282
  * Clean up observers when SDK is destroyed
120
283
  */
121
284
  destroy(): void;
285
+ /**
286
+ * Mount a standalone unit iframe (BANNER / POLL / FEEDBACK / SURVEY) into
287
+ * `containerId`. Forwards lifecycle/interaction events from the iframe
288
+ * (via postMessage protocol) to the supplied `onEvent` callback.
289
+ *
290
+ * Returns an object with `unmount()` for cleanup.
291
+ */
292
+ mountUnit(containerId: string, options: MountUnitOptions): {
293
+ slotId: string;
294
+ unmount: () => void;
295
+ };
122
296
  }
297
+ export interface StreamingEmbed {
298
+ /** Iframe `src` to use for the embed. */
299
+ embedUrl: string;
300
+ /** Provider name \u2014 useful for analytics / debug. */
301
+ provider: 'youtube' | 'vimeo' | 'tiktok';
302
+ }
303
+ export declare function toStreamingEmbed(url: string): StreamingEmbed | null;
304
+ /** Build a sandboxed `<iframe>` for a streaming embed URL. Shared by Banner
305
+ * and Popup so both surfaces behave identically. */
306
+ export declare function buildStreamingIframe(embed: StreamingEmbed, alt: string): HTMLIFrameElement;
307
+ export type AdSurface = 'BANNER' | 'SIDEBAR' | 'POPUP' | 'BOTTOM_BAR' | 'NATIVE' | 'OVERLAY' | 'INTERSTITIAL';
308
+ export interface MediaMountResult {
309
+ /** The DOM element to insert into the slot. May be <img>, <video>, or <iframe>. */
310
+ element: HTMLImageElement | HTMLVideoElement | HTMLIFrameElement;
311
+ /** Resolved kind — 'streaming' means a sandboxed platform iframe. */
312
+ kind: 'image' | 'video' | 'streaming';
313
+ /** True if the whole element is safe to wrap in a click-through handler.
314
+ * Videos and streaming iframes intercept their own pointer events, so the
315
+ * publisher should render an external "Learn more" button instead. */
316
+ clickable: boolean;
317
+ }
318
+ /**
319
+ * Build the media element for an ad. Single source of truth for the
320
+ * image / video / streaming-iframe switch that used to be duplicated across
321
+ * Banner, Sidebar, Popup and BottomBar.
322
+ *
323
+ * The caller is responsible for:
324
+ * - Attaching `load` / `loadeddata` / `error` listeners (for impression timing).
325
+ * - Mounting the returned `element` into the DOM.
326
+ * - Adding a click handler — either on the element (when `clickable=true`)
327
+ * or on an external "Learn more" button (always, when false).
328
+ */
329
+ export declare function mountMedia(opts: {
330
+ ad: AdComponent;
331
+ /** Optional inline style override; helper sets sensible defaults. */
332
+ style?: string;
333
+ }): MediaMountResult;
334
+ /**
335
+ * Build a compact "Sponsored" disclosure badge.
336
+ *
337
+ * Phase 0 only EXPORTS the helper — components do not mount it yet. Phase 2
338
+ * wires it into every render path, opt-out via `new SovAds({ disclosureLabel: false })`.
339
+ *
340
+ * The returned span uses `aria-label="Advertisement"` (the FTC-recommended
341
+ * explicit term) and is sized to remain legible (11px min, 1.0 contrast on
342
+ * standard backgrounds). Position is the caller's responsibility.
343
+ */
344
+ export declare function buildDisclosureBadge(opts?: {
345
+ /** Visible text, default 'Sponsored'. */
346
+ label?: string;
347
+ /** Optional advertiser name appended as `Sponsored · {advertiser}`. */
348
+ advertiser?: string;
349
+ /** Visual variant — 'light' for dark backgrounds, 'dark' for light. */
350
+ variant?: 'light' | 'dark';
351
+ }): HTMLElement;
352
+ /**
353
+ * Phase 2 \u2014 resolve the effective disclosure setting from a 3-level cascade:
354
+ * slot-override \u2192 SovAdsConfig.disclosureLabel \u2192 default (true \u2192 'Sponsored').
355
+ *
356
+ * Returns the resolved label string, or `null` if disclosure is explicitly
357
+ * disabled (which callers should treat as "do not render"). Centralised here
358
+ * so every component reads the rule the same way.
359
+ */
360
+ export declare function resolveDisclosureLabel(slotOverride: boolean | string | undefined, configValue: boolean | string | undefined): string | null;
361
+ /**
362
+ * Phase 2 \u2014 small helper that builds AND positions a disclosure badge over
363
+ * the top-left of an ad surface (absolute positioning). Caller must ensure
364
+ * the parent has `position: relative` (or another non-static positioning
365
+ * context). Returns `null` when disclosure is disabled \u2014 caller should
366
+ * handle that as "do not append".
367
+ */
368
+ export declare function buildPositionedDisclosure(opts: {
369
+ slotOverride?: boolean | string;
370
+ configValue?: boolean | string;
371
+ advertiser?: string;
372
+ variant?: 'light' | 'dark';
373
+ /** 'top-left' (default) | 'top-right' \u2014 the only two positions the SDK uses. */
374
+ position?: 'top-left' | 'top-right';
375
+ }): HTMLElement | null;
376
+ /**
377
+ * Parse an IAB-style size string ('300x250', '728x90', '160x600', etc.) into
378
+ * a {width, height} pair. Returns null when the string is malformed so the
379
+ * caller falls back to legacy behaviour rather than throwing.
380
+ */
381
+ export declare function parseAdSize(size: string | undefined): {
382
+ width: number;
383
+ height: number;
384
+ } | null;
385
+ /**
386
+ * Reserve a CLS-safe box on the slot container before the ad fetch starts.
387
+ * Sets `aspect-ratio` so the browser knows the box's intrinsic shape and
388
+ * `max-width` so the slot never grows past the IAB size on large viewports.
389
+ * The container stays visible (no `display: none`) so the page below it
390
+ * keeps its final position.
391
+ *
392
+ * Returns true when reservation was applied. The caller should skip the
393
+ * legacy hide-then-show dance only when this returns true.
394
+ */
395
+ export declare function reserveAdSlot(container: HTMLElement, size: string | undefined): boolean;
396
+ /**
397
+ * Phase 7 \u2014 returns true when the user / OS prefers reduced motion. Used
398
+ * by hover-scale and translate animations so we don't trigger vestibular
399
+ * discomfort for users who've asked the system to dial back animation.
400
+ * Falls back to `false` (= motion allowed) when matchMedia isn't available
401
+ * so server-side rendering / older browsers see the same animation as today.
402
+ */
403
+ export declare function prefersReducedMotion(): boolean;
404
+ /**
405
+ * Mount the attached-CTA panel for a given surface. Thin wrapper around
406
+ * `renderAttachedCtas` that components can call without re-implementing the
407
+ * try/catch + debug-log boilerplate. Phase 1 routes every component through
408
+ * this helper.
409
+ *
410
+ * The `surface` arg is passed through to `onCtaComplete` callers via the
411
+ * existing AttachedCtaCompleteEvent (no new field today) and used as a hint
412
+ * for layout — POPUP / NATIVE / SIDEBAR stack vertically, BOTTOM_BAR may
413
+ * render inline (decided at the call site).
414
+ */
415
+ export declare function mountCtaPanel(opts: {
416
+ container: HTMLElement;
417
+ sovads?: SovAds;
418
+ surface: AdSurface;
419
+ tasks: AttachedTask[];
420
+ campaignId: string;
421
+ bannerClickActive: boolean;
422
+ onComplete?: (ev: AttachedCtaCompleteEvent) => void;
423
+ /** When true, buttons render disabled and do not submit / open links. */
424
+ preview?: boolean;
425
+ /** Visual layout. 'stack' = vertical (default). 'inline' = horizontal row,
426
+ * used by BottomBar where vertical stacking would blow up bar height.
427
+ * 'auto' = stack normally, switch to inline at exactly 2 tasks so small
428
+ * surfaces (Banner, Popup, NativeCard) don't waste a row of vertical space. */
429
+ layout?: 'stack' | 'inline' | 'auto';
430
+ }): void;
431
+ /**
432
+ * Public renderer for the attached-CTA panel.
433
+ *
434
+ * Two modes:
435
+ * - Live (default): mounts the panel with real click handlers; clicking
436
+ * POLL/VISIT_URL/SIGN_MESSAGE submits via `sovads.submitTaskCompletion`.
437
+ * - Preview: pass `preview: true` (and omit `sovads`). Renders the same DOM
438
+ * but disables click handlers and submission — used by the create-campaign
439
+ * page and the advertiser review queue so the advertiser sees the exact
440
+ * button the viewer will see, with no risk of side-effects.
441
+ */
442
+ export declare function renderAttachedCtas(opts: {
443
+ container: HTMLElement;
444
+ /** Required when `preview` is not true. */
445
+ sovads?: SovAds;
446
+ tasks: AttachedTask[];
447
+ campaignId: string;
448
+ bannerClickActive: boolean;
449
+ onComplete?: (ev: AttachedCtaCompleteEvent) => void;
450
+ /** When true, buttons render disabled and do not submit / open links. */
451
+ preview?: boolean;
452
+ /** Layout for the panel itself. 'stack' (default) = today's vertical column.
453
+ * 'inline' = horizontal row, used by BottomBar where vertical stacking
454
+ * would blow up the bar height. 'auto' = stack normally, but switch to
455
+ * inline when there are exactly 2 tasks so small surfaces (Banner, Popup)
456
+ * don't waste a second row of vertical space. Backcompat: omit \u2192 stack. */
457
+ layout?: 'stack' | 'inline' | 'auto';
458
+ }): void;
123
459
  export declare class Banner {
124
460
  private sovads;
125
461
  private containerId;
@@ -128,6 +464,7 @@ export declare class Banner {
128
464
  private hasTrackedImpression;
129
465
  private isRendering;
130
466
  private refreshTimer;
467
+ private lazyLoadObserver;
131
468
  private lastAdId;
132
469
  private retryCount;
133
470
  private maxRetries;
@@ -139,6 +476,21 @@ export declare class Banner {
139
476
  private setupAutoRefresh;
140
477
  destroy(): void;
141
478
  }
479
+ export interface PopupShowOptions {
480
+ consumerId?: string;
481
+ /** Milliseconds to wait after `show()` before mounting the popup. Default 3000. */
482
+ delay?: number;
483
+ /** Phase 1: request attached CTA tasks from the server and render them
484
+ * beneath the media. Off by default for backward compatibility. */
485
+ attached?: boolean;
486
+ /** Phase 1: callback fired after each CTA submission attempt. */
487
+ onCtaComplete?: (ev: AttachedCtaCompleteEvent) => void;
488
+ /** Phase 2: 'media' (default) = media is the click target. 'button' = an
489
+ * explicit "Learn more" button is the only click target. */
490
+ clickTarget?: 'media' | 'button';
491
+ /** Phase 2: per-slot override for the Sponsored badge. */
492
+ disclosureLabel?: boolean | string;
493
+ }
142
494
  export declare class Popup {
143
495
  private sovads;
144
496
  private currentAd;
@@ -148,13 +500,46 @@ export declare class Popup {
148
500
  private maxRetries;
149
501
  private storageKeyLastShown;
150
502
  private storageKeySessionCount;
503
+ /** Phase 1: remembered across the show \u2192 renderPopup boundary so the CTA
504
+ * mount has access to the original opts without changing renderPopup's
505
+ * signature (kept private to preserve subclass compatibility). */
506
+ private currentOpts;
507
+ /** Phase 7: keyboard escape hatch. Bound once per show() so we can
508
+ * removeEventListener on hide() and avoid listener leaks. */
509
+ private escHandler;
151
510
  constructor(sovads: SovAds);
152
511
  private canShowByFrequencyCap;
153
512
  private markShown;
154
- show(consumerId?: string, delay?: number): Promise<void>;
513
+ /**
514
+ * Show the popup. Two call shapes (both supported \u2014 backwards compatible):
515
+ *
516
+ * popup.show() // defaults
517
+ * popup.show('consumer-id', 3000) // legacy positional
518
+ * popup.show({ consumerId, delay, attached, onCtaComplete }) // recommended
519
+ */
520
+ show(consumerIdOrOpts?: string | PopupShowOptions, delay?: number): Promise<void>;
155
521
  private renderPopup;
522
+ /** Phase 7: keyboard escape hatch. The popup is a non-modal sticky card,
523
+ * so we don't trap focus — but pressing Esc anywhere should dismiss it.
524
+ * Bound on each renderPopup() so re-shows install a fresh handler, and
525
+ * always paired with removeEventListener in hide(). */
526
+ private bindEscHandler;
156
527
  hide(): void;
157
528
  }
529
+ export interface BottomBarShowOptions {
530
+ consumerId?: string;
531
+ /** Phase 1: request attached CTA tasks from the server and render them
532
+ * to the right of the media (inline layout). Off by default. */
533
+ attached?: boolean;
534
+ /** Phase 1: callback fired after each CTA submission attempt. */
535
+ onCtaComplete?: (ev: AttachedCtaCompleteEvent) => void;
536
+ /** Phase 2: 'button' (default for BottomBar) = only an explicit "Learn more"
537
+ * button is clickable. 'media' = legacy bar-wide click target (NOT
538
+ * recommended — produces accidental clicks at the screen edge). */
539
+ clickTarget?: 'media' | 'button';
540
+ /** Phase 2: per-slot override for the Sponsored badge. */
541
+ disclosureLabel?: boolean | string;
542
+ }
158
543
  export declare class BottomBar {
159
544
  private sovads;
160
545
  private barElement;
@@ -162,8 +547,21 @@ export declare class BottomBar {
162
547
  private isVisible;
163
548
  private retryCount;
164
549
  private maxRetries;
550
+ /** Phase 1: remembered across show \u2192 renderBar so the CTA mount has
551
+ * access to the original opts. */
552
+ private currentOpts;
553
+ /** Phase 7: keyboard escape hatch. Bound when the bar is appended to
554
+ * the DOM, removed in hide() to avoid listener leaks. */
555
+ private escHandler;
165
556
  constructor(sovads: SovAds);
166
- show(consumerId?: string): Promise<void>;
557
+ /**
558
+ * Show the bottom bar. Two call shapes (both supported \u2014 backwards compatible):
559
+ *
560
+ * bottomBar.show()
561
+ * bottomBar.show('consumer-id') // legacy positional
562
+ * bottomBar.show({ consumerId, attached, onCtaComplete }) // recommended
563
+ */
564
+ show(consumerIdOrOpts?: string | BottomBarShowOptions): Promise<void>;
167
565
  private renderBar;
168
566
  hide(): void;
169
567
  }
@@ -175,6 +573,7 @@ export declare class Sidebar {
175
573
  private hasTrackedImpression;
176
574
  private isRendering;
177
575
  private refreshTimer;
576
+ private lazyLoadObserver;
178
577
  private lastAdId;
179
578
  private retryCount;
180
579
  private maxRetries;
@@ -186,21 +585,105 @@ export declare class Sidebar {
186
585
  private setupAutoRefresh;
187
586
  destroy(): void;
188
587
  }
588
+ export interface OverlayShowOptions {
589
+ consumerId?: string;
590
+ /** Render attached CTA tasks inside the overlay. Off by default. */
591
+ attached?: boolean;
592
+ /** Callback fired after each CTA submission attempt. */
593
+ onCtaComplete?: (ev: AttachedCtaCompleteEvent) => void;
594
+ /** 'media' (default) = whole image is the click target. 'button' = explicit
595
+ * "Learn more" CTA only. */
596
+ clickTarget?: 'media' | 'button';
597
+ /** Per-slot override for the Sponsored badge. */
598
+ disclosureLabel?: boolean | string;
599
+ /** When true, clicking outside the card dismisses the overlay. Default true. */
600
+ dismissOnBackdrop?: boolean;
601
+ /** When true, pressing Escape dismisses the overlay. Default true. */
602
+ dismissOnEscape?: boolean;
603
+ }
189
604
  export declare class Overlay {
190
- private sovads;
191
- private currentAd;
192
- private overlayElement;
605
+ protected sovads: SovAds;
606
+ protected currentAd: AdComponent | null;
607
+ protected overlayElement: HTMLElement | null;
608
+ protected isShowing: boolean;
609
+ protected currentOpts: OverlayShowOptions;
610
+ protected escHandler: ((e: KeyboardEvent) => void) | null;
611
+ protected previousBodyOverflow: string;
612
+ protected storageKeyLastShown: string;
613
+ protected storageKeySessionCount: string;
614
+ protected placement: string;
193
615
  constructor(sovads: SovAds);
194
- show(consumerId?: string): Promise<void>;
616
+ protected canShowByFrequencyCap(): boolean;
617
+ protected markShown(): void;
618
+ /**
619
+ * Show the overlay. Two call shapes (both supported \u2014 backwards compatible):
620
+ *
621
+ * overlay.show() // defaults
622
+ * overlay.show('consumer-id') // legacy positional
623
+ * overlay.show({ consumerId, attached, onCtaComplete, ... })
624
+ */
625
+ show(consumerIdOrOpts?: string | OverlayShowOptions): Promise<void>;
626
+ protected renderOverlay(): void;
627
+ hide(): void;
195
628
  }
196
629
  export declare class Interstitial extends Overlay {
630
+ protected storageKeyLastShown: string;
631
+ protected storageKeySessionCount: string;
632
+ protected placement: string;
633
+ }
634
+ export interface NativeCardRenderOptions {
635
+ consumerId?: string;
636
+ /** Phase 1: request attached CTA tasks and render them under the card body. */
637
+ attached?: boolean;
638
+ /** Phase 1: callback fired after each CTA submission attempt. */
639
+ onCtaComplete?: (ev: AttachedCtaCompleteEvent) => void;
640
+ /** Phase 2: 'media' (default) = card is the click target. 'button' = explicit
641
+ * "Learn more" button only. */
642
+ clickTarget?: 'media' | 'button';
643
+ /** Phase 2: per-slot override for the Sponsored badge. */
644
+ disclosureLabel?: boolean | string;
197
645
  }
198
646
  export declare class NativeCard {
199
647
  private sovads;
200
648
  private containerId;
201
649
  private currentAd;
202
650
  constructor(sovads: SovAds, containerId: string);
203
- render(consumerId?: string): Promise<void>;
651
+ /**
652
+ * Render the native card. Two call shapes (backwards compatible):
653
+ *
654
+ * nativeCard.render()
655
+ * nativeCard.render('consumer-id') // legacy positional
656
+ * nativeCard.render({ consumerId, attached, onCtaComplete }) // recommended
657
+ */
658
+ render(consumerIdOrOpts?: string | NativeCardRenderOptions): Promise<void>;
659
+ }
660
+ export interface CtaUnitRenderOptions {
661
+ consumerId?: string;
662
+ /** Layout for the CTA panel itself. 'stack' (default), 'inline', or 'auto'
663
+ * (inline at exactly 2 tasks, stack otherwise). */
664
+ layout?: 'stack' | 'inline' | 'auto';
665
+ /** Callback fired after each CTA submission attempt. */
666
+ onCtaComplete?: (ev: AttachedCtaCompleteEvent) => void;
667
+ }
668
+ export declare class CtaUnit {
669
+ private sovads;
670
+ private containerId;
671
+ private currentAd;
672
+ private isRendering;
673
+ constructor(sovads: SovAds, containerId: string);
674
+ render(consumerIdOrOpts?: string | CtaUnitRenderOptions): Promise<void>;
204
675
  }
676
+ export declare const GOOD_DOLLAR_ICON_DATA_URI = "data:image/png;base64,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";
677
+ /**
678
+ * Build a compact reward badge ("Earn <icon> <amount>") that ad surfaces
679
+ * overlay to surface the viewer-reward. Returns an HTMLElement; caller is
680
+ * responsible for absolute positioning over the creative.
681
+ */
682
+ export declare function buildRewardBadge(opts?: {
683
+ /** Numeric or pre-formatted reward amount. Default: '0.5'. */
684
+ amount?: number | string;
685
+ /** 'dark' (default, black pill) for light backgrounds; 'light' for dark. */
686
+ variant?: 'light' | 'dark';
687
+ }): HTMLElement;
205
688
  export default SovAds;
206
689
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}