@lvble/core 2.0.58 → 2.0.60
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/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 +7 -2
- package/dist/lib/lvble.d.ts.map +1 -1
- package/dist/lib/lvble.js +50 -17
- package/dist/lib/lvble.js.map +1 -1
- package/dist/lib-esm/lvble.d.ts +7 -2
- package/dist/lib-esm/lvble.d.ts.map +1 -1
- package/dist/lib-esm/lvble.js +50 -17
- package/dist/lib-esm/lvble.js.map +1 -1
- package/package.json +1 -1
package/dist/lib/lvble.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export interface InitOptions {
|
|
|
12
12
|
environment: Environment;
|
|
13
13
|
onEvent: (eventType: string, data: any) => void;
|
|
14
14
|
modal?: ModalOptions;
|
|
15
|
+
customApiUrl?: string | null;
|
|
15
16
|
}
|
|
16
17
|
export interface OpenOptions {
|
|
17
18
|
mode?: Mode;
|
|
@@ -27,14 +28,17 @@ declare class LvbleWidget extends HTMLElement {
|
|
|
27
28
|
set environment(val: Environment);
|
|
28
29
|
get token(): string;
|
|
29
30
|
set token(val: string);
|
|
31
|
+
get customApiUrlParam(): string;
|
|
32
|
+
set customApiUrlParam(value: string);
|
|
30
33
|
connectedCallback(): void;
|
|
31
34
|
disconnectedCallback(): void;
|
|
32
35
|
}
|
|
33
36
|
declare const lvble: (initOptions: InitOptions) => {
|
|
37
|
+
isModalBuilt: boolean;
|
|
34
38
|
/**
|
|
35
39
|
* This function creates a widget that can be embedded in your website.
|
|
36
40
|
*
|
|
37
|
-
* @returns A lvble widget. Note that it detects mode
|
|
41
|
+
* @returns A lvble widget. Note that it detects mode automatically.
|
|
38
42
|
*/
|
|
39
43
|
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
40
44
|
/**
|
|
@@ -45,10 +49,11 @@ declare const lvble: (initOptions: InitOptions) => {
|
|
|
45
49
|
};
|
|
46
50
|
export type LvbleType = ReturnType<typeof lvble>;
|
|
47
51
|
export declare const Lvble: (initOptions: InitOptions) => {
|
|
52
|
+
isModalBuilt: boolean;
|
|
48
53
|
/**
|
|
49
54
|
* This function creates a widget that can be embedded in your website.
|
|
50
55
|
*
|
|
51
|
-
* @returns A lvble widget. Note that it detects mode
|
|
56
|
+
* @returns A lvble widget. Note that it detects mode automatically.
|
|
52
57
|
*/
|
|
53
58
|
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
54
59
|
/**
|
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;AAeD,MAAM,MAAM,IAAI,GAAG,YAAY,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,YAAY;IAE3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAE1B,WAAW,EAAE,WAAW,CAAC;IAEzB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAEhD,KAAK,CAAC,EAAE,YAAY,CAAC;
|
|
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;AAeD,MAAM,MAAM,IAAI,GAAG,YAAY,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,YAAY;IAE3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAE1B,WAAW,EAAE,WAAW,CAAC;IAEzB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAEhD,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAE1B,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAE5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,cAAM,WAAY,SAAQ,WAAW;IACnC,OAAO,CAAC,EAAE,iBAAiB,CAAC;;IAQ5B,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,IAAI,WAAW,CAAC,GAAG,EAJA,WAIA,EAMlB;IAED,IAAI,KAAK,IAIM,MAAM,CAFpB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAMpB;IAED,IAAI,iBAAiB,IAAI,MAAM,CAG9B;IAED,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAQlC;IAED,iBAAiB;IAkBjB,oBAAoB;CAGrB;AAiDD,QAAA,MAAM,KAAK,gBAAiB,WAAW;;IA+BnC;;;;OAIG;kCAC2B,aAAa;IA4C3C;;;OAGG;wBACiB,WAAW;CAwFlC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AAEjD,eAAO,MAAM,KAAK,gBAhLU,WAAW;;IA+BnC;;;;OAIG;kCAC2B,aAAa;IA4C3C;;;OAGG;wBACiB,WAAW;CA4FT,CAAC"}
|
package/dist/lib/lvble.js
CHANGED
|
@@ -55,9 +55,23 @@ class LvbleWidget extends HTMLElement {
|
|
|
55
55
|
this.removeAttribute("token");
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
+
get customApiUrlParam() {
|
|
59
|
+
// This api url will be used in the widget and the experience instead of the existing url
|
|
60
|
+
return this.getAttribute("custom-api-url-param") || "";
|
|
61
|
+
}
|
|
62
|
+
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
|
+
if (value && this.environment === Environment.Dev) {
|
|
66
|
+
this.setAttribute("custom-api-url-param", value);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
this.removeAttribute("custom-api-url-param");
|
|
70
|
+
}
|
|
71
|
+
}
|
|
58
72
|
connectedCallback() {
|
|
59
73
|
var _a;
|
|
60
|
-
const iframeSrc = `${envToBaseUrlMapWidget[this.environment]}?token=${this.token}&environment=${this.environment}`;
|
|
74
|
+
const iframeSrc = `${envToBaseUrlMapWidget[this.environment]}?token=${this.token}&environment=${this.environment}${this.customApiUrlParam}`;
|
|
61
75
|
const iframe = document.createElement("iframe");
|
|
62
76
|
iframe.src = iframeSrc;
|
|
63
77
|
iframe.width = `100%`;
|
|
@@ -83,17 +97,15 @@ let modalIframe = undefined;
|
|
|
83
97
|
const createModal = ({ modal }) => {
|
|
84
98
|
var _a;
|
|
85
99
|
const modalIframe = document.createElement("iframe");
|
|
86
|
-
const w = 360;
|
|
87
|
-
const h = 75;
|
|
88
100
|
const t = `calc(50dvh)`;
|
|
89
101
|
const l = `50vw`;
|
|
90
102
|
modalIframe.style.position = "absolute";
|
|
91
103
|
modalIframe.style.top = t;
|
|
92
104
|
modalIframe.style.left = l;
|
|
93
105
|
modalIframe.style.transform = `translate(-50%, -50%)`;
|
|
94
|
-
modalIframe.style.width = `min(
|
|
106
|
+
modalIframe.style.width = `min(95dvw, 360px)`;
|
|
95
107
|
modalIframe.style.height = `clamp(
|
|
96
|
-
min(750px
|
|
108
|
+
min(75dvh, 750px),
|
|
97
109
|
${(_a = modal === null || modal === void 0 ? void 0 : modal.height) !== null && _a !== void 0 ? _a : "95dvh"},
|
|
98
110
|
min(95dvh, 750px)
|
|
99
111
|
)`;
|
|
@@ -110,6 +122,8 @@ const createModal = ({ modal }) => {
|
|
|
110
122
|
modalBackground.style.width = "100%";
|
|
111
123
|
modalBackground.style.zIndex = "2147483647";
|
|
112
124
|
modalBackground.style.backgroundColor = "rgba(0, 0, 0, 0.5)";
|
|
125
|
+
// The "hidden" property is set, so we'll be able to control the visibility later on
|
|
126
|
+
modalBackground.hidden = true;
|
|
113
127
|
modalBackground.appendChild(modalIframe);
|
|
114
128
|
return { modalBackground, modalIframe };
|
|
115
129
|
};
|
|
@@ -131,16 +145,27 @@ const lvble = (initOptions) => {
|
|
|
131
145
|
modalIframe = result.modalIframe;
|
|
132
146
|
lvbleInitialized = true;
|
|
133
147
|
}
|
|
148
|
+
// Define the custom api url parameter if passed, else empty
|
|
149
|
+
const customApiUrlParam = initOptions.customApiUrl ? `&customApiUrl=${initOptions.customApiUrl}` : "";
|
|
134
150
|
const l = {
|
|
151
|
+
// True, if the Livble widget exists in the page and triggers modal's opening
|
|
152
|
+
isModalBuilt: false,
|
|
135
153
|
/**
|
|
136
154
|
* This function creates a widget that can be embedded in your website.
|
|
137
155
|
*
|
|
138
|
-
* @returns A lvble widget. Note that it detects mode
|
|
156
|
+
* @returns A lvble widget. Note that it detects mode automatically.
|
|
139
157
|
*/
|
|
140
158
|
createWidget: (widgetOptions) => {
|
|
141
159
|
const widget = new LvbleWidget();
|
|
142
160
|
widget.environment = initOptions.environment;
|
|
143
161
|
widget.token = widgetOptions.token;
|
|
162
|
+
widget.customApiUrlParam = customApiUrlParam; // Order matters, customApiUrlParam expects environment is set.
|
|
163
|
+
/** The iframe is created and rendered upon widget initialization! (Eager Loading)
|
|
164
|
+
* Since the "hidden" attribute is used, we control only the modal's VISIBILITY upon opening / closing
|
|
165
|
+
*/
|
|
166
|
+
modalIframe.src = `${envToBaseUrlMapExperience[initOptions.environment]}?token=${widgetOptions.token}${customApiUrlParam}`;
|
|
167
|
+
document.body.appendChild(modalBackground);
|
|
168
|
+
l.isModalBuilt = true;
|
|
144
169
|
const messageListener = (message) => {
|
|
145
170
|
// Verify we got a valid message from the iframe.
|
|
146
171
|
if (message.origin != envToBaseUrlMapWidget[initOptions.environment]) {
|
|
@@ -153,7 +178,6 @@ const lvble = (initOptions) => {
|
|
|
153
178
|
return;
|
|
154
179
|
}
|
|
155
180
|
if (eventData.eventType === "OPEN_EXPERIENCE_REQUEST") {
|
|
156
|
-
modalIframe.src = `${envToBaseUrlMapExperience[initOptions.environment]}?token=${widgetOptions.token}`;
|
|
157
181
|
l.open({ token: widgetOptions.token });
|
|
158
182
|
}
|
|
159
183
|
};
|
|
@@ -170,16 +194,24 @@ const lvble = (initOptions) => {
|
|
|
170
194
|
*/
|
|
171
195
|
open: (openOptions) => {
|
|
172
196
|
const modeUrlMap = {
|
|
173
|
-
onboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
174
|
-
offboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
175
|
-
split: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
176
|
-
repay: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
197
|
+
onboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`,
|
|
198
|
+
offboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`,
|
|
199
|
+
split: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`,
|
|
200
|
+
repay: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`,
|
|
177
201
|
};
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
202
|
+
/** Modal's iframe is given src and rendered ONLY in case the Livble widget is not present
|
|
203
|
+
* (Otherwise it is already initialized upon widget creation)
|
|
204
|
+
*/
|
|
205
|
+
if (!l.isModalBuilt) {
|
|
206
|
+
const modeUrl = openOptions.mode
|
|
207
|
+
? modeUrlMap[openOptions.mode]
|
|
208
|
+
: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`;
|
|
209
|
+
modalIframe.src = modeUrl;
|
|
210
|
+
document.body.appendChild(modalBackground);
|
|
211
|
+
l.isModalBuilt = true;
|
|
212
|
+
}
|
|
213
|
+
// Display modal by switching off the "hidden" attribute
|
|
214
|
+
modalBackground.hidden = false;
|
|
183
215
|
const messageListener = (message) => {
|
|
184
216
|
// Verify we got a valid message from the iframe.
|
|
185
217
|
if (message.origin != envToBaseUrlMapExperience[initOptions.environment]) {
|
|
@@ -192,7 +224,8 @@ const lvble = (initOptions) => {
|
|
|
192
224
|
return;
|
|
193
225
|
}
|
|
194
226
|
if (eventData.eventType === "CLOSE_EXPERIENCE_REQUEST") {
|
|
195
|
-
|
|
227
|
+
// Modal visibility is switched off (but the modal itself is not removed from the DOM)
|
|
228
|
+
modalBackground.hidden = true;
|
|
196
229
|
initOptions.onEvent("EXPERIENCE_CLOSED", {});
|
|
197
230
|
return;
|
|
198
231
|
}
|
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;AACD,MAAM,qBAAqB,GAAgC;IACzD,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,uBAAuB;IAC5C,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,gDAAgD;IACnE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,4CAA4C;IACnE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,+CAA+C;CAC1E,CAAC;AAEF,MAAM,yBAAyB,GAAgC;IAC7D,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,uBAAuB;IAC5C,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,oDAAoD;IACvE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gDAAgD;IACvE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,mDAAmD;CAC9E,CAAC;
|
|
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
|
@@ -12,6 +12,7 @@ export interface InitOptions {
|
|
|
12
12
|
environment: Environment;
|
|
13
13
|
onEvent: (eventType: string, data: any) => void;
|
|
14
14
|
modal?: ModalOptions;
|
|
15
|
+
customApiUrl?: string | null;
|
|
15
16
|
}
|
|
16
17
|
export interface OpenOptions {
|
|
17
18
|
mode?: Mode;
|
|
@@ -27,14 +28,17 @@ declare class LvbleWidget extends HTMLElement {
|
|
|
27
28
|
set environment(val: Environment);
|
|
28
29
|
get token(): string;
|
|
29
30
|
set token(val: string);
|
|
31
|
+
get customApiUrlParam(): string;
|
|
32
|
+
set customApiUrlParam(value: string);
|
|
30
33
|
connectedCallback(): void;
|
|
31
34
|
disconnectedCallback(): void;
|
|
32
35
|
}
|
|
33
36
|
declare const lvble: (initOptions: InitOptions) => {
|
|
37
|
+
isModalBuilt: boolean;
|
|
34
38
|
/**
|
|
35
39
|
* This function creates a widget that can be embedded in your website.
|
|
36
40
|
*
|
|
37
|
-
* @returns A lvble widget. Note that it detects mode
|
|
41
|
+
* @returns A lvble widget. Note that it detects mode automatically.
|
|
38
42
|
*/
|
|
39
43
|
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
40
44
|
/**
|
|
@@ -45,10 +49,11 @@ declare const lvble: (initOptions: InitOptions) => {
|
|
|
45
49
|
};
|
|
46
50
|
export type LvbleType = ReturnType<typeof lvble>;
|
|
47
51
|
export declare const Lvble: (initOptions: InitOptions) => {
|
|
52
|
+
isModalBuilt: boolean;
|
|
48
53
|
/**
|
|
49
54
|
* This function creates a widget that can be embedded in your website.
|
|
50
55
|
*
|
|
51
|
-
* @returns A lvble widget. Note that it detects mode
|
|
56
|
+
* @returns A lvble widget. Note that it detects mode automatically.
|
|
52
57
|
*/
|
|
53
58
|
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
54
59
|
/**
|
|
@@ -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;AAeD,MAAM,MAAM,IAAI,GAAG,YAAY,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,YAAY;IAE3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAE1B,WAAW,EAAE,WAAW,CAAC;IAEzB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAEhD,KAAK,CAAC,EAAE,YAAY,CAAC;
|
|
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;AAeD,MAAM,MAAM,IAAI,GAAG,YAAY,GAAG,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;AAEpE,MAAM,WAAW,YAAY;IAE3B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAE1B,WAAW,EAAE,WAAW,CAAC;IAEzB,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAEhD,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAE1B,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAE5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,cAAM,WAAY,SAAQ,WAAW;IACnC,OAAO,CAAC,EAAE,iBAAiB,CAAC;;IAQ5B,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,IAAI,WAAW,CAAC,GAAG,EAJA,WAIA,EAMlB;IAED,IAAI,KAAK,IAIM,MAAM,CAFpB;IAED,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,EAMpB;IAED,IAAI,iBAAiB,IAAI,MAAM,CAG9B;IAED,IAAI,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAQlC;IAED,iBAAiB;IAkBjB,oBAAoB;CAGrB;AAiDD,QAAA,MAAM,KAAK,gBAAiB,WAAW;;IA+BnC;;;;OAIG;kCAC2B,aAAa;IA4C3C;;;OAGG;wBACiB,WAAW;CAwFlC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AAEjD,eAAO,MAAM,KAAK,gBAhLU,WAAW;;IA+BnC;;;;OAIG;kCAC2B,aAAa;IA4C3C;;;OAGG;wBACiB,WAAW;CA4FT,CAAC"}
|
package/dist/lib-esm/lvble.js
CHANGED
|
@@ -52,9 +52,23 @@ class LvbleWidget extends HTMLElement {
|
|
|
52
52
|
this.removeAttribute("token");
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
+
get customApiUrlParam() {
|
|
56
|
+
// This api url will be used in the widget and the experience instead of the existing url
|
|
57
|
+
return this.getAttribute("custom-api-url-param") || "";
|
|
58
|
+
}
|
|
59
|
+
set customApiUrlParam(value) {
|
|
60
|
+
// This api url will be used in the widget and the experience instead of the existing url
|
|
61
|
+
// Only allow setting the custom url if this is dev environment
|
|
62
|
+
if (value && this.environment === Environment.Dev) {
|
|
63
|
+
this.setAttribute("custom-api-url-param", value);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this.removeAttribute("custom-api-url-param");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
55
69
|
connectedCallback() {
|
|
56
70
|
var _a;
|
|
57
|
-
const iframeSrc = `${envToBaseUrlMapWidget[this.environment]}?token=${this.token}&environment=${this.environment}`;
|
|
71
|
+
const iframeSrc = `${envToBaseUrlMapWidget[this.environment]}?token=${this.token}&environment=${this.environment}${this.customApiUrlParam}`;
|
|
58
72
|
const iframe = document.createElement("iframe");
|
|
59
73
|
iframe.src = iframeSrc;
|
|
60
74
|
iframe.width = `100%`;
|
|
@@ -80,17 +94,15 @@ let modalIframe = undefined;
|
|
|
80
94
|
const createModal = ({ modal }) => {
|
|
81
95
|
var _a;
|
|
82
96
|
const modalIframe = document.createElement("iframe");
|
|
83
|
-
const w = 360;
|
|
84
|
-
const h = 75;
|
|
85
97
|
const t = `calc(50dvh)`;
|
|
86
98
|
const l = `50vw`;
|
|
87
99
|
modalIframe.style.position = "absolute";
|
|
88
100
|
modalIframe.style.top = t;
|
|
89
101
|
modalIframe.style.left = l;
|
|
90
102
|
modalIframe.style.transform = `translate(-50%, -50%)`;
|
|
91
|
-
modalIframe.style.width = `min(
|
|
103
|
+
modalIframe.style.width = `min(95dvw, 360px)`;
|
|
92
104
|
modalIframe.style.height = `clamp(
|
|
93
|
-
min(750px
|
|
105
|
+
min(75dvh, 750px),
|
|
94
106
|
${(_a = modal === null || modal === void 0 ? void 0 : modal.height) !== null && _a !== void 0 ? _a : "95dvh"},
|
|
95
107
|
min(95dvh, 750px)
|
|
96
108
|
)`;
|
|
@@ -107,6 +119,8 @@ const createModal = ({ modal }) => {
|
|
|
107
119
|
modalBackground.style.width = "100%";
|
|
108
120
|
modalBackground.style.zIndex = "2147483647";
|
|
109
121
|
modalBackground.style.backgroundColor = "rgba(0, 0, 0, 0.5)";
|
|
122
|
+
// The "hidden" property is set, so we'll be able to control the visibility later on
|
|
123
|
+
modalBackground.hidden = true;
|
|
110
124
|
modalBackground.appendChild(modalIframe);
|
|
111
125
|
return { modalBackground, modalIframe };
|
|
112
126
|
};
|
|
@@ -128,16 +142,27 @@ const lvble = (initOptions) => {
|
|
|
128
142
|
modalIframe = result.modalIframe;
|
|
129
143
|
lvbleInitialized = true;
|
|
130
144
|
}
|
|
145
|
+
// Define the custom api url parameter if passed, else empty
|
|
146
|
+
const customApiUrlParam = initOptions.customApiUrl ? `&customApiUrl=${initOptions.customApiUrl}` : "";
|
|
131
147
|
const l = {
|
|
148
|
+
// True, if the Livble widget exists in the page and triggers modal's opening
|
|
149
|
+
isModalBuilt: false,
|
|
132
150
|
/**
|
|
133
151
|
* This function creates a widget that can be embedded in your website.
|
|
134
152
|
*
|
|
135
|
-
* @returns A lvble widget. Note that it detects mode
|
|
153
|
+
* @returns A lvble widget. Note that it detects mode automatically.
|
|
136
154
|
*/
|
|
137
155
|
createWidget: (widgetOptions) => {
|
|
138
156
|
const widget = new LvbleWidget();
|
|
139
157
|
widget.environment = initOptions.environment;
|
|
140
158
|
widget.token = widgetOptions.token;
|
|
159
|
+
widget.customApiUrlParam = customApiUrlParam; // Order matters, customApiUrlParam expects environment is set.
|
|
160
|
+
/** The iframe is created and rendered upon widget initialization! (Eager Loading)
|
|
161
|
+
* Since the "hidden" attribute is used, we control only the modal's VISIBILITY upon opening / closing
|
|
162
|
+
*/
|
|
163
|
+
modalIframe.src = `${envToBaseUrlMapExperience[initOptions.environment]}?token=${widgetOptions.token}${customApiUrlParam}`;
|
|
164
|
+
document.body.appendChild(modalBackground);
|
|
165
|
+
l.isModalBuilt = true;
|
|
141
166
|
const messageListener = (message) => {
|
|
142
167
|
// Verify we got a valid message from the iframe.
|
|
143
168
|
if (message.origin != envToBaseUrlMapWidget[initOptions.environment]) {
|
|
@@ -150,7 +175,6 @@ const lvble = (initOptions) => {
|
|
|
150
175
|
return;
|
|
151
176
|
}
|
|
152
177
|
if (eventData.eventType === "OPEN_EXPERIENCE_REQUEST") {
|
|
153
|
-
modalIframe.src = `${envToBaseUrlMapExperience[initOptions.environment]}?token=${widgetOptions.token}`;
|
|
154
178
|
l.open({ token: widgetOptions.token });
|
|
155
179
|
}
|
|
156
180
|
};
|
|
@@ -167,16 +191,24 @@ const lvble = (initOptions) => {
|
|
|
167
191
|
*/
|
|
168
192
|
open: (openOptions) => {
|
|
169
193
|
const modeUrlMap = {
|
|
170
|
-
onboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
171
|
-
offboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
172
|
-
split: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
173
|
-
repay: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
194
|
+
onboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`,
|
|
195
|
+
offboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`,
|
|
196
|
+
split: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`,
|
|
197
|
+
repay: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`,
|
|
174
198
|
};
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
199
|
+
/** Modal's iframe is given src and rendered ONLY in case the Livble widget is not present
|
|
200
|
+
* (Otherwise it is already initialized upon widget creation)
|
|
201
|
+
*/
|
|
202
|
+
if (!l.isModalBuilt) {
|
|
203
|
+
const modeUrl = openOptions.mode
|
|
204
|
+
? modeUrlMap[openOptions.mode]
|
|
205
|
+
: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}${customApiUrlParam}`;
|
|
206
|
+
modalIframe.src = modeUrl;
|
|
207
|
+
document.body.appendChild(modalBackground);
|
|
208
|
+
l.isModalBuilt = true;
|
|
209
|
+
}
|
|
210
|
+
// Display modal by switching off the "hidden" attribute
|
|
211
|
+
modalBackground.hidden = false;
|
|
180
212
|
const messageListener = (message) => {
|
|
181
213
|
// Verify we got a valid message from the iframe.
|
|
182
214
|
if (message.origin != envToBaseUrlMapExperience[initOptions.environment]) {
|
|
@@ -189,7 +221,8 @@ const lvble = (initOptions) => {
|
|
|
189
221
|
return;
|
|
190
222
|
}
|
|
191
223
|
if (eventData.eventType === "CLOSE_EXPERIENCE_REQUEST") {
|
|
192
|
-
|
|
224
|
+
// Modal visibility is switched off (but the modal itself is not removed from the DOM)
|
|
225
|
+
modalBackground.hidden = true;
|
|
193
226
|
initOptions.onEvent("EXPERIENCE_CLOSED", {});
|
|
194
227
|
return;
|
|
195
228
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lvble.js","sourceRoot":"","sources":["../../src/lib/lvble.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AAExC,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,wCAAyB,CAAA;AAC3B,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AACD,MAAM,qBAAqB,GAAgC;IACzD,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,uBAAuB;IAC5C,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,gDAAgD;IACnE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,4CAA4C;IACnE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,+CAA+C;CAC1E,CAAC;AAEF,MAAM,yBAAyB,GAAgC;IAC7D,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,uBAAuB;IAC5C,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,oDAAoD;IACvE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,gDAAgD;IACvE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,mDAAmD;CAC9E,CAAC;
|
|
1
|
+
{"version":3,"file":"lvble.js","sourceRoot":"","sources":["../../src/lib/lvble.ts"],"names":[],"mappings":"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"}
|