@encorekit/web-sdk 0.1.1 → 0.1.7

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 (134) hide show
  1. package/README.md +94 -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/embed/README.md +409 -0
  9. package/embed/index.html +57 -0
  10. package/embed/styles.css +154 -0
  11. package/examples/README.md +149 -0
  12. package/examples/angular/README.md +210 -0
  13. package/examples/angular/angular.json +73 -0
  14. package/examples/angular/package.json +32 -0
  15. package/examples/angular/src/app/app.component.html +56 -0
  16. package/examples/angular/src/app/app.component.ts +114 -0
  17. package/examples/angular/src/app/encore.service.ts +83 -0
  18. package/examples/angular/src/index.html +13 -0
  19. package/examples/angular/src/main.ts +7 -0
  20. package/examples/angular/src/styles.css +225 -0
  21. package/examples/angular/tsconfig.json +33 -0
  22. package/examples/ios-webview/EncoreURLBuilder.swift +87 -0
  23. package/examples/ios-webview/EncoreWebViewBridge.swift +426 -0
  24. package/examples/ios-webview/ExampleViewController.swift +233 -0
  25. package/examples/ios-webview/README.md +416 -0
  26. package/examples/ios-webview/SimpleEncoreView.swift +94 -0
  27. package/examples/ios-webview/SimpleExample.swift +131 -0
  28. package/examples/react/README.md +186 -0
  29. package/examples/react/index.html +13 -0
  30. package/examples/react/package.json +24 -0
  31. package/examples/react/src/App.tsx +173 -0
  32. package/examples/react/src/index.css +227 -0
  33. package/examples/react/src/main.tsx +11 -0
  34. package/examples/react/src/vite-env.d.ts +2 -0
  35. package/examples/react/tsconfig.json +25 -0
  36. package/examples/react/vite.config.ts +8 -0
  37. package/examples/svelte/README.md +233 -0
  38. package/examples/svelte/index.html +13 -0
  39. package/examples/svelte/package.json +25 -0
  40. package/examples/svelte/src/App.svelte +164 -0
  41. package/examples/svelte/src/app.css +224 -0
  42. package/examples/svelte/src/main.ts +9 -0
  43. package/examples/svelte/src/vite-env.d.ts +3 -0
  44. package/examples/svelte/svelte.config.js +8 -0
  45. package/examples/svelte/tsconfig.json +16 -0
  46. package/examples/svelte/tsconfig.node.json +11 -0
  47. package/examples/svelte/vite.config.ts +8 -0
  48. package/examples/vanilla-js/README.md +271 -0
  49. package/examples/vanilla-js/index.html +421 -0
  50. package/examples/vue/README.md +212 -0
  51. package/examples/vue/index.html +13 -0
  52. package/examples/vue/package.json +22 -0
  53. package/examples/vue/src/App.vue +170 -0
  54. package/examples/vue/src/main.ts +6 -0
  55. package/examples/vue/src/style.css +224 -0
  56. package/examples/vue/src/vite-env.d.ts +2 -0
  57. package/examples/vue/tsconfig.json +25 -0
  58. package/examples/vue/vite.config.ts +8 -0
  59. package/package.json +22 -3
  60. package/types/analytics/AnalyticsClient.d.ts +14 -0
  61. package/types/analytics/AnalyticsClient.d.ts.map +1 -0
  62. package/types/analytics/events.d.ts +63 -0
  63. package/types/analytics/events.d.ts.map +1 -0
  64. package/types/analytics/models.d.ts +17 -0
  65. package/types/analytics/models.d.ts.map +1 -0
  66. package/types/api/APIClient.d.ts +44 -8
  67. package/types/api/APIClient.d.ts.map +1 -1
  68. package/types/api/endpoints.d.ts +11 -7
  69. package/types/api/endpoints.d.ts.map +1 -1
  70. package/types/api/models.d.ts +134 -68
  71. package/types/api/models.d.ts.map +1 -1
  72. package/types/core/Configuration.d.ts +4 -0
  73. package/types/core/Configuration.d.ts.map +1 -1
  74. package/types/core/Encore.d.ts +16 -12
  75. package/types/core/Encore.d.ts.map +1 -1
  76. package/types/core/EntitlementManager.d.ts +9 -0
  77. package/types/core/EntitlementManager.d.ts.map +1 -1
  78. package/types/core/OfferManager.d.ts +27 -7
  79. package/types/core/OfferManager.d.ts.map +1 -1
  80. package/types/types.d.ts +1 -1
  81. package/types/types.d.ts.map +1 -1
  82. package/types/ui/OfferCard.d.ts.map +1 -1
  83. package/types/ui/OfferCarousel.d.ts.map +1 -1
  84. package/types/ui/Tooltip.d.ts +22 -0
  85. package/types/ui/Tooltip.d.ts.map +1 -0
  86. package/types/ui/styles.d.ts.map +1 -1
  87. package/dist/cjs/index.js +0 -2
  88. package/dist/cjs/index.js.map +0 -1
  89. package/types/src/api/APIClient.d.ts +0 -63
  90. package/types/src/api/APIClient.d.ts.map +0 -1
  91. package/types/src/api/endpoints.d.ts +0 -35
  92. package/types/src/api/endpoints.d.ts.map +0 -1
  93. package/types/src/api/models.d.ts +0 -156
  94. package/types/src/api/models.d.ts.map +0 -1
  95. package/types/src/core/Configuration.d.ts +0 -42
  96. package/types/src/core/Configuration.d.ts.map +0 -1
  97. package/types/src/core/Encore.d.ts +0 -81
  98. package/types/src/core/Encore.d.ts.map +0 -1
  99. package/types/src/core/EntitlementManager.d.ts +0 -65
  100. package/types/src/core/EntitlementManager.d.ts.map +0 -1
  101. package/types/src/core/OfferManager.d.ts +0 -35
  102. package/types/src/core/OfferManager.d.ts.map +0 -1
  103. package/types/src/core/PlacementBuilder.d.ts +0 -27
  104. package/types/src/core/PlacementBuilder.d.ts.map +0 -1
  105. package/types/src/core/SignalManager.d.ts +0 -51
  106. package/types/src/core/SignalManager.d.ts.map +0 -1
  107. package/types/src/core/StorageManager.d.ts +0 -34
  108. package/types/src/core/StorageManager.d.ts.map +0 -1
  109. package/types/src/core/VerificationPoller.d.ts +0 -27
  110. package/types/src/core/VerificationPoller.d.ts.map +0 -1
  111. package/types/src/index.d.ts +0 -7
  112. package/types/src/index.d.ts.map +0 -1
  113. package/types/src/types.d.ts +0 -156
  114. package/types/src/types.d.ts.map +0 -1
  115. package/types/src/ui/OfferCard.d.ts +0 -29
  116. package/types/src/ui/OfferCard.d.ts.map +0 -1
  117. package/types/src/ui/OfferCarousel.d.ts +0 -55
  118. package/types/src/ui/OfferCarousel.d.ts.map +0 -1
  119. package/types/src/ui/OfferModal.d.ts +0 -41
  120. package/types/src/ui/OfferModal.d.ts.map +0 -1
  121. package/types/src/ui/SuccessScreen.d.ts +0 -33
  122. package/types/src/ui/SuccessScreen.d.ts.map +0 -1
  123. package/types/src/ui/styles.d.ts +0 -44
  124. package/types/src/ui/styles.d.ts.map +0 -1
  125. package/types/src/utils/eventEmitter.d.ts +0 -50
  126. package/types/src/utils/eventEmitter.d.ts.map +0 -1
  127. package/types/src/utils/focusDetection.d.ts +0 -21
  128. package/types/src/utils/focusDetection.d.ts.map +0 -1
  129. package/types/src/utils/logger.d.ts +0 -21
  130. package/types/src/utils/logger.d.ts.map +0 -1
  131. package/types/src/utils/network.d.ts +0 -57
  132. package/types/src/utils/network.d.ts.map +0 -1
  133. package/types/src/utils/uuid.d.ts +0 -10
  134. package/types/src/utils/uuid.d.ts.map +0 -1
@@ -1,156 +0,0 @@
1
- /**
2
- * Core Type Definitions
3
- * Shared types used across the SDK
4
- */
5
- /**
6
- * Supported entitlement types with optional values
7
- */
8
- export type EntitlementType = {
9
- type: 'freeTrial';
10
- value?: number;
11
- unit?: 'days' | 'months';
12
- } | {
13
- type: 'discount';
14
- value?: number;
15
- unit?: 'percent' | 'dollars';
16
- } | {
17
- type: 'credit';
18
- value?: number;
19
- unit?: 'dollars';
20
- };
21
- /**
22
- * Entitlement scope - determines which entitlements to consider
23
- */
24
- export type EntitlementScope = 'verified' | 'provisional' | 'all';
25
- /**
26
- * Complete entitlement with metadata
27
- */
28
- export interface Entitlement {
29
- transactionId: string;
30
- scope: 'provisional' | 'verified';
31
- grantedAt: string;
32
- expiresAt: string;
33
- type: 'freeTrial' | 'discount' | 'credit';
34
- value?: number;
35
- unit?: 'days' | 'months' | 'percent' | 'dollars';
36
- }
37
- /**
38
- * User attributes for targeting and personalization
39
- */
40
- export interface UserAttributes {
41
- email?: string;
42
- firstName?: string;
43
- lastName?: string;
44
- phoneNumber?: string;
45
- postalCode?: string;
46
- city?: string;
47
- state?: string;
48
- countryCode?: string;
49
- latitude?: string;
50
- longitude?: string;
51
- dateOfBirth?: string;
52
- gender?: string;
53
- language?: string;
54
- subscriptionTier?: string;
55
- monthsSubscribed?: string;
56
- billingCycle?: string;
57
- lastPaymentAmount?: string;
58
- lastActiveDate?: string;
59
- totalSessions?: string;
60
- custom?: Record<string, string>;
61
- }
62
- /**
63
- * Reasons why an entitlement was not granted
64
- */
65
- export type NotGrantedReason = 'userClosedModal' | 'userClickedOutside' | 'userDeclinedLastOffer' | 'noOffersAvailable' | {
66
- type: 'error';
67
- error: EncoreError;
68
- };
69
- /**
70
- * Result of a presentation (show) operation
71
- */
72
- export interface PresentationResult {
73
- granted: boolean;
74
- entitlement?: EntitlementType;
75
- reason?: NotGrantedReason;
76
- }
77
- /**
78
- * Optional callbacks for presentation events
79
- */
80
- export interface PresentationOptions {
81
- onGranted?: (entitlement: EntitlementType) => void;
82
- onNotGranted?: (reason: NotGrantedReason) => void;
83
- onError?: (error: EncoreError) => void;
84
- }
85
- /**
86
- * Builder pattern for placement API
87
- */
88
- export interface PlacementBuilder {
89
- onGranted(callback: (entitlement: EntitlementType) => void): PlacementBuilder;
90
- onNotGranted(callback: (reason: NotGrantedReason) => void): PlacementBuilder;
91
- onLoadingStateChange(callback: (isLoading: boolean) => void): PlacementBuilder;
92
- show(): Promise<PresentationResult>;
93
- }
94
- /**
95
- * Error codes used throughout the SDK
96
- */
97
- export declare enum ErrorCode {
98
- NETWORK_ERROR = "NETWORK_ERROR",
99
- API_ERROR = "API_ERROR",
100
- CONFIGURATION_ERROR = "CONFIGURATION_ERROR",
101
- INITIALIZATION_ERROR = "INITIALIZATION_ERROR",
102
- STORAGE_ERROR = "STORAGE_ERROR",
103
- INVALID_REQUEST = "INVALID_REQUEST",
104
- UNAUTHORIZED = "UNAUTHORIZED",
105
- NOT_FOUND = "NOT_FOUND",
106
- TIMEOUT = "TIMEOUT",
107
- UNKNOWN_ERROR = "UNKNOWN_ERROR"
108
- }
109
- /**
110
- * Standard error object used throughout the SDK
111
- */
112
- export interface EncoreError {
113
- code: ErrorCode | string;
114
- message: string;
115
- details?: unknown;
116
- type?: string;
117
- statusCode?: number;
118
- }
119
- /**
120
- * Verification status for transactions
121
- */
122
- export type VerificationStatus = 'pending' | 'verified' | 'failed' | 'timeout' | 'cancelled';
123
- /**
124
- * UI Configuration options
125
- */
126
- export interface UIConfiguration {
127
- titleText?: string;
128
- subtitleText?: string;
129
- offerDescriptionText?: string;
130
- instructionsTitleText?: string;
131
- lastStepHeaderText?: string;
132
- lastStepDescriptionText?: string;
133
- creditClaimedTitleText?: string;
134
- creditClaimedSubtitleText?: string;
135
- applyCreditsButtonText?: string;
136
- }
137
- /**
138
- * Main SDK configuration options
139
- */
140
- export interface EncoreConfig {
141
- apiKey: string;
142
- userId: string;
143
- baseURL?: string;
144
- environment?: 'production' | 'development';
145
- logLevel?: 'none' | 'debug';
146
- uiConfiguration?: UIConfiguration;
147
- }
148
- /**
149
- * Event handler function type
150
- */
151
- export type EventHandler<T = unknown> = (data: T) => void;
152
- /**
153
- * Unsubscribe function type
154
- */
155
- export type Unsubscribe = () => void;
156
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /**
2
- * Offer Card Component
3
- * Displays individual offer details with image, title, description, and action buttons
4
- */
5
- import { OfferModel as Offer } from '../api/models';
6
- interface OfferCardEventMap extends Record<string, unknown> {
7
- claim: {
8
- offer: Offer;
9
- };
10
- decline: void;
11
- }
12
- export declare class OfferCard {
13
- #private;
14
- constructor();
15
- /**
16
- * Render the offer card
17
- */
18
- render(offer: Offer): HTMLElement;
19
- /**
20
- * Subscribe to card events
21
- */
22
- on<E extends keyof OfferCardEventMap>(event: E, handler: (payload: OfferCardEventMap[E]) => void): () => void;
23
- /**
24
- * Cleanup
25
- */
26
- destroy(): void;
27
- }
28
- export {};
29
- //# sourceMappingURL=OfferCard.d.ts.map
@@ -1 +0,0 @@
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;IAqKb;;OAEG;IACH,OAAO,IAAI,IAAI;CAKhB"}
@@ -1,55 +0,0 @@
1
- /**
2
- * Offer Carousel Component
3
- * Manages multiple offers with pagination and navigation
4
- */
5
- import type { OfferModel as Offer } from '../api/models';
6
- interface CarouselEventMap extends Record<string, unknown> {
7
- offerClaim: {
8
- offer: Offer;
9
- index: number;
10
- };
11
- offerDecline: {
12
- index: number;
13
- };
14
- offerView: {
15
- offer: Offer;
16
- index: number;
17
- };
18
- complete: {
19
- claimed: boolean;
20
- };
21
- }
22
- export declare class OfferCarousel {
23
- #private;
24
- constructor(offers: Offer[]);
25
- /**
26
- * Render the carousel
27
- */
28
- render(): HTMLElement;
29
- /**
30
- * Subscribe to carousel events
31
- */
32
- on<E extends keyof CarouselEventMap>(event: E, handler: (payload: CarouselEventMap[E]) => void): () => void;
33
- /**
34
- * Get current offer index
35
- */
36
- getCurrentIndex(): number;
37
- /**
38
- * Get total number of offers
39
- */
40
- getTotalOffers(): number;
41
- /**
42
- * Navigate to next offer
43
- */
44
- next(): void;
45
- /**
46
- * Navigate to previous offer
47
- */
48
- previous(): void;
49
- /**
50
- * Cleanup
51
- */
52
- destroy(): void;
53
- }
54
- export {};
55
- //# sourceMappingURL=OfferCarousel.d.ts.map
@@ -1 +0,0 @@
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,41 +0,0 @@
1
- /**
2
- * Offer Modal Component
3
- * Base modal container with backdrop, close button, and event handling
4
- */
5
- import type { ThemeVariables } from './styles';
6
- interface ModalEventMap extends Record<string, unknown> {
7
- close: void;
8
- backdropClick: void;
9
- show: void;
10
- hide: void;
11
- }
12
- export declare class OfferModal {
13
- #private;
14
- constructor(theme?: ThemeVariables);
15
- /**
16
- * Create and show the modal
17
- */
18
- show(): void;
19
- /**
20
- * Hide and remove the modal
21
- */
22
- hide(): void;
23
- /**
24
- * Check if modal is currently visible
25
- */
26
- isVisible(): boolean;
27
- /**
28
- * Set modal content
29
- */
30
- setContent(content: HTMLElement): void;
31
- /**
32
- * Subscribe to modal events
33
- */
34
- on<E extends keyof ModalEventMap>(event: E, handler: (payload: ModalEventMap[E]) => void): () => void;
35
- /**
36
- * Cleanup event listeners
37
- */
38
- destroy(): void;
39
- }
40
- export {};
41
- //# sourceMappingURL=OfferModal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OfferModal.d.ts","sourceRoot":"","sources":["../../../src/ui/OfferModal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,UAAU,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrD,KAAK,EAAE,IAAI,CAAC;IACZ,aAAa,EAAE,IAAI,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,qBAAa,UAAU;;gBAWT,KAAK,GAAE,cAAmB;IAOtC;;OAEG;IACH,IAAI,IAAI,IAAI;IAqCZ;;OAEG;IACH,IAAI,IAAI,IAAI;IAyBZ;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IActC;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,aAAa,EAC9B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,GAC3C,MAAM,IAAI;IA6Ib;;OAEG;IACH,OAAO,IAAI,IAAI;CAOhB"}
@@ -1,33 +0,0 @@
1
- /**
2
- * Success Screen Component
3
- * Displays success feedback after entitlement is granted
4
- */
5
- import { EntitlementType } from '../types';
6
- interface SuccessScreenConfig {
7
- entitlement: EntitlementType;
8
- titleText?: string;
9
- subtitleText?: string;
10
- buttonText?: string;
11
- autoDismissMs?: number;
12
- }
13
- interface SuccessScreenEventMap extends Record<string, unknown> {
14
- continue: undefined;
15
- }
16
- export declare class SuccessScreen {
17
- #private;
18
- constructor(config: SuccessScreenConfig);
19
- /**
20
- * Render the success screen
21
- */
22
- render(): HTMLElement;
23
- /**
24
- * Subscribe to events
25
- */
26
- on<K extends keyof SuccessScreenEventMap>(event: K, handler: (payload: SuccessScreenEventMap[K]) => void): () => void;
27
- /**
28
- * Destroy the success screen
29
- */
30
- destroy(): void;
31
- }
32
- export {};
33
- //# sourceMappingURL=SuccessScreen.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SuccessScreen.d.ts","sourceRoot":"","sources":["../../../src/ui/SuccessScreen.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM3C,UAAU,mBAAmB;IAC3B,WAAW,EAAE,eAAe,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,qBAAsB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,qBAAa,aAAa;;gBAMZ,MAAM,EAAE,mBAAmB;IAKvC;;OAEG;IACH,MAAM,IAAI,WAAW;IAgDrB;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,qBAAqB,EACtC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,IAAI,GACnD,MAAM,IAAI;IAIb;;OAEG;IACH,OAAO,IAAI,IAAI;CAiGhB"}
@@ -1,44 +0,0 @@
1
- /**
2
- * CSS-in-JS Styling System
3
- * Utilities for dynamically injecting styles without external CSS files
4
- */
5
- export declare const Z_INDEX: {
6
- readonly BACKDROP: 9998;
7
- readonly MODAL: 9999;
8
- };
9
- export declare const BREAKPOINTS: {
10
- readonly MOBILE: "767px";
11
- readonly TABLET: "1023px";
12
- readonly DESKTOP: "1024px";
13
- };
14
- /**
15
- * CSS custom properties for theming
16
- */
17
- export interface ThemeVariables {
18
- primaryColor?: string;
19
- backgroundColor?: string;
20
- textColor?: string;
21
- borderRadius?: string;
22
- fontFamily?: string;
23
- }
24
- /**
25
- * Inject styles into document head
26
- */
27
- export declare function injectStyles(theme?: ThemeVariables): void;
28
- /**
29
- * Remove styles from document head
30
- */
31
- export declare function removeStyles(): void;
32
- /**
33
- * Update theme variables dynamically
34
- */
35
- export declare function updateTheme(theme: ThemeVariables): void;
36
- /**
37
- * Get class name with prefix
38
- */
39
- export declare function cn(...classes: string[]): string;
40
- /**
41
- * Get class name with prefix (single class)
42
- */
43
- export declare function cls(className: string): string;
44
- //# sourceMappingURL=styles.d.ts.map
@@ -1 +0,0 @@
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;AAusBD;;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,50 +0,0 @@
1
- /**
2
- * Event Emitter
3
- * Generic event system for SDK events
4
- */
5
- type EventHandler<T = unknown> = (payload: T) => void;
6
- type Unsubscribe = () => void;
7
- /**
8
- * Generic EventEmitter class
9
- * Supports multiple listeners per event with type-safe payloads
10
- */
11
- export declare class EventEmitter<EventMap extends Record<string, unknown>> {
12
- #private;
13
- constructor();
14
- /**
15
- * Subscribe to an event
16
- * @param event - The event name
17
- * @param handler - The callback function
18
- * @returns Unsubscribe function
19
- */
20
- on<E extends keyof EventMap>(event: E, handler: EventHandler<EventMap[E]>): Unsubscribe;
21
- /**
22
- * Unsubscribe from an event
23
- * @param event - The event name
24
- * @param handler - The callback function to remove
25
- */
26
- off<E extends keyof EventMap>(event: E, handler: EventHandler<EventMap[E]>): void;
27
- /**
28
- * Emit an event to all subscribers
29
- * @param event - The event name
30
- * @param payload - The event payload
31
- */
32
- emit<E extends keyof EventMap>(event: E, payload: EventMap[E]): void;
33
- /**
34
- * Remove all listeners for a specific event, or all events if no event specified
35
- * @param event - Optional event name to clear
36
- */
37
- removeAllListeners<E extends keyof EventMap>(event?: E): void;
38
- /**
39
- * Get the number of listeners for an event
40
- * @param event - The event name
41
- */
42
- listenerCount<E extends keyof EventMap>(event: E): number;
43
- /**
44
- * Check if there are any listeners for an event
45
- * @param event - The event name
46
- */
47
- hasListeners<E extends keyof EventMap>(event: E): boolean;
48
- }
49
- export {};
50
- //# sourceMappingURL=eventEmitter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eventEmitter.d.ts","sourceRoot":"","sources":["../../../src/utils/eventEmitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,KAAK,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;AACtD,KAAK,WAAW,GAAG,MAAM,IAAI,CAAC;AAE9B;;;GAGG;AACH,qBAAa,YAAY,CAAC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;IAOhE;;;;;OAKG;IACH,EAAE,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW;IAmBvF;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAajF;;;;OAIG;IACH,IAAI,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAkBpE;;;OAGG;IACH,kBAAkB,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI;IAU7D;;;OAGG;IACH,aAAa,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM;IAIzD;;;OAGG;IACH,YAAY,CAAC,CAAC,SAAS,MAAM,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO;CAI1D"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Focus Detection Utility
3
- * Detects when user returns to the app after interacting with another window/tab
4
- */
5
- export type FocusCallback = () => void;
6
- export declare class FocusDetector {
7
- #private;
8
- /**
9
- * Start listening for focus events
10
- */
11
- start(callback: FocusCallback): void;
12
- /**
13
- * Stop listening for focus events
14
- */
15
- stop(): void;
16
- /**
17
- * Check if detector is active
18
- */
19
- isActive(): boolean;
20
- }
21
- //# sourceMappingURL=focusDetection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"focusDetection.d.ts","sourceRoot":"","sources":["../../../src/utils/focusDetection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC;AAEvC,qBAAa,aAAa;;IAKxB;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IA0BpC;;OAEG;IACH,IAAI,IAAI,IAAI;IAmBZ;;OAEG;IACH,QAAQ,IAAI,OAAO;CAGpB"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Logger utility for Encore Web SDK
3
- * Respects configured log level and prefixes all messages
4
- */
5
- export type LogLevel = 'none' | 'debug';
6
- declare class Logger {
7
- #private;
8
- setLogLevel(level: LogLevel): void;
9
- getLogLevel(): LogLevel;
10
- debug(...args: unknown[]): void;
11
- info(...args: unknown[]): void;
12
- warn(...args: unknown[]): void;
13
- error(...args: unknown[]): void;
14
- /**
15
- * Always logs regardless of log level (for critical errors)
16
- */
17
- critical(...args: unknown[]): void;
18
- }
19
- export declare const logger: Logger;
20
- export {};
21
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAIxC,cAAM,MAAM;;IAGV,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAIlC,WAAW,IAAI,QAAQ;IAIvB,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM9B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/B;;OAEG;IACH,QAAQ,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;CAGnC;AAGD,eAAO,MAAM,MAAM,QAAe,CAAC"}
@@ -1,57 +0,0 @@
1
- /**
2
- * Network Utilities
3
- * Utilities for detecting network connectivity and online/offline status
4
- */
5
- /**
6
- * Network status interface
7
- */
8
- export interface NetworkStatus {
9
- online: boolean;
10
- effectiveType?: string;
11
- downlink?: number;
12
- rtt?: number;
13
- }
14
- /**
15
- * Get current network status
16
- * Uses Navigator.connection API when available
17
- */
18
- export declare function getNetworkStatus(): NetworkStatus;
19
- /**
20
- * Check if device is online
21
- */
22
- export declare function isOnline(): boolean;
23
- /**
24
- * Check if device is offline
25
- */
26
- export declare function isOffline(): boolean;
27
- /**
28
- * Add event listener for online event
29
- * Returns cleanup function
30
- */
31
- export declare function onOnline(callback: () => void): () => void;
32
- /**
33
- * Add event listener for offline event
34
- * Returns cleanup function
35
- */
36
- export declare function onOffline(callback: () => void): () => void;
37
- /**
38
- * Add event listeners for both online and offline
39
- * Returns cleanup function
40
- */
41
- export declare function onNetworkChange(onlineCallback: () => void, offlineCallback: () => void): () => void;
42
- /**
43
- * Wait for network to come back online
44
- * Resolves immediately if already online
45
- * @param timeout - Maximum time to wait in milliseconds (default: 30000)
46
- */
47
- export declare function waitForOnline(timeout?: number): Promise<void>;
48
- /**
49
- * Check if connection is slow
50
- * Based on Network Information API effective type
51
- */
52
- export declare function isSlowConnection(): boolean;
53
- /**
54
- * Estimate if connection can handle large payloads
55
- */
56
- export declare function canHandleLargePayload(): boolean;
57
- //# sourceMappingURL=network.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/utils/network.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAWD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CA2BhD;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAElC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAWzD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAW1D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,cAAc,EAAE,MAAM,IAAI,EAC1B,eAAe,EAAE,MAAM,IAAI,GAC1B,MAAM,IAAI,CAQZ;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA2B5D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAU1C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAmB/C"}
@@ -1,10 +0,0 @@
1
- /**
2
- * UUID generation utility
3
- * Generates RFC4122-compliant UUIDs (v4)
4
- */
5
- /**
6
- * Generates a UUID v4 using crypto.randomUUID() if available,
7
- * with fallback implementation for edge cases
8
- */
9
- export declare function generateUUID(): string;
10
- //# sourceMappingURL=uuid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../../src/utils/uuid.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAgBrC"}