@lvble/core 2.0.59 → 3.0.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/lvble.d.ts +9 -27
- package/dist/lib/lvble.d.ts.map +1 -1
- package/dist/lib/lvble.js +129 -158
- package/dist/lib/lvble.js.map +1 -1
- package/dist/lib-esm/lvble.d.ts +9 -27
- package/dist/lib-esm/lvble.d.ts.map +1 -1
- package/dist/lib-esm/lvble.js +129 -158
- package/dist/lib-esm/lvble.js.map +1 -1
- package/package.json +2 -1
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
|
}
|
|
@@ -12,10 +11,7 @@ export interface InitOptions {
|
|
|
12
11
|
environment: Environment;
|
|
13
12
|
onEvent: (eventType: string, data: any) => void;
|
|
14
13
|
modal?: ModalOptions;
|
|
15
|
-
|
|
16
|
-
export interface OpenOptions {
|
|
17
|
-
mode?: Mode;
|
|
18
|
-
token: string;
|
|
14
|
+
customApiUrl?: string | null;
|
|
19
15
|
}
|
|
20
16
|
export interface WidgetOptions {
|
|
21
17
|
token: string;
|
|
@@ -27,35 +23,21 @@ declare class LvbleWidget extends HTMLElement {
|
|
|
27
23
|
set environment(val: Environment);
|
|
28
24
|
get token(): string;
|
|
29
25
|
set token(val: string);
|
|
26
|
+
get customApiUrlParam(): string;
|
|
27
|
+
set customApiUrlParam(value: string);
|
|
30
28
|
connectedCallback(): void;
|
|
31
29
|
disconnectedCallback(): void;
|
|
32
30
|
}
|
|
33
31
|
declare const lvble: (initOptions: InitOptions) => {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
* @returns A lvble widget. Note that it detects mode automagically.
|
|
38
|
-
*/
|
|
39
|
-
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
40
|
-
/**
|
|
41
|
-
* This function opens a modal with the relevant mode.
|
|
42
|
-
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
|
43
|
-
*/
|
|
44
|
-
open: (openOptions: OpenOptions) => void;
|
|
32
|
+
isModalBuilt: boolean;
|
|
33
|
+
createWidget: ({ token }: WidgetOptions) => LvbleWidget;
|
|
34
|
+
open: (token: string) => void;
|
|
45
35
|
};
|
|
46
36
|
export type LvbleType = ReturnType<typeof lvble>;
|
|
47
37
|
export declare const Lvble: (initOptions: InitOptions) => {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
* @returns A lvble widget. Note that it detects mode automagically.
|
|
52
|
-
*/
|
|
53
|
-
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
54
|
-
/**
|
|
55
|
-
* This function opens a modal with the relevant mode.
|
|
56
|
-
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
|
57
|
-
*/
|
|
58
|
-
open: (openOptions: OpenOptions) => void;
|
|
38
|
+
isModalBuilt: boolean;
|
|
39
|
+
createWidget: ({ token }: WidgetOptions) => LvbleWidget;
|
|
40
|
+
open: (token: string) => void;
|
|
59
41
|
};
|
|
60
42
|
export {};
|
|
61
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;AAID,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;AAuHD,QAAA,MAAM,KAAK,gBAAiB,WAAW;;8BAuBT,aAAa;kBASzB,MAAM;CAKvB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACjD,eAAO,MAAM,KAAK,gBAxCU,WAAW;;8BAuBT,aAAa;kBASzB,MAAM;CAQE,CAAC"}
|
package/dist/lib/lvble.js
CHANGED
|
@@ -9,18 +9,21 @@ 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";
|
|
24
27
|
class LvbleWidget extends HTMLElement {
|
|
25
28
|
constructor() {
|
|
26
29
|
super();
|
|
@@ -37,35 +40,38 @@ class LvbleWidget extends HTMLElement {
|
|
|
37
40
|
return this.getAttribute("environment");
|
|
38
41
|
}
|
|
39
42
|
set environment(val) {
|
|
40
|
-
|
|
41
|
-
this.setAttribute("environment", val)
|
|
42
|
-
|
|
43
|
-
else {
|
|
44
|
-
this.removeAttribute("environment");
|
|
45
|
-
}
|
|
43
|
+
val
|
|
44
|
+
? this.setAttribute("environment", val)
|
|
45
|
+
: this.removeAttribute("environment");
|
|
46
46
|
}
|
|
47
47
|
get token() {
|
|
48
|
-
return this.getAttribute("token");
|
|
48
|
+
return this.getAttribute("token") || "";
|
|
49
49
|
}
|
|
50
50
|
set token(val) {
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
val ? this.setAttribute("token", val) : this.removeAttribute("token");
|
|
52
|
+
}
|
|
53
|
+
get customApiUrlParam() {
|
|
54
|
+
return this.getAttribute("custom-api-url-param") || "";
|
|
55
|
+
}
|
|
56
|
+
set customApiUrlParam(value) {
|
|
57
|
+
if (value && this.environment === Environment.Dev) {
|
|
58
|
+
this.setAttribute("custom-api-url-param", value);
|
|
53
59
|
}
|
|
54
60
|
else {
|
|
55
|
-
this.removeAttribute("
|
|
61
|
+
this.removeAttribute("custom-api-url-param");
|
|
56
62
|
}
|
|
57
63
|
}
|
|
58
64
|
connectedCallback() {
|
|
59
65
|
var _a;
|
|
60
|
-
const iframeSrc = `${envToBaseUrlMapWidget[this.environment]}?token=${this.token}&environment=${this.environment}`;
|
|
61
66
|
const iframe = document.createElement("iframe");
|
|
62
|
-
iframe.src =
|
|
63
|
-
iframe.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
iframe.src = `${envToBaseUrlMap.widget[this.environment]}?token=${this.token}&environment=${this.environment}${this.customApiUrlParam}`;
|
|
68
|
+
iframe.style.cssText = `
|
|
69
|
+
width: 100%;
|
|
70
|
+
height: 100%;
|
|
71
|
+
border: solid transparent;
|
|
72
|
+
border-radius: 10px;
|
|
73
|
+
min-height: inherit;
|
|
74
|
+
`;
|
|
69
75
|
this._iframe = iframe;
|
|
70
76
|
(_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(iframe);
|
|
71
77
|
}
|
|
@@ -75,143 +81,108 @@ class LvbleWidget extends HTMLElement {
|
|
|
75
81
|
}
|
|
76
82
|
}
|
|
77
83
|
customElements.define("lvble-widget", LvbleWidget);
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
84
|
+
const createModalElements = ({ modal }) => {
|
|
85
|
+
const iframe = document.createElement("iframe");
|
|
86
|
+
iframe.style.cssText = `
|
|
87
|
+
position: absolute;
|
|
88
|
+
top: calc(50dvh);
|
|
89
|
+
left: 50vw;
|
|
90
|
+
transform: translate(-50%, -50%);
|
|
91
|
+
width: min(95dvw, 360px);
|
|
92
|
+
height: clamp(min(75dvh, 750px), ${(modal === null || modal === void 0 ? void 0 : modal.height) || "95dvh"}, min(95dvh, 750px));
|
|
93
|
+
background-color: white;
|
|
94
|
+
border: solid transparent 1px;
|
|
95
|
+
border-radius: 10px;
|
|
96
|
+
`;
|
|
97
|
+
const background = document.createElement("div");
|
|
98
|
+
background.style.cssText = `
|
|
99
|
+
position: fixed;
|
|
100
|
+
top: 0;
|
|
101
|
+
left: 0;
|
|
102
|
+
width: 100%;
|
|
103
|
+
height: 100%;
|
|
104
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
105
|
+
z-index: 2147483647;
|
|
106
|
+
`;
|
|
107
|
+
background.hidden = true;
|
|
108
|
+
background.appendChild(iframe);
|
|
109
|
+
return { background, iframe };
|
|
110
|
+
};
|
|
111
|
+
const createWidget = (initOptions, modalElements, eventListenersAdded, customApiUrlParam, token) => {
|
|
112
|
+
const widget = new LvbleWidget();
|
|
113
|
+
widget.environment = initOptions.environment;
|
|
114
|
+
widget.token = token;
|
|
115
|
+
widget.customApiUrlParam = customApiUrlParam;
|
|
116
|
+
modalElements.iframe.src = `${envToBaseUrlMap.experience[initOptions.environment]}?token=${token}${customApiUrlParam}`;
|
|
117
|
+
document.body.appendChild(modalElements.background);
|
|
118
|
+
const handleWidgetMessage = (message) => {
|
|
119
|
+
if (message.origin !== envToBaseUrlMap.widget[initOptions.environment])
|
|
120
|
+
return;
|
|
121
|
+
const { eventType, data } = message.data;
|
|
122
|
+
if (!eventType)
|
|
123
|
+
return;
|
|
124
|
+
if (eventType === "OPEN_EXPERIENCE_REQUEST") {
|
|
125
|
+
openExperience(initOptions, modalElements, customApiUrlParam, token);
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
if (!eventListenersAdded.lvble) {
|
|
129
|
+
window.addEventListener("message", handleWidgetMessage);
|
|
130
|
+
eventListenersAdded.lvble = true;
|
|
131
|
+
mixpanel_browser_1.default.init(MIXPANEL_TOKEN, { debug: false });
|
|
132
|
+
}
|
|
133
|
+
return widget;
|
|
134
|
+
};
|
|
135
|
+
const openExperience = (initOptions, modalElements, customApiUrlParam, token) => {
|
|
136
|
+
if (!modalElements.iframe.src) {
|
|
137
|
+
modalElements.iframe.src = `${envToBaseUrlMap.experience[initOptions.environment]}?token=${token}${customApiUrlParam}`;
|
|
138
|
+
document.body.appendChild(modalElements.background);
|
|
139
|
+
}
|
|
140
|
+
modalElements.background.hidden = false;
|
|
141
|
+
const handleModalMessage = (message) => {
|
|
142
|
+
if (message.origin !== envToBaseUrlMap.experience[initOptions.environment])
|
|
143
|
+
return;
|
|
144
|
+
const { eventType, data } = message.data;
|
|
145
|
+
if (!eventType)
|
|
146
|
+
return;
|
|
147
|
+
if (eventType === "CLOSE_EXPERIENCE_REQUEST") {
|
|
148
|
+
modalElements.background.hidden = true;
|
|
149
|
+
initOptions.onEvent("EXPERIENCE_CLOSED", {});
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
document.querySelectorAll("lvble-widget").forEach((widget) => {
|
|
153
|
+
var _a, _b;
|
|
154
|
+
const iframe = (_a = widget.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("iframe");
|
|
155
|
+
(_b = iframe.contentWindow) === null || _b === void 0 ? void 0 : _b.postMessage(message.data, "*");
|
|
156
|
+
});
|
|
157
|
+
mixpanel_browser_1.default.track("BEFORE_INVOKE_ON_EVENT", message.data);
|
|
158
|
+
initOptions.onEvent(eventType, data);
|
|
159
|
+
mixpanel_browser_1.default.track("AFTER_INVOKE_ON_EVENT", message.data);
|
|
160
|
+
};
|
|
161
|
+
if (!modalElements.background.hidden) {
|
|
162
|
+
window.addEventListener("message", handleModalMessage);
|
|
163
|
+
}
|
|
113
164
|
};
|
|
114
165
|
const lvble = (initOptions) => {
|
|
115
|
-
|
|
116
|
-
* Note: you can only register for onEvent once.
|
|
117
|
-
*/
|
|
118
|
-
if (!initOptions.onEvent) {
|
|
166
|
+
if (!initOptions.onEvent)
|
|
119
167
|
throw new Error("onEvent callback is required");
|
|
120
|
-
|
|
121
|
-
if (!initOptions.environment) {
|
|
168
|
+
if (!initOptions.environment)
|
|
122
169
|
throw new Error("environment is required");
|
|
123
|
-
|
|
170
|
+
let lvbleInitialized = false;
|
|
171
|
+
let eventListenersAdded = { lvble: false, open: false };
|
|
172
|
+
let modalElements = {};
|
|
124
173
|
if (!lvbleInitialized) {
|
|
125
|
-
|
|
126
|
-
modal: initOptions.modal,
|
|
127
|
-
});
|
|
128
|
-
modalBackground = result.modalBackground;
|
|
129
|
-
modalIframe = result.modalIframe;
|
|
174
|
+
modalElements = createModalElements({ modal: initOptions.modal });
|
|
130
175
|
lvbleInitialized = true;
|
|
131
176
|
}
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
const widget = new LvbleWidget();
|
|
140
|
-
widget.environment = initOptions.environment;
|
|
141
|
-
widget.token = widgetOptions.token;
|
|
142
|
-
const messageListener = (message) => {
|
|
143
|
-
// Verify we got a valid message from the iframe.
|
|
144
|
-
if (message.origin != envToBaseUrlMapWidget[initOptions.environment]) {
|
|
145
|
-
console.debug(`Received message from unknown origin: ${message.origin}`);
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
const eventData = message.data;
|
|
149
|
-
if (!eventData.eventType) {
|
|
150
|
-
console.debug(`Received message without eventType: ${JSON.stringify(eventData)}`);
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
if (eventData.eventType === "OPEN_EXPERIENCE_REQUEST") {
|
|
154
|
-
modalIframe.src = `${envToBaseUrlMapExperience[initOptions.environment]}?token=${widgetOptions.token}`;
|
|
155
|
-
l.open({ token: widgetOptions.token });
|
|
156
|
-
}
|
|
157
|
-
};
|
|
158
|
-
if (!eventListenerLvbleAdded) {
|
|
159
|
-
window.addEventListener("message", messageListener);
|
|
160
|
-
eventListenerLvbleAdded = true;
|
|
161
|
-
mixpanel_browser_1.default.init("9ad1530a57a977ab9d4005e2ba11ab4a", { debug: true });
|
|
162
|
-
}
|
|
163
|
-
return widget;
|
|
164
|
-
},
|
|
165
|
-
/**
|
|
166
|
-
* This function opens a modal with the relevant mode.
|
|
167
|
-
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
|
168
|
-
*/
|
|
169
|
-
open: (openOptions) => {
|
|
170
|
-
const modeUrlMap = {
|
|
171
|
-
onboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
172
|
-
offboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
173
|
-
split: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
174
|
-
repay: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
175
|
-
};
|
|
176
|
-
const modeUrl = openOptions.mode
|
|
177
|
-
? modeUrlMap[openOptions.mode]
|
|
178
|
-
: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`;
|
|
179
|
-
modalIframe.src = modeUrl;
|
|
180
|
-
document.body.appendChild(modalBackground);
|
|
181
|
-
const messageListener = (message) => {
|
|
182
|
-
// Verify we got a valid message from the iframe.
|
|
183
|
-
if (message.origin != envToBaseUrlMapExperience[initOptions.environment]) {
|
|
184
|
-
console.debug(`Received message from unknown origin: ${message.origin} Expecting only ${envToBaseUrlMapExperience[initOptions.environment]}`);
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
const eventData = message.data;
|
|
188
|
-
if (!eventData.eventType) {
|
|
189
|
-
console.debug(`Received message without eventType: ${JSON.stringify(eventData)}`);
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
if (eventData.eventType === "CLOSE_EXPERIENCE_REQUEST") {
|
|
193
|
-
document.body.removeChild(modalBackground);
|
|
194
|
-
initOptions.onEvent("EXPERIENCE_CLOSED", {});
|
|
195
|
-
return;
|
|
196
|
-
}
|
|
197
|
-
// TODO: Consider using websocket in iframes instead of posting messages to them.
|
|
198
|
-
const iframes = document.querySelectorAll("lvble-widget");
|
|
199
|
-
iframes.forEach((w) => {
|
|
200
|
-
var _a, _b;
|
|
201
|
-
(_b = ((_a = w.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("iframe")).contentWindow) === null || _b === void 0 ? void 0 : _b.postMessage(eventData, "*");
|
|
202
|
-
});
|
|
203
|
-
mixpanel_browser_1.default.track("BEFORE_INVOKE_ON_EVENT", eventData);
|
|
204
|
-
initOptions.onEvent(eventData.eventType, eventData.data);
|
|
205
|
-
mixpanel_browser_1.default.track("AFTER_INVOKE_ON_EVENT", eventData);
|
|
206
|
-
};
|
|
207
|
-
if (!eventListenerOpenAdded) {
|
|
208
|
-
window.addEventListener("message", messageListener);
|
|
209
|
-
eventListenerOpenAdded = true;
|
|
210
|
-
mixpanel_browser_1.default.init("9ad1530a57a977ab9d4005e2ba11ab4a", { debug: true });
|
|
211
|
-
}
|
|
212
|
-
},
|
|
177
|
+
const customApiUrlParam = initOptions.customApiUrl
|
|
178
|
+
? `&customApiUrl=${initOptions.customApiUrl}`
|
|
179
|
+
: "";
|
|
180
|
+
const lvbleInstance = {
|
|
181
|
+
isModalBuilt: false,
|
|
182
|
+
createWidget: ({ token }) => createWidget(initOptions, modalElements, eventListenersAdded, customApiUrlParam, token),
|
|
183
|
+
open: (token) => openExperience(initOptions, modalElements, customApiUrlParam, token),
|
|
213
184
|
};
|
|
214
|
-
return
|
|
185
|
+
return lvbleInstance;
|
|
215
186
|
};
|
|
216
187
|
exports.Lvble = lvble;
|
|
217
188
|
//# 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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"}
|
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
|
}
|
|
@@ -12,10 +11,7 @@ export interface InitOptions {
|
|
|
12
11
|
environment: Environment;
|
|
13
12
|
onEvent: (eventType: string, data: any) => void;
|
|
14
13
|
modal?: ModalOptions;
|
|
15
|
-
|
|
16
|
-
export interface OpenOptions {
|
|
17
|
-
mode?: Mode;
|
|
18
|
-
token: string;
|
|
14
|
+
customApiUrl?: string | null;
|
|
19
15
|
}
|
|
20
16
|
export interface WidgetOptions {
|
|
21
17
|
token: string;
|
|
@@ -27,35 +23,21 @@ declare class LvbleWidget extends HTMLElement {
|
|
|
27
23
|
set environment(val: Environment);
|
|
28
24
|
get token(): string;
|
|
29
25
|
set token(val: string);
|
|
26
|
+
get customApiUrlParam(): string;
|
|
27
|
+
set customApiUrlParam(value: string);
|
|
30
28
|
connectedCallback(): void;
|
|
31
29
|
disconnectedCallback(): void;
|
|
32
30
|
}
|
|
33
31
|
declare const lvble: (initOptions: InitOptions) => {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
* @returns A lvble widget. Note that it detects mode automagically.
|
|
38
|
-
*/
|
|
39
|
-
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
40
|
-
/**
|
|
41
|
-
* This function opens a modal with the relevant mode.
|
|
42
|
-
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
|
43
|
-
*/
|
|
44
|
-
open: (openOptions: OpenOptions) => void;
|
|
32
|
+
isModalBuilt: boolean;
|
|
33
|
+
createWidget: ({ token }: WidgetOptions) => LvbleWidget;
|
|
34
|
+
open: (token: string) => void;
|
|
45
35
|
};
|
|
46
36
|
export type LvbleType = ReturnType<typeof lvble>;
|
|
47
37
|
export declare const Lvble: (initOptions: InitOptions) => {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
* @returns A lvble widget. Note that it detects mode automagically.
|
|
52
|
-
*/
|
|
53
|
-
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
54
|
-
/**
|
|
55
|
-
* This function opens a modal with the relevant mode.
|
|
56
|
-
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
|
57
|
-
*/
|
|
58
|
-
open: (openOptions: OpenOptions) => void;
|
|
38
|
+
isModalBuilt: boolean;
|
|
39
|
+
createWidget: ({ token }: WidgetOptions) => LvbleWidget;
|
|
40
|
+
open: (token: string) => void;
|
|
59
41
|
};
|
|
60
42
|
export {};
|
|
61
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;AAID,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;AAuHD,QAAA,MAAM,KAAK,gBAAiB,WAAW;;8BAuBT,aAAa;kBASzB,MAAM;CAKvB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACjD,eAAO,MAAM,KAAK,gBAxCU,WAAW;;8BAuBT,aAAa;kBASzB,MAAM;CAQE,CAAC"}
|