@lvble/core 2.0.70 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -9
- package/dist/_bundles/core.js +1 -1
- package/dist/_bundles/core.js.map +1 -1
- package/dist/_bundles/core.min.js +1 -1
- package/dist/_bundles/core.min.js.map +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/lvble.d.ts +4 -27
- package/dist/lib/lvble.d.ts.map +1 -1
- package/dist/lib/lvble.js +121 -192
- package/dist/lib/lvble.js.map +1 -1
- package/dist/lib-esm/index.d.ts.map +1 -1
- package/dist/lib-esm/index.js.map +1 -1
- package/dist/lib-esm/lvble.d.ts +4 -27
- package/dist/lib-esm/lvble.d.ts.map +1 -1
- package/dist/lib-esm/lvble.js +121 -192
- package/dist/lib-esm/lvble.js.map +1 -1
- package/package.json +2 -1
package/dist/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
|
package/dist/lib/lvble.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ export declare enum Environment {
|
|
|
4
4
|
Sandbox = "sandbox",
|
|
5
5
|
Production = "production"
|
|
6
6
|
}
|
|
7
|
-
export type Mode = "onboarding" | "offboarding" | "split" | "repay";
|
|
8
7
|
export interface ModalOptions {
|
|
9
8
|
height: string;
|
|
10
9
|
}
|
|
@@ -14,10 +13,6 @@ export interface InitOptions {
|
|
|
14
13
|
modal?: ModalOptions;
|
|
15
14
|
customApiUrl?: string | null;
|
|
16
15
|
}
|
|
17
|
-
export interface OpenOptions {
|
|
18
|
-
mode?: Mode;
|
|
19
|
-
token: string;
|
|
20
|
-
}
|
|
21
16
|
export interface WidgetOptions {
|
|
22
17
|
token: string;
|
|
23
18
|
}
|
|
@@ -35,32 +30,14 @@ declare class LvbleWidget extends HTMLElement {
|
|
|
35
30
|
}
|
|
36
31
|
declare const lvble: (initOptions: InitOptions) => {
|
|
37
32
|
isModalBuilt: boolean;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
*
|
|
41
|
-
* @returns A lvble widget. Note that it detects mode automatically.
|
|
42
|
-
*/
|
|
43
|
-
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
44
|
-
/**
|
|
45
|
-
* This function opens a modal with the relevant mode.
|
|
46
|
-
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
|
47
|
-
*/
|
|
48
|
-
open: (openOptions: OpenOptions) => void;
|
|
33
|
+
createWidget: ({ token }: WidgetOptions) => LvbleWidget;
|
|
34
|
+
open: (token: string) => void;
|
|
49
35
|
};
|
|
50
36
|
export type LvbleType = ReturnType<typeof lvble>;
|
|
51
37
|
export declare const Lvble: (initOptions: InitOptions) => {
|
|
52
38
|
isModalBuilt: boolean;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
*
|
|
56
|
-
* @returns A lvble widget. Note that it detects mode automatically.
|
|
57
|
-
*/
|
|
58
|
-
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
59
|
-
/**
|
|
60
|
-
* This function opens a modal with the relevant mode.
|
|
61
|
-
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
|
62
|
-
*/
|
|
63
|
-
open: (openOptions: OpenOptions) => void;
|
|
39
|
+
createWidget: ({ token }: WidgetOptions) => LvbleWidget;
|
|
40
|
+
open: (token: string) => void;
|
|
64
41
|
};
|
|
65
42
|
export {};
|
|
66
43
|
//# sourceMappingURL=lvble.d.ts.map
|
package/dist/lib/lvble.d.ts.map
CHANGED
|
@@ -1 +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;
|
|
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;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAUD,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,EAEpB;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAMlC;IAED,iBAAiB;IAgBjB,oBAAoB;CAGrB;AA8JD,QAAA,MAAM,KAAK,gBAAiB,WAAW;;8BAgBT,aAAa;kBASzB,MAAM;CAKvB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACjD,eAAO,MAAM,KAAK,gBAjCU,WAAW;;8BAgBT,aAAa;kBASzB,MAAM;CAQE,CAAC"}
|
package/dist/lib/lvble.js
CHANGED
|
@@ -9,18 +9,24 @@ var Environment;
|
|
|
9
9
|
Environment["Sandbox"] = "sandbox";
|
|
10
10
|
Environment["Production"] = "production";
|
|
11
11
|
})(Environment || (exports.Environment = Environment = {}));
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
+
},
|
|
23
25
|
};
|
|
26
|
+
const MIXPANEL_TOKEN = "9ad1530a57a977ab9d4005e2ba11ab4a";
|
|
27
|
+
let lvbleInitialized = false;
|
|
28
|
+
let eventListenersAdded = { lvble: false, open: false };
|
|
29
|
+
let modalElements = {};
|
|
24
30
|
class LvbleWidget extends HTMLElement {
|
|
25
31
|
constructor() {
|
|
26
32
|
super();
|
|
@@ -37,31 +43,20 @@ class LvbleWidget extends HTMLElement {
|
|
|
37
43
|
return this.getAttribute("environment");
|
|
38
44
|
}
|
|
39
45
|
set environment(val) {
|
|
40
|
-
|
|
41
|
-
this.setAttribute("environment", val)
|
|
42
|
-
|
|
43
|
-
else {
|
|
44
|
-
this.removeAttribute("environment");
|
|
45
|
-
}
|
|
46
|
+
val
|
|
47
|
+
? this.setAttribute("environment", val)
|
|
48
|
+
: this.removeAttribute("environment");
|
|
46
49
|
}
|
|
47
50
|
get token() {
|
|
48
|
-
return this.getAttribute("token");
|
|
51
|
+
return this.getAttribute("token") || "";
|
|
49
52
|
}
|
|
50
53
|
set token(val) {
|
|
51
|
-
|
|
52
|
-
this.setAttribute("token", val);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
this.removeAttribute("token");
|
|
56
|
-
}
|
|
54
|
+
val ? this.setAttribute("token", val) : this.removeAttribute("token");
|
|
57
55
|
}
|
|
58
56
|
get customApiUrlParam() {
|
|
59
|
-
// This api url will be used in the widget and the experience instead of the existing url
|
|
60
57
|
return this.getAttribute("custom-api-url-param") || "";
|
|
61
58
|
}
|
|
62
59
|
set customApiUrlParam(value) {
|
|
63
|
-
// This api url will be used in the widget and the experience instead of the existing url
|
|
64
|
-
// Only allow setting the custom url if this is dev environment
|
|
65
60
|
if (value && this.environment === Environment.Dev) {
|
|
66
61
|
this.setAttribute("custom-api-url-param", value);
|
|
67
62
|
}
|
|
@@ -71,15 +66,15 @@ class LvbleWidget extends HTMLElement {
|
|
|
71
66
|
}
|
|
72
67
|
connectedCallback() {
|
|
73
68
|
var _a;
|
|
74
|
-
const iframeSrc = `${envToBaseUrlMapWidget[this.environment]}?token=${this.token}&environment=${this.environment}${this.customApiUrlParam}`;
|
|
75
69
|
const iframe = document.createElement("iframe");
|
|
76
|
-
iframe.src =
|
|
77
|
-
iframe.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
70
|
+
iframe.src = `${envToBaseUrlMap.widget[this.environment]}?token=${this.token}&environment=${this.environment}${this.customApiUrlParam}`;
|
|
71
|
+
iframe.style.cssText = `
|
|
72
|
+
width: 100%;
|
|
73
|
+
height: 100%;
|
|
74
|
+
border: solid transparent;
|
|
75
|
+
border-radius: 10px;
|
|
76
|
+
min-height: 220px;
|
|
77
|
+
`;
|
|
83
78
|
this._iframe = iframe;
|
|
84
79
|
(_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(iframe);
|
|
85
80
|
}
|
|
@@ -89,39 +84,33 @@ class LvbleWidget extends HTMLElement {
|
|
|
89
84
|
}
|
|
90
85
|
}
|
|
91
86
|
customElements.define("lvble-widget", LvbleWidget);
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
modalIframe.style.left = l;
|
|
105
|
-
modalIframe.style.transform = `translate(-50%, -50%)`;
|
|
106
|
-
modalIframe.style.width = `min(95dvw, 360px)`;
|
|
107
|
-
modalIframe.style.borderRadius = "10px";
|
|
108
|
-
modalIframe.style.borderStyle = "solid";
|
|
109
|
-
modalIframe.style.borderColor = "transparent";
|
|
110
|
-
modalIframe.style.borderWidth = "1px";
|
|
87
|
+
const createModalElements = ({ modal }) => {
|
|
88
|
+
const iframe = document.createElement("iframe");
|
|
89
|
+
iframe.className = "livble-modal-iframe";
|
|
90
|
+
iframe.style.cssText = `
|
|
91
|
+
position: absolute;
|
|
92
|
+
top: calc(50dvh);
|
|
93
|
+
left: 50vw;
|
|
94
|
+
transform: translate(-50%, -50%);
|
|
95
|
+
width: min(95dvw, 360px);
|
|
96
|
+
border: solid transparent 1px;
|
|
97
|
+
border-radius: 10px;
|
|
98
|
+
`;
|
|
111
99
|
if (modal === null || modal === void 0 ? void 0 : modal.height) {
|
|
112
|
-
|
|
113
|
-
}
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
100
|
+
iframe.style.height = modal.height;
|
|
101
|
+
}
|
|
102
|
+
const background = document.createElement("div");
|
|
103
|
+
background.style.cssText = `
|
|
104
|
+
position: fixed;
|
|
105
|
+
top: 0;
|
|
106
|
+
left: 0;
|
|
107
|
+
width: 100%;
|
|
108
|
+
height: 100%;
|
|
109
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
110
|
+
z-index: 2147483647;
|
|
111
|
+
`;
|
|
112
|
+
background.hidden = true;
|
|
113
|
+
background.appendChild(iframe);
|
|
125
114
|
let isUiwebview = /((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent);
|
|
126
115
|
if (isUiwebview) {
|
|
127
116
|
const style = document.createElement("style");
|
|
@@ -142,7 +131,7 @@ const createModal = ({ modal }) => {
|
|
|
142
131
|
}
|
|
143
132
|
}
|
|
144
133
|
`;
|
|
145
|
-
|
|
134
|
+
iframe.appendChild(style);
|
|
146
135
|
}
|
|
147
136
|
else {
|
|
148
137
|
const style = document.createElement("style");
|
|
@@ -152,142 +141,82 @@ const createModal = ({ modal }) => {
|
|
|
152
141
|
height: clamp(min(75dvh, 750px), ${(modal === null || modal === void 0 ? void 0 : modal.height) || "95dvh"}, min(95dvh, 750px));
|
|
153
142
|
}
|
|
154
143
|
`;
|
|
155
|
-
|
|
144
|
+
iframe.appendChild(style);
|
|
156
145
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
146
|
+
return { background, iframe };
|
|
147
|
+
};
|
|
148
|
+
const createWidget = (initOptions, modalElements, eventListenersAdded, customApiUrlParam, token) => {
|
|
149
|
+
const widget = new LvbleWidget();
|
|
150
|
+
widget.environment = initOptions.environment;
|
|
151
|
+
widget.token = token;
|
|
152
|
+
widget.customApiUrlParam = customApiUrlParam;
|
|
153
|
+
modalElements.iframe.src = `${envToBaseUrlMap.experience[initOptions.environment]}?token=${token}${customApiUrlParam}`;
|
|
154
|
+
document.body.appendChild(modalElements.background);
|
|
155
|
+
const handleWidgetMessage = (message) => {
|
|
156
|
+
if (message.origin !== envToBaseUrlMap.widget[initOptions.environment])
|
|
157
|
+
return;
|
|
158
|
+
const { eventType, data } = message.data;
|
|
159
|
+
if (!eventType)
|
|
160
|
+
return;
|
|
161
|
+
if (eventType === "OPEN_EXPERIENCE_REQUEST") {
|
|
162
|
+
openExperience(initOptions, modalElements, customApiUrlParam, token);
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
if (!eventListenersAdded.lvble) {
|
|
166
|
+
window.addEventListener("message", handleWidgetMessage);
|
|
167
|
+
eventListenersAdded.lvble = true;
|
|
168
|
+
mixpanel_browser_1.default.init(MIXPANEL_TOKEN, { debug: false });
|
|
162
169
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
170
|
+
return widget;
|
|
171
|
+
};
|
|
172
|
+
const openExperience = (initOptions, modalElements, customApiUrlParam, token) => {
|
|
173
|
+
if (!modalElements.iframe.src) {
|
|
174
|
+
modalElements.iframe.src = `${envToBaseUrlMap.experience[initOptions.environment]}?token=${token}${customApiUrlParam}`;
|
|
175
|
+
document.body.appendChild(modalElements.background);
|
|
176
|
+
}
|
|
177
|
+
modalElements.background.hidden = false;
|
|
178
|
+
const handleModalMessage = (message) => {
|
|
179
|
+
if (message.origin !== envToBaseUrlMap.experience[initOptions.environment])
|
|
180
|
+
return;
|
|
181
|
+
const { eventType, data } = message.data;
|
|
182
|
+
if (!eventType)
|
|
183
|
+
return;
|
|
184
|
+
if (eventType === "CLOSE_EXPERIENCE_REQUEST") {
|
|
185
|
+
modalElements.background.hidden = true;
|
|
186
|
+
initOptions.onEvent("EXPERIENCE_CLOSED", {});
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
document.querySelectorAll("lvble-widget").forEach((widget) => {
|
|
190
|
+
var _a, _b;
|
|
191
|
+
const iframe = (_a = widget.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("iframe");
|
|
192
|
+
(_b = iframe.contentWindow) === null || _b === void 0 ? void 0 : _b.postMessage(message.data, "*");
|
|
193
|
+
});
|
|
194
|
+
mixpanel_browser_1.default.track("BEFORE_INVOKE_ON_EVENT", message.data);
|
|
195
|
+
initOptions.onEvent(eventType, data);
|
|
196
|
+
mixpanel_browser_1.default.track("AFTER_INVOKE_ON_EVENT", message.data);
|
|
197
|
+
};
|
|
198
|
+
if (!modalElements.background.hidden) {
|
|
199
|
+
window.addEventListener("message", handleModalMessage);
|
|
167
200
|
}
|
|
168
|
-
`;
|
|
169
|
-
return { modalBackground, modalIframe };
|
|
170
201
|
};
|
|
171
202
|
const lvble = (initOptions) => {
|
|
172
|
-
|
|
173
|
-
* Note: you can only register for onEvent once.
|
|
174
|
-
*/
|
|
175
|
-
if (!initOptions.onEvent) {
|
|
203
|
+
if (!initOptions.onEvent)
|
|
176
204
|
throw new Error("onEvent callback is required");
|
|
177
|
-
|
|
178
|
-
if (!initOptions.environment) {
|
|
205
|
+
if (!initOptions.environment)
|
|
179
206
|
throw new Error("environment is required");
|
|
180
|
-
}
|
|
181
207
|
if (!lvbleInitialized) {
|
|
182
|
-
|
|
183
|
-
modal: initOptions.modal,
|
|
184
|
-
});
|
|
185
|
-
modalBackground = result.modalBackground;
|
|
186
|
-
modalIframe = result.modalIframe;
|
|
208
|
+
modalElements = createModalElements({ modal: initOptions.modal });
|
|
187
209
|
lvbleInitialized = true;
|
|
188
210
|
}
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
211
|
+
const customApiUrlParam = initOptions.customApiUrl
|
|
212
|
+
? `&customApiUrl=${initOptions.customApiUrl}`
|
|
213
|
+
: "";
|
|
214
|
+
const lvbleInstance = {
|
|
193
215
|
isModalBuilt: false,
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
*
|
|
197
|
-
* @returns A lvble widget. Note that it detects mode automatically.
|
|
198
|
-
*/
|
|
199
|
-
createWidget: (widgetOptions) => {
|
|
200
|
-
const widget = new LvbleWidget();
|
|
201
|
-
widget.environment = initOptions.environment;
|
|
202
|
-
widget.token = widgetOptions.token;
|
|
203
|
-
widget.customApiUrlParam = customApiUrlParam; // Order matters, customApiUrlParam expects environment is set.
|
|
204
|
-
/** The iframe is created and rendered upon widget initialization! (Eager Loading)
|
|
205
|
-
* Since the "hidden" attribute is used, we control only the modal's VISIBILITY upon opening / closing
|
|
206
|
-
*/
|
|
207
|
-
modalIframe.src = `${envToBaseUrlMapExperience[initOptions.environment]}?token=${widgetOptions.token}${customApiUrlParam}`;
|
|
208
|
-
document.body.appendChild(modalBackground);
|
|
209
|
-
l.isModalBuilt = true;
|
|
210
|
-
const messageListener = (message) => {
|
|
211
|
-
// Verify we got a valid message from the iframe.
|
|
212
|
-
if (message.origin != envToBaseUrlMapWidget[initOptions.environment]) {
|
|
213
|
-
console.debug(`Received message from unknown origin: ${message.origin}`);
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
const eventData = message.data;
|
|
217
|
-
if (!eventData.eventType) {
|
|
218
|
-
console.debug(`Received message without eventType: ${JSON.stringify(eventData)}`);
|
|
219
|
-
return;
|
|
220
|
-
}
|
|
221
|
-
if (eventData.eventType === "OPEN_EXPERIENCE_REQUEST") {
|
|
222
|
-
l.open({ token: widgetOptions.token });
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
|
-
if (!eventListenerLvbleAdded) {
|
|
226
|
-
window.addEventListener("message", messageListener);
|
|
227
|
-
eventListenerLvbleAdded = true;
|
|
228
|
-
mixpanel_browser_1.default.init("9ad1530a57a977ab9d4005e2ba11ab4a", { debug: true });
|
|
229
|
-
}
|
|
230
|
-
return widget;
|
|
231
|
-
},
|
|
232
|
-
/**
|
|
233
|
-
* This function opens a modal with the relevant mode.
|
|
234
|
-
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
|
235
|
-
*/
|
|
236
|
-
open: (openOptions) => {
|
|
237
|
-
const modeUrlMap = {
|
|
238
|
-
onboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`,
|
|
239
|
-
offboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`,
|
|
240
|
-
split: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`,
|
|
241
|
-
repay: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`,
|
|
242
|
-
};
|
|
243
|
-
/** Modal's iframe is given src and rendered ONLY in case the Livble widget is not present
|
|
244
|
-
* (Otherwise it is already initialized upon widget creation)
|
|
245
|
-
*/
|
|
246
|
-
if (!l.isModalBuilt) {
|
|
247
|
-
const modeUrl = openOptions.mode
|
|
248
|
-
? modeUrlMap[openOptions.mode]
|
|
249
|
-
: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`;
|
|
250
|
-
modalIframe.src = modeUrl;
|
|
251
|
-
document.body.appendChild(modalBackground);
|
|
252
|
-
l.isModalBuilt = true;
|
|
253
|
-
}
|
|
254
|
-
// Display modal by switching off the "hidden" attribute
|
|
255
|
-
modalBackground.hidden = false;
|
|
256
|
-
const messageListener = (message) => {
|
|
257
|
-
// Verify we got a valid message from the iframe.
|
|
258
|
-
if (message.origin != envToBaseUrlMapExperience[initOptions.environment]) {
|
|
259
|
-
console.debug(`Received message from unknown origin: ${message.origin} Expecting only ${envToBaseUrlMapExperience[initOptions.environment]}`);
|
|
260
|
-
return;
|
|
261
|
-
}
|
|
262
|
-
const eventData = message.data;
|
|
263
|
-
if (!eventData.eventType) {
|
|
264
|
-
console.debug(`Received message without eventType: ${JSON.stringify(eventData)}`);
|
|
265
|
-
return;
|
|
266
|
-
}
|
|
267
|
-
if (eventData.eventType === "CLOSE_EXPERIENCE_REQUEST") {
|
|
268
|
-
// Modal visibility is switched off (but the modal itself is not removed from the DOM)
|
|
269
|
-
modalBackground.hidden = true;
|
|
270
|
-
initOptions.onEvent("EXPERIENCE_CLOSED", {});
|
|
271
|
-
return;
|
|
272
|
-
}
|
|
273
|
-
// TODO: Consider using websocket in iframes instead of posting messages to them.
|
|
274
|
-
const iframes = document.querySelectorAll("lvble-widget");
|
|
275
|
-
iframes.forEach((w) => {
|
|
276
|
-
var _a, _b;
|
|
277
|
-
(_b = ((_a = w.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("iframe")).contentWindow) === null || _b === void 0 ? void 0 : _b.postMessage(eventData, "*");
|
|
278
|
-
});
|
|
279
|
-
mixpanel_browser_1.default.track("BEFORE_INVOKE_ON_EVENT", eventData);
|
|
280
|
-
initOptions.onEvent(eventData.eventType, eventData.data);
|
|
281
|
-
mixpanel_browser_1.default.track("AFTER_INVOKE_ON_EVENT", eventData);
|
|
282
|
-
};
|
|
283
|
-
if (!eventListenerOpenAdded) {
|
|
284
|
-
window.addEventListener("message", messageListener);
|
|
285
|
-
eventListenerOpenAdded = true;
|
|
286
|
-
mixpanel_browser_1.default.init("9ad1530a57a977ab9d4005e2ba11ab4a", { debug: true });
|
|
287
|
-
}
|
|
288
|
-
},
|
|
216
|
+
createWidget: ({ token }) => createWidget(initOptions, modalElements, eventListenersAdded, customApiUrlParam, token),
|
|
217
|
+
open: (token) => openExperience(initOptions, modalElements, customApiUrlParam, token),
|
|
289
218
|
};
|
|
290
|
-
return
|
|
219
|
+
return lvbleInstance;
|
|
291
220
|
};
|
|
292
221
|
exports.Lvble = lvble;
|
|
293
222
|
//# sourceMappingURL=lvble.js.map
|
package/dist/lib/lvble.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lvble.js","sourceRoot":"","sources":["../../src/lib/lvble.ts"],"names":[],"mappings":";;;AAAA,uDAAwC;AAExC,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,wCAAyB,CAAA;AAC3B,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;
|
|
1
|
+
{"version":3,"file":"lvble.js","sourceRoot":"","sources":["../../src/lib/lvble.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
package/dist/lib-esm/lvble.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ export declare enum Environment {
|
|
|
4
4
|
Sandbox = "sandbox",
|
|
5
5
|
Production = "production"
|
|
6
6
|
}
|
|
7
|
-
export type Mode = "onboarding" | "offboarding" | "split" | "repay";
|
|
8
7
|
export interface ModalOptions {
|
|
9
8
|
height: string;
|
|
10
9
|
}
|
|
@@ -14,10 +13,6 @@ export interface InitOptions {
|
|
|
14
13
|
modal?: ModalOptions;
|
|
15
14
|
customApiUrl?: string | null;
|
|
16
15
|
}
|
|
17
|
-
export interface OpenOptions {
|
|
18
|
-
mode?: Mode;
|
|
19
|
-
token: string;
|
|
20
|
-
}
|
|
21
16
|
export interface WidgetOptions {
|
|
22
17
|
token: string;
|
|
23
18
|
}
|
|
@@ -35,32 +30,14 @@ declare class LvbleWidget extends HTMLElement {
|
|
|
35
30
|
}
|
|
36
31
|
declare const lvble: (initOptions: InitOptions) => {
|
|
37
32
|
isModalBuilt: boolean;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
*
|
|
41
|
-
* @returns A lvble widget. Note that it detects mode automatically.
|
|
42
|
-
*/
|
|
43
|
-
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
44
|
-
/**
|
|
45
|
-
* This function opens a modal with the relevant mode.
|
|
46
|
-
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
|
47
|
-
*/
|
|
48
|
-
open: (openOptions: OpenOptions) => void;
|
|
33
|
+
createWidget: ({ token }: WidgetOptions) => LvbleWidget;
|
|
34
|
+
open: (token: string) => void;
|
|
49
35
|
};
|
|
50
36
|
export type LvbleType = ReturnType<typeof lvble>;
|
|
51
37
|
export declare const Lvble: (initOptions: InitOptions) => {
|
|
52
38
|
isModalBuilt: boolean;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
*
|
|
56
|
-
* @returns A lvble widget. Note that it detects mode automatically.
|
|
57
|
-
*/
|
|
58
|
-
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
59
|
-
/**
|
|
60
|
-
* This function opens a modal with the relevant mode.
|
|
61
|
-
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
|
62
|
-
*/
|
|
63
|
-
open: (openOptions: OpenOptions) => void;
|
|
39
|
+
createWidget: ({ token }: WidgetOptions) => LvbleWidget;
|
|
40
|
+
open: (token: string) => void;
|
|
64
41
|
};
|
|
65
42
|
export {};
|
|
66
43
|
//# sourceMappingURL=lvble.d.ts.map
|
|
@@ -1 +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;
|
|
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;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAUD,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,EAEpB;IAED,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAMlC;IAED,iBAAiB;IAgBjB,oBAAoB;CAGrB;AA8JD,QAAA,MAAM,KAAK,gBAAiB,WAAW;;8BAgBT,aAAa;kBASzB,MAAM;CAKvB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACjD,eAAO,MAAM,KAAK,gBAjCU,WAAW;;8BAgBT,aAAa;kBASzB,MAAM;CAQE,CAAC"}
|