@encorekit/web-sdk 0.1.0 → 0.1.5

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 (111) hide show
  1. package/README.md +16 -9
  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/examples/README.md +149 -0
  9. package/examples/angular/README.md +210 -0
  10. package/examples/angular/angular.json +73 -0
  11. package/examples/angular/package.json +32 -0
  12. package/examples/angular/src/app/app.component.html +56 -0
  13. package/examples/angular/src/app/app.component.ts +114 -0
  14. package/examples/angular/src/app/encore.service.ts +83 -0
  15. package/examples/angular/src/index.html +13 -0
  16. package/examples/angular/src/main.ts +7 -0
  17. package/examples/angular/src/styles.css +225 -0
  18. package/examples/angular/tsconfig.json +33 -0
  19. package/examples/react/README.md +186 -0
  20. package/examples/react/index.html +13 -0
  21. package/examples/react/package.json +24 -0
  22. package/examples/react/src/App.tsx +173 -0
  23. package/examples/react/src/index.css +227 -0
  24. package/examples/react/src/main.tsx +11 -0
  25. package/examples/react/src/vite-env.d.ts +2 -0
  26. package/examples/react/tsconfig.json +25 -0
  27. package/examples/react/vite.config.ts +8 -0
  28. package/examples/svelte/README.md +233 -0
  29. package/examples/svelte/index.html +13 -0
  30. package/examples/svelte/package.json +25 -0
  31. package/examples/svelte/src/App.svelte +164 -0
  32. package/examples/svelte/src/app.css +224 -0
  33. package/examples/svelte/src/main.ts +9 -0
  34. package/examples/svelte/src/vite-env.d.ts +3 -0
  35. package/examples/svelte/svelte.config.js +8 -0
  36. package/examples/svelte/tsconfig.json +16 -0
  37. package/examples/svelte/tsconfig.node.json +11 -0
  38. package/examples/svelte/vite.config.ts +8 -0
  39. package/examples/vanilla-js/README.md +271 -0
  40. package/examples/vanilla-js/index.html +421 -0
  41. package/examples/vue/README.md +212 -0
  42. package/examples/vue/index.html +13 -0
  43. package/examples/vue/package.json +22 -0
  44. package/examples/vue/src/App.vue +170 -0
  45. package/examples/vue/src/main.ts +6 -0
  46. package/examples/vue/src/style.css +224 -0
  47. package/examples/vue/src/vite-env.d.ts +2 -0
  48. package/examples/vue/tsconfig.json +25 -0
  49. package/examples/vue/vite.config.ts +8 -0
  50. package/package.json +15 -2
  51. package/types/api/APIClient.d.ts.map +1 -1
  52. package/types/api/models.d.ts +6 -4
  53. package/types/api/models.d.ts.map +1 -1
  54. package/types/core/Encore.d.ts +12 -12
  55. package/types/core/Encore.d.ts.map +1 -1
  56. package/types/core/EntitlementManager.d.ts +9 -0
  57. package/types/core/EntitlementManager.d.ts.map +1 -1
  58. package/types/types.d.ts.map +1 -1
  59. package/types/ui/OfferCard.d.ts.map +1 -1
  60. package/types/ui/OfferCarousel.d.ts.map +1 -1
  61. package/types/ui/Tooltip.d.ts +22 -0
  62. package/types/ui/Tooltip.d.ts.map +1 -0
  63. package/types/ui/styles.d.ts.map +1 -1
  64. package/dist/cjs/index.js +0 -2
  65. package/dist/cjs/index.js.map +0 -1
  66. package/types/src/api/APIClient.d.ts +0 -63
  67. package/types/src/api/APIClient.d.ts.map +0 -1
  68. package/types/src/api/endpoints.d.ts +0 -35
  69. package/types/src/api/endpoints.d.ts.map +0 -1
  70. package/types/src/api/models.d.ts +0 -156
  71. package/types/src/api/models.d.ts.map +0 -1
  72. package/types/src/core/Configuration.d.ts +0 -42
  73. package/types/src/core/Configuration.d.ts.map +0 -1
  74. package/types/src/core/Encore.d.ts +0 -81
  75. package/types/src/core/Encore.d.ts.map +0 -1
  76. package/types/src/core/EntitlementManager.d.ts +0 -65
  77. package/types/src/core/EntitlementManager.d.ts.map +0 -1
  78. package/types/src/core/OfferManager.d.ts +0 -35
  79. package/types/src/core/OfferManager.d.ts.map +0 -1
  80. package/types/src/core/PlacementBuilder.d.ts +0 -27
  81. package/types/src/core/PlacementBuilder.d.ts.map +0 -1
  82. package/types/src/core/SignalManager.d.ts +0 -51
  83. package/types/src/core/SignalManager.d.ts.map +0 -1
  84. package/types/src/core/StorageManager.d.ts +0 -34
  85. package/types/src/core/StorageManager.d.ts.map +0 -1
  86. package/types/src/core/VerificationPoller.d.ts +0 -27
  87. package/types/src/core/VerificationPoller.d.ts.map +0 -1
  88. package/types/src/index.d.ts +0 -7
  89. package/types/src/index.d.ts.map +0 -1
  90. package/types/src/types.d.ts +0 -156
  91. package/types/src/types.d.ts.map +0 -1
  92. package/types/src/ui/OfferCard.d.ts +0 -29
  93. package/types/src/ui/OfferCard.d.ts.map +0 -1
  94. package/types/src/ui/OfferCarousel.d.ts +0 -55
  95. package/types/src/ui/OfferCarousel.d.ts.map +0 -1
  96. package/types/src/ui/OfferModal.d.ts +0 -41
  97. package/types/src/ui/OfferModal.d.ts.map +0 -1
  98. package/types/src/ui/SuccessScreen.d.ts +0 -33
  99. package/types/src/ui/SuccessScreen.d.ts.map +0 -1
  100. package/types/src/ui/styles.d.ts +0 -44
  101. package/types/src/ui/styles.d.ts.map +0 -1
  102. package/types/src/utils/eventEmitter.d.ts +0 -50
  103. package/types/src/utils/eventEmitter.d.ts.map +0 -1
  104. package/types/src/utils/focusDetection.d.ts +0 -21
  105. package/types/src/utils/focusDetection.d.ts.map +0 -1
  106. package/types/src/utils/logger.d.ts +0 -21
  107. package/types/src/utils/logger.d.ts.map +0 -1
  108. package/types/src/utils/network.d.ts +0 -57
  109. package/types/src/utils/network.d.ts.map +0 -1
  110. package/types/src/utils/uuid.d.ts +0 -10
  111. package/types/src/utils/uuid.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@encorekit/web-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.5",
4
4
  "type": "module",
5
5
  "description": "Encore SDK for web applications - display targeted offers and manage user entitlements",
6
6
  "main": "./dist/cjs/index.cjs",
@@ -18,6 +18,7 @@
18
18
  "files": [
19
19
  "dist",
20
20
  "types",
21
+ "examples",
21
22
  "README.md",
22
23
  "LICENSE"
23
24
  ],
@@ -30,7 +31,15 @@
30
31
  "lint:fix": "eslint src --ext .ts --fix",
31
32
  "format": "prettier --write \"src/**/*.ts\"",
32
33
  "format:check": "prettier --check \"src/**/*.ts\"",
33
- "demo:serve": "http-server -p 3000 -o demo/index.html"
34
+ "demo:serve": "http-server -p 3000 -o demo/index.html",
35
+ "demo:backend": "ENV_FILE=.env.local node demo/backend.js",
36
+ "demo:backend:prod": "ENV_FILE=.env.production node demo/backend.js",
37
+ "demo:full": "npm run build && concurrently \"npm run demo:backend\" \"http-server -p 3000\"",
38
+ "demo:full:prod": "npm run build && concurrently \"npm run demo:backend:prod\" \"http-server -p 3000\"",
39
+ "clean:examples": "bash scripts/clean-examples.sh",
40
+ "prepublishOnly": "npm run build && npm run clean:examples",
41
+ "pack:local": "npm run build && npm run clean:examples && npm pack",
42
+ "publish": "npm publish --access public"
34
43
  },
35
44
  "keywords": [
36
45
  "encore",
@@ -48,9 +57,13 @@
48
57
  "@rollup/plugin-terser": "^0.4.4",
49
58
  "@rollup/plugin-typescript": "^12.1.4",
50
59
  "@types/eslint__js": "^8.42.3",
60
+ "concurrently": "^9.2.1",
61
+ "cors": "^2.8.5",
62
+ "dotenv": "^17.2.3",
51
63
  "eslint": "^9.37.0",
52
64
  "eslint-config-prettier": "^10.1.8",
53
65
  "eslint-plugin-prettier": "^5.5.4",
66
+ "express": "^5.1.0",
54
67
  "http-server": "^14.1.1",
55
68
  "prettier": "^3.6.2",
56
69
  "rollup": "^4.52.4",
@@ -1 +1 @@
1
- {"version":3,"file":"APIClient.d.ts","sourceRoot":"","sources":["../../src/api/APIClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAe,cAAc,EAAE,WAAW,EAAmB,MAAM,UAAU,CAAC;AAE1F,OAAO,KAAK,EACV,mBAAmB,EAInB,0BAA0B,EAE1B,UAAU,EACX,MAAM,UAAU,CAAC;AASlB,UAAU,cAAc;IACtB,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAQD,qBAAa,SAAS;;gBAKR,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAM3C;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAW7E;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAsO9F;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;KAAE,CAAC;IAgD9F;;OAEG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;IAelB;;OAEG;IACG,eAAe,CACnB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,aAAa,GAAG,OAAO,GACjC,OAAO,CAAC,OAAO,CAAC;IAqCnB;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkD/D;;OAEG;IACG,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAWzF;;OAEG;IACG,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;CAgBpB"}
1
+ {"version":3,"file":"APIClient.d.ts","sourceRoot":"","sources":["../../src/api/APIClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAe,cAAc,EAAE,WAAW,EAAmB,MAAM,UAAU,CAAC;AAE1F,OAAO,KAAK,EACV,mBAAmB,EAInB,0BAA0B,EAE1B,UAAU,EACX,MAAM,UAAU,CAAC;AASlB,UAAU,cAAc;IACtB,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAQD,qBAAa,SAAS;;gBAKR,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAM3C;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACG,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAW7E;;OAEG;IACG,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAsO9F;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC;QAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;KAAE,CAAC;IAoD9F;;OAEG;IACG,gBAAgB,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC;IAelB;;OAEG;IACG,eAAe,CACnB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,aAAa,GAAG,OAAO,GACjC,OAAO,CAAC,OAAO,CAAC;IAuCnB;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkD/D;;OAEG;IACG,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAWzF;;OAEG;IACG,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;CAgBpB"}
@@ -15,12 +15,13 @@ export interface OfferModel {
15
15
  entitlement: EntitlementType;
16
16
  merchantName?: string;
17
17
  logoUrl?: string;
18
- instructions?: Array<{
18
+ instructions?: {
19
19
  title: string;
20
20
  subtitle: string;
21
21
  ctaButtonText?: string;
22
- }>;
22
+ }[];
23
23
  quickInstructions?: string;
24
+ tooltipText?: string;
24
25
  trackingParameters?: Record<string, string>;
25
26
  }
26
27
  export interface APICreativeModel {
@@ -35,12 +36,13 @@ export interface APICreativeModel {
35
36
  ctaText: string;
36
37
  destinationUrl: string;
37
38
  trackingParameters?: Record<string, string>;
38
- instructions?: Array<{
39
+ instructions?: {
39
40
  title: string;
40
41
  subtitle: string;
41
42
  ctaButtonText?: string;
42
- }>;
43
+ }[];
43
44
  quickInstructions?: string;
45
+ tooltipText?: string;
44
46
  }
45
47
  export interface APICampaignModel {
46
48
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/api/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAMpF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,eAAe,CAAC;IAE7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAGD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,OAAO,CAAC;QAClB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CACjB,MAAM,EACN;QACE,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CACF,CAAC;IACF,QAAQ,EAAE,MAAM,CACd,MAAM,EACN;QACE,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CACF,CAAC;IACF,GAAG,EAAE,MAAM,CACT,MAAM,EACN;QACE,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CACF,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/api/models.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAMpF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,eAAe,CAAC;IAE7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IACJ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAGD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,YAAY,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;IACJ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,gBAAgB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,OAAO,CAAC;QAClB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CACjB,MAAM,EACN;QACE,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CACF,CAAC;IACF,QAAQ,EAAE,MAAM,CACd,MAAM,EACN;QACE,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CACF,CAAC;IACF,GAAG,EAAE,MAAM,CACT,MAAM,EACN;QACE,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CACF,CAAC;IACF,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH"}
@@ -3,7 +3,6 @@
3
3
  * Singleton class that serves as the public API entry point
4
4
  */
5
5
  import type { EncoreConfig, UserAttributes, EntitlementType, EntitlementScope, EventHandler, Unsubscribe, PresentationOptions, PresentationResult, VerificationStatus, PlacementBuilder as IPlacementBuilder } from '../types';
6
- import { type EntitlementChangedEvent } from './EntitlementManager';
7
6
  export declare class EncoreSDK {
8
7
  #private;
9
8
  constructor();
@@ -45,13 +44,11 @@ export declare class EncoreSDK {
45
44
  */
46
45
  presentOffer(options?: PresentationOptions): Promise<PresentationResult>;
47
46
  /**
48
- * Check if entitlement is active
47
+ * @deprecated Client-side entitlement validation removed for security.
48
+ * Check entitlements on your server by calling Encore's server-side API.
49
+ * See: https://docs.encorekit.com/server-side-validation
49
50
  */
50
- isActive(entitlement: EntitlementType, scope?: EntitlementScope): boolean;
51
- /**
52
- * Refresh entitlements from server
53
- */
54
- refreshEntitlements(): Promise<void>;
51
+ isActive(_entitlement: EntitlementType, _scope?: EntitlementScope): boolean;
55
52
  /**
56
53
  * Send grant signal (non-blocking)
57
54
  */
@@ -62,14 +59,17 @@ export declare class EncoreSDK {
62
59
  */
63
60
  waitForVerification(transactionId: string, timeout?: number): Promise<VerificationStatus>;
64
61
  /**
65
- * Register event listener
62
+ * @deprecated Client-side entitlement events removed for security.
63
+ * Entitlement state should be managed on your server.
64
+ * See: https://docs.encorekit.com/server-side-validation
66
65
  */
67
- on(event: 'entitlementChanged', handler: EventHandler<EntitlementChangedEvent>): Unsubscribe;
66
+ on(_event: 'entitlementChanged', _handler: EventHandler<unknown>): Unsubscribe;
68
67
  /**
69
- * Observe specific entitlement changes
70
- * Returns an observable that can be subscribed to for reactive updates
68
+ * @deprecated Client-side entitlement observables removed for security.
69
+ * Entitlement state should be managed on your server.
70
+ * See: https://docs.encorekit.com/server-side-validation
71
71
  */
72
- observeEntitlement(entitlement: EntitlementType, scope?: EntitlementScope): {
72
+ observeEntitlement(_entitlement: EntitlementType, _scope?: EntitlementScope): {
73
73
  subscribe: (callback: (isActive: boolean) => void) => Unsubscribe;
74
74
  };
75
75
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Encore.d.ts","sourceRoot":"","sources":["../../src/core/Encore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAElB,kBAAkB,EAClB,gBAAgB,IAAI,iBAAiB,EACtC,MAAM,UAAU,CAAC;AAKlB,OAAO,EAAsB,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAkBxF,qBAAa,SAAS;;;IAsBpB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAuErC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI;IAgC3D;;OAEG;IACH,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,KAAK,IAAI,IAAI;IA2Db;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAQ1C;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;IAwBnD;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;OAGG;IACG,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuE9E;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO;IAWzE;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1C;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAiBtE;;;OAGG;IACG,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0C/F;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,YAAY,CAAC,uBAAuB,CAAC,GAAG,WAAW;IAc5F;;;OAGG;IACH,kBAAkB,CAChB,WAAW,EAAE,eAAe,EAC5B,KAAK,CAAC,EAAE,gBAAgB,GACvB;QACD,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,KAAK,WAAW,CAAC;KACnE;IAuCD;;OAEG;IACH,SAAS,IAAI,iBAAiB;CA4R/B;AAGD,eAAO,MAAM,MAAM,WAAkB,CAAC"}
1
+ {"version":3,"file":"Encore.d.ts","sourceRoot":"","sources":["../../src/core/Encore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAElB,kBAAkB,EAClB,gBAAgB,IAAI,iBAAiB,EACtC,MAAM,UAAU,CAAC;AAsBlB,qBAAa,SAAS;;;IAqBpB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAgErC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI;IA6B3D;;OAEG;IACH,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,KAAK,IAAI,IAAI;IA8Cb;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAQ1C;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;IAwBnD;;OAEG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;OAGG;IACG,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuE9E;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO;IAQ3E;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAiBtE;;;OAGG;IACG,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqC/F;;;;OAIG;IACH,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,WAAW;IAS9E;;;;OAIG;IACH,kBAAkB,CAChB,YAAY,EAAE,eAAe,EAC7B,MAAM,CAAC,EAAE,gBAAgB,GACxB;QACD,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,KAAK,WAAW,CAAC;KACnE;IAaD;;OAEG;IACH,SAAS,IAAI,iBAAiB;CA8Q/B;AAGD,eAAO,MAAM,MAAM,WAAkB,CAAC"}
@@ -1,6 +1,15 @@
1
1
  /**
2
2
  * Entitlement Manager
3
3
  * Manages entitlement storage, caching, querying, and events
4
+ *
5
+ * @deprecated This module has been deprecated for security reasons.
6
+ * Client-side entitlement validation is fundamentally insecure on web platforms
7
+ * where users can manipulate localStorage via DevTools.
8
+ *
9
+ * Entitlement validation must be performed server-side.
10
+ * See: https://docs.encorekit.com/server-side-validation
11
+ *
12
+ * This file is kept for backward compatibility but will be removed in v3.0.0
4
13
  */
5
14
  import type { Entitlement, EntitlementType, EntitlementScope } from '../types';
6
15
  import type { StorageManager } from './StorageManager';
@@ -1 +1 @@
1
- {"version":3,"file":"EntitlementManager.d.ts","sourceRoot":"","sources":["../../src/core/EntitlementManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAYrD,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,kBAAkB,EAAE,uBAAuB,CAAC;CAC7C;AAED,qBAAa,kBAAkB;;gBAQjB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAUzE;;OAEG;IACH,eAAe,IAAI,YAAY,CAAC,mBAAmB,CAAC;IAIpD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgC/B;;OAEG;IACH,gBAAgB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAiGnD;;OAEG;IACH,gBAAgB,IAAI,WAAW,EAAE;IAIjC;;OAEG;IACH,YAAY,IAAI,OAAO;IASvB;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAO5B;;OAEG;IACH,UAAU,IAAI,IAAI;IAUlB;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,GAAE,gBAAwB,GAAG,OAAO;IAwChF;;;OAGG;IACH,qBAAqB,CAAC,KAAK,GAAE,gBAAwB,GAAG,WAAW,EAAE;IAwBrE;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CA0C3C"}
1
+ {"version":3,"file":"EntitlementManager.d.ts","sourceRoot":"","sources":["../../src/core/EntitlementManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAYrD,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClE,kBAAkB,EAAE,uBAAuB,CAAC;CAC7C;AAED,qBAAa,kBAAkB;;gBAQjB,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAUzE;;OAEG;IACH,eAAe,IAAI,YAAY,CAAC,mBAAmB,CAAC;IAIpD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgC/B;;OAEG;IACH,gBAAgB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAiGnD;;OAEG;IACH,gBAAgB,IAAI,WAAW,EAAE;IAIjC;;OAEG;IACH,YAAY,IAAI,OAAO;IASvB;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAO5B;;OAEG;IACH,UAAU,IAAI,IAAI;IAUlB;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,GAAE,gBAAwB,GAAG,OAAO;IAwChF;;;OAGG;IACH,qBAAqB,CAAC,KAAK,GAAE,gBAAwB,GAAG,WAAW,EAAE;IAwBrE;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;CA0C3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,GAC/D;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CAAE,GAClE;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,aAAa,GAAG,KAAK,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,aAAa,GAAG,UAAU,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;CAClD;AAMD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAMD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,iBAAiB,GACjB,oBAAoB,GACpB,uBAAuB,GACvB,mBAAmB,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,eAAe,KAAK,IAAI,CAAC;IACnD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAClD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACxC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,eAAe,KAAK,IAAI,GAAG,gBAAgB,CAAC;IAC9E,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,gBAAgB,CAAC;IAC7E,oBAAoB,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,GAAG,gBAAgB,CAAC;IAC/E,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACrC;AAMD;;GAEG;AACH,oBAAY,SAAS;IACnB,aAAa,kBAAkB;IAC/B,SAAS,cAAc;IACvB,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,aAAa,kBAAkB;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,UAAU,GACV,QAAQ,GACR,SAAS,GACT,WAAW,CAAC;AAMhB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,YAAY,GAAG,aAAa,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAMD;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OfferCard.d.ts","sourceRoot":"","sources":["../../src/ui/OfferCard.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,eAAe,CAAC;AAKpD,UAAU,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACzD,KAAK,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IACxB,OAAO,EAAE,IAAI,CAAC;CACf;AAED,qBAAa,SAAS;;;IASpB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW;IAsBjC;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,iBAAiB,EAClC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/C,MAAM,IAAI;IAuLb;;OAEG;IACH,OAAO,IAAI,IAAI;CAKhB"}
1
+ {"version":3,"file":"OfferCard.d.ts","sourceRoot":"","sources":["../../src/ui/OfferCard.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,eAAe,CAAC;AAMpD,UAAU,iBAAkB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACzD,KAAK,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IACxB,OAAO,EAAE,IAAI,CAAC;CACf;AAED,qBAAa,SAAS;;;IAUpB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW;IAsBjC;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,iBAAiB,EAClC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,GAC/C,MAAM,IAAI;IAoMb;;OAEG;IACH,OAAO,IAAI,IAAI;CAUhB"}
@@ -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;AAMzD,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;;gBAWZ,MAAM,EAAE,KAAK,EAAE;IAY3B;;OAEG;IACH,MAAM,IAAI,WAAW;IAiDrB;;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+NhB;;OAEG;IACH,OAAO,IAAI,IAAI;CAahB"}
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;AAMzD,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;;gBAYZ,MAAM,EAAE,KAAK,EAAE;IAY3B;;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;IA0ShB;;OAEG;IACH,OAAO,IAAI,IAAI;CAkBhB"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Tooltip Component
3
+ * Portal-style tooltip that appears on hover
4
+ */
5
+ export interface TooltipOptions {
6
+ content: string;
7
+ position?: 'top' | 'bottom' | 'left' | 'right';
8
+ maxWidth?: number;
9
+ }
10
+ export declare class Tooltip {
11
+ #private;
12
+ constructor(targetElement: HTMLElement, options: TooltipOptions);
13
+ /**
14
+ * Update tooltip content
15
+ */
16
+ updateContent(content: string): void;
17
+ /**
18
+ * Cleanup
19
+ */
20
+ destroy(): void;
21
+ }
22
+ //# sourceMappingURL=Tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/ui/Tooltip.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,OAAO;;gBAWN,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc;IA8K/D;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQpC;;OAEG;IACH,OAAO,IAAI,IAAI;CA4BhB"}
@@ -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;AA2tBD;;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;AA6xBD;;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"}
package/dist/cjs/index.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),function(e){e.NETWORK_ERROR="NETWORK_ERROR",e.API_ERROR="API_ERROR",e.CONFIGURATION_ERROR="CONFIGURATION_ERROR",e.INITIALIZATION_ERROR="INITIALIZATION_ERROR",e.STORAGE_ERROR="STORAGE_ERROR",e.INVALID_REQUEST="INVALID_REQUEST",e.UNAUTHORIZED="UNAUTHORIZED",e.NOT_FOUND="NOT_FOUND",e.TIMEOUT="TIMEOUT",e.UNKNOWN_ERROR="UNKNOWN_ERROR"}(e||(e={}));const t="[Encore SDK]",n=new class{#e="none";setLogLevel(e){this.#e=e}getLogLevel(){return this.#e}debug(...e){"debug"===this.#e&&console.debug(t,...e)}info(...e){"debug"===this.#e&&console.info(t,...e)}warn(...e){"debug"===this.#e&&console.warn(t,...e)}error(...e){"debug"===this.#e&&console.error(t,...e)}critical(...e){console.error(t,"[CRITICAL]",...e)}};class i{#t=null;#n=!1;configure(e){if(this.#n)return n.warn("SDK already configured. Ignoring subsequent configure() call."),!1;const t=this.#i(e);if(t)return n.error("Invalid configuration:",t),!1;const i=e.logLevel??"none",r=e.environment??"production";return this.#t={apiKey:e.apiKey,userId:e.userId,environment:r,baseURL:this.#r(r),logLevel:i,uiConfiguration:e.uiConfiguration??{}},n.setLogLevel(i),this.#n=!0,n.debug("SDK configured successfully",this.#t),!0}#i(e){return e.apiKey&&"string"==typeof e.apiKey&&""!==e.apiKey.trim()?e.environment&&!["production","localhost"].includes(e.environment)?"environment must be 'production' or 'localhost'":e.logLevel&&!["none","debug"].includes(e.logLevel)?"logLevel must be 'none' or 'debug'":null:"apiKey is required and must be a non-empty string"}#r(e){return"localhost"===e?"http://localhost:8080/encore/v1":"https://svc.joinyaw.com/product/encore/v1"}getConfig(){return this.#t}isConfigured(){return this.#n}getApiKey(){return this.#t?.apiKey??null}getBaseURL(){return this.#t?.baseURL??null}getEnvironment(){return this.#t?.environment??null}getUIConfiguration(){return this.#t?.uiConfiguration??{}}reset(){this.#t=null,this.#n=!1,n.debug("Configuration reset")}}const r="encore_";class s{#s;#o;constructor(){this.#o=new Map,this.#s=this.#a(),n.debug(`StorageManager initialized with ${this.#s}`)}#a(){return this.#l("localStorage")?"localStorage":this.#l("sessionStorage")?"sessionStorage":(n.warn("Neither localStorage nor sessionStorage available, using in-memory storage"),"memory")}#l(e){try{const t="localStorage"===e?localStorage:sessionStorage,n="__encore_test__";return t.setItem(n,"test"),t.removeItem(n),!0}catch{return!1}}#c(){return"localStorage"===this.#s?localStorage:"sessionStorage"===this.#s?sessionStorage:this.#o}#d(e){return`${r}${e}`}set(e,t){if(void 0===t)return void n.warn(`Attempted to store undefined value for key: ${e}`);const i=this.#d(e),r=JSON.stringify(t);try{const t=this.#c();t instanceof Map?t.set(i,r):t.setItem(i,r),n.debug(`Stored ${e} in ${this.#s}`)}catch(e){e instanceof Error&&"QuotaExceededError"===e.name?n.error("Storage quota exceeded:",e):n.error("Failed to store item:",e),"memory"!==this.#s&&(n.warn("Falling back to memory storage for this item"),this.#o.set(i,r))}}get(e){const t=this.#d(e);try{const i=this.#c();let r=null;return r=i instanceof Map?i.get(t)??null:i.getItem(t),null===r||"undefined"===r?("undefined"===r&&(n.warn(`Found corrupted value "undefined" for key: ${e}, cleaning up`),this.remove(e)),null):JSON.parse(r)}catch(t){return n.error(`Failed to retrieve ${e}:`,t),this.remove(e),null}}remove(e){const t=this.#d(e);try{const i=this.#c();i instanceof Map?i.delete(t):i.removeItem(t),n.debug(`Removed ${e} from ${this.#s}`)}catch(t){n.error(`Failed to remove ${e}:`,t)}}clear(){try{const e=this.#c();if(e instanceof Map)for(const t of e.keys())t.startsWith(r)&&e.delete(t);else{const t=[];for(let n=0;n<e.length;n++){const i=e.key(n);i?.startsWith(r)&&t.push(i)}t.forEach(t=>e.removeItem(t))}n.debug(`Cleared all Encore data from ${this.#s}`)}catch(e){n.error("Failed to clear storage:",e)}}getStorageType(){return this.#s}}class o{#u;constructor(){this.#u=new Map}on(e,t){this.#u.has(e)||this.#u.set(e,new Set);const i=this.#u.get(e);if(!i)throw new Error(`Failed to get handlers for event '${String(e)}'`);return i.add(t),n.debug(`Event listener added for '${String(e)}'`),()=>{this.off(e,t)}}off(e,t){const i=this.#u.get(e);i&&(i.delete(t),n.debug(`Event listener removed for '${String(e)}'`),0===i.size&&this.#u.delete(e))}emit(e,t){const i=this.#u.get(e);if(i&&0!==i.size){n.debug(`Emitting event '${String(e)}'`,{listenerCount:i.size});for(const r of i)try{r(t)}catch(t){n.error(`Error in event handler for '${String(e)}':`,t)}}}removeAllListeners(e){e?(this.#u.delete(e),n.debug(`All listeners removed for '${String(e)}'`)):(this.#u.clear(),n.debug("All event listeners removed"))}listenerCount(e){return this.#u.get(e)?.size??0}hasListeners(e){const t=this.#u.get(e);return void 0!==t&&t.size>0}}const a="entitlements",l="entitlements_timestamp";class c{#h;#g;#f;#m=null;#p=null;#b;constructor(e,t,n){this.#h=e,this.#g=t,this.#f=n,this.#b=new o,this.#v()}getEventEmitter(){return this.#b}setUserId(e){this.#f!==e&&(n.debug("EntitlementManager: User ID changed, clearing cache"),this.#f=e,this.#m=null,this.#v())}#v(){try{const e=`${this.#f}_${a}`,t=`${this.#f}_${l}`,i=this.#h.get(e),r=this.#h.get(t);i&&r&&(this.#m={entitlements:i,timestamp:r},n.debug("Loaded entitlements from storage",{count:i.length,age:Date.now()-r}))}catch(e){n.error("Failed to load entitlements from storage:",e)}}saveEntitlements(e){try{Array.isArray(e)||(n.warn("saveEntitlements called with non-array value, defaulting to empty array"),e=[]);const t=this.loadEntitlements(),i=Date.now(),r=`${this.#f}_${a}`,s=`${this.#f}_${l}`;this.#h.set(r,e),this.#h.set(s,i),this.#m={entitlements:e,timestamp:i},n.debug("Saved entitlements to storage",{count:e.length}),this.#y(t,e)}catch(e){n.error("Failed to save entitlements to storage:",e)}}#y(e,t){Array.isArray(e)||(e=[]),Array.isArray(t)||(t=[]);const n=new Map;for(const t of e){const e=`${String(t.type)}_${t.scope}`;n.set(e,t)}const i=new Map;for(const e of t){const t=`${String(e.type)}_${e.scope}`;i.set(t,e)}for(const[e,t]of i){const i=n.get(e);i&&JSON.stringify(i)===JSON.stringify(t)||this.#b.emit("entitlementChanged",{entitlementType:this.#x(t),scope:t.scope,isActive:this.#w(t),entitlement:t})}for(const[e,t]of n)i.has(e)||this.#b.emit("entitlementChanged",{entitlementType:this.#x(t),scope:t.scope,isActive:!1})}#x(e){const{scope:t,expiresAt:n,grantedAt:i,transactionId:r,...s}=e;return s}#w(e){return!e.expiresAt||new Date(e.expiresAt)>new Date}loadEntitlements(){return this.#m?.entitlements??[]}isCacheStale(){return!this.#m||Date.now()-this.#m.timestamp>3e5}getCacheAge(){return this.#m?Date.now()-this.#m.timestamp:null}clearCache(){this.#m=null,this.#b.removeAllListeners();const e=`${this.#f}_${a}`,t=`${this.#f}_${l}`;this.#h.remove(e),this.#h.remove(t),n.debug("Cleared entitlement cache")}isActive(e,t="all"){const n=this.loadEntitlements();for(const i of n){const n=this.#x(i);if(this.#E(n,e)&&("verified"!==t||"verified"===i.scope)){if(i.expiresAt&&new Date(i.expiresAt)<=new Date)continue;return!0}}return!1}#E(e,t){return JSON.stringify(e)===JSON.stringify(t)}getActiveEntitlements(e="all"){const t=this.loadEntitlements(),n=new Date;return t.filter(t=>("verified"!==e||"verified"===t.scope)&&!(t.expiresAt&&new Date(t.expiresAt)<=n))}async refreshEntitlements(){if(this.#p)return n.debug("Refresh already in progress, waiting..."),this.#p;this.#p=this.#I();try{await this.#p}finally{this.#p=null}}async#I(){try{n.debug("Refreshing entitlements from API");const e=await this.#g.fetchEntitlements(this.#f);if(!Array.isArray(e))return n.warn("Received non-array entitlements from API, defaulting to empty array"),void this.saveEntitlements([]);this.saveEntitlements(e),n.info("Entitlements refreshed successfully",{count:e.length})}catch(e){n.error("Failed to refresh entitlements, keeping cached version:",e)}}}const d="signal_queue";class u{#h;#g;#f;#C=[];#$=!1;#k;constructor(e,t,n){this.#h=e,this.#g=t,this.#f=n,this.#A(),this.#T(),this.processQueue()}setUserId(e){this.#f!==e&&(n.debug("SignalManager: User ID changed, clearing queue"),this.#f=e,this.#C=[],this.#A())}#A(){try{const e=`${this.#f}_${d}`,t=this.#h.get(e);t&&Array.isArray(t)&&(this.#C=t,n.debug("Loaded grant signal queue from storage",{count:t.length}))}catch(e){n.error("Failed to load grant signal queue from storage:",e)}}#N(){try{const e=`${this.#f}_${d}`;this.#h.set(e,this.#C),n.debug("Saved grant signal queue to storage",{count:this.#C.length})}catch(e){n.error("Failed to save grant signal queue to storage:",e)}}enqueue(e,t){const i=this.#C.some(n=>n.transactionId===e&&n.grantType===t);if(i)return void n.debug("Grant signal already in queue, skipping",{transactionId:e,grantType:t});const r={transactionId:e,grantType:t,timestamp:(new Date).toISOString(),attempts:0};this.#C.push(r),this.#N(),n.info("Grant signal added to queue",{transactionId:e,grantType:t})}dequeue(e){const t=this.#C.findIndex(t=>t.transactionId===e.transactionId&&t.grantType===e.grantType);-1!==t&&(this.#C.splice(t,1),this.#N(),n.debug("Grant signal removed from queue",{transactionId:e.transactionId,grantType:e.grantType}))}getQueue(){return[...this.#C]}clearQueue(){this.#C=[],this.#N(),n.debug("Grant signal queue cleared")}async sendGrantSignal(e,t){try{if(n.debug("Sending grant signal",{transactionId:e,grantType:t}),!await this.#g.sendGrantSignal(e,t))throw new Error("Grant signal failed (returned false)");n.info("Grant signal sent successfully",{transactionId:e,grantType:t})}catch{n.warn("Failed to send grant signal, adding to queue",{transactionId:e,grantType:t}),this.enqueue(e,t)}}async processQueue(){if(this.#$)n.debug("Queue processing already in progress, skipping");else if(0!==this.#C.length){this.#$=!0,n.info("Processing grant signal queue",{count:this.#C.length});try{for(const e of[...this.#C])await this.#S(e),this.#C.length>1&&await this.#R(100)}finally{this.#$=!1}}}async#S(e){if(e.attempts>=3)return n.error("Grant signal max attempts reached, removing from queue",{transactionId:e.transactionId,grantType:e.grantType,attempts:e.attempts}),void this.dequeue(e);if(e.lastAttemptAt){const t=new Date(e.lastAttemptAt).getTime(),i=Date.now(),r=1e3*Math.pow(2,e.attempts-1),s=i-t;if(s<r)return void n.debug("Skipping signal, waiting for backoff period",{transactionId:e.transactionId,remainingWait:r-s})}e.attempts++,e.lastAttemptAt=(new Date).toISOString(),this.#N();try{n.debug("Attempting to send queued grant signal",{transactionId:e.transactionId,grantType:e.grantType,attempt:e.attempts}),await this.#g.sendGrantSignal(e.transactionId,e.grantType)?(n.info("Queued grant signal sent successfully",{transactionId:e.transactionId,grantType:e.grantType}),this.dequeue(e)):n.warn("Grant signal failed, will retry",{transactionId:e.transactionId,attempt:e.attempts})}catch(t){n.warn("Failed to send queued grant signal, will retry",{transactionId:e.transactionId,attempt:e.attempts,error:t})}}#T(){this.#k=function(e){const t=()=>{n.debug("Network status: online"),e()};return window.addEventListener("online",t),()=>{window.removeEventListener("online",t)}}(()=>{n.debug("Network came online, processing grant signal queue"),this.processQueue()})}destroy(){this.#k&&(this.#k(),this.#k=void 0)}#R(e){return new Promise(t=>setTimeout(t,e))}}class h{#g;#f;#L=[];#D=null;#O=null;constructor(e,t){this.#g=e,this.#f=t}async fetchOffers(e,t=!0){if(t&&this.#L.length>0&&this.#O)return n.debug("Using cached offers",{count:this.#L.length}),{offers:[...this.#L],uiConfiguration:this.#D??void 0};try{n.debug("Fetching offers from API",{userId:this.#f});const t=await this.#g.fetchOffers(this.#f,e);return 0===t.offers?.length?(n.info("No offers available for user"),this.#L=[],this.#D=t.uiConfiguration??null,this.#O=Date.now(),{offers:[],uiConfiguration:t.uiConfiguration}):(this.#L=t.offers,this.#D=t.uiConfiguration??null,this.#O=Date.now(),n.info("Offers fetched successfully",{count:t.offers.length,offerIds:t.offers.map(e=>e.id)}),{offers:[...t.offers],uiConfiguration:t.uiConfiguration})}catch(e){throw n.error("Failed to fetch offers",e),e}}logImpression(e,t){try{const i=window.location.hostname;n.debug("Logging impression",{impressionId:e,campaignId:t.campaignId,creativeId:t.creativeId,appBundleId:i}),this.#g.logImpression(e,this.#f,t.campaignId,t.creativeId,i).then(t=>{t&&n.debug("Impression logged successfully",{impressionId:e})}).catch(t=>{n.error("Failed to log impression (non-blocking)",{impressionId:e,error:t})})}catch(t){n.error("Failed to log impression (non-blocking)",{impressionId:e,error:t})}}async startTransaction(e,t,i){try{n.debug("Starting transaction",{campaignId:e,creativeId:t,impressionId:i});const r=await this.#g.startTransaction(e,this.#f,t,i);return n.info("Transaction started",{transactionId:r,campaignId:e,creativeId:t}),r}catch(i){throw n.error("Failed to start transaction",{campaignId:e,creativeId:t,error:i}),i}}clearCache(){this.#L=[],this.#O=null,n.debug("Offer cache cleared")}setUserId(e){this.#f=e,this.clearCache(),n.debug("OfferManager user ID updated",{userId:e})}}class g{#g;#M;#U;#F=0;#q=1e3;#B=8e3;#K=null;#P=!1;constructor(e,t){this.#g=e,this.#M=t.transactionId,this.#U=t.timeout??3e4}async poll(){return this.#P?(n.warn("Verification polling already in progress",{transactionId:this.#M}),"pending"):(this.#P=!0,this.#F=Date.now(),n.debug("Starting verification polling",{transactionId:this.#M,timeout:this.#U}),this.#_())}stop(){this.#P=!1,null!==this.#K&&(clearTimeout(this.#K),this.#K=null),n.debug("Verification polling stopped",{transactionId:this.#M})}async#_(){for(;this.#P;){const e=Date.now()-this.#F;if(e>=this.#U)return n.warn("Verification polling timeout",{transactionId:this.#M,elapsed:e}),this.stop(),"pending";try{const e=await this.#g.checkVerificationStatus(this.#M);if(n.debug("Verification status checked",{transactionId:this.#M,status:e.status}),"verified"===e.status)return n.info("Transaction verified",{transactionId:this.#M,verifiedAt:e.verifiedAt}),this.stop(),"verified";if("failed"===e.status)return n.warn("Transaction failed verification",{transactionId:this.#M}),this.stop(),"failed";await this.#R(this.#q),this.#q=Math.min(2*this.#q,this.#B)}catch(e){n.error("Error checking verification status",{transactionId:this.#M,error:e}),await this.#R(this.#q)}}return"pending"}async#R(e){return new Promise(t=>{this.#K=window.setTimeout(()=>{this.#K=null,t()},e)})}}class f{#z=null;#G=null;#j=null;#H;constructor(e){this.#H=e}onGranted(e){return this.#z=e,this}onNotGranted(e){return this.#G=e,this}onLoadingStateChange(e){return this.#j=e,this}async show(){try{this.#j&&this.#j(!0),n.debug("PlacementBuilder: Executing presentation");const e=await this.#H();return this.#j&&this.#j(!1),e.granted&&e.entitlement&&this.#z?this.#z(e.entitlement):!e.granted&&this.#G&&e.reason&&this.#G(e.reason),e}catch(t){this.#j&&this.#j(!1),n.error("PlacementBuilder: Error during presentation",t);const i={type:"error",error:{code:e.UNKNOWN_ERROR,message:t instanceof Error?t.message:"Unknown error"}};return this.#G&&this.#G(i),{granted:!1,reason:i}}}}function m(e,t){let n=e;for(const[e,i]of Object.entries(t))n=n.replace(`:${e}`,encodeURIComponent(i));return n}class p{#V;#Q;#W;constructor(e,t){this.#V=e,this.#Q=t,this.#W=new Map}setApiKey(e){this.#V=e}setBaseURL(e){this.#Q=e}async get(e,t){return this.#J({url:`${this.#Q}${e}`,options:{method:"GET",...t},apiKey:this.#V})}async post(e,t,n){return this.#J({url:`${this.#Q}${e}`,options:{method:"POST",body:t,...n},apiKey:this.#V})}async#J(e){const{url:t,options:i,apiKey:r}=e,s=this.#Y(t,i),o=this.#W.get(s);if(o)return n.debug("Deduplicating request:",t),o;const a=this.#Z(t,i,r);this.#W.set(s,a);try{return await a}finally{this.#W.delete(s)}}async#Z(e,t,i){const r=t.retries??3;let s=null;for(let o=0;o<=r;o++)try{if(o>0){const e=1e3*Math.pow(2,o-1);n.debug(`Retrying request (attempt ${o}/${r}) after ${e}ms`),await this.#R(e)}return await this.#X(e,t,i)}catch(e){if(s=e,this.#ee(e))throw e;if(o===r)throw n.error(`Request failed after ${r} retries:`,e),e;n.warn("Request failed, will retry:",e)}throw s??new Error("Request failed")}async#X(e,t,i){const r=t.timeout??3e4,s=new AbortController,o=setTimeout(()=>s.abort(),r);try{const r={"X-API-Key":i,"Content-Type":"application/json","User-Agent":"Encore-Web-SDK/0.0.5",...t.headers},o={method:t.method,headers:r,signal:s.signal};t.body&&(o.body=JSON.stringify(t.body)),n.debug(`${t.method} ${e}`);const a=await fetch(e,o);return a.ok||await this.#te(a),await a.json()}catch(e){if(e instanceof Error){if("AbortError"===e.name)throw new Error("Request timeout");if(this.#ne(e))throw new Error(`Network error: ${e.message}`)}if(e instanceof Error)throw e;throw new Error(String(e))}finally{clearTimeout(o)}}async#te(t){let n,i=`HTTP ${t.status}: ${t.statusText}`;try{const e=await t.json();if("object"==typeof e&&null!==e&&"error"in e&&"object"==typeof e.error&&null!==e.error){const t=e.error;i=("string"==typeof t.message?t.message:void 0)??i,n="string"==typeof t.code?t.code:void 0}}catch{}const r=n?{code:n,message:i}:{code:e.API_ERROR,statusCode:t.status,message:i},s=new Error(i);throw Object.assign(s,r),s}#ee(e){if("object"==typeof e&&null!==e&&"statusCode"in e&&void 0!==e.statusCode){const t=e.statusCode;return t>=400&&t<500}return!1}#ne(e){return e.message.includes("fetch")||e.message.includes("network")||e.message.includes("ECONNREFUSED")||e.message.includes("ETIMEDOUT")}#Y(e,t){const n=t.body?JSON.stringify(t.body):"";return`${t.method}:${e}:${n}`}#R(e){return new Promise(t=>setTimeout(t,e))}async fetchOffers(e,t){try{const n=await this.post("/offers/show",{userId:e,attributes:t}),i=[];for(const e of n.offers){const t=e.campaign;for(const e of t.creatives){const n={id:e.id,title:e.title,description:e.quickInstructions||e.subtitle||e.description||"",imageUrl:e.primaryImageUrl,ctaText:e.ctaText,advertiserUrl:e.destinationUrl,campaignId:t.id,creativeId:e.id,entitlement:{type:"credit",value:100,unit:"dollars"},...t.merchantName&&{merchantName:t.merchantName},...e.logoUrl&&{logoUrl:e.logoUrl},...e.instructions&&{instructions:e.instructions},...e.quickInstructions&&{quickInstructions:e.quickInstructions},...e.trackingParameters&&{trackingParameters:e.trackingParameters}};i.push(n)}}return{offers:i,uiConfiguration:n.uiConfiguration}}catch(e){throw n.error("Failed to fetch offers:",e),e}}async startTransaction(e,t,i,r){try{return(await this.post("/transactions/start",{campaignId:e,userId:t,creativeId:i,...r&&{impressionId:r}})).transactionId}catch(e){throw n.error("Failed to start transaction:",e),e}}async sendGrantSignal(e,t){try{const n=function(e){return m("/transactions/:id/grant",{id:e})}(e);return(await this.post(n,{transactionId:e,grantType:t,timestamp:(new Date).toISOString()})).success}catch(e){throw n.error("Failed to send grant signal:",e),e}}#ie(e){switch(e.replace(/_([a-z])/g,(e,t)=>t.toUpperCase())){case"freeTrial":return{type:"freeTrial"};case"discount":return{type:"discount"};case"credit":return{type:"credit"};default:return n.warn(`Unknown entitlement type: ${e}, treating as freeTrial`),{type:"freeTrial"}}}async fetchEntitlements(e){try{const t=await this.get(`/entitlements?userId=${encodeURIComponent(e)}`),i=[];if(t.provisional)for(const[e,n]of Object.entries(t.provisional)){const t=this.#ie(e);i.push({...t,transactionId:"",scope:"provisional",grantedAt:n.started_at,expiresAt:n.expires_at})}if(t.verified)for(const[e,n]of Object.entries(t.verified)){const t=this.#ie(e);i.push({...t,transactionId:"",scope:"verified",grantedAt:n.started_at,expiresAt:n.expires_at})}return n.debug("Transformed entitlements response",{provisionalCount:Object.keys(t.provisional||{}).length,verifiedCount:Object.keys(t.verified||{}).length,totalCount:i.length}),i}catch(e){throw n.error("Failed to fetch entitlements:",e),e}}async checkVerificationStatus(e){try{const t=function(e){return m("/verification/status/:id",{id:e})}(e);return await this.get(t)}catch(e){throw n.error("Failed to check verification status:",e),e}}async logImpression(e,t,i,r,s){try{return(await this.post("/impressions/log",{impressionId:e,userId:t,campaignId:i,creativeId:r,appBundleId:s})).success}catch(e){return n.warn("Failed to log impression (non-blocking):",e),!1}}}const b="encore-sdk-styles",v="encore-";function y(e={}){if(document.getElementById(b))n.debug("Encore styles already injected");else try{const t=document.createElement("style");t.id=b,t.textContent=function(e={}){const t=function(e){const t=[];return e.primaryColor&&t.push(`--encore-primary-color: ${e.primaryColor};`),e.backgroundColor&&t.push(`--encore-bg-color: ${e.backgroundColor};`),e.textColor&&t.push(`--encore-text-color: ${e.textColor};`),e.borderRadius&&t.push(`--encore-border-radius: ${e.borderRadius};`),e.fontFamily&&t.push(`--encore-font-family: ${e.fontFamily};`),t.join("\n ")}(e);return`\n /* CSS Custom Properties (Theme Variables) */\n :root {\n ${t||"/* No custom theme variables */"}\n --encore-primary-color: ${e.primaryColor??"#4F46E5"};\n --encore-bg-color: ${e.backgroundColor??"#ffffff"};\n --encore-text-color: ${e.textColor??"#1F2937"};\n --encore-border-radius: ${e.borderRadius??"12px"};\n --encore-font-family: ${e.fontFamily??'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif'};\n }\n\n /* Backdrop */\n .${v}backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(0, 0, 0, 0.55);\n backdrop-filter: blur(2px);\n z-index: 9998;\n opacity: 0;\n transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n .${v}backdrop.${v}visible {\n opacity: 1;\n }\n\n /* Modal Container */\n .${v}modal {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 9999;\n background-color: var(--encore-bg-color);\n border-radius: 20px;\n box-shadow: 0 24px 48px -12px rgba(0, 0, 0, 0.18), 0 12px 24px -8px rgba(0, 0, 0, 0.08);\n max-width: 800px;\n max-height: 90vh;\n width: calc(100% - 32px);\n overflow-x: hidden;\n overflow-y: auto;\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.96);\n transition: opacity 250ms cubic-bezier(0.4, 0, 0.2, 1), transform 250ms cubic-bezier(0.4, 0, 0.2, 1);\n font-family: var(--encore-font-family);\n color: var(--encore-text-color);\n }\n\n .${v}modal.${v}visible {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n\n /* Close Button */\n .${v}close-button {\n position: absolute;\n top: 20px;\n right: 20px;\n width: 40px;\n height: 40px;\n border: none;\n background-color: rgba(255, 255, 255, 0.9);\n cursor: pointer;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #9CA3AF;\n transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);\n padding: 0;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n z-index: 10;\n }\n\n .${v}close-button:hover {\n background-color: #FFFFFF;\n color: #6B7280;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);\n transform: scale(1.05);\n }\n\n .${v}close-button:active {\n transform: scale(0.98);\n }\n\n .${v}close-button:focus {\n outline: 2px solid var(--encore-primary-color);\n outline-offset: 2px;\n }\n\n .${v}close-button svg {\n width: 18px;\n height: 18px;\n }\n\n /* Body scroll lock */\n body.${v}no-scroll {\n overflow: hidden;\n }\n\n /* Modal Header */\n .${v}modal-header {\n padding: 24px 24px 16px;\n border-bottom: 1px solid #E5E7EB;\n }\n\n .${v}modal-title {\n margin: 0;\n font-size: 24px;\n font-weight: 700;\n line-height: 1.25;\n color: var(--encore-text-color);\n }\n\n .${v}modal-subtitle {\n margin: 8px 0 0;\n font-size: 14px;\n color: #6B7280;\n line-height: 1.5;\n }\n\n /* Modal Body */\n .${v}modal-body {\n padding: 0;\n position: relative;\n isolation: isolate;\n }\n\n /* Carousel Container */\n .${v}carousel {\n display: flex;\n flex-direction: column;\n overflow: visible;\n }\n\n /* Carousel Header */\n .${v}carousel-header {\n padding: 36px 36px 28px;\n text-align: center;\n border-bottom: 1px solid #E5E7EB;\n }\n\n .${v}carousel-title {\n font-size: 30px;\n font-weight: 600;\n line-height: 1.15;\n color: #111827;\n margin: 0 0 14px 0;\n letter-spacing: -0.02em;\n }\n\n .${v}carousel-subtitle {\n font-size: 16px;\n line-height: 1.5;\n color: #4B5563;\n margin: 0;\n font-weight: 400;\n }\n\n /* Carousel Cards Container - Horizontal Scroll */\n .${v}carousel-cards {\n display: flex;\n flex-direction: row;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scroll-snap-type: x mandatory;\n -webkit-overflow-scrolling: touch;\n scrollbar-width: none;\n -ms-overflow-style: none;\n gap: 20px;\n padding: 20px 80px;\n position: relative;\n }\n\n .${v}carousel-cards::-webkit-scrollbar {\n display: none;\n }\n\n /* Carousel Item Wrapper */\n .${v}carousel-item {\n flex: 0 0 calc(100% - 40px);\n max-width: 640px;\n scroll-snap-align: center;\n scroll-snap-stop: always;\n opacity: 0.4;\n transition: all 400ms cubic-bezier(0.4, 0, 0.2, 1);\n filter: blur(1px);\n pointer-events: auto;\n }\n\n /* Active carousel item */\n .${v}carousel-item.${v}active {\n opacity: 1;\n filter: blur(0);\n z-index: 1;\n }\n\n /* Offer Card */\n .${v}offer-card {\n display: flex;\n flex-direction: column;\n background: white;\n border-radius: 12px;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);\n height: 100%;\n }\n\n /* Offer Banner */\n .${v}offer-banner {\n width: 100%;\n background-color: transparent;\n position: relative;\n padding: 20px 20px 0;\n }\n\n .${v}offer-banner-image {\n width: 100%;\n height: auto;\n display: block;\n border-radius: 16px;\n object-fit: contain;\n background-color: #F9FAFB;\n opacity: 0;\n transition: opacity 200ms ease-out;\n }\n\n .${v}offer-banner-image.${v}loaded {\n opacity: 1;\n }\n\n /* Info button on banner */\n .${v}banner-info-button {\n position: absolute;\n top: 32px;\n right: 32px;\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background-color: rgba(255, 255, 255, 0.95);\n border: none;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n transition: all 150ms ease;\n }\n\n .${v}banner-info-button:hover {\n background-color: #FFFFFF;\n transform: scale(1.05);\n }\n\n .${v}banner-info-button svg {\n width: 16px;\n height: 16px;\n color: #6B7280;\n }\n\n /* Offer Details */\n .${v}offer-details {\n padding: 28px 36px;\n }\n\n .${v}offer-details-heading {\n font-size: 13px;\n font-weight: 600;\n color: #9CA3AF;\n margin: 0 0 18px 0;\n text-transform: uppercase;\n letter-spacing: 0.8px;\n }\n\n .${v}offer-details-list {\n list-style: disc;\n margin: 0;\n padding: 0 0 0 22px;\n }\n\n .${v}offer-details-list li {\n font-size: 15px;\n line-height: 1.6;\n color: #1F2937;\n margin-bottom: 10px;\n padding-left: 4px;\n }\n\n .${v}offer-details-list li:last-child {\n margin-bottom: 0;\n }\n\n .${v}offer-details-list li::marker {\n color: #D1D5DB;\n font-size: 0.8em;\n }\n\n /* Offer Footer */\n .${v}offer-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 24px 36px 30px;\n border-top: 1px solid #E5E7EB;\n gap: 16px;\n }\n\n /* Offer Merchant */\n .${v}offer-merchant {\n display: flex;\n align-items: center;\n gap: 14px;\n flex: 1;\n min-width: 0;\n }\n\n .${v}offer-logo {\n width: 52px;\n height: 52px;\n border-radius: 10px;\n object-fit: contain;\n background-color: #F3F4F6;\n padding: 6px;\n flex-shrink: 0;\n opacity: 0;\n transition: opacity 200ms ease-out;\n }\n\n .${v}offer-logo.${v}loaded {\n opacity: 1;\n }\n\n .${v}offer-merchant-text {\n display: flex;\n flex-direction: column;\n gap: 4px;\n flex: 1;\n min-width: 0;\n }\n\n .${v}offer-merchant-name {\n font-size: 16px;\n font-weight: 600;\n color: var(--encore-text-color);\n line-height: 1.2;\n }\n\n .${v}offer-merchant-desc {\n font-size: 14px;\n color: #6B7280;\n line-height: 1.4;\n }\n\n /* Claim Button */\n .${v}button-claim {\n padding: 14px 36px;\n font-size: 15px;\n font-weight: 600;\n border-radius: 28px;\n border: none;\n background: linear-gradient(135deg, #5B68EF 0%, #6B7CF9 100%);\n color: white;\n cursor: pointer;\n transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);\n font-family: var(--encore-font-family);\n white-space: nowrap;\n box-shadow: 0 2px 8px rgba(91, 104, 239, 0.25);\n }\n\n .${v}button-claim:hover:not(:disabled) {\n transform: translateY(-2px);\n box-shadow: 0 6px 16px rgba(91, 104, 239, 0.35);\n background: linear-gradient(135deg, #6B7CF9 0%, #7B8CFF 100%);\n }\n\n .${v}button-claim:active {\n transform: translateY(0);\n box-shadow: 0 2px 8px rgba(91, 104, 239, 0.25);\n }\n\n .${v}button-claim:focus {\n outline: 2px solid #5B68EF;\n outline-offset: 2px;\n }\n\n .${v}button-claim:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n transform: none;\n }\n\n /* Carousel Navigation */\n .${v}carousel-navigation {\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 20px;\n padding: 28px 32px 32px;\n border-top: 1px solid #E5E7EB;\n }\n\n .${v}nav-button {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n border: 2px solid #E5E7EB;\n background-color: white;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: #6B7280;\n transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);\n padding: 0;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n }\n\n .${v}nav-button:hover:not(:disabled) {\n background-color: #F9FAFB;\n border-color: #D1D5DB;\n color: #374151;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);\n transform: scale(1.05);\n }\n\n .${v}nav-button:active:not(:disabled) {\n transform: scale(0.98);\n }\n\n .${v}nav-button:focus {\n outline: 2px solid #5B68EF;\n outline-offset: 2px;\n }\n\n .${v}nav-button svg {\n width: 20px;\n height: 20px;\n stroke-width: 2.5;\n }\n\n .${v}nav-button:disabled,\n .${v}nav-button.${v}disabled {\n opacity: 0.25;\n cursor: not-allowed;\n border-color: #E5E7EB;\n color: #D1D5DB;\n }\n\n .${v}nav-button:disabled:hover,\n .${v}nav-button.${v}disabled:hover {\n background-color: white;\n border-color: #E5E7EB;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n transform: none;\n }\n\n /* Loading State */\n .${v}loading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 48px;\n }\n\n .${v}spinner {\n width: 40px;\n height: 40px;\n border: 3px solid #E5E7EB;\n border-top-color: var(--encore-primary-color);\n border-radius: 50%;\n animation: ${v}spin 0.8s linear infinite;\n }\n\n @keyframes ${v}spin {\n to { transform: rotate(360deg); }\n }\n\n /* Responsive: Mobile (0-767px) */\n @media (max-width: 767px) {\n .${v}modal {\n width: calc(100% - 24px);\n max-width: 100%;\n margin: 12px;\n }\n\n .${v}carousel-header {\n padding: 24px 20px 20px;\n }\n\n .${v}carousel-title {\n font-size: 22px;\n }\n\n .${v}carousel-subtitle {\n font-size: 14px;\n }\n\n .${v}carousel-cards {\n padding: 20px 40px;\n }\n\n .${v}carousel-item {\n flex: 0 0 calc(100% - 80px);\n }\n\n .${v}offer-banner {\n padding: 16px 16px 0;\n }\n\n .${v}offer-details {\n padding: 20px 20px;\n }\n\n .${v}offer-footer {\n padding: 16px 20px 24px;\n flex-wrap: wrap;\n gap: 12px;\n }\n\n .${v}offer-merchant {\n flex: 1 1 100%;\n }\n\n .${v}button-claim {\n flex: 1 1 100%;\n }\n\n .${v}carousel-navigation {\n padding: 20px 20px 24px;\n }\n }\n\n /* Responsive: Tablet (768-1023px) */\n @media (min-width: 768px) and (max-width: 1023px) {\n .${v}modal {\n max-width: 600px;\n }\n }\n\n /* Responsive: Desktop (1024px+) */\n @media (min-width: 1024px) {\n .${v}modal {\n max-width: 600px;\n }\n }\n\n /* Accessibility: High Contrast Mode */\n @media (prefers-contrast: high) {\n .${v}button {\n border: 2px solid currentColor;\n }\n }\n\n /* Accessibility: Reduced Motion */\n @media (prefers-reduced-motion: reduce) {\n .${v}backdrop,\n .${v}modal,\n .${v}button,\n .${v}close-button {\n transition: none;\n }\n\n .${v}spinner {\n animation: none;\n }\n }\n\n /* Focus Visible (for keyboard navigation) */\n .${v}button:focus-visible,\n .${v}close-button:focus-visible {\n outline: 2px solid var(--encore-primary-color);\n outline-offset: 2px;\n }\n\n /* ===== Success Screen ===== */\n .${v}success-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 3rem 2rem;\n text-align: center;\n min-height: 400px;\n animation: ${v}fade-in 0.3s ease-out;\n }\n\n .${v}success-icon {\n width: 80px;\n height: 80px;\n background: linear-gradient(135deg, var(--encore-primary-color), #10b981);\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 48px;\n color: white;\n margin-bottom: 1.5rem;\n animation: ${v}scale-in 0.5s ease-out;\n }\n\n .${v}success-title {\n font-size: 1.75rem;\n font-weight: 700;\n color: var(--encore-text-color);\n margin: 0 0 0.75rem 0;\n }\n\n .${v}success-subtitle {\n font-size: 1.125rem;\n color: var(--encore-text-muted);\n margin: 0 0 2rem 0;\n line-height: 1.6;\n }\n\n .${v}success-details {\n background: rgba(79, 70, 229, 0.05);\n border-radius: 12px;\n padding: 1.5rem;\n margin-bottom: 2rem;\n min-width: 280px;\n }\n\n .${v}success-detail {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0.5rem 0;\n }\n\n .${v}success-detail:not(:last-child) {\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n }\n\n .${v}success-detail-label {\n font-size: 0.875rem;\n color: var(--encore-text-muted);\n font-weight: 500;\n }\n\n .${v}success-detail-value {\n font-size: 1rem;\n color: var(--encore-text-color);\n font-weight: 600;\n }\n\n .${v}success-button {\n background: linear-gradient(135deg, var(--encore-primary-color), #10b981);\n color: white;\n border: none;\n border-radius: var(--encore-border-radius);\n padding: 0.875rem 2.5rem;\n font-size: 1rem;\n font-weight: 600;\n cursor: pointer;\n transition: all 0.2s ease;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n }\n\n .${v}success-button:hover {\n transform: translateY(-2px);\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);\n }\n\n .${v}success-button:active {\n transform: translateY(0);\n }\n\n .${v}success-button:focus-visible {\n outline: 2px solid var(--encore-primary-color);\n outline-offset: 2px;\n }\n\n @keyframes ${v}scale-in {\n from {\n transform: scale(0);\n opacity: 0;\n }\n to {\n transform: scale(1);\n opacity: 1;\n }\n }\n `}(e),document.head.appendChild(t),n.debug("Encore styles injected successfully")}catch(e){n.error("Failed to inject Encore styles:",e)}}function x(e){return`${v}${e}`}class w{#b;#re=null;#se=null;#oe=null;#ae=null;#le=!1;#ce=null;#de=[];#ue=null;constructor(e={}){this.#b=new o,y(e)}show(){this.#le?n.warn("Modal is already visible"):(this.#ce=document.activeElement,this.#he(),this.#re&&document.body.appendChild(this.#re),this.#se&&document.body.appendChild(this.#se),document.body.classList.add(x("no-scroll")),requestAnimationFrame(()=>{this.#re?.classList.add(x("visible")),this.#se?.classList.add(x("visible"))}),this.#ge(),this.#fe(),this.#me(),this.#le=!0,this.#b.emit("show",void 0),n.debug("Modal shown"))}hide(){this.#le&&(this.#re?.classList.remove(x("visible")),this.#se?.classList.remove(x("visible")),setTimeout(()=>{this.#pe(),document.body.classList.remove(x("no-scroll")),this.#ce instanceof HTMLElement&&this.#ce.focus(),this.#le=!1,this.#b.emit("hide",void 0),n.debug("Modal hidden")},200))}isVisible(){return this.#le}setContent(e){this.#ae?(this.#ae.innerHTML="",this.#ae.appendChild(e),this.#fe()):n.error("Modal body not initialized")}on(e,t){return this.#b.on(e,t)}#he(){this.#re=document.createElement("div"),this.#re.className=x("backdrop"),this.#re.setAttribute("aria-hidden","true"),this.#se=document.createElement("div"),this.#se.className=x("modal"),this.#se.setAttribute("role","dialog"),this.#se.setAttribute("aria-modal","true"),this.#se.setAttribute("aria-labelledby",x("modal-title")),this.#oe=document.createElement("button"),this.#oe.className=x("close-button"),this.#oe.setAttribute("aria-label","Close modal"),this.#oe.innerHTML='\n <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">\n <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />\n </svg>\n ',this.#ae=document.createElement("div"),this.#ae.className=x("modal-body"),this.#se.appendChild(this.#oe),this.#se.appendChild(this.#ae)}#pe(){this.#re?.remove(),this.#se?.remove(),this.#re=null,this.#se=null,this.#oe=null,this.#ae=null}#ge(){this.#oe?.addEventListener("click",()=>{this.#b.emit("close",void 0),this.hide()}),this.#re?.addEventListener("click",()=>{this.#b.emit("backdropClick",void 0),this.hide()}),this.#ue=this.#be.bind(this),document.addEventListener("keydown",this.#ue)}#be(e){if(this.#le)switch(e.key){case"Escape":e.preventDefault(),this.#b.emit("close",void 0),this.hide();break;case"Tab":e.preventDefault(),this.#ve(e.shiftKey)}}#ve(e){if(0===this.#de.length)return;const t=this.#de.findIndex(e=>e===document.activeElement);let n;n=e?t<=0?this.#de.length-1:t-1:t>=this.#de.length-1?0:t+1,this.#de[n]?.focus()}#fe(){if(!this.#se)return;const e=["button:not([disabled])","a[href]","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");this.#de=Array.from(this.#se.querySelectorAll(e))}#me(){this.#de.length>0&&this.#de[0]?.focus()}destroy(){this.#ue&&document.removeEventListener("keydown",this.#ue),this.#b.removeAllListeners(),this.hide()}}class E{#b;#ye=null;#xe=null;constructor(){this.#b=new o}render(e){this.#ye=e,this.#xe=document.createElement("div"),this.#xe.className=x("offer-card");const t=this.#we(e.imageUrl,e.title);this.#xe.appendChild(t);const n=this.#Ee(e);this.#xe.appendChild(n);const i=this.#Ie(e);return this.#xe.appendChild(i),this.#xe}on(e,t){return this.#b.on(e,t)}#we(e,t){const i=document.createElement("div");i.className=x("offer-banner");const r=document.createElement("img");return r.className=x("offer-banner-image"),r.alt=t??"Offer image",e?(r.src=e,r.complete?r.classList.add(x("loaded")):r.onload=()=>{r.classList.add(x("loaded"))},r.onerror=()=>{n.warn("Failed to load offer image, using fallback"),r.src=this.#Ce(),r.classList.add(x("loaded"))}):(r.src=this.#Ce(),r.classList.add(x("loaded"))),i.appendChild(r),i}#Ce(){return`data:image/svg+xml;base64,${btoa('\n <svg xmlns="http://www.w3.org/2000/svg" width="600" height="240" viewBox="0 0 600 240">\n <rect width="600" height="240" fill="#E5E7EB"/>\n <text x="50%" y="50%" text-anchor="middle" dy=".3em" fill="#9CA3AF" font-family="sans-serif" font-size="18">\n Offer Image\n </text>\n </svg>\n ')}`}#Ee(e){const t=document.createElement("div");t.className=x("offer-details");const n=document.createElement("h3");n.className=x("offer-details-heading"),n.textContent="Offer details";const i=document.createElement("ul");if(i.className=x("offer-details-list"),e.instructions&&e.instructions.length>0)e.instructions.forEach(e=>{const t=document.createElement("li");t.textContent=e.subtitle||e.title,i.appendChild(t)});else if(e.description){const t=document.createElement("li");t.textContent=e.description,i.appendChild(t)}return t.appendChild(n),t.appendChild(i),t}#Ie(e){const t=document.createElement("div");t.className=x("offer-footer");const i=document.createElement("div");if(i.className=x("offer-merchant"),e.logoUrl){const t=document.createElement("img");t.className=x("offer-logo"),t.src=e.logoUrl,t.alt=`${e.merchantName??"Merchant"} logo`,t.complete?t.classList.add(x("loaded")):t.onload=()=>{t.classList.add(x("loaded"))},t.onerror=()=>{n.warn("Failed to load merchant logo",{merchantName:e.merchantName}),t.style.display="none"},i.appendChild(t)}const r=document.createElement("div");if(r.className=x("offer-merchant-text"),e.merchantName){const t=document.createElement("div");t.className=x("offer-merchant-name"),t.textContent=e.merchantName,r.appendChild(t)}if(e.quickInstructions){const t=document.createElement("div");t.className=x("offer-merchant-desc"),t.textContent=e.quickInstructions,r.appendChild(t)}i.appendChild(r);const s=document.createElement("button");return s.className=`${x("button")} ${x("button-claim")}`,s.textContent=e.ctaText??"Claim",s.setAttribute("aria-label",`Claim offer: ${e.title??"offer"}`),s.addEventListener("click",()=>{this.#ye&&this.#b.emit("claim",{offer:this.#ye})}),t.appendChild(i),t.appendChild(s),t}destroy(){this.#b.removeAllListeners(),this.#xe=null,this.#ye=null}}class I{#b;#$e;#ke=0;#xe=null;#Ae=null;#Te=null;#Ne=[];#Se=null;#Re=null;constructor(e){if(this.#b=new o,this.#$e=e,0===e.length)throw new Error("OfferCarousel requires at least one offer");this.#Le()}render(){this.#xe=document.createElement("div"),this.#xe.className=x("carousel"),this.#Se=document.createElement("div"),this.#Se.setAttribute("role","status"),this.#Se.setAttribute("aria-live","polite"),this.#Se.setAttribute("aria-atomic","true"),this.#Se.className="sr-only",this.#Se.style.position="absolute",this.#Se.style.width="1px",this.#Se.style.height="1px",this.#Se.style.padding="0",this.#Se.style.margin="-1px",this.#Se.style.overflow="hidden",this.#Se.style.clip="rect(0, 0, 0, 0)",this.#Se.style.whiteSpace="nowrap",this.#Se.style.border="0";const e=this.#De();if(this.#xe.appendChild(e),this.#Ae=document.createElement("div"),this.#Ae.className=x("carousel-cards"),this.#xe.appendChild(this.#Se),this.#xe.appendChild(this.#Ae),this.#$e.length>1){const e=this.#Oe();this.#xe.appendChild(e)}return this.#Me(),this.#Ue(),this.#Fe(0,!1),this.#xe}on(e,t){return this.#b.on(e,t)}getCurrentIndex(){return this.#ke}getTotalOffers(){return this.#$e.length}next(){this.#ke<this.#$e.length-1&&(this.#ke++,this.#Fe(this.#ke),this.#qe(),this.#Be(`Showing offer ${this.#ke+1} of ${this.#$e.length}`),n.debug(`Navigated to offer ${this.#ke+1}`))}previous(){this.#ke>0&&(this.#ke--,this.#Fe(this.#ke),this.#qe(),this.#Be(`Showing offer ${this.#ke+1} of ${this.#$e.length}`),n.debug(`Navigated to offer ${this.#ke+1}`))}#Me(){if(!this.#Ae)return;const e=this.#Ae;this.#$e.forEach((t,n)=>{const i=new E,r=i.render(t),s=document.createElement("div");s.className=x("carousel-item"),s.setAttribute("data-index",n.toString()),s.appendChild(r),i.on("claim",()=>{this.#b.emit("offerClaim",{offer:t,index:n})}),this.#Ne.push(i),e.appendChild(s)}),requestAnimationFrame(()=>{e.classList.add(x("cards-ready"))})}#Fe(e,t=!0){if(!this.#Ae)return;const n=this.#Ae.querySelectorAll(`.${x("carousel-item")}`),i=n[e];if(i){i.scrollIntoView({behavior:t?"smooth":"auto",block:"nearest",inline:"center"}),n.forEach((t,n)=>{n===e?t.classList.add(x("active")):t.classList.remove(x("active"))});const r=this.#$e[e];r&&this.#b.emit("offerView",{offer:r,index:e})}}#De(){const e=document.createElement("div");e.className=x("carousel-header");const t=document.createElement("h2");t.className=x("carousel-title"),t.id=x("modal-title"),t.textContent="Unlock 10 free articles – choose an offer below";const n=document.createElement("p");return n.className=x("carousel-subtitle"),n.textContent="Activate one of these partner offers and get 10 free articles. No credit card required.",e.appendChild(t),e.appendChild(n),e}#Oe(){const e=document.createElement("div");e.className=x("carousel-navigation");const t=document.createElement("button");t.className=x("nav-button"),t.setAttribute("aria-label","Previous offer"),t.innerHTML='\n <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">\n <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7" />\n </svg>\n ',t.addEventListener("click",()=>this.previous());const n=document.createElement("button");return n.className=x("nav-button"),n.setAttribute("aria-label","Next offer"),n.innerHTML='\n <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">\n <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" />\n </svg>\n ',n.addEventListener("click",()=>this.next()),e.appendChild(t),e.appendChild(n),this.#Te=e,this.#qe(t,n),e}#qe(e,t){if(!this.#Te)return;const n=this.#Te.querySelectorAll(`.${x("nav-button")}`),i=e??n[0],r=t??n[1];i&&(i.disabled=0===this.#ke,i.classList.toggle(x("disabled"),0===this.#ke)),r&&(r.disabled=this.#ke===this.#$e.length-1,r.classList.toggle(x("disabled"),this.#ke===this.#$e.length-1))}#Ue(){this.#Re=this.#Ke.bind(this),document.addEventListener("keydown",this.#Re)}#Ke(e){if(this.#xe)switch(e.key){case"ArrowLeft":e.preventDefault(),this.previous();break;case"ArrowRight":e.preventDefault(),this.next()}}#Be(e){this.#Se&&(this.#Se.textContent=e)}#Le(){this.#$e.forEach(e=>{e.imageUrl&&((new Image).src=e.imageUrl,n.debug("Preloading offer image",{offerId:e.id,url:e.imageUrl})),e.logoUrl&&((new Image).src=e.logoUrl,n.debug("Preloading merchant logo",{offerId:e.id,url:e.logoUrl}))})}destroy(){this.#Re&&document.removeEventListener("keydown",this.#Re),this.#Ne.forEach(e=>e.destroy()),this.#Ne=[],this.#b.removeAllListeners(),this.#xe=null,this.#Ae=null,this.#Te=null,this.#Se=null}}const C=e=>`encore-success-${e}`;class ${#xe=null;#b;#t;#Pe=null;constructor(e){this.#t=e,this.#b=new o}render(){this.#xe=document.createElement("div"),this.#xe.className=C("container");const e=document.createElement("div");e.className=C("icon"),e.innerHTML="✓";const t=document.createElement("h2");t.className=C("title"),t.textContent=this.#t.titleText??"Success!";const i=document.createElement("p");i.className=C("subtitle"),i.textContent=this.#t.subtitleText??this.#_e(this.#t.entitlement);const r=document.createElement("div");r.className=C("details"),r.innerHTML=this.#ze(this.#t.entitlement);const s=document.createElement("button");return s.className=C("button"),s.textContent=this.#t.buttonText??"Continue",s.setAttribute("type","button"),s.addEventListener("click",()=>this.#Ge()),this.#xe.appendChild(e),this.#xe.appendChild(t),this.#xe.appendChild(i),this.#xe.appendChild(r),this.#xe.appendChild(s),this.#t.autoDismissMs&&this.#t.autoDismissMs>0&&this.#je(this.#t.autoDismissMs),n.debug("Success screen rendered"),this.#xe}on(e,t){return this.#b.on(e,t)}destroy(){null!==this.#Pe&&(clearTimeout(this.#Pe),this.#Pe=null),this.#xe&&(this.#xe.remove(),this.#xe=null),this.#b.removeAllListeners(),n.debug("Success screen destroyed")}#Ge(){n.debug("User clicked continue on success screen"),this.#b.emit("continue",void 0)}#je(e){this.#Pe=window.setTimeout(()=>{n.debug("Success screen auto-dismissing"),this.#b.emit("continue",void 0)},e)}#_e(e){switch(e.type){case"freeTrial":return`You've unlocked a ${e.value??""} ${e.unit??"day"} free trial!`;case"discount":return`You've received a ${e.value??""}${"percent"===e.unit?"%":""} discount!`;case"credit":return`You've earned $${e.value??"0"} in credits!`;default:return"You've unlocked a special offer!"}}#ze(e){const t=[];if("freeTrial"===e.type)t.push(`<div class="${C("detail")}">\n <span class="${C("detail-label")}">Type:</span>\n <span class="${C("detail-value")}">Free Trial</span>\n </div>`),e.value&&e.unit&&t.push(`<div class="${C("detail")}">\n <span class="${C("detail-label")}">Duration:</span>\n <span class="${C("detail-value")}">${e.value} ${e.unit}</span>\n </div>`);else if("discount"===e.type){if(t.push(`<div class="${C("detail")}">\n <span class="${C("detail-label")}">Type:</span>\n <span class="${C("detail-value")}">Discount</span>\n </div>`),e.value&&e.unit){const n="percent"===e.unit?`${e.value}%`:`$${e.value}`;t.push(`<div class="${C("detail")}">\n <span class="${C("detail-label")}">Amount:</span>\n <span class="${C("detail-value")}">${n}</span>\n </div>`)}}else"credit"===e.type&&(t.push(`<div class="${C("detail")}">\n <span class="${C("detail-label")}">Type:</span>\n <span class="${C("detail-value")}">Credit</span>\n </div>`),e.value&&t.push(`<div class="${C("detail")}">\n <span class="${C("detail-label")}">Amount:</span>\n <span class="${C("detail-value")}}">$${e.value}</span>\n </div>`));return t.join("")}}class k{#He=null;#Ve=null;#Qe=!1;start(e){this.#Qe?n.warn("FocusDetector already active"):(this.#He=()=>{n.debug("Window focused"),e()},this.#Ve=()=>{"visible"===document.visibilityState&&(n.debug("Document became visible"),e())},window.addEventListener("focus",this.#He),document.addEventListener("visibilitychange",this.#Ve),this.#Qe=!0,n.debug("FocusDetector started"))}stop(){this.#Qe&&(this.#He&&(window.removeEventListener("focus",this.#He),this.#He=null),this.#Ve&&(document.removeEventListener("visibilitychange",this.#Ve),this.#Ve=null),this.#Qe=!1,n.debug("FocusDetector stopped"))}isActive(){return this.#Qe}}function A(){return"undefined"!=typeof crypto&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=15&(crypto.getRandomValues(new Uint8Array(1))[0]??0);return("x"===e?t:3&t|8).toString(16)})}const T="0.0.5",N="user_id",S="user_attributes",R=new class{#We;#h;#g=null;#Je=null;#Ye=null;#Ze=null;#Xe=null;#f=null;#et={};#tt=!1;#nt=!1;constructor(){this.#We=new i,this.#h=new s}configure(e){if(this.#We.configure(e)){this.#it();const e=this.#We.getBaseURL();e&&(this.#g=new p(this.#We.getApiKey()??"",e),this.#f&&(this.#Je=new c(this.#h,this.#g,this.#f),this.#Ye=new u(this.#h,this.#g,this.#f),this.#Ze=new h(this.#g,this.#f)),this.#Xe=new k),n.info("Encore SDK initialized successfully",{version:T})}}#it(){const e=this.#h.get(N);e?(this.#f=e,n.debug("Loaded existing user ID:",e)):(this.#f=A(),this.#h.set(N,this.#f),n.debug("Generated new user ID:",this.#f));const t=this.#h.get(S);t&&(this.#et=t,n.debug("Loaded user attributes"))}#rt(){return!!this.#We.isConfigured()||(n.error("SDK not configured. Call Encore.configure() first."),!1)}identify(e,t){if(!this.#rt())return;if(!e||"string"!=typeof e)return void n.error("identify() requires a valid user ID string");const i=this.#f;this.#f=e,this.#h.set(N,e),t&&this.setUserAttributes(t),i!==e&&(n.info("User identified:",e),this.#Je&&this.#Je.setUserId(e),this.#Ye&&this.#Ye.setUserId(e),this.#Ze&&this.#Ze.setUserId(e))}getCurrentUserId(){return this.#f}reset(){this.#rt()&&(n.info("Resetting SDK"),this.#h.clear(),this.#f=A(),this.#h.set(N,this.#f),this.#et={},this.#Je&&(this.#Je.clearCache(),this.#g&&this.#f&&(this.#Je=new c(this.#h,this.#g,this.#f))),this.#Ye&&(this.#Ye.clearQueue(),this.#Ye.destroy(),this.#g&&this.#f&&(this.#Ye=new u(this.#h,this.#g,this.#f))),this.#Ze&&(this.#Ze.clearCache(),this.#g&&this.#f&&(this.#Ze=new h(this.#g,this.#f))),this.#Xe?.isActive()&&this.#Xe.stop(),n.debug("SDK reset complete",{newUserId:this.#f}))}getVersion(){return T}setLogLevel(e){n.setLogLevel(e)}setUserAttributes(e){this.#rt()&&(e&&"object"==typeof e?(this.#et={...this.#et,...e,custom:{...this.#et.custom,...e.custom}},this.#h.set(S,this.#et),n.debug("User attributes updated",this.#et)):n.error("setUserAttributes() requires a valid UserAttributes object"))}getUserAttributes(){return{...this.#et}}async presentOffer(t){if(!this.#rt()){const n={type:"error",error:{code:e.INITIALIZATION_ERROR,message:"SDK not configured"}};return t?.onNotGranted&&t.onNotGranted(n),t?.onError&&t.onError({code:e.INITIALIZATION_ERROR,message:"SDK not configured"}),{granted:!1,reason:n}}if(this.#tt){n.warn("Presentation already in progress");const i={type:"error",error:{code:e.UNKNOWN_ERROR,message:"Presentation already in progress"}};return t?.onNotGranted&&t.onNotGranted(i),{granted:!1,reason:i}}this.#tt=!0;try{const e=await this.#st(t);return e.granted&&e.entitlement&&t?.onGranted?t.onGranted(e.entitlement):!e.granted&&e.reason&&t?.onNotGranted&&t.onNotGranted(e.reason),e}catch(i){n.error("Error during presentation",i);const r={type:"error",error:{code:e.UNKNOWN_ERROR,message:i instanceof Error?i.message:"Unknown error"}};return t?.onError&&"string"!=typeof r&&"error"===r.type&&t.onError(r.error),t?.onNotGranted&&t.onNotGranted(r),{granted:!1,reason:r}}finally{this.#tt=!1}}isActive(e,t){return!!this.#rt()&&(this.#Je?this.#Je.isActive(e,t):(n.error("EntitlementManager not initialized"),!1))}async refreshEntitlements(){this.#rt()&&(this.#Je?await this.#Je.refreshEntitlements():n.error("EntitlementManager not initialized"))}didGrant(e,t){this.#rt()&&(this.#Ye?t&&"string"==typeof t?this.#Ye.sendGrantSignal(t,e):n.error("didGrant() requires a valid transaction ID"):n.error("SignalManager not initialized"))}async waitForVerification(e,t){if(!this.#rt())return n.error("SDK not configured"),"failed";if(!this.#g)return n.error("API client not initialized"),"failed";if(!e)return n.error("waitForVerification() requires a transaction ID"),"failed";try{n.debug("Starting verification wait",{transactionId:e,timeout:t});const i={transactionId:e};void 0!==t&&(i.timeout=t);const r=new g(this.#g,i),s=await r.poll();return"verified"===s&&await this.refreshEntitlements(),s}catch(t){return n.error("Error during verification wait",{transactionId:e,error:t}),"failed"}}on(e,t){return this.#rt()?this.#Je?this.#Je.getEventEmitter().on(e,t):(n.error("EntitlementManager not initialized"),()=>{}):()=>{}}observeEntitlement(e,t){return{subscribe:i=>{if(!this.#rt())return()=>{};if(!this.#Je)return n.error("EntitlementManager not initialized"),()=>{};const r=this.#Je.isActive(e,t);return i(r),this.on("entitlementChanged",n=>{const r=n.scope;JSON.stringify(n.entitlementType)===JSON.stringify(e)&&("verified"===t&&"verified"!==r||i(n.isActive))})}}}placement(){return new f(async()=>this.presentOffer())}async#st(t){if(!this.#Ze||!this.#g)return n.error("Managers not initialized"),{granted:!1,reason:{type:"error",error:{code:e.INITIALIZATION_ERROR,message:"Managers not initialized"}}};try{this.#nt||(y({}),this.#nt=!0),n.debug("Fetching offers");const{offers:t,uiConfiguration:i}=await this.#Ze.fetchOffers(this.#et);if(0===t.length)return n.info("No offers available"),{granted:!1,reason:"noOffersAvailable"};const r={...this.#We.getUIConfiguration(),...i},s=new Map,o=new Set;t.forEach(e=>{s.set(e.id,A())});const a=new w,l=new I(t),c=await new Promise(t=>{l.on("offerClaim",i=>{const o=i.offer;n.debug("User claimed offer",{offerId:o.id}),(async()=>{try{if(!this.#Ze)throw new Error("OfferManager not initialized");const e=s.get(o.id),i=await this.#Ze.startTransaction(o.campaignId,o.creativeId,e);this.#ot(o.advertiserUrl)||n.warn("Failed to open advertiser URL (popup blocked?)"),this.didGrant("provisional",i),await this.refreshEntitlements(),this.#Xe&&!this.#Xe.isActive()&&this.#Xe.start(()=>{(async()=>{n.debug("User returned to app, refreshing entitlements"),await this.refreshEntitlements()})()}),this.#at(a,o.entitlement,()=>{a.hide(),t({granted:!0,entitlement:o.entitlement})},r)}catch(i){n.error("Error starting transaction",{offerId:o.id,error:i}),a.hide(),t({granted:!1,reason:{type:"error",error:{code:e.UNKNOWN_ERROR,message:i instanceof Error?i.message:"Transaction failed"}}})}})()}),l.on("complete",e=>{e.claimed||(n.debug("User declined last offer"),l.destroy(),a.hide(),t({granted:!1,reason:"userDeclinedLastOffer"}))}),a.on("close",()=>{n.debug("User closed modal"),l.destroy(),t({granted:!1,reason:"userClosedModal"})}),a.on("backdropClick",()=>{n.debug("User clicked outside modal"),l.destroy(),a.hide(),t({granted:!1,reason:"userClickedOutside"})}),l.on("offerView",e=>{const{offer:t}=e;if(o.has(t.id))return void n.debug("Impression already logged for this modal session",{offerId:t.id});const i=s.get(t.id);i&&this.#Ze&&(this.#Ze.logImpression(i,t),o.add(t.id))}),a.show();const i=l.render();a.setContent(i)});return a.destroy(),l.destroy(),c}catch(t){return n.error("Error in presentation flow",t),{granted:!1,reason:{type:"error",error:{code:e.UNKNOWN_ERROR,message:t instanceof Error?t.message:"Unknown error"}}}}}#ot(e){try{const t=window.open(e,"_blank","noopener,noreferrer");return!!t&&(t.focus(),!0)}catch(t){return n.error("Failed to open advertiser URL",{url:e,error:t}),!1}}#at(e,t,i,r){try{const s={entitlement:t,autoDismissMs:0};r?.creditClaimedTitleText&&(s.titleText=r.creditClaimedTitleText),r?.creditClaimedSubtitleText&&(s.subtitleText=r.creditClaimedSubtitleText),r?.applyCreditsButtonText&&(s.buttonText=r.applyCreditsButtonText);const o=new $(s);o.on("continue",()=>{o.destroy(),i()});const a=o.render();e.setContent(a),n.debug("Success screen displayed")}catch(e){n.error("Failed to show success screen",e),i()}}};exports.Encore=R,exports.default=R;
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/types.ts","../../src/utils/logger.ts","../../src/core/Configuration.ts","../../src/core/StorageManager.ts","../../src/utils/eventEmitter.ts","../../src/core/EntitlementManager.ts","../../src/core/SignalManager.ts","../../src/utils/network.ts","../../src/core/OfferManager.ts","../../src/core/VerificationPoller.ts","../../src/core/PlacementBuilder.ts","../../src/api/endpoints.ts","../../src/api/APIClient.ts","../../src/ui/styles.ts","../../src/ui/OfferModal.ts","../../src/ui/OfferCard.ts","../../src/ui/OfferCarousel.ts","../../src/ui/SuccessScreen.ts","../../src/utils/focusDetection.ts","../../src/utils/uuid.ts","../../src/core/Encore.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["ErrorCode","PREFIX","logger","logLevel","setLogLevel","level","this","getLogLevel","debug","args","console","info","warn","error","critical","Configuration","config","isConfigured","configure","validationError","validateConfig","environment","apiKey","userId","baseURL","getDefaultBaseURL","uiConfiguration","trim","includes","getConfig","getApiKey","getBaseURL","getEnvironment","getUIConfiguration","reset","KEY_PREFIX","StorageManager","storageType","memoryStorage","constructor","Map","detectAvailableStorage","isStorageAvailable","type","storage","localStorage","sessionStorage","testKey","setItem","removeItem","getStorage","prefixKey","key","set","value","undefined","prefixedKey","serialized","JSON","stringify","Error","name","get","getItem","remove","parse","delete","clear","keys","startsWith","keysToRemove","i","length","push","forEach","getStorageType","EventEmitter","listeners","on","event","handler","has","Set","handlers","String","add","off","size","emit","payload","listenerCount","removeAllListeners","hasListeners","ENTITLEMENTS_KEY","ENTITLEMENTS_TIMESTAMP_KEY","EntitlementManager","apiClient","cache","refreshPromise","eventEmitter","loadFromStorage","getEventEmitter","setUserId","userKey","timestampKey","entitlements","timestamp","count","age","Date","now","saveEntitlements","Array","isArray","oldEntitlements","loadEntitlements","emitChanges","newEntitlements","oldMap","ent","scope","newMap","newEnt","oldEnt","entitlementType","getEntitlementType","isActive","isEntitlementActive","entitlement","_","expiresAt","__","grantedAt","___","transactionId","____","rest","isCacheStale","getCacheAge","clearCache","item","itemType","entitlementTypesMatch","a","b","getActiveEntitlements","filter","refreshEntitlements","performRefresh","fetchEntitlements","SIGNAL_QUEUE_KEY","SignalManager","queue","isProcessing","cleanupNetworkListener","loadQueue","setupNetworkListener","processQueue","saveQueue","enqueue","grantType","exists","some","signal","toISOString","attempts","dequeue","index","findIndex","s","splice","getQueue","clearQueue","sendGrantSignal","processSignal","sleep","lastAttemptAt","lastAttempt","getTime","backoffDelay","Math","pow","timeSinceLastAttempt","remainingWait","attempt","callback","window","addEventListener","removeEventListener","onOnline","destroy","ms","Promise","resolve","setTimeout","OfferManager","cachedOffers","cachedUiConfiguration","cacheTimestamp","fetchOffers","userAttributes","useCache","offers","response","offerIds","map","o","id","logImpression","impressionId","offer","appBundleId","location","hostname","campaignId","creativeId","then","success","catch","err","startTransaction","VerificationPoller","timeout","startTime","interval","maxInterval","timeoutHandle","isPolling","options","poll","pollWithBackoff","stop","clearTimeout","elapsed","checkVerificationStatus","status","verifiedAt","min","PlacementBuilder","onGrantedCallback","onNotGrantedCallback","onLoadingStateChangeCallback","executor","onGranted","onNotGranted","onLoadingStateChange","show","result","granted","reason","errorReason","code","UNKNOWN_ERROR","message","replacePathParams","endpoint","params","Object","entries","replace","encodeURIComponent","APIClient","pendingRequests","setApiKey","setBaseURL","request","url","method","post","body","requestKey","getRequestKey","pendingRequest","requestPromise","executeRequest","maxRetries","retries","lastError","delay","fetchWithTimeout","isClientError","controller","AbortController","timeoutId","abort","headers","fetchOptions","fetch","ok","handleHTTPError","json","isNetworkError","errorCode","errorMessage","statusText","errorData","errorObj","API_ERROR","statusCode","errorInstance","assign","attributes","apiOffer","campaign","creative","creatives","title","description","quickInstructions","subtitle","imageUrl","primaryImageUrl","ctaText","advertiserUrl","destinationUrl","unit","merchantName","logoUrl","instructions","trackingParameters","getGrantSignalEndpoint","convertEntitlementType","apiType","letter","toUpperCase","provisional","data","typeObj","started_at","expires_at","verified","provisionalCount","verifiedCount","totalCount","getVerificationStatusEndpoint","STYLE_ID","CLASS_PREFIX","injectStyles","theme","document","getElementById","styleElement","createElement","textContent","themeVars","vars","primaryColor","backgroundColor","textColor","borderRadius","fontFamily","join","generateThemeVars","getBaseStyles","head","appendChild","cls","className","OfferModal","backdrop","modal","closeButton","modalBody","isVisible","previousActiveElement","focusableElements","boundHandleKeyDown","activeElement","createModal","classList","requestAnimationFrame","setupEventListeners","updateFocusableElements","focusFirstElement","hide","removeModal","HTMLElement","focus","setContent","content","innerHTML","setAttribute","handleKeyDown","bind","preventDefault","handleTabKey","shiftKey","currentIndex","el","nextIndex","focusableSelectors","from","querySelectorAll","OfferCard","container","render","imageBanner","createImageBanner","details","createDetails","footer","createFooter","banner","img","alt","src","complete","onload","onerror","createPlaceholderImage","btoa","heading","list","instruction","li","merchantInfo","logo","style","display","textInfo","desc","claimButton","OfferCarousel","cardsContainer","indicatorsContainer","offerCards","announceElement","boundHandleArrowKeys","preloadImages","position","width","height","padding","margin","overflow","clip","whiteSpace","border","header","createHeader","navigation","createNavigation","renderAllOffers","setupKeyboardNavigation","scrollToIndex","getCurrentIndex","getTotalOffers","next","updateNavigationButtons","announce","previous","card","cardElement","itemWrapper","toString","smooth","items","targetItem","scrollIntoView","behavior","block","inline","prevButton","nextButton","buttons","prev","disabled","toggle","handleArrowKeys","Image","offerId","SuccessScreen","autoDismissTimeout","icon","titleText","subtitleText","getDefaultSubtitle","renderEntitlementDetails","button","buttonText","handleContinue","autoDismissMs","setupAutoDismiss","displayValue","FocusDetector","focusCallback","visibilityCallback","start","visibilityState","generateUUID","crypto","randomUUID","c","r","getRandomValues","Uint8Array","SDK_VERSION","USER_ID_KEY","USER_ATTRIBUTES_KEY","Encore","configuration","entitlementManager","signalManager","offerManager","focusDetector","isPresentationInProgress","stylesInjected","initializeUserId","version","storedUserId","storedAttributes","ensureConfigured","identify","previousUserId","setUserAttributes","getCurrentUserId","newUserId","getVersion","custom","getUserAttributes","presentOffer","notInitializedError","INITIALIZATION_ERROR","onError","alreadyInProgressReason","executePresentationFlow","didGrant","access","waitForVerification","pollerOptions","poller","observeEntitlement","subscribe","currentState","eventScope","placement","async","_options","apiUiConfig","mergedUiConfig","impressionIds","loggedImpressions","carousel","openAdvertiserURL","showSuccessScreen","claimed","carouselElement","opened","open","onContinue","uiConfig","successConfig","creditClaimedTitleText","creditClaimedSubtitleText","applyCreditsButtonText","successScreen","successElement"],"mappings":"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"}