@justifi/webcomponents 0.0.8 → 0.0.10
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/cjs/{index-ee888432.js → index-68222998.js} +52 -0
- package/dist/cjs/index.cjs.js +10 -0
- package/dist/cjs/justifi-bank-account-form_4.cjs.entry.js +80 -0
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{justifi-card-form_2.cjs.entry.js → payments-list-d2dfcef1.js} +49 -56
- package/dist/cjs/webcomponents.cjs.js +3 -3
- package/dist/collection/collection-manifest.json +5 -3
- package/dist/collection/components/bank-account-form/bank-account-form.js +172 -0
- package/dist/collection/components/card-form/card-form.css +1 -7
- package/dist/collection/components/card-form/card-form.js +16 -63
- package/dist/collection/components/payment-method-form/payment-method-form.css +8 -0
- package/dist/collection/components/payment-method-form/payment-method-form.js +190 -0
- package/dist/collection/index.js +3 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +4 -2
- package/dist/components/justifi-bank-account-form.d.ts +11 -0
- package/dist/components/justifi-bank-account-form.js +65 -0
- package/dist/components/justifi-card-form.js +19 -55
- package/dist/components/justifi-payment-method-form.d.ts +11 -0
- package/dist/components/justifi-payment-method-form.js +6 -0
- package/dist/components/justifi-payments-list.js +1 -1
- package/dist/components/payment-method-form.js +89 -0
- package/dist/esm/{index-2324c14b.js → index-e279d85e.js} +52 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/justifi-bank-account-form_4.entry.js +73 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{justifi-card-form_2.entry.js → payments-list-91eba70b.js} +48 -54
- package/dist/esm/webcomponents.js +3 -3
- package/dist/types/components/bank-account-form/bank-account-form.d.ts +19 -0
- package/dist/types/components/card-form/card-form.d.ts +2 -6
- package/dist/types/components/payment-method-form/payment-method-form.d.ts +17 -0
- package/dist/types/components.d.ts +49 -1
- package/dist/types/index.d.ts +4 -1
- package/dist/webcomponents/index.esm.js +1 -0
- package/dist/webcomponents/p-146348d6.js +2 -0
- package/dist/webcomponents/p-a688f9d3.entry.js +1 -0
- package/dist/webcomponents/p-c94a0f7f.js +1 -0
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/package.json +3 -2
- package/dist/webcomponents/p-5bf626ec.js +0 -2
- package/dist/webcomponents/p-a7effb1e.entry.js +0 -1
|
@@ -717,6 +717,15 @@ const dispatchHooks = (hostRef, isInitialLoad) => {
|
|
|
717
717
|
const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
|
|
718
718
|
const instance = hostRef.$lazyInstance$ ;
|
|
719
719
|
let promise;
|
|
720
|
+
if (isInitialLoad) {
|
|
721
|
+
{
|
|
722
|
+
hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
|
|
723
|
+
if (hostRef.$queuedListeners$) {
|
|
724
|
+
hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
|
|
725
|
+
hostRef.$queuedListeners$ = null;
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
}
|
|
720
729
|
endSchedule();
|
|
721
730
|
return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
|
|
722
731
|
};
|
|
@@ -1123,6 +1132,10 @@ const connectedCallback = (elm) => {
|
|
|
1123
1132
|
}
|
|
1124
1133
|
}
|
|
1125
1134
|
else {
|
|
1135
|
+
// not the first time this has connected
|
|
1136
|
+
// reattach any event listeners to the host
|
|
1137
|
+
// since they would have been removed when disconnected
|
|
1138
|
+
addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
|
|
1126
1139
|
// fire off connectedCallback() on component instance
|
|
1127
1140
|
fireConnectedCallback(hostRef.$lazyInstance$);
|
|
1128
1141
|
}
|
|
@@ -1133,6 +1146,12 @@ const disconnectedCallback = (elm) => {
|
|
|
1133
1146
|
if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
|
|
1134
1147
|
const hostRef = getHostRef(elm);
|
|
1135
1148
|
const instance = hostRef.$lazyInstance$ ;
|
|
1149
|
+
{
|
|
1150
|
+
if (hostRef.$rmListeners$) {
|
|
1151
|
+
hostRef.$rmListeners$.map((rmListener) => rmListener());
|
|
1152
|
+
hostRef.$rmListeners$ = undefined;
|
|
1153
|
+
}
|
|
1154
|
+
}
|
|
1136
1155
|
{
|
|
1137
1156
|
safeCall(instance, 'disconnectedCallback');
|
|
1138
1157
|
}
|
|
@@ -1162,6 +1181,9 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1162
1181
|
{
|
|
1163
1182
|
cmpMeta.$members$ = compactMeta[2];
|
|
1164
1183
|
}
|
|
1184
|
+
{
|
|
1185
|
+
cmpMeta.$listeners$ = compactMeta[3];
|
|
1186
|
+
}
|
|
1165
1187
|
{
|
|
1166
1188
|
cmpMeta.$watchers$ = {};
|
|
1167
1189
|
}
|
|
@@ -1230,6 +1252,35 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1230
1252
|
// Fallback appLoad event
|
|
1231
1253
|
endBootstrap();
|
|
1232
1254
|
};
|
|
1255
|
+
const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
|
|
1256
|
+
if (listeners) {
|
|
1257
|
+
listeners.map(([flags, name, method]) => {
|
|
1258
|
+
const target = elm;
|
|
1259
|
+
const handler = hostListenerProxy(hostRef, method);
|
|
1260
|
+
const opts = hostListenerOpts(flags);
|
|
1261
|
+
plt.ael(target, name, handler, opts);
|
|
1262
|
+
(hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
|
|
1263
|
+
});
|
|
1264
|
+
}
|
|
1265
|
+
};
|
|
1266
|
+
const hostListenerProxy = (hostRef, methodName) => (ev) => {
|
|
1267
|
+
try {
|
|
1268
|
+
{
|
|
1269
|
+
if (hostRef.$flags$ & 256 /* HOST_FLAGS.isListenReady */) {
|
|
1270
|
+
// instance is ready, let's call it's member method for this event
|
|
1271
|
+
hostRef.$lazyInstance$[methodName](ev);
|
|
1272
|
+
}
|
|
1273
|
+
else {
|
|
1274
|
+
(hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
|
|
1275
|
+
}
|
|
1276
|
+
}
|
|
1277
|
+
}
|
|
1278
|
+
catch (e) {
|
|
1279
|
+
consoleError(e);
|
|
1280
|
+
}
|
|
1281
|
+
};
|
|
1282
|
+
// prettier-ignore
|
|
1283
|
+
const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
|
|
1233
1284
|
const hostRefs = /*@__PURE__*/ new WeakMap();
|
|
1234
1285
|
const getHostRef = (ref) => hostRefs.get(ref);
|
|
1235
1286
|
const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
|
|
@@ -1248,6 +1299,7 @@ const registerHost = (elm, cmpMeta) => {
|
|
|
1248
1299
|
elm['s-p'] = [];
|
|
1249
1300
|
elm['s-rc'] = [];
|
|
1250
1301
|
}
|
|
1302
|
+
addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
|
|
1251
1303
|
return hostRefs.set(elm, hostRef);
|
|
1252
1304
|
};
|
|
1253
1305
|
const isMemberInElement = (elm, memberName) => memberName in elm;
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -1,2 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const paymentsList = require('./payments-list-d2dfcef1.js');
|
|
6
|
+
require('./index-68222998.js');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
exports.BankAccountForm = paymentsList.BankAccountForm;
|
|
11
|
+
exports.CardForm = paymentsList.CardForm;
|
|
12
|
+
exports.PaymentsList = paymentsList.PaymentsList;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const paymentsList = require('./payments-list-d2dfcef1.js');
|
|
6
|
+
const index = require('./index-68222998.js');
|
|
7
|
+
|
|
8
|
+
const paymentMethodFormCss = ":host{display:block}justifi-payment-method-form iframe{border:none;width:100%}";
|
|
9
|
+
|
|
10
|
+
var DispatchedEventTypes;
|
|
11
|
+
(function (DispatchedEventTypes) {
|
|
12
|
+
DispatchedEventTypes["blur"] = "blur";
|
|
13
|
+
DispatchedEventTypes["change"] = "change";
|
|
14
|
+
DispatchedEventTypes["ready"] = "ready";
|
|
15
|
+
DispatchedEventTypes["tokenize"] = "tokenize";
|
|
16
|
+
})(DispatchedEventTypes || (DispatchedEventTypes = {}));
|
|
17
|
+
const PaymentMethodForm = class {
|
|
18
|
+
constructor(hostRef) {
|
|
19
|
+
index.registerInstance(this, hostRef);
|
|
20
|
+
this.paymentMethodFormReady = index.createEvent(this, "paymentMethodFormReady", 7);
|
|
21
|
+
this.paymentMethodFormChange = index.createEvent(this, "paymentMethodFormChange", 7);
|
|
22
|
+
this.paymentMethodFormBlur = index.createEvent(this, "paymentMethodFormBlur", 7);
|
|
23
|
+
this.paymentMethodFormTokenize = index.createEvent(this, "paymentMethodFormTokenize", 7);
|
|
24
|
+
this.iframeOrigin = undefined;
|
|
25
|
+
}
|
|
26
|
+
connectedCallback() {
|
|
27
|
+
window.addEventListener('message', this.dispatchMessageEvent.bind(this));
|
|
28
|
+
}
|
|
29
|
+
disconnectedCallback() {
|
|
30
|
+
window.removeEventListener('message', this.dispatchMessageEvent.bind(this));
|
|
31
|
+
}
|
|
32
|
+
dispatchMessageEvent(messageEvent) {
|
|
33
|
+
const messagePayload = messageEvent.data;
|
|
34
|
+
const messageType = messagePayload.eventType;
|
|
35
|
+
const messageData = messagePayload.data;
|
|
36
|
+
switch (messageType) {
|
|
37
|
+
case DispatchedEventTypes.ready:
|
|
38
|
+
this.paymentMethodFormReady.emit(messageData);
|
|
39
|
+
break;
|
|
40
|
+
case DispatchedEventTypes.change:
|
|
41
|
+
this.paymentMethodFormChange.emit(messageData);
|
|
42
|
+
break;
|
|
43
|
+
case DispatchedEventTypes.blur:
|
|
44
|
+
this.paymentMethodFormBlur.emit(messageData);
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
triggerTokenization(clientKey, paymentMethodMetadata, account) {
|
|
49
|
+
if (this.iframeElement && this.iframeElement.contentWindow) {
|
|
50
|
+
this.iframeElement.contentWindow.postMessage({
|
|
51
|
+
eventType: DispatchedEventTypes.tokenize,
|
|
52
|
+
clientKey: clientKey,
|
|
53
|
+
paymentMethodMetadata: paymentMethodMetadata,
|
|
54
|
+
account: account
|
|
55
|
+
}, '*');
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
async tokenize(clientKey, paymentMethodMetadata, account) {
|
|
59
|
+
return new Promise((resolve) => {
|
|
60
|
+
const tokenizeEventListener = (event) => {
|
|
61
|
+
if (event.data.eventType !== DispatchedEventTypes.tokenize)
|
|
62
|
+
return;
|
|
63
|
+
window.removeEventListener('message', tokenizeEventListener);
|
|
64
|
+
resolve(event.data.data);
|
|
65
|
+
};
|
|
66
|
+
window.addEventListener('message', tokenizeEventListener);
|
|
67
|
+
this.triggerTokenization(clientKey, paymentMethodMetadata, account);
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
;
|
|
71
|
+
render() {
|
|
72
|
+
return (index.h(index.Host, null, index.h("iframe", { id: "justifi-payment-method-form", src: this.iframeOrigin, ref: (el) => this.iframeElement = el })));
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
PaymentMethodForm.style = paymentMethodFormCss;
|
|
76
|
+
|
|
77
|
+
exports.justifi_bank_account_form = paymentsList.BankAccountForm;
|
|
78
|
+
exports.justifi_card_form = paymentsList.CardForm;
|
|
79
|
+
exports.justifi_payments_list = paymentsList.PaymentsList;
|
|
80
|
+
exports.justifi_payment_method_form = PaymentMethodForm;
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-68222998.js');
|
|
6
6
|
|
|
7
7
|
/*
|
|
8
|
-
Stencil Client Patch Esm v2.
|
|
8
|
+
Stencil Client Patch Esm v2.20.0 | MIT Licensed | https://stenciljs.com
|
|
9
9
|
*/
|
|
10
10
|
const patchEsm = () => {
|
|
11
11
|
return index.promiseResolve();
|
|
@@ -14,7 +14,7 @@ const patchEsm = () => {
|
|
|
14
14
|
const defineCustomElements = (win, options) => {
|
|
15
15
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
16
16
|
return patchEsm().then(() => {
|
|
17
|
-
return index.bootstrapLazy([["justifi-
|
|
17
|
+
return index.bootstrapLazy([["justifi-bank-account-form_4.cjs",[[0,"justifi-bank-account-form",{"iframeOrigin":[1,"iframe-origin"],"tokenize":[64]},[[0,"paymentMethodFormReady","readyHandler"],[0,"paymentMethodFormChange","changeHandler"],[0,"paymentMethodFormBlur","blurHandler"],[0,"paymentMethodFormTokenize","tokenizeHandler"]]],[0,"justifi-card-form",{"iframeOrigin":[1,"iframe-origin"],"tokenize":[64]}],[1,"justifi-payments-list",{"accountId":[1,"account-id"],"auth":[16],"payments":[32]}],[0,"justifi-payment-method-form",{"iframeOrigin":[1,"iframe-origin"],"tokenize":[64]}]]]], options);
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
|
|
@@ -1,18 +1,45 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
const index = require('./index-68222998.js');
|
|
4
4
|
|
|
5
|
-
const
|
|
5
|
+
const BankAccountForm = class {
|
|
6
|
+
constructor(hostRef) {
|
|
7
|
+
index.registerInstance(this, hostRef);
|
|
8
|
+
this.bankAccountFormReady = index.createEvent(this, "bankAccountFormReady", 7);
|
|
9
|
+
this.bankAccountFormChange = index.createEvent(this, "bankAccountFormChange", 7);
|
|
10
|
+
this.bankAccountFormBlur = index.createEvent(this, "bankAccountFormBlur", 7);
|
|
11
|
+
this.bankAccountFormTokenize = index.createEvent(this, "bankAccountFormTokenize", 7);
|
|
12
|
+
this.iframeOrigin = undefined;
|
|
13
|
+
}
|
|
14
|
+
readyHandler(event) {
|
|
15
|
+
this.bankAccountFormReady.emit(event);
|
|
16
|
+
}
|
|
17
|
+
changeHandler(event) {
|
|
18
|
+
this.bankAccountFormChange.emit(event);
|
|
19
|
+
}
|
|
20
|
+
blurHandler(event) {
|
|
21
|
+
this.bankAccountFormBlur.emit(event);
|
|
22
|
+
}
|
|
23
|
+
tokenizeHandler(event) {
|
|
24
|
+
this.bankAccountFormTokenize.emit(event);
|
|
25
|
+
}
|
|
26
|
+
async tokenize(...args) {
|
|
27
|
+
if (!this.childRef) {
|
|
28
|
+
throw new Error('Cannot call tokenize');
|
|
29
|
+
}
|
|
30
|
+
return this.childRef.tokenize(...args);
|
|
31
|
+
}
|
|
32
|
+
render() {
|
|
33
|
+
return (index.h("justifi-payment-method-form", { ref: el => {
|
|
34
|
+
if (el) {
|
|
35
|
+
this.childRef = el;
|
|
36
|
+
}
|
|
37
|
+
}, "iframe-origin": this.iframeOrigin || 'https://js.justifi.ai/bank-account', "payment-method-form-ready": this.bankAccountFormReady, "payment-method-form-change": this.bankAccountFormChange, "payment-method-form-blur": this.bankAccountFormBlur, "payment-method-form-tokenize": this.bankAccountFormTokenize }));
|
|
38
|
+
}
|
|
39
|
+
};
|
|
6
40
|
|
|
7
|
-
const cardFormCss = "
|
|
41
|
+
const cardFormCss = "justifi-card-form iframe{height:55px}";
|
|
8
42
|
|
|
9
|
-
var DispatchedEventTypes;
|
|
10
|
-
(function (DispatchedEventTypes) {
|
|
11
|
-
DispatchedEventTypes["blur"] = "blur";
|
|
12
|
-
DispatchedEventTypes["change"] = "change";
|
|
13
|
-
DispatchedEventTypes["ready"] = "ready";
|
|
14
|
-
DispatchedEventTypes["tokenize"] = "tokenize";
|
|
15
|
-
})(DispatchedEventTypes || (DispatchedEventTypes = {}));
|
|
16
43
|
const CardForm = class {
|
|
17
44
|
constructor(hostRef) {
|
|
18
45
|
index.registerInstance(this, hostRef);
|
|
@@ -22,53 +49,18 @@ const CardForm = class {
|
|
|
22
49
|
this.cardFormTokenize = index.createEvent(this, "cardFormTokenize", 7);
|
|
23
50
|
this.iframeOrigin = undefined;
|
|
24
51
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
disconnectedCallback() {
|
|
29
|
-
window.removeEventListener('message', this.dispatchMessageEvent.bind(this));
|
|
30
|
-
}
|
|
31
|
-
dispatchMessageEvent(messageEvent) {
|
|
32
|
-
const messagePayload = messageEvent.data;
|
|
33
|
-
const messageType = messagePayload.eventType;
|
|
34
|
-
const messageData = messagePayload.data;
|
|
35
|
-
switch (messageType) {
|
|
36
|
-
case DispatchedEventTypes.ready:
|
|
37
|
-
this.cardFormReady.emit(messageData);
|
|
38
|
-
break;
|
|
39
|
-
case DispatchedEventTypes.change:
|
|
40
|
-
this.cardFormChange.emit(messageData);
|
|
41
|
-
break;
|
|
42
|
-
case DispatchedEventTypes.blur:
|
|
43
|
-
this.cardFormBlur.emit(messageData);
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
triggerTokenization(clientKey, paymentMethodMetadata, account) {
|
|
48
|
-
if (this.iframeElement && this.iframeElement.contentWindow) {
|
|
49
|
-
this.iframeElement.contentWindow.postMessage({
|
|
50
|
-
eventType: DispatchedEventTypes.tokenize,
|
|
51
|
-
clientKey: clientKey,
|
|
52
|
-
paymentMethodMetadata: paymentMethodMetadata,
|
|
53
|
-
account: account
|
|
54
|
-
}, '*');
|
|
52
|
+
async tokenize(...args) {
|
|
53
|
+
if (!this.childRef) {
|
|
54
|
+
throw new Error('Cannot call tokenize');
|
|
55
55
|
}
|
|
56
|
+
return this.childRef.tokenize(...args);
|
|
56
57
|
}
|
|
57
|
-
async tokenize(clientKey, paymentMethodMetadata, account) {
|
|
58
|
-
return new Promise((resolve) => {
|
|
59
|
-
const tokenizeEventListener = (event) => {
|
|
60
|
-
if (event.data.eventType !== DispatchedEventTypes.tokenize)
|
|
61
|
-
return;
|
|
62
|
-
window.removeEventListener('message', tokenizeEventListener);
|
|
63
|
-
resolve(event.data.data);
|
|
64
|
-
};
|
|
65
|
-
window.addEventListener('message', tokenizeEventListener);
|
|
66
|
-
this.triggerTokenization(clientKey, paymentMethodMetadata, account);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
;
|
|
70
58
|
render() {
|
|
71
|
-
return (index.h(
|
|
59
|
+
return (index.h("justifi-payment-method-form", { ref: el => {
|
|
60
|
+
if (el) {
|
|
61
|
+
this.childRef = el;
|
|
62
|
+
}
|
|
63
|
+
}, "iframe-origin": this.iframeOrigin || 'https://js.justifi.ai/card', "payment-method-form-ready": this.cardFormReady, "payment-method-form-change": this.cardFormChange, "payment-method-form-blur": this.cardFormBlur, "payment-method-form-tokenize": this.cardFormTokenize }));
|
|
72
64
|
}
|
|
73
65
|
};
|
|
74
66
|
CardForm.style = cardFormCss;
|
|
@@ -4301,5 +4293,6 @@ const PaymentsList = class {
|
|
|
4301
4293
|
};
|
|
4302
4294
|
PaymentsList.style = paymentsListCss;
|
|
4303
4295
|
|
|
4304
|
-
exports.
|
|
4305
|
-
exports.
|
|
4296
|
+
exports.BankAccountForm = BankAccountForm;
|
|
4297
|
+
exports.CardForm = CardForm;
|
|
4298
|
+
exports.PaymentsList = PaymentsList;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
const index = require('./index-
|
|
3
|
+
const index = require('./index-68222998.js');
|
|
4
4
|
|
|
5
5
|
/*
|
|
6
|
-
Stencil Client Patch Browser v2.
|
|
6
|
+
Stencil Client Patch Browser v2.20.0 | MIT Licensed | https://stenciljs.com
|
|
7
7
|
*/
|
|
8
8
|
const patchBrowser = () => {
|
|
9
9
|
const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('webcomponents.cjs.js', document.baseURI).href));
|
|
@@ -15,5 +15,5 @@ const patchBrowser = () => {
|
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
patchBrowser().then(options => {
|
|
18
|
-
return index.bootstrapLazy([["justifi-
|
|
18
|
+
return index.bootstrapLazy([["justifi-bank-account-form_4.cjs",[[0,"justifi-bank-account-form",{"iframeOrigin":[1,"iframe-origin"],"tokenize":[64]},[[0,"paymentMethodFormReady","readyHandler"],[0,"paymentMethodFormChange","changeHandler"],[0,"paymentMethodFormBlur","blurHandler"],[0,"paymentMethodFormTokenize","tokenizeHandler"]]],[0,"justifi-card-form",{"iframeOrigin":[1,"iframe-origin"],"tokenize":[64]}],[1,"justifi-payments-list",{"accountId":[1,"account-id"],"auth":[16],"payments":[32]}],[0,"justifi-payment-method-form",{"iframeOrigin":[1,"iframe-origin"],"tokenize":[64]}]]]], options);
|
|
19
19
|
});
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"entries": [
|
|
3
|
+
"./components/bank-account-form/bank-account-form.js",
|
|
3
4
|
"./components/card-form/card-form.js",
|
|
4
|
-
"./components/payments-list/payments-list.js"
|
|
5
|
+
"./components/payments-list/payments-list.js",
|
|
6
|
+
"./components/payment-method-form/payment-method-form.js"
|
|
5
7
|
],
|
|
6
8
|
"compiler": {
|
|
7
9
|
"name": "@stencil/core",
|
|
8
|
-
"version": "2.
|
|
9
|
-
"typescriptVersion": "4.
|
|
10
|
+
"version": "2.20.0",
|
|
11
|
+
"typescriptVersion": "4.8.4"
|
|
10
12
|
},
|
|
11
13
|
"collections": [],
|
|
12
14
|
"bundles": []
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { h } from '@stencil/core';
|
|
2
|
+
export class BankAccountForm {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.iframeOrigin = undefined;
|
|
5
|
+
}
|
|
6
|
+
readyHandler(event) {
|
|
7
|
+
this.bankAccountFormReady.emit(event);
|
|
8
|
+
}
|
|
9
|
+
changeHandler(event) {
|
|
10
|
+
this.bankAccountFormChange.emit(event);
|
|
11
|
+
}
|
|
12
|
+
blurHandler(event) {
|
|
13
|
+
this.bankAccountFormBlur.emit(event);
|
|
14
|
+
}
|
|
15
|
+
tokenizeHandler(event) {
|
|
16
|
+
this.bankAccountFormTokenize.emit(event);
|
|
17
|
+
}
|
|
18
|
+
async tokenize(...args) {
|
|
19
|
+
if (!this.childRef) {
|
|
20
|
+
throw new Error('Cannot call tokenize');
|
|
21
|
+
}
|
|
22
|
+
return this.childRef.tokenize(...args);
|
|
23
|
+
}
|
|
24
|
+
render() {
|
|
25
|
+
return (h("justifi-payment-method-form", { ref: el => {
|
|
26
|
+
if (el) {
|
|
27
|
+
this.childRef = el;
|
|
28
|
+
}
|
|
29
|
+
}, "iframe-origin": this.iframeOrigin || 'https://js.justifi.ai/bank-account', "payment-method-form-ready": this.bankAccountFormReady, "payment-method-form-change": this.bankAccountFormChange, "payment-method-form-blur": this.bankAccountFormBlur, "payment-method-form-tokenize": this.bankAccountFormTokenize }));
|
|
30
|
+
}
|
|
31
|
+
static get is() { return "justifi-bank-account-form"; }
|
|
32
|
+
static get properties() {
|
|
33
|
+
return {
|
|
34
|
+
"iframeOrigin": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"mutable": false,
|
|
37
|
+
"complexType": {
|
|
38
|
+
"original": "string",
|
|
39
|
+
"resolved": "string",
|
|
40
|
+
"references": {}
|
|
41
|
+
},
|
|
42
|
+
"required": false,
|
|
43
|
+
"optional": false,
|
|
44
|
+
"docs": {
|
|
45
|
+
"tags": [],
|
|
46
|
+
"text": ""
|
|
47
|
+
},
|
|
48
|
+
"attribute": "iframe-origin",
|
|
49
|
+
"reflect": false
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
static get events() {
|
|
54
|
+
return [{
|
|
55
|
+
"method": "bankAccountFormReady",
|
|
56
|
+
"name": "bankAccountFormReady",
|
|
57
|
+
"bubbles": true,
|
|
58
|
+
"cancelable": true,
|
|
59
|
+
"composed": true,
|
|
60
|
+
"docs": {
|
|
61
|
+
"tags": [],
|
|
62
|
+
"text": ""
|
|
63
|
+
},
|
|
64
|
+
"complexType": {
|
|
65
|
+
"original": "any",
|
|
66
|
+
"resolved": "any",
|
|
67
|
+
"references": {}
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
"method": "bankAccountFormChange",
|
|
71
|
+
"name": "bankAccountFormChange",
|
|
72
|
+
"bubbles": true,
|
|
73
|
+
"cancelable": true,
|
|
74
|
+
"composed": true,
|
|
75
|
+
"docs": {
|
|
76
|
+
"tags": [],
|
|
77
|
+
"text": ""
|
|
78
|
+
},
|
|
79
|
+
"complexType": {
|
|
80
|
+
"original": "any",
|
|
81
|
+
"resolved": "any",
|
|
82
|
+
"references": {}
|
|
83
|
+
}
|
|
84
|
+
}, {
|
|
85
|
+
"method": "bankAccountFormBlur",
|
|
86
|
+
"name": "bankAccountFormBlur",
|
|
87
|
+
"bubbles": true,
|
|
88
|
+
"cancelable": true,
|
|
89
|
+
"composed": true,
|
|
90
|
+
"docs": {
|
|
91
|
+
"tags": [],
|
|
92
|
+
"text": ""
|
|
93
|
+
},
|
|
94
|
+
"complexType": {
|
|
95
|
+
"original": "any",
|
|
96
|
+
"resolved": "any",
|
|
97
|
+
"references": {}
|
|
98
|
+
}
|
|
99
|
+
}, {
|
|
100
|
+
"method": "bankAccountFormTokenize",
|
|
101
|
+
"name": "bankAccountFormTokenize",
|
|
102
|
+
"bubbles": true,
|
|
103
|
+
"cancelable": true,
|
|
104
|
+
"composed": true,
|
|
105
|
+
"docs": {
|
|
106
|
+
"tags": [],
|
|
107
|
+
"text": ""
|
|
108
|
+
},
|
|
109
|
+
"complexType": {
|
|
110
|
+
"original": "{ data: any }",
|
|
111
|
+
"resolved": "{ data: any; }",
|
|
112
|
+
"references": {}
|
|
113
|
+
}
|
|
114
|
+
}];
|
|
115
|
+
}
|
|
116
|
+
static get methods() {
|
|
117
|
+
return {
|
|
118
|
+
"tokenize": {
|
|
119
|
+
"complexType": {
|
|
120
|
+
"signature": "(clientKey: string, paymentMethodMetadata: any, account?: string) => Promise<any>",
|
|
121
|
+
"parameters": [{
|
|
122
|
+
"tags": [],
|
|
123
|
+
"text": ""
|
|
124
|
+
}],
|
|
125
|
+
"references": {
|
|
126
|
+
"Promise": {
|
|
127
|
+
"location": "global"
|
|
128
|
+
},
|
|
129
|
+
"Parameters": {
|
|
130
|
+
"location": "global"
|
|
131
|
+
},
|
|
132
|
+
"HTMLJustifiPaymentMethodFormElement": {
|
|
133
|
+
"location": "global"
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"return": "Promise<any>"
|
|
137
|
+
},
|
|
138
|
+
"docs": {
|
|
139
|
+
"text": "",
|
|
140
|
+
"tags": []
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
static get listeners() {
|
|
146
|
+
return [{
|
|
147
|
+
"name": "paymentMethodFormReady",
|
|
148
|
+
"method": "readyHandler",
|
|
149
|
+
"target": undefined,
|
|
150
|
+
"capture": false,
|
|
151
|
+
"passive": false
|
|
152
|
+
}, {
|
|
153
|
+
"name": "paymentMethodFormChange",
|
|
154
|
+
"method": "changeHandler",
|
|
155
|
+
"target": undefined,
|
|
156
|
+
"capture": false,
|
|
157
|
+
"passive": false
|
|
158
|
+
}, {
|
|
159
|
+
"name": "paymentMethodFormBlur",
|
|
160
|
+
"method": "blurHandler",
|
|
161
|
+
"target": undefined,
|
|
162
|
+
"capture": false,
|
|
163
|
+
"passive": false
|
|
164
|
+
}, {
|
|
165
|
+
"name": "paymentMethodFormTokenize",
|
|
166
|
+
"method": "tokenizeHandler",
|
|
167
|
+
"target": undefined,
|
|
168
|
+
"capture": false,
|
|
169
|
+
"passive": false
|
|
170
|
+
}];
|
|
171
|
+
}
|
|
172
|
+
}
|
|
@@ -1,64 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
var DispatchedEventTypes;
|
|
3
|
-
(function (DispatchedEventTypes) {
|
|
4
|
-
DispatchedEventTypes["blur"] = "blur";
|
|
5
|
-
DispatchedEventTypes["change"] = "change";
|
|
6
|
-
DispatchedEventTypes["ready"] = "ready";
|
|
7
|
-
DispatchedEventTypes["tokenize"] = "tokenize";
|
|
8
|
-
})(DispatchedEventTypes || (DispatchedEventTypes = {}));
|
|
1
|
+
import { h } from '@stencil/core';
|
|
9
2
|
export class CardForm {
|
|
10
3
|
constructor() {
|
|
11
4
|
this.iframeOrigin = undefined;
|
|
12
5
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
disconnectedCallback() {
|
|
17
|
-
window.removeEventListener('message', this.dispatchMessageEvent.bind(this));
|
|
18
|
-
}
|
|
19
|
-
dispatchMessageEvent(messageEvent) {
|
|
20
|
-
const messagePayload = messageEvent.data;
|
|
21
|
-
const messageType = messagePayload.eventType;
|
|
22
|
-
const messageData = messagePayload.data;
|
|
23
|
-
switch (messageType) {
|
|
24
|
-
case DispatchedEventTypes.ready:
|
|
25
|
-
this.cardFormReady.emit(messageData);
|
|
26
|
-
break;
|
|
27
|
-
case DispatchedEventTypes.change:
|
|
28
|
-
this.cardFormChange.emit(messageData);
|
|
29
|
-
break;
|
|
30
|
-
case DispatchedEventTypes.blur:
|
|
31
|
-
this.cardFormBlur.emit(messageData);
|
|
32
|
-
break;
|
|
33
|
-
default:
|
|
34
|
-
break;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
triggerTokenization(clientKey, paymentMethodMetadata, account) {
|
|
38
|
-
if (this.iframeElement && this.iframeElement.contentWindow) {
|
|
39
|
-
this.iframeElement.contentWindow.postMessage({
|
|
40
|
-
eventType: DispatchedEventTypes.tokenize,
|
|
41
|
-
clientKey: clientKey,
|
|
42
|
-
paymentMethodMetadata: paymentMethodMetadata,
|
|
43
|
-
account: account
|
|
44
|
-
}, '*');
|
|
6
|
+
async tokenize(...args) {
|
|
7
|
+
if (!this.childRef) {
|
|
8
|
+
throw new Error('Cannot call tokenize');
|
|
45
9
|
}
|
|
10
|
+
return this.childRef.tokenize(...args);
|
|
46
11
|
}
|
|
47
|
-
async tokenize(clientKey, paymentMethodMetadata, account) {
|
|
48
|
-
return new Promise((resolve) => {
|
|
49
|
-
const tokenizeEventListener = (event) => {
|
|
50
|
-
if (event.data.eventType !== DispatchedEventTypes.tokenize)
|
|
51
|
-
return;
|
|
52
|
-
window.removeEventListener('message', tokenizeEventListener);
|
|
53
|
-
resolve(event.data.data);
|
|
54
|
-
};
|
|
55
|
-
window.addEventListener('message', tokenizeEventListener);
|
|
56
|
-
this.triggerTokenization(clientKey, paymentMethodMetadata, account);
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
;
|
|
60
12
|
render() {
|
|
61
|
-
return (h(
|
|
13
|
+
return (h("justifi-payment-method-form", { ref: el => {
|
|
14
|
+
if (el) {
|
|
15
|
+
this.childRef = el;
|
|
16
|
+
}
|
|
17
|
+
}, "iframe-origin": this.iframeOrigin || 'https://js.justifi.ai/card', "payment-method-form-ready": this.cardFormReady, "payment-method-form-change": this.cardFormChange, "payment-method-form-blur": this.cardFormBlur, "payment-method-form-tokenize": this.cardFormTokenize }));
|
|
62
18
|
}
|
|
63
19
|
static get is() { return "justifi-card-form"; }
|
|
64
20
|
static get originalStyleUrls() {
|
|
@@ -159,26 +115,23 @@ export class CardForm {
|
|
|
159
115
|
return {
|
|
160
116
|
"tokenize": {
|
|
161
117
|
"complexType": {
|
|
162
|
-
"signature": "(clientKey: string, paymentMethodMetadata: any, account?: string) => Promise<
|
|
118
|
+
"signature": "(clientKey: string, paymentMethodMetadata: any, account?: string) => Promise<any>",
|
|
163
119
|
"parameters": [{
|
|
164
120
|
"tags": [],
|
|
165
121
|
"text": ""
|
|
166
|
-
}, {
|
|
167
|
-
"tags": [],
|
|
168
|
-
"text": ""
|
|
169
|
-
}, {
|
|
170
|
-
"tags": [],
|
|
171
|
-
"text": ""
|
|
172
122
|
}],
|
|
173
123
|
"references": {
|
|
174
124
|
"Promise": {
|
|
175
125
|
"location": "global"
|
|
176
126
|
},
|
|
177
|
-
"
|
|
127
|
+
"Parameters": {
|
|
128
|
+
"location": "global"
|
|
129
|
+
},
|
|
130
|
+
"HTMLJustifiPaymentMethodFormElement": {
|
|
178
131
|
"location": "global"
|
|
179
132
|
}
|
|
180
133
|
},
|
|
181
|
-
"return": "Promise<
|
|
134
|
+
"return": "Promise<any>"
|
|
182
135
|
},
|
|
183
136
|
"docs": {
|
|
184
137
|
"text": "",
|