@revturbine/sdk 0.2.63 → 0.2.65

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
@@ -13133,7 +13133,15 @@ declare class RevTurbineCustomerSdk {
13133
13133
  * - CTA handlers from domain providers (`domain: 'cta'`), unless disabled
13134
13134
  */
13135
13135
  validateUiPathResolvers(options?: RevTurbineUiPathResolverValidationOptions): Promise<RevTurbineUiPathResolverValidationReport>;
13136
- private assertUiPathResolverCoverageOrThrow;
13136
+ /**
13137
+ * Init-time `uiPathResolvers` coverage check. A gap used to throw and take
13138
+ * the whole app down for what is, in effect, an unwired button; per plan 174
13139
+ * Q-2 (= plan 168 Q-2, decided 2026-08-10) it now warns and leaves the
13140
+ * affected CTAs on the no-op path — the click is tracked and falls back to
13141
+ * `onCtaClick`, nothing else happens. `validateUiPathResolvers({
13142
+ * throwOnMissing: true })` remains the strict opt-in.
13143
+ */
13144
+ private warnOnUiPathResolverCoverageGaps;
13137
13145
  dismiss(outputId: string): Promise<void>;
13138
13146
  snooze(outputId: string, seconds?: number): Promise<void>;
13139
13147
  convert(outputId: string): Promise<void>;
@@ -21312,8 +21320,8 @@ declare function unregisterCtaResolver(type: string): boolean;
21312
21320
  /**
21313
21321
  * Bridge an SDK-init `uiPathResolvers` map into a {@link CtaResolverRegistry}
21314
21322
  * so resolvers supplied at init actually dispatch on CTA clicks (plan 174
21315
- * TASK-1 / F-70). Called by the SDK constructor after init-time coverage
21316
- * validation succeeds.
21323
+ * TASK-1 / F-70). Called by the SDK constructor after the init-time coverage
21324
+ * check runs.
21317
21325
  *
21318
21326
  * Explicit registrations take precedence: an action type already present in
21319
21327
  * the registry (via {@link registerCtaResolver} or a direct `register`) is
@@ -21574,6 +21582,15 @@ interface PlacementRendererProps {
21574
21582
  onRemindLater?: (outputId: string) => void;
21575
21583
  /** Callback fired once when the placement is first rendered visible. */
21576
21584
  onImpression?: (outputId: string) => void;
21585
+ /**
21586
+ * Optional viewport-exposure ref, threaded through to the slot component's
21587
+ * {@link PlacementSlotProps.exposureRef} (plan 174 TASK-15, completing plan
21588
+ * 144 REQ-18's slot half). Supply the callback built by `usePlacement` (or
21589
+ * an equivalent from the exposure substrate); the slot attaches it to its
21590
+ * true visual root so `placement_exposed` can be viewport-qualified.
21591
+ * Additive and optional — omitted, slots render exactly as before.
21592
+ */
21593
+ exposureRef?: (element: Element | null) => void;
21577
21594
  /** Whether the placement is visible. Default true. */
21578
21595
  visible?: boolean;
21579
21596
  /** Custom CSS class name. */
@@ -21594,7 +21611,7 @@ interface PlacementRendererProps {
21594
21611
  * - UI path and promotion parsing
21595
21612
  * - CTA and dismiss callback wiring
21596
21613
  */
21597
- declare function PlacementRenderer({ placement, personalization, registry, ctaResolvers, onCtaClick, onSecondaryCtaClick, onDismiss, onRemindLater, onImpression, visible, className, style, fallback, }: PlacementRendererProps): React__default.JSX.Element;
21614
+ declare function PlacementRenderer({ placement, personalization, registry, ctaResolvers, onCtaClick, onSecondaryCtaClick, onDismiss, onRemindLater, onImpression, exposureRef, visible, className, style, fallback, }: PlacementRendererProps): React__default.JSX.Element;
21598
21615
  declare namespace PlacementRenderer {
21599
21616
  var displayName: string;
21600
21617
  }