@lvble/core 2.0.35 → 2.0.37
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 +6 -23
- 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 -32
- package/dist/lib/lvble.d.ts.map +1 -1
- package/dist/lib/lvble.js +36 -45
- package/dist/lib/lvble.js.map +1 -1
- package/dist/lib-esm/lvble.d.ts +9 -32
- package/dist/lib-esm/lvble.d.ts.map +1 -1
- package/dist/lib-esm/lvble.js +36 -45
- package/dist/lib-esm/lvble.js.map +1 -1
- package/package.json +1 -1
package/dist/lib/lvble.d.ts
CHANGED
|
@@ -5,45 +5,22 @@ export declare enum Environment {
|
|
|
5
5
|
Production = "production"
|
|
6
6
|
}
|
|
7
7
|
export type Mode = "onboarding" | "offboarding" | "split" | "repay";
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
reason: string;
|
|
11
|
-
};
|
|
12
|
-
export type OnboardingData = ErrorData | {
|
|
13
|
-
type: "success";
|
|
14
|
-
status: string;
|
|
15
|
-
};
|
|
16
|
-
export type SplitData = ErrorData | {
|
|
17
|
-
type: "success";
|
|
18
|
-
external_id: string;
|
|
19
|
-
settlement_id: string;
|
|
20
|
-
amount: number;
|
|
21
|
-
};
|
|
22
|
-
export type CloseData = ErrorData | {
|
|
23
|
-
type: "close";
|
|
24
|
-
};
|
|
25
|
-
export type EventData = OnboardingData | SplitData | CloseData;
|
|
26
|
-
declare enum EventType {
|
|
27
|
-
FinishOnboarding = "finishOnboarding",
|
|
28
|
-
FinishOffboarding = "finishOffboarding",
|
|
29
|
-
FinishSplit = "finishSplit",
|
|
30
|
-
FinishRepay = "finishRepay"
|
|
8
|
+
export interface ModalOptions {
|
|
9
|
+
height: number;
|
|
31
10
|
}
|
|
32
11
|
export interface InitOptions {
|
|
33
12
|
environment: Environment;
|
|
34
|
-
token: string;
|
|
35
13
|
onEvent: (eventType: string, data: any) => void;
|
|
14
|
+
modal?: ModalOptions;
|
|
36
15
|
}
|
|
37
16
|
export interface OpenOptions {
|
|
38
17
|
mode?: Mode;
|
|
18
|
+
token: string;
|
|
19
|
+
}
|
|
20
|
+
export interface WidgetOptions {
|
|
21
|
+
token: string;
|
|
39
22
|
}
|
|
40
23
|
declare class LvbleWidget extends HTMLElement {
|
|
41
|
-
_typeToEvent: {
|
|
42
|
-
onboarding: EventType;
|
|
43
|
-
offboarding: EventType;
|
|
44
|
-
split: EventType;
|
|
45
|
-
repay: EventType;
|
|
46
|
-
};
|
|
47
24
|
_iframe?: HTMLIFrameElement;
|
|
48
25
|
constructor();
|
|
49
26
|
get environment(): Environment;
|
|
@@ -59,7 +36,7 @@ declare const lvble: (initOptions: InitOptions) => {
|
|
|
59
36
|
*
|
|
60
37
|
* @returns A lvble widget. Note that it detects mode automagically.
|
|
61
38
|
*/
|
|
62
|
-
createWidget: () => LvbleWidget;
|
|
39
|
+
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
63
40
|
/**
|
|
64
41
|
* This function opens a modal with the relevant mode.
|
|
65
42
|
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
|
@@ -73,7 +50,7 @@ export declare const Lvble: (initOptions: InitOptions) => {
|
|
|
73
50
|
*
|
|
74
51
|
* @returns A lvble widget. Note that it detects mode automagically.
|
|
75
52
|
*/
|
|
76
|
-
createWidget: () => LvbleWidget;
|
|
53
|
+
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
77
54
|
/**
|
|
78
55
|
* This function opens a modal with the relevant mode.
|
|
79
56
|
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
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;
|
|
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;CACtB;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;;IAO5B,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,iBAAiB;IAiBjB,oBAAoB;CAGrB;AA6CD,QAAA,MAAM,KAAK,gBAAiB,WAAW;IAgBnC;;;;OAIG;kCAC2B,aAAa;IA4C3C;;;OAGG;wBACiB,WAAW;CAgFlC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AAEjD,eAAO,MAAM,KAAK,gBAzJU,WAAW;IAgBnC;;;;OAIG;kCAC2B,aAAa;IA4C3C;;;OAGG;wBACiB,WAAW;CAoFT,CAAC"}
|
package/dist/lib/lvble.js
CHANGED
|
@@ -21,33 +21,9 @@ const envToBaseUrlMapExperience = {
|
|
|
21
21
|
[Environment.Sandbox]: "https://experience.pms.sandbox.nowlvble.com",
|
|
22
22
|
[Environment.Production]: "https://experience.pms.production.nowlvble.com",
|
|
23
23
|
};
|
|
24
|
-
var EventType;
|
|
25
|
-
(function (EventType) {
|
|
26
|
-
EventType["FinishOnboarding"] = "finishOnboarding";
|
|
27
|
-
EventType["FinishOffboarding"] = "finishOffboarding";
|
|
28
|
-
EventType["FinishSplit"] = "finishSplit";
|
|
29
|
-
EventType["FinishRepay"] = "finishRepay";
|
|
30
|
-
})(EventType || (EventType = {}));
|
|
31
|
-
const modeToEventType = {
|
|
32
|
-
onboarding: EventType.FinishOnboarding,
|
|
33
|
-
offboarding: EventType.FinishOffboarding,
|
|
34
|
-
split: EventType.FinishSplit,
|
|
35
|
-
repay: EventType.FinishRepay,
|
|
36
|
-
};
|
|
37
24
|
class LvbleWidget extends HTMLElement {
|
|
38
25
|
constructor() {
|
|
39
26
|
super();
|
|
40
|
-
Object.defineProperty(this, "_typeToEvent", {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
configurable: true,
|
|
43
|
-
writable: true,
|
|
44
|
-
value: {
|
|
45
|
-
onboarding: EventType.FinishOnboarding,
|
|
46
|
-
offboarding: EventType.FinishOffboarding,
|
|
47
|
-
split: EventType.FinishSplit,
|
|
48
|
-
repay: EventType.FinishRepay,
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
27
|
Object.defineProperty(this, "_iframe", {
|
|
52
28
|
enumerable: true,
|
|
53
29
|
configurable: true,
|
|
@@ -99,10 +75,11 @@ class LvbleWidget extends HTMLElement {
|
|
|
99
75
|
customElements.define("lvble-widget", LvbleWidget);
|
|
100
76
|
let eventListenerLvbleAdded = false;
|
|
101
77
|
let eventListenerOpenAdded = false;
|
|
102
|
-
const createModal = () => {
|
|
78
|
+
const createModal = ({ modal }) => {
|
|
79
|
+
var _a;
|
|
103
80
|
const modalIframe = document.createElement("iframe");
|
|
104
81
|
const w = 360;
|
|
105
|
-
const h =
|
|
82
|
+
const h = 75;
|
|
106
83
|
const t = `calc(50vh + 10px)`;
|
|
107
84
|
const l = `50vw`;
|
|
108
85
|
modalIframe.style.position = "absolute";
|
|
@@ -110,7 +87,11 @@ const createModal = () => {
|
|
|
110
87
|
modalIframe.style.left = l;
|
|
111
88
|
modalIframe.style.transform = `translate(-50%, -50%)`;
|
|
112
89
|
modalIframe.style.width = `min(95vw, ${w}px)`;
|
|
113
|
-
modalIframe.style.height = `
|
|
90
|
+
modalIframe.style.height = `clamp(
|
|
91
|
+
${h}vh,
|
|
92
|
+
${(_a = modal === null || modal === void 0 ? void 0 : modal.height) !== null && _a !== void 0 ? _a : "95vh"},
|
|
93
|
+
min(95vh, 750px)
|
|
94
|
+
)`;
|
|
114
95
|
modalIframe.style.backgroundColor = "white";
|
|
115
96
|
modalIframe.style.borderRadius = "10px";
|
|
116
97
|
modalIframe.style.borderStyle = "solid";
|
|
@@ -134,42 +115,41 @@ const lvble = (initOptions) => {
|
|
|
134
115
|
if (!initOptions.onEvent) {
|
|
135
116
|
throw new Error("onEvent callback is required");
|
|
136
117
|
}
|
|
137
|
-
if (!initOptions.token) {
|
|
138
|
-
throw new Error("token is required");
|
|
139
|
-
}
|
|
140
118
|
if (!initOptions.environment) {
|
|
141
119
|
throw new Error("environment is required");
|
|
142
120
|
}
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
split: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${initOptions.token}`,
|
|
147
|
-
repay: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${initOptions.token}`,
|
|
148
|
-
};
|
|
149
|
-
const { modalBackground, modalIframe } = createModal();
|
|
121
|
+
const { modalBackground, modalIframe } = createModal({
|
|
122
|
+
modal: initOptions.modal,
|
|
123
|
+
});
|
|
150
124
|
const l = {
|
|
151
125
|
/**
|
|
152
126
|
* This function creates a widget that can be embedded in your website.
|
|
153
127
|
*
|
|
154
128
|
* @returns A lvble widget. Note that it detects mode automagically.
|
|
155
129
|
*/
|
|
156
|
-
createWidget: () => {
|
|
130
|
+
createWidget: (widgetOptions) => {
|
|
157
131
|
const widget = new LvbleWidget();
|
|
158
132
|
widget.environment = initOptions.environment;
|
|
159
|
-
widget.token =
|
|
133
|
+
widget.token = widgetOptions.token;
|
|
160
134
|
modalBackground.appendChild(modalIframe);
|
|
161
135
|
const messageListener = (message) => {
|
|
136
|
+
// Verify we got a valid message from the iframe.
|
|
162
137
|
if (message.origin != envToBaseUrlMapWidget[initOptions.environment]) {
|
|
163
138
|
console.debug(`Received message from unknown origin: ${message.origin}`);
|
|
164
139
|
return;
|
|
165
140
|
}
|
|
166
141
|
const eventData = message.data;
|
|
142
|
+
if (!eventData.eventType) {
|
|
143
|
+
console.debug(`Received message without eventType: ${JSON.stringify(eventData)}`);
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
167
146
|
if (eventData.eventType === "OPEN_EXPERIENCE_REQUEST") {
|
|
168
|
-
modalIframe.src = `${envToBaseUrlMapExperience[initOptions.environment]}?token=${
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
147
|
+
modalIframe.src = `${envToBaseUrlMapExperience[initOptions.environment]}?token=${widgetOptions.token}`;
|
|
148
|
+
lvble(initOptions).open({ mode: "onboarding", token: widgetOptions.token });
|
|
149
|
+
}
|
|
150
|
+
if (eventData.eventType === "CLOSE_EXPERIENCE_REQUEST") {
|
|
151
|
+
document.body.removeChild(modalBackground);
|
|
152
|
+
return;
|
|
173
153
|
}
|
|
174
154
|
};
|
|
175
155
|
if (!eventListenerLvbleAdded) {
|
|
@@ -187,18 +167,29 @@ const lvble = (initOptions) => {
|
|
|
187
167
|
if (!openOptions.mode) {
|
|
188
168
|
throw new Error("mode is required");
|
|
189
169
|
}
|
|
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
|
+
};
|
|
190
176
|
const modeUrl = openOptions.mode
|
|
191
177
|
? modeUrlMap[openOptions.mode]
|
|
192
|
-
: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${
|
|
178
|
+
: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`;
|
|
193
179
|
modalIframe.src = modeUrl;
|
|
194
180
|
modalBackground.appendChild(modalIframe);
|
|
195
181
|
document.body.appendChild(modalBackground);
|
|
196
182
|
const messageListener = (message) => {
|
|
183
|
+
// Verify we got a valid message from the iframe.
|
|
197
184
|
if (message.origin != envToBaseUrlMapExperience[initOptions.environment]) {
|
|
198
185
|
console.debug(`Received message from unknown origin: ${message.origin} Expecting only ${envToBaseUrlMapExperience[initOptions.environment]}`);
|
|
199
186
|
return;
|
|
200
187
|
}
|
|
201
188
|
const eventData = message.data;
|
|
189
|
+
if (!eventData.eventType) {
|
|
190
|
+
console.debug(`Received message without eventType: ${JSON.stringify(eventData)}`);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
202
193
|
if (eventData.eventType === "CLOSE_EXPERIENCE_REQUEST") {
|
|
203
194
|
document.body.removeChild(modalBackground);
|
|
204
195
|
return;
|
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,6CAA6C;IAChE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,yCAAyC;IAChE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,4CAA4C;CACvE,CAAC;AAEF,MAAM,yBAAyB,GAAgC;IAC7D,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,uBAAuB;IAC5C,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,iDAAiD;IACpE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,6CAA6C;IACpE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,gDAAgD;CAC3E,CAAC;AA8BF,
|
|
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
|
@@ -5,45 +5,22 @@ export declare enum Environment {
|
|
|
5
5
|
Production = "production"
|
|
6
6
|
}
|
|
7
7
|
export type Mode = "onboarding" | "offboarding" | "split" | "repay";
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
reason: string;
|
|
11
|
-
};
|
|
12
|
-
export type OnboardingData = ErrorData | {
|
|
13
|
-
type: "success";
|
|
14
|
-
status: string;
|
|
15
|
-
};
|
|
16
|
-
export type SplitData = ErrorData | {
|
|
17
|
-
type: "success";
|
|
18
|
-
external_id: string;
|
|
19
|
-
settlement_id: string;
|
|
20
|
-
amount: number;
|
|
21
|
-
};
|
|
22
|
-
export type CloseData = ErrorData | {
|
|
23
|
-
type: "close";
|
|
24
|
-
};
|
|
25
|
-
export type EventData = OnboardingData | SplitData | CloseData;
|
|
26
|
-
declare enum EventType {
|
|
27
|
-
FinishOnboarding = "finishOnboarding",
|
|
28
|
-
FinishOffboarding = "finishOffboarding",
|
|
29
|
-
FinishSplit = "finishSplit",
|
|
30
|
-
FinishRepay = "finishRepay"
|
|
8
|
+
export interface ModalOptions {
|
|
9
|
+
height: number;
|
|
31
10
|
}
|
|
32
11
|
export interface InitOptions {
|
|
33
12
|
environment: Environment;
|
|
34
|
-
token: string;
|
|
35
13
|
onEvent: (eventType: string, data: any) => void;
|
|
14
|
+
modal?: ModalOptions;
|
|
36
15
|
}
|
|
37
16
|
export interface OpenOptions {
|
|
38
17
|
mode?: Mode;
|
|
18
|
+
token: string;
|
|
19
|
+
}
|
|
20
|
+
export interface WidgetOptions {
|
|
21
|
+
token: string;
|
|
39
22
|
}
|
|
40
23
|
declare class LvbleWidget extends HTMLElement {
|
|
41
|
-
_typeToEvent: {
|
|
42
|
-
onboarding: EventType;
|
|
43
|
-
offboarding: EventType;
|
|
44
|
-
split: EventType;
|
|
45
|
-
repay: EventType;
|
|
46
|
-
};
|
|
47
24
|
_iframe?: HTMLIFrameElement;
|
|
48
25
|
constructor();
|
|
49
26
|
get environment(): Environment;
|
|
@@ -59,7 +36,7 @@ declare const lvble: (initOptions: InitOptions) => {
|
|
|
59
36
|
*
|
|
60
37
|
* @returns A lvble widget. Note that it detects mode automagically.
|
|
61
38
|
*/
|
|
62
|
-
createWidget: () => LvbleWidget;
|
|
39
|
+
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
63
40
|
/**
|
|
64
41
|
* This function opens a modal with the relevant mode.
|
|
65
42
|
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
|
@@ -73,7 +50,7 @@ export declare const Lvble: (initOptions: InitOptions) => {
|
|
|
73
50
|
*
|
|
74
51
|
* @returns A lvble widget. Note that it detects mode automagically.
|
|
75
52
|
*/
|
|
76
|
-
createWidget: () => LvbleWidget;
|
|
53
|
+
createWidget: (widgetOptions: WidgetOptions) => LvbleWidget;
|
|
77
54
|
/**
|
|
78
55
|
* This function opens a modal with the relevant mode.
|
|
79
56
|
* @param openOptions The options for opening the modal. See `OpenOptions` for more information.
|
|
@@ -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;
|
|
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;CACtB;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;;IAO5B,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,iBAAiB;IAiBjB,oBAAoB;CAGrB;AA6CD,QAAA,MAAM,KAAK,gBAAiB,WAAW;IAgBnC;;;;OAIG;kCAC2B,aAAa;IA4C3C;;;OAGG;wBACiB,WAAW;CAgFlC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AAEjD,eAAO,MAAM,KAAK,gBAzJU,WAAW;IAgBnC;;;;OAIG;kCAC2B,aAAa;IA4C3C;;;OAGG;wBACiB,WAAW;CAoFT,CAAC"}
|
package/dist/lib-esm/lvble.js
CHANGED
|
@@ -18,33 +18,9 @@ const envToBaseUrlMapExperience = {
|
|
|
18
18
|
[Environment.Sandbox]: "https://experience.pms.sandbox.nowlvble.com",
|
|
19
19
|
[Environment.Production]: "https://experience.pms.production.nowlvble.com",
|
|
20
20
|
};
|
|
21
|
-
var EventType;
|
|
22
|
-
(function (EventType) {
|
|
23
|
-
EventType["FinishOnboarding"] = "finishOnboarding";
|
|
24
|
-
EventType["FinishOffboarding"] = "finishOffboarding";
|
|
25
|
-
EventType["FinishSplit"] = "finishSplit";
|
|
26
|
-
EventType["FinishRepay"] = "finishRepay";
|
|
27
|
-
})(EventType || (EventType = {}));
|
|
28
|
-
const modeToEventType = {
|
|
29
|
-
onboarding: EventType.FinishOnboarding,
|
|
30
|
-
offboarding: EventType.FinishOffboarding,
|
|
31
|
-
split: EventType.FinishSplit,
|
|
32
|
-
repay: EventType.FinishRepay,
|
|
33
|
-
};
|
|
34
21
|
class LvbleWidget extends HTMLElement {
|
|
35
22
|
constructor() {
|
|
36
23
|
super();
|
|
37
|
-
Object.defineProperty(this, "_typeToEvent", {
|
|
38
|
-
enumerable: true,
|
|
39
|
-
configurable: true,
|
|
40
|
-
writable: true,
|
|
41
|
-
value: {
|
|
42
|
-
onboarding: EventType.FinishOnboarding,
|
|
43
|
-
offboarding: EventType.FinishOffboarding,
|
|
44
|
-
split: EventType.FinishSplit,
|
|
45
|
-
repay: EventType.FinishRepay,
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
24
|
Object.defineProperty(this, "_iframe", {
|
|
49
25
|
enumerable: true,
|
|
50
26
|
configurable: true,
|
|
@@ -96,10 +72,11 @@ class LvbleWidget extends HTMLElement {
|
|
|
96
72
|
customElements.define("lvble-widget", LvbleWidget);
|
|
97
73
|
let eventListenerLvbleAdded = false;
|
|
98
74
|
let eventListenerOpenAdded = false;
|
|
99
|
-
const createModal = () => {
|
|
75
|
+
const createModal = ({ modal }) => {
|
|
76
|
+
var _a;
|
|
100
77
|
const modalIframe = document.createElement("iframe");
|
|
101
78
|
const w = 360;
|
|
102
|
-
const h =
|
|
79
|
+
const h = 75;
|
|
103
80
|
const t = `calc(50vh + 10px)`;
|
|
104
81
|
const l = `50vw`;
|
|
105
82
|
modalIframe.style.position = "absolute";
|
|
@@ -107,7 +84,11 @@ const createModal = () => {
|
|
|
107
84
|
modalIframe.style.left = l;
|
|
108
85
|
modalIframe.style.transform = `translate(-50%, -50%)`;
|
|
109
86
|
modalIframe.style.width = `min(95vw, ${w}px)`;
|
|
110
|
-
modalIframe.style.height = `
|
|
87
|
+
modalIframe.style.height = `clamp(
|
|
88
|
+
${h}vh,
|
|
89
|
+
${(_a = modal === null || modal === void 0 ? void 0 : modal.height) !== null && _a !== void 0 ? _a : "95vh"},
|
|
90
|
+
min(95vh, 750px)
|
|
91
|
+
)`;
|
|
111
92
|
modalIframe.style.backgroundColor = "white";
|
|
112
93
|
modalIframe.style.borderRadius = "10px";
|
|
113
94
|
modalIframe.style.borderStyle = "solid";
|
|
@@ -131,42 +112,41 @@ const lvble = (initOptions) => {
|
|
|
131
112
|
if (!initOptions.onEvent) {
|
|
132
113
|
throw new Error("onEvent callback is required");
|
|
133
114
|
}
|
|
134
|
-
if (!initOptions.token) {
|
|
135
|
-
throw new Error("token is required");
|
|
136
|
-
}
|
|
137
115
|
if (!initOptions.environment) {
|
|
138
116
|
throw new Error("environment is required");
|
|
139
117
|
}
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
split: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${initOptions.token}`,
|
|
144
|
-
repay: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${initOptions.token}`,
|
|
145
|
-
};
|
|
146
|
-
const { modalBackground, modalIframe } = createModal();
|
|
118
|
+
const { modalBackground, modalIframe } = createModal({
|
|
119
|
+
modal: initOptions.modal,
|
|
120
|
+
});
|
|
147
121
|
const l = {
|
|
148
122
|
/**
|
|
149
123
|
* This function creates a widget that can be embedded in your website.
|
|
150
124
|
*
|
|
151
125
|
* @returns A lvble widget. Note that it detects mode automagically.
|
|
152
126
|
*/
|
|
153
|
-
createWidget: () => {
|
|
127
|
+
createWidget: (widgetOptions) => {
|
|
154
128
|
const widget = new LvbleWidget();
|
|
155
129
|
widget.environment = initOptions.environment;
|
|
156
|
-
widget.token =
|
|
130
|
+
widget.token = widgetOptions.token;
|
|
157
131
|
modalBackground.appendChild(modalIframe);
|
|
158
132
|
const messageListener = (message) => {
|
|
133
|
+
// Verify we got a valid message from the iframe.
|
|
159
134
|
if (message.origin != envToBaseUrlMapWidget[initOptions.environment]) {
|
|
160
135
|
console.debug(`Received message from unknown origin: ${message.origin}`);
|
|
161
136
|
return;
|
|
162
137
|
}
|
|
163
138
|
const eventData = message.data;
|
|
139
|
+
if (!eventData.eventType) {
|
|
140
|
+
console.debug(`Received message without eventType: ${JSON.stringify(eventData)}`);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
164
143
|
if (eventData.eventType === "OPEN_EXPERIENCE_REQUEST") {
|
|
165
|
-
modalIframe.src = `${envToBaseUrlMapExperience[initOptions.environment]}?token=${
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
144
|
+
modalIframe.src = `${envToBaseUrlMapExperience[initOptions.environment]}?token=${widgetOptions.token}`;
|
|
145
|
+
lvble(initOptions).open({ mode: "onboarding", token: widgetOptions.token });
|
|
146
|
+
}
|
|
147
|
+
if (eventData.eventType === "CLOSE_EXPERIENCE_REQUEST") {
|
|
148
|
+
document.body.removeChild(modalBackground);
|
|
149
|
+
return;
|
|
170
150
|
}
|
|
171
151
|
};
|
|
172
152
|
if (!eventListenerLvbleAdded) {
|
|
@@ -184,18 +164,29 @@ const lvble = (initOptions) => {
|
|
|
184
164
|
if (!openOptions.mode) {
|
|
185
165
|
throw new Error("mode is required");
|
|
186
166
|
}
|
|
167
|
+
const modeUrlMap = {
|
|
168
|
+
onboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
169
|
+
offboarding: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
170
|
+
split: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
171
|
+
repay: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`,
|
|
172
|
+
};
|
|
187
173
|
const modeUrl = openOptions.mode
|
|
188
174
|
? modeUrlMap[openOptions.mode]
|
|
189
|
-
: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${
|
|
175
|
+
: `${envToBaseUrlMapExperience[initOptions.environment]}?token=${openOptions.token}`;
|
|
190
176
|
modalIframe.src = modeUrl;
|
|
191
177
|
modalBackground.appendChild(modalIframe);
|
|
192
178
|
document.body.appendChild(modalBackground);
|
|
193
179
|
const messageListener = (message) => {
|
|
180
|
+
// Verify we got a valid message from the iframe.
|
|
194
181
|
if (message.origin != envToBaseUrlMapExperience[initOptions.environment]) {
|
|
195
182
|
console.debug(`Received message from unknown origin: ${message.origin} Expecting only ${envToBaseUrlMapExperience[initOptions.environment]}`);
|
|
196
183
|
return;
|
|
197
184
|
}
|
|
198
185
|
const eventData = message.data;
|
|
186
|
+
if (!eventData.eventType) {
|
|
187
|
+
console.debug(`Received message without eventType: ${JSON.stringify(eventData)}`);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
199
190
|
if (eventData.eventType === "CLOSE_EXPERIENCE_REQUEST") {
|
|
200
191
|
document.body.removeChild(modalBackground);
|
|
201
192
|
return;
|
|
@@ -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,6CAA6C;IAChE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,yCAAyC;IAChE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,4CAA4C;CACvE,CAAC;AAEF,MAAM,yBAAyB,GAAgC;IAC7D,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,uBAAuB;IAC5C,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,iDAAiD;IACpE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,6CAA6C;IACpE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,gDAAgD;CAC3E,CAAC;AA8BF,
|
|
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,6CAA6C;IAChE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,yCAAyC;IAChE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,4CAA4C;CACvE,CAAC;AAEF,MAAM,yBAAyB,GAAgC;IAC7D,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,uBAAuB;IAC5C,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,iDAAiD;IACpE,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,6CAA6C;IACpE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,gDAAgD;CAC3E,CAAC;AA8BF,MAAM,WAAY,SAAQ,WAAW;IAGnC;QACE,KAAK,EAAE,CAAC;QAHV;;;;;WAA4B;QAI1B,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAgB,CAAC;IACzD,CAAC;IAED,IAAI,WAAW,CAAC,GAAG;QACjB,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;SACrC;IACH,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAW,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK,CAAC,GAAW;QACnB,IAAI,GAAG,EAAE;YACP,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SAC/B;IACH,CAAC;IAED,iBAAiB;;QACf,MAAM,SAAS,GAAG,GAAG,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,UAC1D,IAAI,CAAC,KACP,gBAAgB,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,CAAC,GAAG,GAAG,SAAS,CAAC;QACvB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;QACtB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;QACnC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,MAAA,IAAI,CAAC,UAAU,0CAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC;IACtD,CAAC;CACF;AAED,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AAEnD,IAAI,uBAAuB,GAAG,KAAK,CAAC;AACpC,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAA4B,EAAE,EAAE;;IAC1D,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,CAAC,GAAG,GAAG,CAAC;IACd,MAAM,CAAC,GAAG,EAAE,CAAC;IACb,MAAM,CAAC,GAAG,mBAAmB,CAAC;IAC9B,MAAM,CAAC,GAAG,MAAM,CAAC;IAEjB,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IACxC,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;IAC1B,WAAW,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAC3B,WAAW,CAAC,KAAK,CAAC,SAAS,GAAG,uBAAuB,CAAC;IAEtD,WAAW,CAAC,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IAC9C,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG;MACvB,CAAC;MACD,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,MAAM;;IAEzB,CAAC;IACH,WAAW,CAAC,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC;IAC5C,WAAW,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC;IACxC,WAAW,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;IACxC,WAAW,CAAC,KAAK,CAAC,WAAW,GAAG,aAAa,CAAC;IAC9C,WAAW,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;IACtC,wCAAwC;IAGxC,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtD,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;IACzC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;IAChC,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;IACjC,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACtC,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACrC,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC;IAC5C,eAAe,CAAC,KAAK,CAAC,eAAe,GAAG,oBAAoB,CAAC;IAE7D,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,WAAwB,EAAE,EAAE;IACzC;;OAEG;IACH,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;KACjD;IACD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IAED,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;QACnD,KAAK,EAAE,WAAW,CAAC,KAAK;KACzB,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG;QACR;;;;WAIG;QACH,YAAY,EAAE,CAAC,aAA4B,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAEjC,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;YAC7C,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;YAEnC,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAEzC,MAAM,eAAe,GAAG,CAAC,OAAqB,EAAE,EAAE;gBAChD,iDAAiD;gBACjD,IAAI,OAAO,CAAC,MAAM,IAAI,qBAAqB,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE;oBACpE,OAAO,CAAC,KAAK,CACX,yCAAyC,OAAO,CAAC,MAAM,EAAE,CAC1D,CAAC;oBACF,OAAO;iBACR;gBACD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;oBACxB,OAAO,CAAC,KAAK,CACX,uCAAuC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CACnE,CAAC;oBACF,OAAO;iBACR;gBAED,IAAI,SAAS,CAAC,SAAS,KAAK,yBAAyB,EAAE;oBACrD,WAAW,CAAC,GAAG,GAAG,GAChB,yBAAyB,CAAC,WAAW,CAAC,WAAW,CACnD,UAAU,aAAa,CAAC,KAAK,EAAE,CAAC;oBAEhC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;iBAC7E;gBACD,IAAI,SAAS,CAAC,SAAS,KAAK,0BAA0B,EAAE;oBACtD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;oBAC3C,OAAO;iBACR;YACH,CAAC,CAAC;YAEF,IAAI,CAAC,uBAAuB,EAAE;gBAC5B,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACpD,uBAAuB,GAAG,IAAI,CAAC;gBAC/B,QAAQ,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aACpE;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD;;;WAGG;QACH,IAAI,EAAE,CAAC,WAAwB,EAAE,EAAE;YACjC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;aACrC;YAED,MAAM,UAAU,GAAyB;gBACvC,UAAU,EAAE,GACV,yBAAyB,CAAC,WAAW,CAAC,WAAW,CACnD,UAAU,WAAW,CAAC,KAAK,EAAE;gBAC7B,WAAW,EAAE,GACX,yBAAyB,CAAC,WAAW,CAAC,WAAW,CACnD,UAAU,WAAW,CAAC,KAAK,EAAE;gBAC7B,KAAK,EAAE,GAAG,yBAAyB,CAAC,WAAW,CAAC,WAAW,CAAC,UAC1D,WAAW,CAAC,KACd,EAAE;gBACF,KAAK,EAAE,GAAG,yBAAyB,CAAC,WAAW,CAAC,WAAW,CAAC,UAC1D,WAAW,CAAC,KACd,EAAE;aACH,CAAC;YACF,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI;gBAC9B,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;gBAC9B,CAAC,CAAC,GAAG,yBAAyB,CAAC,WAAW,CAAC,WAAW,CAAC,UACnD,WAAW,CAAC,KACd,EAAE,CAAC;YAEP,WAAW,CAAC,GAAG,GAAG,OAAO,CAAC;YAC1B,eAAe,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAE3C,MAAM,eAAe,GAAG,CAAC,OAAqB,EAAE,EAAE;gBAChD,iDAAiD;gBACjD,IACE,OAAO,CAAC,MAAM,IAAI,yBAAyB,CAAC,WAAW,CAAC,WAAW,CAAC,EACpE;oBACA,OAAO,CAAC,KAAK,CACX,yCACE,OAAO,CAAC,MACV,mBACE,yBAAyB,CAAC,WAAW,CAAC,WAAW,CACnD,EAAE,CACH,CAAC;oBAEF,OAAO;iBACR;gBACD,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC/B,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;oBACxB,OAAO,CAAC,KAAK,CACX,uCAAuC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CACnE,CAAC;oBACF,OAAO;iBACR;gBAED,IAAI,SAAS,CAAC,SAAS,KAAK,0BAA0B,EAAE;oBACtD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;oBAC3C,OAAO;iBACR;gBAED,iFAAiF;gBACjF,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBAE1D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;oBACpB,MAAA,CACE,MAAA,CAAC,CAAC,UAAU,0CAAE,aAAa,CAAC,QAAQ,CACrC,CAAA,CAAC,aAAa,0CAAE,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;gBAEH,QAAQ,CAAC,KAAK,CAAC,wBAAwB,EAAE,SAAS,CAAC,CAAC;gBACpD,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBACzD,QAAQ,CAAC,KAAK,CAAC,uBAAuB,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC,CAAC;YAEF,IAAI,CAAC,sBAAsB,EAAE;gBAC3B,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;gBACpD,sBAAsB,GAAG,IAAI,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aACpE;QACH,CAAC;KACF,CAAC;IAEF,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,CAAC"}
|