@encorekit/web-sdk 1.1.18 → 1.1.20

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.
Files changed (71) hide show
  1. package/README.md +63 -3
  2. package/dist/cjs/index.cjs +1 -1
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/esm/index.js +1 -1
  5. package/dist/esm/index.js.map +1 -1
  6. package/dist/umd/encore.min.js +1 -1
  7. package/dist/umd/encore.min.js.map +1 -1
  8. package/embed/README.md +1 -1
  9. package/examples/angular/src/app/app.component.ts +0 -1
  10. package/examples/angular/src/app/encore.service.ts +1 -2
  11. package/examples/ios-webview/EncoreWebViewBridge.swift +3 -10
  12. package/examples/ios-webview/README.md +0 -20
  13. package/examples/react/package.json +1 -1
  14. package/examples/react/src/App.tsx +14 -1
  15. package/examples/svelte/src/App.svelte +0 -2
  16. package/examples/vanilla-js/index.html +0 -2
  17. package/examples/vue/src/App.vue +0 -2
  18. package/package.json +10 -8
  19. package/types/analytics/AnalyticsClient.d.ts +11 -3
  20. package/types/analytics/AnalyticsClient.d.ts.map +1 -1
  21. package/types/analytics/events.d.ts +12 -1
  22. package/types/analytics/events.d.ts.map +1 -1
  23. package/types/analytics/models.d.ts +11 -8
  24. package/types/analytics/models.d.ts.map +1 -1
  25. package/types/analytics/transport.d.ts +23 -0
  26. package/types/analytics/transport.d.ts.map +1 -0
  27. package/types/api/APIClient.d.ts +1 -1
  28. package/types/api/APIClient.d.ts.map +1 -1
  29. package/types/api/contract.d.ts +32 -0
  30. package/types/api/contract.d.ts.map +1 -0
  31. package/types/api/generated/types.d.ts +4509 -0
  32. package/types/api/generated/types.d.ts.map +1 -0
  33. package/types/api/models.d.ts +45 -128
  34. package/types/api/models.d.ts.map +1 -1
  35. package/types/core/Configuration.d.ts +2 -2
  36. package/types/core/Configuration.d.ts.map +1 -1
  37. package/types/core/Encore.d.ts +87 -8
  38. package/types/core/Encore.d.ts.map +1 -1
  39. package/types/core/PlacementBuilder.d.ts +14 -9
  40. package/types/core/PlacementBuilder.d.ts.map +1 -1
  41. package/types/core/TransactionStore.d.ts +35 -0
  42. package/types/core/TransactionStore.d.ts.map +1 -0
  43. package/types/core/version.d.ts +1 -1
  44. package/types/experiments/ExperimentManager.d.ts +43 -0
  45. package/types/experiments/ExperimentManager.d.ts.map +1 -0
  46. package/types/experiments/ExposureOutbox.d.ts +37 -0
  47. package/types/experiments/ExposureOutbox.d.ts.map +1 -0
  48. package/types/experiments/bucketing.d.ts +33 -0
  49. package/types/experiments/bucketing.d.ts.map +1 -0
  50. package/types/experiments/types.d.ts +60 -0
  51. package/types/experiments/types.d.ts.map +1 -0
  52. package/types/index.d.ts +1 -0
  53. package/types/index.d.ts.map +1 -1
  54. package/types/react.d.ts +1 -3
  55. package/types/react.d.ts.map +1 -1
  56. package/types/types.d.ts +248 -9
  57. package/types/types.d.ts.map +1 -1
  58. package/types/ui/OfferCarousel.d.ts +14 -3
  59. package/types/ui/OfferCarousel.d.ts.map +1 -1
  60. package/types/ui/OfferModal.d.ts +6 -0
  61. package/types/ui/OfferModal.d.ts.map +1 -1
  62. package/types/ui/RedemptionScreen.d.ts +33 -0
  63. package/types/ui/RedemptionScreen.d.ts.map +1 -0
  64. package/types/ui/ThankYouLayout.d.ts +35 -0
  65. package/types/ui/ThankYouLayout.d.ts.map +1 -0
  66. package/types/ui/styles.d.ts.map +1 -1
  67. package/examples/react/.env.local +0 -1
  68. package/types/__tests__/react.test.d.ts +0 -2
  69. package/types/__tests__/react.test.d.ts.map +0 -1
  70. package/types/ui/SuccessScreen.d.ts +0 -33
  71. package/types/ui/SuccessScreen.d.ts.map +0 -1
@@ -4,6 +4,15 @@
4
4
  */
5
5
  import type { OfferModel as Offer } from '../api/models';
6
6
  import type { UIConfiguration } from '../types';
7
+ export interface OfferCarouselOptions {
8
+ /**
9
+ * 'responsive' (default): today's behavior — horizontal carousel on desktop, vertical
10
+ * full-screen list on mobile (viewport-derived).
11
+ * 'paged' (thankYou layout): always-horizontal, one-card-per-view, scroll-snap paged
12
+ * carousel at every breakpoint, with chevron nav bubbles.
13
+ */
14
+ mode?: 'responsive' | 'paged';
15
+ }
7
16
  interface CarouselEventMap extends Record<string, unknown> {
8
17
  offerClaim: {
9
18
  offer: Offer;
@@ -22,7 +31,7 @@ interface CarouselEventMap extends Record<string, unknown> {
22
31
  }
23
32
  export declare class OfferCarousel {
24
33
  #private;
25
- constructor(offers: Offer[], uiConfig?: UIConfiguration);
34
+ constructor(offers: Offer[], uiConfig?: UIConfiguration, options?: OfferCarouselOptions);
26
35
  /**
27
36
  * Render the carousel
28
37
  */
@@ -40,11 +49,13 @@ export declare class OfferCarousel {
40
49
  */
41
50
  getTotalOffers(): number;
42
51
  /**
43
- * Navigate to next offer
52
+ * Navigate to next offer. A user INTENT: commits domain state immediately (so
53
+ * semantic UI updates once, and rapid clicks chain naturally), then runs the
54
+ * scroll as an effect. The highlight is not touched — it follows the motion.
44
55
  */
45
56
  next(): void;
46
57
  /**
47
- * Navigate to previous offer
58
+ * Navigate to previous offer — see next().
48
59
  */
49
60
  previous(): void;
50
61
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"OfferCarousel.d.ts","sourceRoot":"","sources":["../../src/ui/OfferCarousel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMhD,UAAU,gBAAiB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,UAAU,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,SAAS,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,QAAQ,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAChC;AAED,qBAAa,aAAa;;gBAaZ,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE,eAAe;IAavD;;OAEG;IACH,MAAM,IAAI,WAAW;IAoDrB;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,gBAAgB,EACjC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,GAC9C,MAAM,IAAI;IAIb;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,IAAI,IAAI,IAAI;IAUZ;;OAEG;IACH,QAAQ,IAAI,IAAI;IA+ShB;;OAEG;IACH,OAAO,IAAI,IAAI;CAkBhB"}
1
+ {"version":3,"file":"OfferCarousel.d.ts","sourceRoot":"","sources":["../../src/ui/OfferCarousel.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMhD,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC;CAC/B;AAED,UAAU,gBAAiB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,UAAU,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,YAAY,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,SAAS,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,QAAQ,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAChC;AAED,qBAAa,aAAa;;gBAgDZ,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAcvF;;OAEG;IACH,MAAM,IAAI,WAAW;IAgLrB;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,gBAAgB,EACjC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,GAC9C,MAAM,IAAI;IAIb;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;;;OAIG;IACH,IAAI,IAAI,IAAI;IAUZ;;OAEG;IACH,QAAQ,IAAI,IAAI;IA+YhB;;OAEG;IACH,OAAO,IAAI,IAAI;CAqBhB"}
@@ -24,6 +24,12 @@ export declare class OfferModal {
24
24
  * Check if modal is currently visible
25
25
  */
26
26
  isVisible(): boolean;
27
+ /**
28
+ * Re-point the dialog's accessible name. Layout templates whose visually-primary
29
+ * heading is not the carousel title (thankYou) pass the id of their own heading so
30
+ * screen readers announce the dialog by what the user actually sees.
31
+ */
32
+ setLabelledBy(id: string): void;
27
33
  /**
28
34
  * Set modal content
29
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"OfferModal.d.ts","sourceRoot":"","sources":["../../src/ui/OfferModal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,UAAU,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrD,KAAK,EAAE,IAAI,CAAC;IACZ,aAAa,EAAE,IAAI,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,qBAAa,UAAU;;gBAWT,KAAK,GAAE,cAAmB;IAOtC;;OAEG;IACH,IAAI,IAAI,IAAI;IAqCZ;;OAEG;IACH,IAAI,IAAI,IAAI;IAyBZ;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IActC;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,aAAa,EAC9B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,GAC3C,MAAM,IAAI;IA6Ib;;OAEG;IACH,OAAO,IAAI,IAAI;CAOhB"}
1
+ {"version":3,"file":"OfferModal.d.ts","sourceRoot":"","sources":["../../src/ui/OfferModal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,UAAU,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrD,KAAK,EAAE,IAAI,CAAC;IACZ,aAAa,EAAE,IAAI,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,qBAAa,UAAU;;gBAWT,KAAK,GAAE,cAAmB;IAOtC;;OAEG;IACH,IAAI,IAAI,IAAI;IAqCZ;;OAEG;IACH,IAAI,IAAI,IAAI;IAyBZ;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IActC;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,aAAa,EAC9B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,GAC3C,MAAM,IAAI;IA6Ib;;OAEG;IACH,OAAO,IAAI,IAAI;CAOhB"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Redemption Screen Component
3
+ *
4
+ * Phase 2 of the two-phase flow: shown by redeem() after the host's own
5
+ * conversion. Presents the claimed partner offer as a "Pending" reward card with
6
+ * a single clean CTA that sends the user to the advertiser. Intentionally does
7
+ * NOT render the host's "active" product block — that content (app suite, perks)
8
+ * varies per integrator and isn't worth rendering generically.
9
+ */
10
+ interface RedemptionScreenConfig {
11
+ /** Display reward copy, e.g. "30 days of free Apple Music". */
12
+ reward?: string;
13
+ /** Advertiser/partner name, e.g. "Apple Music". */
14
+ advertiserName?: string;
15
+ /** Partner logo (preferred) or a fallback image. */
16
+ logoUrl?: string;
17
+ imageUrl?: string;
18
+ /** Optional CTA override; otherwise derived from the reward. */
19
+ buttonText?: string;
20
+ }
21
+ interface RedemptionScreenEventMap extends Record<string, unknown> {
22
+ /** The user tapped the claim CTA — caller fires the advertiser redirect. */
23
+ continue: undefined;
24
+ }
25
+ export declare class RedemptionScreen {
26
+ #private;
27
+ constructor(config: RedemptionScreenConfig);
28
+ render(): HTMLElement;
29
+ on<K extends keyof RedemptionScreenEventMap>(event: K, handler: (payload: RedemptionScreenEventMap[K]) => void): () => void;
30
+ destroy(): void;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=RedemptionScreen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedemptionScreen.d.ts","sourceRoot":"","sources":["../../src/ui/RedemptionScreen.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,UAAU,sBAAsB;IAC9B,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,wBAAyB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAChE,4EAA4E;IAC5E,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,qBAAa,gBAAgB;;gBAKf,MAAM,EAAE,sBAAsB;IAK1C,MAAM,IAAI,WAAW;IAoErB,EAAE,CAAC,CAAC,SAAS,MAAM,wBAAwB,EACzC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GACtD,MAAM,IAAI;IAIb,OAAO,IAAI,IAAI;CA6BhB"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Thank-You Layout — the 'thankYou' placement template.
3
+ *
4
+ * Pure chrome around the unchanged OfferCarousel: a payment-status block (success
5
+ * check + host-supplied title/subtitle) above, an optional trust footer below. A pure
6
+ * render function rather than a component class: the layout is static content with no
7
+ * events, no listeners, and no state — the carousel keeps its own lifecycle and is
8
+ * passed in as a ready element.
9
+ */
10
+ import type { PlacementHeaderConfig, PlacementFooterConfig, PlacementLayout, Receipt } from '../types';
11
+ /**
12
+ * The id given to the thankYou status heading so the dialog's accessible name can
13
+ * point at the layout's real primary heading (the carousel title is demoted to intro
14
+ * copy in this layout).
15
+ */
16
+ export declare const THANKYOU_TITLE_ID: string;
17
+ /**
18
+ * Tolerant-reader layout resolution. Never trust the TS union at runtime: plain-JS/UMD
19
+ * callers can pass anything, and a future server-driven selector may send a layout
20
+ * name this SDK version predates. Unknown values warn and fall back to 'list' so older
21
+ * shipped SDKs degrade gracefully.
22
+ */
23
+ export declare function resolveLayout(value: unknown): PlacementLayout;
24
+ export interface ThankYouLayoutOptions {
25
+ header?: PlacementHeaderConfig;
26
+ footer?: PlacementFooterConfig;
27
+ /** Per-transaction receipt — owns the subtitle slot when provided. */
28
+ receipt?: Receipt;
29
+ }
30
+ /**
31
+ * Compose the thankYou sheet: status (check → title → subtitle) → carousel → footer.
32
+ * All host-supplied copy is set via textContent (text-only, injection-safe).
33
+ */
34
+ export declare function renderThankYouLayout(carouselElement: HTMLElement, options?: ThankYouLayoutOptions): HTMLElement;
35
+ //# sourceMappingURL=ThankYouLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThankYouLayout.d.ts","sourceRoot":"","sources":["../../src/ui/ThankYouLayout.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,OAAO,EACR,MAAM,UAAU,CAAC;AAOlB;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,QAAwB,CAAC;AAEvD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAO7D;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAqCD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,eAAe,EAAE,WAAW,EAC5B,OAAO,GAAE,qBAA0B,GAClC,WAAW,CAkDb"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,eAAO,MAAM,OAAO;;;CAGV,CAAC;AAGX,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAkvBD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,GAAE,cAAmB,GAAG,IAAI,CAgB7D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAMnC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAUvD;AAED;;GAEG;AACH,wBAAgB,EAAE,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7C"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/ui/styles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,eAAO,MAAM,OAAO;;;CAGV,CAAC;AAGX,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAm0CD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,GAAE,cAAmB,GAAG,IAAI,CAgB7D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAMnC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAUvD;AAED;;GAEG;AACH,wBAAgB,EAAE,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE7C"}
@@ -1 +0,0 @@
1
- VITE_ENCORE_API_KEY=pk_test_s71ycgmiukgc9myuvnv886lz
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=react.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/react.test.tsx"],"names":[],"mappings":""}
@@ -1,33 +0,0 @@
1
- /**
2
- * Success Screen Component
3
- * Displays success feedback after entitlement is granted
4
- */
5
- import { EntitlementType } from '../types';
6
- interface SuccessScreenConfig {
7
- entitlement: EntitlementType;
8
- titleText?: string;
9
- subtitleText?: string;
10
- buttonText?: string;
11
- autoDismissMs?: number;
12
- }
13
- interface SuccessScreenEventMap extends Record<string, unknown> {
14
- continue: undefined;
15
- }
16
- export declare class SuccessScreen {
17
- #private;
18
- constructor(config: SuccessScreenConfig);
19
- /**
20
- * Render the success screen
21
- */
22
- render(): HTMLElement;
23
- /**
24
- * Subscribe to events
25
- */
26
- on<K extends keyof SuccessScreenEventMap>(event: K, handler: (payload: SuccessScreenEventMap[K]) => void): () => void;
27
- /**
28
- * Destroy the success screen
29
- */
30
- destroy(): void;
31
- }
32
- export {};
33
- //# sourceMappingURL=SuccessScreen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SuccessScreen.d.ts","sourceRoot":"","sources":["../../src/ui/SuccessScreen.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,UAAU,mBAAmB;IAC3B,WAAW,EAAE,eAAe,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,qBAAsB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,qBAAa,aAAa;;gBAMZ,MAAM,EAAE,mBAAmB;IAKvC;;OAEG;IACH,MAAM,IAAI,WAAW;IAgDrB;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,qBAAqB,EACtC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,IAAI,GACnD,MAAM,IAAI;IAIb;;OAEG;IACH,OAAO,IAAI,IAAI;CAiGhB"}