@lvble/core 0.70.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export * from "./lvble";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./lvble"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
@@ -0,0 +1,63 @@
1
+ export declare enum Environment {
2
+ Local = "local",
3
+ Dev = "development",
4
+ Sandbox = "sandbox",
5
+ Production = "production"
6
+ }
7
+ export interface ModalOptions {
8
+ height: string;
9
+ }
10
+ export interface InitOptions {
11
+ environment: Environment;
12
+ onEvent: (eventType: string, data: any) => void;
13
+ modal?: ModalOptions;
14
+ customApiUrl?: string | null;
15
+ balance?: number;
16
+ pms?: string;
17
+ signature?: string;
18
+ externalId?: string;
19
+ onWidgetClickCallback?: () => void;
20
+ }
21
+ export interface WidgetOptions {
22
+ token: string;
23
+ }
24
+ declare class LvbleWidget extends HTMLElement {
25
+ _iframe?: HTMLIFrameElement;
26
+ constructor();
27
+ get environment(): Environment;
28
+ set environment(val: Environment);
29
+ get token(): string;
30
+ set token(val: string);
31
+ get token_expired(): boolean;
32
+ get customApiUrlParam(): string;
33
+ set customApiUrlParam(value: string);
34
+ get onEvent(): ((eventType: string, data: any) => void) | undefined;
35
+ set onEvent(val: ((eventType: string, data: any) => void) | undefined);
36
+ get balance(): number | undefined;
37
+ set balance(val: number | undefined);
38
+ get pms(): string | undefined;
39
+ set pms(val: string | undefined);
40
+ get signature(): string | undefined;
41
+ set signature(val: string | undefined);
42
+ get externalId(): string | undefined;
43
+ set externalId(val: string | undefined);
44
+ connectedCallback(): void;
45
+ disconnectedCallback(): void;
46
+ }
47
+ declare const lvble: (initOptions: InitOptions) => {
48
+ isModalBuilt: boolean;
49
+ createWidgetWithToken: ({ token }: WidgetOptions) => LvbleWidget;
50
+ createWidget: () => LvbleWidget;
51
+ open: (token: string) => void;
52
+ openExperienceAndSetToken: (token: string) => void;
53
+ };
54
+ export type LvbleType = ReturnType<typeof lvble>;
55
+ export declare const Lvble: (initOptions: InitOptions) => {
56
+ isModalBuilt: boolean;
57
+ createWidgetWithToken: ({ token }: WidgetOptions) => LvbleWidget;
58
+ createWidget: () => LvbleWidget;
59
+ open: (token: string) => void;
60
+ openExperienceAndSetToken: (token: string) => void;
61
+ };
62
+ export {};
63
+ //# sourceMappingURL=lvble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lvble.d.ts","sourceRoot":"","sources":["../../src/lib/lvble.ts"],"names":[],"mappings":"AAEA,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,GAAG,gBAAgB;IACnB,OAAO,YAAY;IACnB,UAAU,eAAe;CAC1B;AAkBD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAiED,cAAM,WAAY,SAAQ,WAAW;IACnC,OAAO,CAAC,EAAE,iBAAiB,CAAC;;IAQ5B,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,IAAI,WAAW,CAAC,GAAG,EAAE,WAAW,EAI/B;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAGpB;IAED,IAAI,aAAa,IAAI,OAAO,CAc3B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAMlC;IAED,IAAI,OAAO,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,CAQlE;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,EAIpE;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAGhC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAIlC;IAED,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAE9B;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAIpC;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED,IAAI,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAIrC;IAED,iBAAiB;IA6EjB,oBAAoB;CAGrB;AA0RD,QAAA,MAAM,KAAK,gBAAiB,WAAW;;uCAmBA,aAAa;;kBAYlC,MAAM;uCAGe,MAAM;CAK5C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACjD,eAAO,MAAM,KAAK,gBA1CU,WAAW;;uCAmBA,aAAa;;kBAYlC,MAAM;uCAGe,MAAM;CAQnB,CAAC"}
@@ -0,0 +1,453 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Lvble = exports.Environment = void 0;
4
+ const mixpanel_browser_1 = require("mixpanel-browser");
5
+ var Environment;
6
+ (function (Environment) {
7
+ Environment["Local"] = "local";
8
+ Environment["Dev"] = "development";
9
+ Environment["Sandbox"] = "sandbox";
10
+ Environment["Production"] = "production";
11
+ })(Environment || (exports.Environment = Environment = {}));
12
+ const envToBaseUrlMap = {
13
+ widget: {
14
+ [Environment.Local]: "http://localhost:3001",
15
+ [Environment.Dev]: "https://v2.widget.pms.development.nowlvble.com",
16
+ [Environment.Sandbox]: "https://v2.widget.pms.sandbox.nowlvble.com",
17
+ [Environment.Production]: "https://v2.widget.pms.production.nowlvble.com",
18
+ },
19
+ experience: {
20
+ [Environment.Local]: "http://localhost:3001",
21
+ [Environment.Dev]: "https://v2.experience.pms.development.nowlvble.com",
22
+ [Environment.Sandbox]: "https://v2.experience.pms.sandbox.nowlvble.com",
23
+ [Environment.Production]: "https://v2.experience.pms.production.nowlvble.com",
24
+ },
25
+ };
26
+ const MIXPANEL_TOKEN = "9ad1530a57a977ab9d4005e2ba11ab4a";
27
+ let lvbleInitialized = false;
28
+ let eventListenersAdded = { lvble: false, open: false };
29
+ let widget;
30
+ let modalElements = {};
31
+ let installment_plan_event;
32
+ const observer = new IntersectionObserver((entries) => {
33
+ entries.forEach((entry) => {
34
+ if (entry.isIntersecting) {
35
+ // Send message to the widget when visible
36
+ document.querySelectorAll("lvble-widget-v3").forEach((currentWidget) => {
37
+ var _a, _b;
38
+ const iframe = (_a = currentWidget.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("iframe");
39
+ (_b = iframe.contentWindow) === null || _b === void 0 ? void 0 : _b.postMessage({ eventType: "WIDGET_IN_VIEWPORT" }, "*");
40
+ });
41
+ }
42
+ });
43
+ }, { threshold: 0.8 } // Trigger when at least 50% of iframe is visible
44
+ );
45
+ // We use this function to check if the widget is in the viewport on page load
46
+ function waitForWidget() {
47
+ const checkExist = setInterval(() => {
48
+ document.querySelectorAll("lvble-widget-v3").forEach((currentWidget) => {
49
+ var _a;
50
+ const iframe = (_a = currentWidget.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("iframe");
51
+ if (iframe) {
52
+ clearInterval(checkExist); // Stop checking once the iframe is found
53
+ // Step 1: Ensure iframe has non-zero dimensions before proceeding
54
+ const checkSize = setInterval(() => {
55
+ const rect = iframe.getBoundingClientRect();
56
+ if (rect.width > 0 && rect.height > 0) {
57
+ clearInterval(checkSize);
58
+ if (rect.width > 0 && rect.height > 0 &&
59
+ rect.top >= 0 &&
60
+ rect.left >= 0 &&
61
+ rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
62
+ rect.right <= (window.innerWidth || document.documentElement.clientWidth)) {
63
+ setTimeout(() => {
64
+ var _a;
65
+ (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.postMessage({ eventType: "WIDGET_IN_VIEWPORT" }, "*");
66
+ }, 5000);
67
+ }
68
+ }
69
+ }, 100); // Check every 100ms until the iframe has size
70
+ }
71
+ });
72
+ }, 100); // Check every 100ms until the iframe exists
73
+ }
74
+ class LvbleWidget extends HTMLElement {
75
+ constructor() {
76
+ super();
77
+ Object.defineProperty(this, "_iframe", {
78
+ enumerable: true,
79
+ configurable: true,
80
+ writable: true,
81
+ value: void 0
82
+ });
83
+ this.attachShadow({ mode: "open" });
84
+ this.style.minHeight = "inherit";
85
+ }
86
+ get environment() {
87
+ return this.getAttribute("environment");
88
+ }
89
+ set environment(val) {
90
+ val
91
+ ? this.setAttribute("environment", val)
92
+ : this.removeAttribute("environment");
93
+ }
94
+ get token() {
95
+ return this.getAttribute("token") || "";
96
+ }
97
+ set token(val) {
98
+ val ? this.setAttribute("token", val) : this.removeAttribute("token");
99
+ this.setAttribute("token_expiry", new Date(Date.now() + 60 * 1000).toISOString());
100
+ }
101
+ get token_expired() {
102
+ if (!this.token) {
103
+ return true;
104
+ }
105
+ const token_expiry_val = this.getAttribute("token_expiry");
106
+ const token_expiry_date = token_expiry_val ? new Date(token_expiry_val) : undefined;
107
+ if (!token_expiry_date) {
108
+ return true;
109
+ }
110
+ return token_expiry_date ? new Date() > token_expiry_date : true;
111
+ }
112
+ get customApiUrlParam() {
113
+ return this.getAttribute("custom-api-url-param") || "";
114
+ }
115
+ set customApiUrlParam(value) {
116
+ if (value && this.environment === Environment.Dev) {
117
+ this.setAttribute("custom-api-url-param", value);
118
+ }
119
+ else {
120
+ this.removeAttribute("custom-api-url-param");
121
+ }
122
+ }
123
+ get onEvent() {
124
+ const val = this.getAttribute("onEvent");
125
+ return val
126
+ ? new Function("return " + val)()
127
+ : undefined;
128
+ }
129
+ set onEvent(val) {
130
+ val !== undefined
131
+ ? this.setAttribute("onEvent", val.toString())
132
+ : this.removeAttribute("onEvent");
133
+ }
134
+ get balance() {
135
+ const val = this.getAttribute("balance");
136
+ return val ? parseFloat(val) : undefined;
137
+ }
138
+ set balance(val) {
139
+ val !== undefined
140
+ ? this.setAttribute("balance", val.toString())
141
+ : this.removeAttribute("balance");
142
+ }
143
+ get pms() {
144
+ return this.getAttribute("pms") || undefined;
145
+ }
146
+ set pms(val) {
147
+ val ? this.setAttribute("pms", val) : this.removeAttribute("pms");
148
+ }
149
+ get signature() {
150
+ return this.getAttribute("signature") || undefined;
151
+ }
152
+ set signature(val) {
153
+ val
154
+ ? this.setAttribute("signature", val)
155
+ : this.removeAttribute("signature");
156
+ }
157
+ get externalId() {
158
+ return this.getAttribute("externalId") || undefined;
159
+ }
160
+ set externalId(val) {
161
+ val
162
+ ? this.setAttribute("externalId", val)
163
+ : this.removeAttribute("externalId");
164
+ }
165
+ connectedCallback() {
166
+ var _a, _b, _c;
167
+ const loader = document.createElement("div");
168
+ loader.innerHTML = `
169
+ <div class="container">
170
+ </div>
171
+ `;
172
+ loader.style.cssText = `
173
+ display: flex;
174
+ flex-direction: column;
175
+ gap: 0.5rem;
176
+ height: 100%;
177
+ width: 100%;
178
+ align-items: center;
179
+ justify-content: center;
180
+ min-height: 250px;
181
+ background-color: #F2FAF8;
182
+ border-radius: 20px;
183
+ background: linear-gradient(15deg, #F2FAF8 0%,rgb(255, 255, 255) 100%);
184
+ `;
185
+ const style = document.createElement("style");
186
+ style.textContent = `
187
+
188
+ .container {
189
+ display: flex;
190
+ flex-direction: column;
191
+ gap: 0.5rem;
192
+ height: 100%;
193
+ width: 100%;
194
+ align-items: center;
195
+ justify-content: center;
196
+ }
197
+ @keyframes spin {
198
+ 0% { transform: rotate(0deg); }
199
+ 100% { transform: rotate(360deg); }
200
+ }
201
+ `;
202
+ (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(style);
203
+ (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.appendChild(loader);
204
+ const iframe = document.createElement("iframe");
205
+ if (this.token) {
206
+ iframe.src = `${envToBaseUrlMap.widget[this.environment]}?token=${this.token}&environment=${this.environment}${this.customApiUrlParam}`;
207
+ }
208
+ else {
209
+ iframe.src = `${envToBaseUrlMap.widget[this.environment]}?pms=${this.pms}&balance=${this.balance}&external_id=${this.externalId}&signature=${this.signature}&customApiUrl=${this.customApiUrlParam}`;
210
+ }
211
+ iframe.style.cssText = `
212
+ width: 100%;
213
+ height: 100%;
214
+ border: solid transparent;
215
+ border-radius: 10px;
216
+ min-height: 250px;
217
+ display: none;
218
+ `;
219
+ this._iframe = iframe;
220
+ iframe.onload = () => {
221
+ setInterval(() => {
222
+ loader.style.display = "none";
223
+ iframe.style.display = "block";
224
+ }, 100); // Give widget some time to load
225
+ };
226
+ (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.appendChild(iframe);
227
+ }
228
+ disconnectedCallback() {
229
+ if (this.shadowRoot)
230
+ this.shadowRoot.innerHTML = "";
231
+ }
232
+ }
233
+ customElements.define("lvble-widget-v3", LvbleWidget);
234
+ const createModalElements = ({ modal }) => {
235
+ const iframe = document.createElement("iframe");
236
+ iframe.className = "livble-modal-iframe";
237
+ iframe.style.cssText = `
238
+ position: absolute;
239
+ top: calc(50dvh);
240
+ left: 50vw;
241
+ transform: translate(-50%, -50%);
242
+ width: min(95dvw, 360px);
243
+ border: solid transparent 1px;
244
+ border-radius: 10px;
245
+ background-color: white;
246
+ `;
247
+ if (modal === null || modal === void 0 ? void 0 : modal.height) {
248
+ iframe.style.height = modal.height;
249
+ }
250
+ const background = document.createElement("div");
251
+ background.style.cssText = `
252
+ position: fixed;
253
+ top: 0;
254
+ left: 0;
255
+ width: 100%;
256
+ height: 100%;
257
+ background-color: rgba(0, 0, 0, 0.5);
258
+ z-index: 2147483647;
259
+ `;
260
+ background.hidden = true;
261
+ background.appendChild(iframe);
262
+ let isUiWebview = /((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent);
263
+ const style = document.createElement("style");
264
+ if (isUiWebview) {
265
+ style.id = "modal-styles";
266
+ style.textContent = `
267
+ .livble-modal-iframe {
268
+ height: 36rem;
269
+ }
270
+ @media only screen and (min-width: 380px) {
271
+ .livble-modal-iframe {
272
+ height: 43rem;
273
+ }
274
+ }
275
+ `;
276
+ iframe.appendChild(style);
277
+ }
278
+ else {
279
+ style.id = "modal-styles";
280
+ style.textContent = `
281
+ .livble-modal-iframe {
282
+ height: clamp(min(75dvh, 750px), ${(modal === null || modal === void 0 ? void 0 : modal.height) || "95dvh"}, min(95dvh, 750px));
283
+ }
284
+ `;
285
+ iframe.appendChild(style);
286
+ }
287
+ return { background, iframe };
288
+ };
289
+ const createWidget = (initOptions, modalElements, eventListenersAdded, customApiUrlParam, token) => {
290
+ widget = new LvbleWidget();
291
+ widget.environment = initOptions.environment;
292
+ widget.token = token;
293
+ widget.customApiUrlParam = customApiUrlParam;
294
+ modalElements.iframe.src = `${envToBaseUrlMap.experience[initOptions.environment]}?token=${token}${customApiUrlParam}`;
295
+ const handleWidgetMessage = (message) => {
296
+ var _a;
297
+ if (message.origin !== envToBaseUrlMap.widget[initOptions.environment])
298
+ return;
299
+ const { eventType, data } = message.data;
300
+ if (!eventType)
301
+ return;
302
+ if (eventType === "OPEN_EXPERIENCE_REQUEST") {
303
+ openExperience(initOptions, modalElements, customApiUrlParam, token);
304
+ }
305
+ if (eventType === "INSTALLMENT_PLAN_CHOSEN") {
306
+ installment_plan_event = message;
307
+ (_a = modalElements.iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.postMessage(installment_plan_event.data, "*");
308
+ }
309
+ };
310
+ if (!eventListenersAdded.lvble) {
311
+ window.addEventListener("message", handleWidgetMessage);
312
+ eventListenersAdded.lvble = true;
313
+ mixpanel_browser_1.default.init(MIXPANEL_TOKEN, { debug: false });
314
+ }
315
+ // Set observers for widget visibility
316
+ observer.observe(widget);
317
+ waitForWidget();
318
+ return widget;
319
+ };
320
+ const createAnonymousWidget = (initOptions, eventListenersAdded) => {
321
+ widget = new LvbleWidget();
322
+ widget.environment = initOptions.environment;
323
+ widget.customApiUrlParam = initOptions.customApiUrl || "";
324
+ widget.pms = initOptions.pms;
325
+ widget.signature = initOptions.signature;
326
+ widget.externalId = initOptions.externalId;
327
+ widget.balance = initOptions.balance;
328
+ widget.onEvent = initOptions.onEvent;
329
+ modalElements.iframe.src = `${envToBaseUrlMap.experience[initOptions.environment]}`;
330
+ const handleWidgetMessage = (message) => {
331
+ var _a;
332
+ if (message.origin !== envToBaseUrlMap.widget[initOptions.environment])
333
+ return;
334
+ const { eventType, data } = message.data;
335
+ if (!eventType)
336
+ return;
337
+ if (eventType === "OPEN_EXPERIENCE_REQUEST_WAITING_FOR_TOKEN" &&
338
+ initOptions.onWidgetClickCallback) {
339
+ if (widget.token_expired) {
340
+ initOptions.onWidgetClickCallback();
341
+ }
342
+ else {
343
+ openExperienceAndSetToken(modalElements, widget.token);
344
+ }
345
+ }
346
+ if (eventType === "OPEN_EXPERIENCE_REQUEST" &&
347
+ initOptions.onWidgetClickCallback &&
348
+ widget.token) {
349
+ openExperience(initOptions, modalElements, widget.customApiUrlParam, widget.token);
350
+ }
351
+ if (eventType === "INSTALLMENT_PLAN_CHOSEN") {
352
+ installment_plan_event = message;
353
+ (_a = modalElements.iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.postMessage(installment_plan_event.data, "*");
354
+ return;
355
+ }
356
+ };
357
+ if (!eventListenersAdded.lvble) {
358
+ window.addEventListener("message", handleWidgetMessage);
359
+ eventListenersAdded.lvble = true;
360
+ mixpanel_browser_1.default.init(MIXPANEL_TOKEN, { debug: false });
361
+ }
362
+ // Set observers for widget visibility
363
+ observer.observe(widget);
364
+ waitForWidget();
365
+ return widget;
366
+ };
367
+ const openExperienceAndSetToken = (modalElements, token) => {
368
+ document.querySelectorAll("lvble-widget-v3").forEach((currentWidget) => {
369
+ var _a, _b;
370
+ const iframe = (_a = currentWidget.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("iframe");
371
+ (_b = iframe.contentWindow) === null || _b === void 0 ? void 0 : _b.postMessage({ eventType: "OPEN_EXPERIENCE_REQUEST_TOKEN_LOADED" }, "*");
372
+ });
373
+ var shouldChangeSrc = false;
374
+ console.log("LIVBLE: Token", token);
375
+ if (widget.token_expired) {
376
+ widget.token = token;
377
+ shouldChangeSrc = true;
378
+ console.log("LIVBLE: Token is expired");
379
+ }
380
+ else {
381
+ console.log("LIVBLE: Token is not expired");
382
+ }
383
+ const customApiUrlParam = (widget === null || widget === void 0 ? void 0 : widget.customApiUrlParam)
384
+ ? `&customApiUrl=${widget === null || widget === void 0 ? void 0 : widget.customApiUrlParam}`
385
+ : "";
386
+ openExperience({
387
+ environment: widget.environment,
388
+ onEvent: widget.onEvent,
389
+ }, modalElements, customApiUrlParam, token, shouldChangeSrc);
390
+ };
391
+ const openExperience = (initOptions, modalElements, customApiUrlParam, token, shouldChangeSrc = false) => {
392
+ console.log("LIVBLE: shouldChangeSrc is: ", shouldChangeSrc);
393
+ console.log("LIVBLE: smodalElements.iframe!.src: ", modalElements.iframe.src);
394
+ console.log("LIVBLE: token", modalElements.iframe.src);
395
+ if (!modalElements.iframe.src || shouldChangeSrc) {
396
+ modalElements.iframe.src = `${envToBaseUrlMap.experience[initOptions.environment]}?token=${token}${customApiUrlParam}`;
397
+ }
398
+ setTimeout(() => {
399
+ modalElements.background.hidden = false;
400
+ const handleModalMessage = (message) => {
401
+ var _a;
402
+ if (message.origin !== envToBaseUrlMap.experience[initOptions.environment])
403
+ return;
404
+ const { eventType, data } = message.data;
405
+ if (!eventType)
406
+ return;
407
+ if (eventType === "CLOSE_EXPERIENCE_REQUEST") {
408
+ modalElements.background.hidden = true;
409
+ initOptions.onEvent("EXPERIENCE_CLOSED", {});
410
+ return;
411
+ }
412
+ if (eventType === "DASHBOARD_LOADED" && installment_plan_event) {
413
+ (_a = modalElements.iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.postMessage(installment_plan_event.data, "*");
414
+ return;
415
+ }
416
+ document.querySelectorAll("lvble-widget-v3").forEach((currentWidget) => {
417
+ var _a, _b;
418
+ const iframe = (_a = currentWidget.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("iframe");
419
+ (_b = iframe.contentWindow) === null || _b === void 0 ? void 0 : _b.postMessage(message.data, "*");
420
+ });
421
+ mixpanel_browser_1.default.track("BEFORE_INVOKE_ON_EVENT", message.data);
422
+ initOptions.onEvent(eventType, data);
423
+ mixpanel_browser_1.default.track("AFTER_INVOKE_ON_EVENT", message.data);
424
+ };
425
+ if (!modalElements.background.hidden) {
426
+ window.addEventListener("message", handleModalMessage);
427
+ }
428
+ }, 300); // Give experience some time to load
429
+ };
430
+ const lvble = (initOptions) => {
431
+ if (!(initOptions === null || initOptions === void 0 ? void 0 : initOptions.onEvent) && !widget.onEvent)
432
+ throw new Error("onEvent callback is required");
433
+ if (!(initOptions === null || initOptions === void 0 ? void 0 : initOptions.environment) && !widget.environment)
434
+ throw new Error("environment is required");
435
+ if (!lvbleInitialized) {
436
+ modalElements = createModalElements({ modal: initOptions.modal });
437
+ document.body.appendChild(modalElements.background);
438
+ lvbleInitialized = true;
439
+ }
440
+ const customApiUrlParam = (initOptions === null || initOptions === void 0 ? void 0 : initOptions.customApiUrl)
441
+ ? `&customApiUrl=${initOptions === null || initOptions === void 0 ? void 0 : initOptions.customApiUrl}`
442
+ : "";
443
+ const lvbleInstance = {
444
+ isModalBuilt: false,
445
+ createWidgetWithToken: ({ token }) => createWidget(initOptions, modalElements, eventListenersAdded, customApiUrlParam, token),
446
+ createWidget: () => createAnonymousWidget(initOptions, eventListenersAdded),
447
+ open: (token) => openExperience(initOptions, modalElements, customApiUrlParam, token),
448
+ openExperienceAndSetToken: (token) => openExperienceAndSetToken(modalElements, token),
449
+ };
450
+ return lvbleInstance;
451
+ };
452
+ exports.Lvble = lvble;
453
+ //# sourceMappingURL=lvble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lvble.js","sourceRoot":"","sources":["../../src/lib/lvble.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./lvble";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./lvble";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1,63 @@
1
+ export declare enum Environment {
2
+ Local = "local",
3
+ Dev = "development",
4
+ Sandbox = "sandbox",
5
+ Production = "production"
6
+ }
7
+ export interface ModalOptions {
8
+ height: string;
9
+ }
10
+ export interface InitOptions {
11
+ environment: Environment;
12
+ onEvent: (eventType: string, data: any) => void;
13
+ modal?: ModalOptions;
14
+ customApiUrl?: string | null;
15
+ balance?: number;
16
+ pms?: string;
17
+ signature?: string;
18
+ externalId?: string;
19
+ onWidgetClickCallback?: () => void;
20
+ }
21
+ export interface WidgetOptions {
22
+ token: string;
23
+ }
24
+ declare class LvbleWidget extends HTMLElement {
25
+ _iframe?: HTMLIFrameElement;
26
+ constructor();
27
+ get environment(): Environment;
28
+ set environment(val: Environment);
29
+ get token(): string;
30
+ set token(val: string);
31
+ get token_expired(): boolean;
32
+ get customApiUrlParam(): string;
33
+ set customApiUrlParam(value: string);
34
+ get onEvent(): ((eventType: string, data: any) => void) | undefined;
35
+ set onEvent(val: ((eventType: string, data: any) => void) | undefined);
36
+ get balance(): number | undefined;
37
+ set balance(val: number | undefined);
38
+ get pms(): string | undefined;
39
+ set pms(val: string | undefined);
40
+ get signature(): string | undefined;
41
+ set signature(val: string | undefined);
42
+ get externalId(): string | undefined;
43
+ set externalId(val: string | undefined);
44
+ connectedCallback(): void;
45
+ disconnectedCallback(): void;
46
+ }
47
+ declare const lvble: (initOptions: InitOptions) => {
48
+ isModalBuilt: boolean;
49
+ createWidgetWithToken: ({ token }: WidgetOptions) => LvbleWidget;
50
+ createWidget: () => LvbleWidget;
51
+ open: (token: string) => void;
52
+ openExperienceAndSetToken: (token: string) => void;
53
+ };
54
+ export type LvbleType = ReturnType<typeof lvble>;
55
+ export declare const Lvble: (initOptions: InitOptions) => {
56
+ isModalBuilt: boolean;
57
+ createWidgetWithToken: ({ token }: WidgetOptions) => LvbleWidget;
58
+ createWidget: () => LvbleWidget;
59
+ open: (token: string) => void;
60
+ openExperienceAndSetToken: (token: string) => void;
61
+ };
62
+ export {};
63
+ //# sourceMappingURL=lvble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lvble.d.ts","sourceRoot":"","sources":["../../src/lib/lvble.ts"],"names":[],"mappings":"AAEA,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,GAAG,gBAAgB;IACnB,OAAO,YAAY;IACnB,UAAU,eAAe;CAC1B;AAkBD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAiED,cAAM,WAAY,SAAQ,WAAW;IACnC,OAAO,CAAC,EAAE,iBAAiB,CAAC;;IAQ5B,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,IAAI,WAAW,CAAC,GAAG,EAAE,WAAW,EAI/B;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAGpB;IAED,IAAI,aAAa,IAAI,OAAO,CAc3B;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAMlC;IAED,IAAI,OAAO,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,CAQlE;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,EAIpE;IAED,IAAI,OAAO,IAAI,MAAM,GAAG,SAAS,CAGhC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAIlC;IAED,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAE9B;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAIpC;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED,IAAI,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAIrC;IAED,iBAAiB;IA6EjB,oBAAoB;CAGrB;AA0RD,QAAA,MAAM,KAAK,gBAAiB,WAAW;;uCAmBA,aAAa;;kBAYlC,MAAM;uCAGe,MAAM;CAK5C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACjD,eAAO,MAAM,KAAK,gBA1CU,WAAW;;uCAmBA,aAAa;;kBAYlC,MAAM;uCAGe,MAAM;CAQnB,CAAC"}