@justifi/webcomponents 6.2.0-rc.1 → 6.2.0-rc.2
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/{check-pkg-version-W_AFeiO6.js → check-pkg-version-DHOBcjoo.js} +1 -1
- package/dist/cjs/hidden-input_2.cjs.entry.js +1 -1
- package/dist/cjs/justifi-apple-pay_8.cjs.entry.js +5 -79
- package/dist/cjs/justifi-bank-account-billing-form-simple_9.cjs.entry.js +2 -2
- package/dist/cjs/justifi-business-details.cjs.entry.js +2 -2
- package/dist/cjs/justifi-business-form.cjs.entry.js +2 -2
- package/dist/cjs/justifi-checkout.cjs.entry.js +2 -2
- package/dist/cjs/justifi-checkouts-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-dispute-management.cjs.entry.js +2 -2
- package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +2 -2
- package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +2 -2
- package/dist/cjs/justifi-order-terminals.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payment-details.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payments-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payout-details.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payouts-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-refund-payment.cjs.entry.js +2 -2
- package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +2 -2
- package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-terminals-list.cjs.entry.js +2 -2
- package/dist/cjs/{package-BADgkv50.js → package-BacF7Q_h.js} +1 -1
- package/dist/collection/api/services/apple-pay.service.js +3 -43
- package/dist/collection/components/modular-checkout/sub-components/apple-pay.js +0 -34
- package/dist/docs.json +1 -1
- package/dist/esm/{check-pkg-version-CG8qzhGl.js → check-pkg-version-D2zmagAo.js} +1 -1
- package/dist/esm/hidden-input_2.entry.js +1 -1
- package/dist/esm/justifi-apple-pay_8.entry.js +5 -79
- package/dist/esm/justifi-bank-account-billing-form-simple_9.entry.js +2 -2
- package/dist/esm/justifi-business-details.entry.js +2 -2
- package/dist/esm/justifi-business-form.entry.js +2 -2
- package/dist/esm/justifi-checkout.entry.js +2 -2
- package/dist/esm/justifi-checkouts-list.entry.js +2 -2
- package/dist/esm/justifi-dispute-management.entry.js +2 -2
- package/dist/esm/justifi-dispute-notification_3.entry.js +2 -2
- package/dist/esm/justifi-gross-payment-chart.entry.js +2 -2
- package/dist/esm/justifi-order-terminals.entry.js +2 -2
- package/dist/esm/justifi-payment-details.entry.js +2 -2
- package/dist/esm/justifi-payment-provisioning.entry.js +2 -2
- package/dist/esm/justifi-payment-transactions-list.entry.js +2 -2
- package/dist/esm/justifi-payments-list.entry.js +2 -2
- package/dist/esm/justifi-payout-details.entry.js +2 -2
- package/dist/esm/justifi-payout-transactions-list.entry.js +2 -2
- package/dist/esm/justifi-payouts-list.entry.js +2 -2
- package/dist/esm/justifi-refund-payment.entry.js +2 -2
- package/dist/esm/justifi-season-interruption-insurance.entry.js +2 -2
- package/dist/esm/justifi-terminal-orders-list.entry.js +2 -2
- package/dist/esm/justifi-terminals-list.entry.js +2 -2
- package/dist/esm/{package-yiqa5abX.js → package-C7cvPZSk.js} +1 -1
- package/dist/module/apple-pay.js +3 -77
- package/dist/module/package.js +1 -1
- package/dist/webcomponents/{p-5de4d9e4.entry.js → p-005a79d5.entry.js} +1 -1
- package/dist/webcomponents/{p-be0cbdf9.entry.js → p-07f7aaf6.entry.js} +1 -1
- package/dist/webcomponents/{p-164fe6d3.entry.js → p-14e26a6c.entry.js} +1 -1
- package/dist/webcomponents/{p-5fcfedb2.entry.js → p-33bf5532.entry.js} +1 -1
- package/dist/webcomponents/{p-4a0f34de.entry.js → p-3467fa38.entry.js} +1 -1
- package/dist/webcomponents/p-3af0b0ad.entry.js +1 -0
- package/dist/webcomponents/{p-fcb185fd.entry.js → p-3f7703bf.entry.js} +1 -1
- package/dist/webcomponents/{p-620ec409.entry.js → p-4180a11b.entry.js} +1 -1
- package/dist/webcomponents/{p-6190fbb7.entry.js → p-641100ac.entry.js} +1 -1
- package/dist/webcomponents/{p-b4bb6fa6.entry.js → p-694b24e5.entry.js} +1 -1
- package/dist/webcomponents/{p-af31dc6d.entry.js → p-6a247ab5.entry.js} +1 -1
- package/dist/webcomponents/{p-4e57359c.entry.js → p-6a910d9b.entry.js} +1 -1
- package/dist/webcomponents/p-C7cvPZSk.js +1 -0
- package/dist/webcomponents/{p-DfsX5bt_.js → p-CeSmGv6o.js} +1 -1
- package/dist/webcomponents/{p-81099469.entry.js → p-be53e425.entry.js} +1 -1
- package/dist/webcomponents/{p-ef8ac9f4.entry.js → p-c4fb2fe8.entry.js} +1 -1
- package/dist/webcomponents/{p-aa51c9e6.entry.js → p-c6e64ed5.entry.js} +1 -1
- package/dist/webcomponents/p-cd20dc8f.entry.js +1 -0
- package/dist/webcomponents/{p-760e739c.entry.js → p-d1e99aac.entry.js} +1 -1
- package/dist/webcomponents/{p-e2ab3f61.entry.js → p-d50f8328.entry.js} +1 -1
- package/dist/webcomponents/{p-09aaaf03.entry.js → p-d8bef4b7.entry.js} +1 -1
- package/dist/webcomponents/p-d8ef1d2b.entry.js +1 -0
- package/dist/webcomponents/{p-2ebc8539.entry.js → p-ea746fa0.entry.js} +1 -1
- package/dist/webcomponents/{p-10537b60.entry.js → p-f222426b.entry.js} +1 -1
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/package.json +1 -1
- package/dist/webcomponents/p-0b36f1a8.entry.js +0 -1
- package/dist/webcomponents/p-30848456.entry.js +0 -1
- package/dist/webcomponents/p-f4a1d3da.entry.js +0 -1
- package/dist/webcomponents/p-yiqa5abX.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h } from './index-DOjVAAtq.js';
|
|
2
2
|
import { S as StyledHost } from './styled-host-OalOsPBp.js';
|
|
3
3
|
import './event-types-CZfYo5-1.js';
|
|
4
|
-
import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version-
|
|
4
|
+
import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version-D2zmagAo.js';
|
|
5
5
|
import { d as defaultColumnsKeys } from './terminal-orders-table-BBQsoUh8.js';
|
|
6
6
|
import './config-state-DiHV-4QK.js';
|
|
7
7
|
import './dinero-HXpYMWUU.js';
|
|
@@ -12,7 +12,7 @@ import './Business-B5rtFhtR.js';
|
|
|
12
12
|
import './Dispute-BH0Xfn-F.js';
|
|
13
13
|
import { g as getErrorCode, a as getErrorMessage } from './utils-BeQLScSm.js';
|
|
14
14
|
import { A as Api } from './Api-K9QH1Aki.js';
|
|
15
|
-
import './package-
|
|
15
|
+
import './package-C7cvPZSk.js';
|
|
16
16
|
import './parts-Dj_zevuD.js';
|
|
17
17
|
import './utils-CIaHqjQt.js';
|
|
18
18
|
import './badge-B8fF98jp.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h } from './index-DOjVAAtq.js';
|
|
2
2
|
import { C as ComponentErrorSeverity, a as ComponentErrorCodes } from './ComponentError-Cjcsf8ku.js';
|
|
3
|
-
import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version-
|
|
3
|
+
import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version-D2zmagAo.js';
|
|
4
4
|
import { T as TerminalService } from './terminal.service-mwaS-Mbj.js';
|
|
5
5
|
import './config-state-DiHV-4QK.js';
|
|
6
6
|
import './dinero-HXpYMWUU.js';
|
|
@@ -13,7 +13,7 @@ import { m as makeGetSubAccounts, S as SubAccountService } from './get-subaccoun
|
|
|
13
13
|
import { S as StyledHost } from './styled-host-OalOsPBp.js';
|
|
14
14
|
import './event-types-CZfYo5-1.js';
|
|
15
15
|
import { d as defaultColumnsKeys } from './terminals-table-ByiFdTfy.js';
|
|
16
|
-
import './package-
|
|
16
|
+
import './package-C7cvPZSk.js';
|
|
17
17
|
import './Api-K9QH1Aki.js';
|
|
18
18
|
import './utils-CIaHqjQt.js';
|
|
19
19
|
import './index-DJ9G-4S-.js';
|
package/dist/module/apple-pay.js
CHANGED
|
@@ -162,7 +162,8 @@ class ApplePayService {
|
|
|
162
162
|
'Sub-Account': accountId,
|
|
163
163
|
},
|
|
164
164
|
body: {
|
|
165
|
-
domain: window.location.host
|
|
165
|
+
domain: window.location.host,
|
|
166
|
+
display_name: this.applePayConfig.displayName
|
|
166
167
|
}
|
|
167
168
|
});
|
|
168
169
|
return response;
|
|
@@ -209,22 +210,15 @@ class ApplePayService {
|
|
|
209
210
|
* Start Apple Pay session
|
|
210
211
|
*/
|
|
211
212
|
async startPaymentSession(paymentRequest, authToken, accountId) {
|
|
212
|
-
// Begin
|
|
213
|
-
console.groupCollapsed('[ApplePayService] startPaymentSession called');
|
|
214
|
-
console.log('[ApplePayService] raw paymentRequest:', JSON.stringify(paymentRequest, null, 2));
|
|
215
|
-
console.log('[ApplePayService] has authToken:', Boolean(authToken));
|
|
216
|
-
console.log('[ApplePayService] accountId:', accountId);
|
|
217
|
-
console.log('[ApplePayService] has config:', Boolean(this.applePayConfig));
|
|
213
|
+
// Begin session
|
|
218
214
|
if (!this.applePayConfig) {
|
|
219
215
|
console.error('[ApplePayService] Missing applePayConfig. Did you call initialize()?');
|
|
220
|
-
console.groupEnd();
|
|
221
216
|
throw new Error('Apple Pay not initialized. Call initialize() first.');
|
|
222
217
|
}
|
|
223
218
|
// if (!this.isAvailable()) {
|
|
224
219
|
// throw new Error('Apple Pay is not available on this device/browser');
|
|
225
220
|
// }
|
|
226
221
|
const request = new ApplePayPaymentRequest(paymentRequest);
|
|
227
|
-
console.log('[ApplePayService] created ApplePayPaymentRequest:', request);
|
|
228
222
|
if (!request.isValid) {
|
|
229
223
|
const missingFields = [];
|
|
230
224
|
if (!request.countryCode)
|
|
@@ -239,17 +233,14 @@ class ApplePayService {
|
|
|
239
233
|
if (!request.total || !request.total.label || !request.total.amount)
|
|
240
234
|
missingFields.push('total');
|
|
241
235
|
console.error('[ApplePayService] Payment request is invalid. Missing/invalid:', missingFields);
|
|
242
|
-
console.groupEnd();
|
|
243
236
|
throw new Error('Invalid payment request provided');
|
|
244
237
|
}
|
|
245
238
|
this.currentPaymentRequest = request;
|
|
246
239
|
return new Promise((resolve, reject) => {
|
|
247
240
|
try {
|
|
248
|
-
console.log('[ApplePayService] About to instantiate ApplePaySession');
|
|
249
241
|
// Defensive checks for Apple Pay environment
|
|
250
242
|
if (typeof window === 'undefined' || !('ApplePaySession' in window)) {
|
|
251
243
|
console.error('[ApplePayService] ApplePaySession not available on window');
|
|
252
|
-
console.groupEnd();
|
|
253
244
|
return reject({
|
|
254
245
|
success: false,
|
|
255
246
|
error: {
|
|
@@ -259,16 +250,11 @@ class ApplePayService {
|
|
|
259
250
|
});
|
|
260
251
|
}
|
|
261
252
|
this.currentSession = new window.ApplePaySession(3, request);
|
|
262
|
-
console.log('[ApplePayService] ApplePaySession instantiated:', this.currentSession);
|
|
263
253
|
this.setupSessionEventHandlers(resolve, reject, authToken, accountId);
|
|
264
|
-
console.log('[ApplePayService] Event handlers set. Beginning session...');
|
|
265
254
|
this.currentSession.begin();
|
|
266
|
-
console.log('[ApplePayService] Session.begin() called');
|
|
267
|
-
console.groupEnd();
|
|
268
255
|
}
|
|
269
256
|
catch (error) {
|
|
270
257
|
console.error('[ApplePayService] Exception while starting session:', error);
|
|
271
|
-
console.groupEnd();
|
|
272
258
|
reject({
|
|
273
259
|
success: false,
|
|
274
260
|
error: {
|
|
@@ -306,18 +292,14 @@ class ApplePayService {
|
|
|
306
292
|
return;
|
|
307
293
|
}
|
|
308
294
|
this.currentSession.onvalidatemerchant = async () => {
|
|
309
|
-
console.groupCollapsed('[ApplePayService] onvalidatemerchant');
|
|
310
295
|
try {
|
|
311
|
-
console.log('[ApplePayService] accountId:', accountId);
|
|
312
296
|
if (!authToken) {
|
|
313
297
|
console.error('[ApplePayService] Missing authToken for merchant validation');
|
|
314
298
|
throw new Error('Authentication token not provided.');
|
|
315
299
|
}
|
|
316
300
|
const merchantSession = await this.validateMerchant(authToken, accountId);
|
|
317
|
-
console.log('[ApplePayService] merchantSession received');
|
|
318
301
|
try {
|
|
319
302
|
this.currentSession.completeMerchantValidation(merchantSession);
|
|
320
|
-
console.log('[ApplePayService] completeMerchantValidation called');
|
|
321
303
|
}
|
|
322
304
|
catch (completionError) {
|
|
323
305
|
console.error('Error calling completeMerchantValidation:', completionError);
|
|
@@ -341,30 +323,20 @@ class ApplePayService {
|
|
|
341
323
|
},
|
|
342
324
|
});
|
|
343
325
|
}
|
|
344
|
-
console.groupEnd();
|
|
345
326
|
};
|
|
346
327
|
this.currentSession.onpaymentauthorized = async (event) => {
|
|
347
|
-
var _a;
|
|
348
|
-
console.groupCollapsed('[ApplePayService] onpaymentauthorized');
|
|
349
328
|
try {
|
|
350
329
|
const payment = event.payment;
|
|
351
|
-
console.log('[ApplePayService] payment payload snapshot:', {
|
|
352
|
-
hasToken: Boolean(payment === null || payment === void 0 ? void 0 : payment.token),
|
|
353
|
-
tokenType: ((_a = payment === null || payment === void 0 ? void 0 : payment.token) === null || _a === void 0 ? void 0 : _a.paymentData) ? 'paymentData' : 'raw',
|
|
354
|
-
});
|
|
355
330
|
const paymentPayload = Object.assign(Object.assign({}, payment.token), { product_details: {
|
|
356
331
|
name: this.currentPaymentRequest.total.label,
|
|
357
332
|
price: ApplePayHelpers.parseAmount(this.currentPaymentRequest.total.amount),
|
|
358
333
|
description: this.currentPaymentRequest.total.label,
|
|
359
334
|
} });
|
|
360
|
-
console.log('[ApplePayService] paymentPayload prepared');
|
|
361
335
|
const paymentResult = await this.processPayment(authToken, accountId, paymentPayload);
|
|
362
|
-
console.log('[ApplePayService] processPayment result:', paymentResult);
|
|
363
336
|
if (paymentResult.success) {
|
|
364
337
|
this.currentSession.completePayment({
|
|
365
338
|
status: ApplePaySessionStatus.STATUS_SUCCESS,
|
|
366
339
|
});
|
|
367
|
-
console.log('[ApplePayService] Payment success; resolving');
|
|
368
340
|
resolve({
|
|
369
341
|
success: true,
|
|
370
342
|
token: payment.token,
|
|
@@ -405,40 +377,31 @@ class ApplePayService {
|
|
|
405
377
|
});
|
|
406
378
|
}
|
|
407
379
|
finally {
|
|
408
|
-
console.log('[ApplePayService] Cleaning up session state');
|
|
409
380
|
this.currentSession = undefined;
|
|
410
381
|
this.currentPaymentRequest = undefined;
|
|
411
382
|
}
|
|
412
|
-
console.groupEnd();
|
|
413
383
|
};
|
|
414
384
|
this.currentSession.onpaymentmethodselected = () => {
|
|
415
|
-
console.groupCollapsed('[ApplePayService] onpaymentmethodselected');
|
|
416
385
|
const paymentUpdate = {
|
|
417
386
|
newTotal: this.currentPaymentRequest.total,
|
|
418
387
|
newLineItems: this.currentPaymentRequest.lineItems || [],
|
|
419
388
|
};
|
|
420
389
|
try {
|
|
421
390
|
this.currentSession.completePaymentMethodSelection(paymentUpdate);
|
|
422
|
-
console.log('[ApplePayService] completePaymentMethodSelection called');
|
|
423
391
|
}
|
|
424
392
|
catch (error) {
|
|
425
393
|
console.error('Error completing payment method selection:', error);
|
|
426
394
|
this.currentSession.abort();
|
|
427
395
|
}
|
|
428
|
-
console.groupEnd();
|
|
429
396
|
};
|
|
430
397
|
this.currentSession.onshippingmethodselected = () => {
|
|
431
|
-
console.groupCollapsed('[ApplePayService] onshippingmethodselected');
|
|
432
398
|
this.currentSession.completeShippingMethodSelection({
|
|
433
399
|
status: ApplePaySessionStatus.STATUS_SUCCESS,
|
|
434
400
|
newTotal: this.currentPaymentRequest.total,
|
|
435
401
|
newLineItems: this.currentPaymentRequest.lineItems || [],
|
|
436
402
|
});
|
|
437
|
-
console.log('[ApplePayService] completeShippingMethodSelection called');
|
|
438
|
-
console.groupEnd();
|
|
439
403
|
};
|
|
440
404
|
this.currentSession.oncancel = (event) => {
|
|
441
|
-
console.groupCollapsed('[ApplePayService] oncancel');
|
|
442
405
|
if (event.sessionError) {
|
|
443
406
|
console.error(event.sessionError);
|
|
444
407
|
switch (event.sessionError.code) {
|
|
@@ -469,11 +432,9 @@ class ApplePayService {
|
|
|
469
432
|
message: 'User cancelled the Apple Pay session',
|
|
470
433
|
},
|
|
471
434
|
});
|
|
472
|
-
console.groupEnd();
|
|
473
435
|
};
|
|
474
436
|
if ('onerror' in this.currentSession) {
|
|
475
437
|
this.currentSession.onerror = (error) => {
|
|
476
|
-
console.groupCollapsed('[ApplePayService] onerror');
|
|
477
438
|
console.error('=== APPLE PAY SESSION ERROR ===');
|
|
478
439
|
console.error('Session error:', error);
|
|
479
440
|
this.currentSession = undefined;
|
|
@@ -485,7 +446,6 @@ class ApplePayService {
|
|
|
485
446
|
message: 'Apple Pay session error occurred',
|
|
486
447
|
},
|
|
487
448
|
});
|
|
488
|
-
console.groupEnd();
|
|
489
449
|
};
|
|
490
450
|
}
|
|
491
451
|
}
|
|
@@ -696,14 +656,6 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
|
|
|
696
656
|
this.isProcessing = true;
|
|
697
657
|
this.error = null;
|
|
698
658
|
this.applePayStarted.emit();
|
|
699
|
-
console.groupCollapsed('[ApplePay Component] handleApplePayClick');
|
|
700
|
-
console.log('[ApplePay Component] click context:', {
|
|
701
|
-
isProcessing: this.isProcessing,
|
|
702
|
-
disabled: this.disabled,
|
|
703
|
-
isAvailable: this.isAvailable,
|
|
704
|
-
canMakePayments: this.canMakePayments,
|
|
705
|
-
hasService: Boolean(this.applePayService),
|
|
706
|
-
});
|
|
707
659
|
const paymentRequest = {
|
|
708
660
|
countryCode: this.countryCode,
|
|
709
661
|
currencyCode: checkoutStore.paymentCurrency,
|
|
@@ -715,13 +667,7 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
|
|
|
715
667
|
supportedNetworks: ApplePayHelpers.getDefaultSupportedNetworks(),
|
|
716
668
|
total: ApplePayHelpers.createLineItem(checkoutStore.paymentDescription, checkoutStore.paymentAmount),
|
|
717
669
|
};
|
|
718
|
-
console.log("[ApplePay Component] paymentRequest", paymentRequest);
|
|
719
|
-
console.log('[ApplePay Component] identifiers snapshot:', {
|
|
720
|
-
authTokenLength: checkoutStore.authToken ? String(checkoutStore.authToken).length : 0,
|
|
721
|
-
accountId: checkoutStore.accountId,
|
|
722
|
-
});
|
|
723
670
|
const result = await this.applePayService.startPaymentSession(paymentRequest, checkoutStore.authToken, checkoutStore.accountId);
|
|
724
|
-
console.log("[ApplePay Component] startPaymentSession result", result);
|
|
725
671
|
if (result.success) {
|
|
726
672
|
this.applePayCompleted.emit({
|
|
727
673
|
success: true,
|
|
@@ -751,7 +697,6 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
|
|
|
751
697
|
}
|
|
752
698
|
finally {
|
|
753
699
|
this.isProcessing = false;
|
|
754
|
-
console.groupEnd();
|
|
755
700
|
}
|
|
756
701
|
};
|
|
757
702
|
}
|
|
@@ -760,13 +705,6 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
|
|
|
760
705
|
this.isLoading = true;
|
|
761
706
|
this.error = null;
|
|
762
707
|
this.isConfigValid = true;
|
|
763
|
-
console.groupCollapsed('[ApplePay Component] initializeApplePay');
|
|
764
|
-
console.log('[ApplePay Component] checkout state snapshot:', {
|
|
765
|
-
paymentAmount: checkoutStore.paymentAmount,
|
|
766
|
-
paymentCurrency: checkoutStore.paymentCurrency,
|
|
767
|
-
hasAuthToken: Boolean(checkoutStore.authToken),
|
|
768
|
-
accountId: checkoutStore.accountId,
|
|
769
|
-
});
|
|
770
708
|
const hasRequiredConfig = Boolean(checkoutStore.paymentAmount) &&
|
|
771
709
|
Boolean(checkoutStore.paymentCurrency) &&
|
|
772
710
|
Boolean(checkoutStore.authToken);
|
|
@@ -781,22 +719,15 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
|
|
|
781
719
|
});
|
|
782
720
|
this.applePayError.emit({ error: this.error, code: ApplePay.ErrorCode.CONFIG_ERROR });
|
|
783
721
|
this.isLoading = false;
|
|
784
|
-
console.groupEnd();
|
|
785
722
|
return;
|
|
786
723
|
}
|
|
787
724
|
this.isAvailable = ApplePayHelpers.isApplePaySupported();
|
|
788
725
|
this.canMakePayments = ApplePayHelpers.canMakePayments();
|
|
789
|
-
console.log('[ApplePay Component] support check:', {
|
|
790
|
-
isAvailable: this.isAvailable,
|
|
791
|
-
canMakePayments: this.canMakePayments,
|
|
792
|
-
hasApplePaySessionOnWindow: typeof window !== 'undefined' && 'ApplePaySession' in window,
|
|
793
|
-
});
|
|
794
726
|
if (!this.isAvailable) {
|
|
795
727
|
this.error = "Apple Pay is not supported on this device";
|
|
796
728
|
console.error(this.error);
|
|
797
729
|
this.applePayError.emit({ error: this.error, code: ApplePay.ErrorCode.NOT_SUPPORTED });
|
|
798
730
|
this.isLoading = false;
|
|
799
|
-
console.groupEnd();
|
|
800
731
|
return;
|
|
801
732
|
}
|
|
802
733
|
if (!this.canMakePayments) {
|
|
@@ -804,7 +735,6 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
|
|
|
804
735
|
console.error(this.error);
|
|
805
736
|
this.applePayError.emit({ error: this.error, code: ApplePay.ErrorCode.NOT_AVAILABLE });
|
|
806
737
|
this.isLoading = false;
|
|
807
|
-
console.groupEnd();
|
|
808
738
|
return;
|
|
809
739
|
}
|
|
810
740
|
const applePayConfig = {
|
|
@@ -815,7 +745,6 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
|
|
|
815
745
|
buttonType: this.buttonType,
|
|
816
746
|
buttonStyle: this.buttonStyle,
|
|
817
747
|
};
|
|
818
|
-
console.log('[ApplePay Component] initializing service with config:', applePayConfig);
|
|
819
748
|
this.applePayService = new ApplePayService();
|
|
820
749
|
this.applePayService.initialize(applePayConfig);
|
|
821
750
|
const hasActiveCard = await this.applePayService.canMakePaymentsWithActiveCard();
|
|
@@ -833,7 +762,6 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
|
|
|
833
762
|
}
|
|
834
763
|
finally {
|
|
835
764
|
this.isLoading = false;
|
|
836
|
-
console.groupEnd();
|
|
837
765
|
}
|
|
838
766
|
}
|
|
839
767
|
async isSupported() {
|
|
@@ -853,7 +781,6 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
|
|
|
853
781
|
render() {
|
|
854
782
|
if (!checkoutStore.applePayEnabled) {
|
|
855
783
|
// Render nothing when Apple Pay is disabled at the checkout settings level
|
|
856
|
-
console.log('[ApplePay Component] Apple Pay disabled in checkout settings; not rendering');
|
|
857
784
|
return null;
|
|
858
785
|
}
|
|
859
786
|
const isReady = !this.isLoading &&
|
|
@@ -861,7 +788,6 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
|
|
|
861
788
|
this.canMakePayments &&
|
|
862
789
|
this.isConfigValid;
|
|
863
790
|
return (h(StyledHost, null, checkoutStore.checkoutLoaded && (h("script", { async: true, src: 'https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js', onLoad: () => {
|
|
864
|
-
console.log('[ApplePay Component] Apple Pay SDK script loaded');
|
|
865
791
|
this.initializeApplePay();
|
|
866
792
|
} })), h("div", { class: 'apple-pay-container' }, h(ApplePaySkeleton, { isLoading: this.isLoading }), isReady && (h(ApplePayButton, { buttonType: this.buttonType, buttonStyle: this.buttonStyle, disabled: this.disabled, isProcessing: this.isProcessing, isAvailable: this.isAvailable, clickHandler: this.handleApplePayClick, width: this.width, height: this.height }))), h("style", null, `
|
|
867
793
|
.apple-pay-container {
|
package/dist/module/package.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,c as t,h as i,H as s}from"./p-DOjVAAtq.js";import{c as a,F as d}from"./p-DiJD6Iqx.js";import{q as r,H as c,k as n,l,n as o,z as h}from"./p-DxVCqvBt.js";import{r as f,az as b}from"./p-Dj_zevuD.js";import{S as m}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{S as u}from"./p-BIcS6lTe.js";import{c as p,J as y}from"./p-DfsX5bt_.js";import{w as v,c as k}from"./p-a6tcNl_T.js";import{P as g}from"./p-DCIW8z1f.js";import{H as _}from"./p-Dyk0thEr.js";import{n as j}from"./p-BnjCmwMr.js";import{S as w}from"./p-B5rtFhtR.js";import{B as x}from"./p-CJ9qo7_g.js";import{c as V}from"./p-DGsXKF67.js";import"./p-BFTU3MAI.js";import"./p-DfKxeSrC.js";import"./p-CPpUGsw5.js";import"./p-yiqa5abX.js";import"./p-ty1sI-fI.js";import"./p-BS7OgSQe.js";import"./p-HXpYMWUU.js";import"./p-Cjcsf8ku.js";import"./p-CPKSE7M4.js";import"./p-BH0Xfn-F.js";import"./p-CLHwhyvu.js";import"./p-DdMxswn1.js";const C=class{constructor(i){e(this,i),this.radioClick=t(this,"radio-click"),this.checked=!1,this.hidden=!1,this.handleClick=()=>{this.radioClick.emit(this.value)}}render(){return i(m,{key:"b0501b66bcfdd697d88c01835b8f97fb2c0861ab"},i("div",{key:"ada4dda7868086b1ea4cadd6c8824f87d3cb2301",class:`radio-list-item p-3 ${this.class||""}`,part:f,onClick:this.handleClick,hidden:this.hidden},i("form-control-radio",{key:"72c6d07dd2a664ca6bd2be9b446584d7344bc2b0",name:this.name,value:this.value,checked:this.checked,label:this.label,inputHandler:()=>null})))}},H=class{constructor(t){e(this,t),this.errors={},this.inputHandler=(e,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:t}))}}componentWillLoad(){this.formController=new d(a({name:h.required("Enter full name"),address_line1:o.nullable(),address_line2:l.nullable(),address_city:n.nullable(),address_state:c.nullable(),address_postal_code:r.nullable()}))}componentDidLoad(){this.formController.values.subscribe((e=>this.billingInfo=Object.assign({},e))),this.formController.errors.subscribe((e=>{this.errors=Object.assign({},e)}))}async getValues(){return this.formController.values.getValue()}async fill(e){this.formController.setInitialValues(e)}async validate(){return{isValid:await this.formController.validate(),errors:this.formController.errors.getValue()}}render(){const e=this.formController.getInitialValues();return i(m,{key:"674a080063df249018a8601cea7680b06208d2fb"},i("div",{key:"c282a7c8ed0316edf0a92abd2f8c69a927c79f00",part:b,class:"mt-4"},i("form",{key:"843548c8b0239dcce2b611b215112024acfb6413"},i("fieldset",{key:"2e49050377413910e47bea94e8900f902e26b814"},this.legend&&i("legend",{key:"960da7d3f797db0517b3a14559a025a497ca3ad2"},this.legend),i("div",{key:"56636731c41c7bcaf6d4a7c3eb7e9517157c4929",class:"row gy-3"},i("div",{key:"b6028f7001044423d72a134c01a0395ade1496b8",class:"col-12"},i("form-control-text",{key:"b2fe6dc8c69cd87ac07b99f9a6619f5069f2dc5c",name:"name",label:"Full Name",defaultValue:e.name,errorText:this.errors.name,inputHandler:this.inputHandler})))))))}},O=e=>{const{isReady:t}=e;return t?null:i("div",{class:"container-fluid p-0"},i("div",{class:"row mb-3"},i("div",{class:"col-12 align-content-end"},i(u,{height:"18px",width:"120px"}),i(u,{height:"36px"}))),i("div",{class:"row"},i("div",{class:"col-12 align-content-end"},i(u,{height:"18px",width:"110px"}),i(u,{height:"36px"}))))},D=class{constructor(t){e(this,t),this.isReady=!1}async componentWillLoad(){await v(),this.iframeOrigin=k.iframeOrigin,p(),this.analytics=new y(this)}componentDidRender(){Promise.all([this.accountNumberIframeElement,this.routingNumberIframeElement].map((e=>new Promise((t=>{e.addEventListener("iframeLoaded",(()=>{t()}))}))))).then((()=>{this.isReady=!0}))}disconnectedCallback(){var e;null===(e=this.analytics)||void 0===e||e.cleanup()}async validate(){const e=await this.accountNumberIframeElement.validate(),t=await this.routingNumberIframeElement.validate();return e&&t}async tokenize({clientId:e,paymentMethodMetadata:t,account:i}){return this.accountNumberIframeElement.tokenize(e,t,i)}render(){return i(m,{key:"1396c82eb048077e956a6cfa0954c969830a3e4e"},i(O,{key:"90439488c391f7dcb62c9b3aadeeeb9e22b476fe",isReady:this.isReady}),i("hidden-input",{key:"ab5ab9990cd03e493551dae5dc18717ed144558b"}),i("div",{key:"7031dcaa20b3d017b3a3064d5e6f2e9ec5f3c3de",class:"container-fluid p-0",style:{opacity:this.isReady?"1":"0",height:this.isReady?"auto":"0"}},i("div",{key:"cf64b23918c17c525be517fa3506bc5a99de4472",class:"row mb-3"},i("iframe-input",{key:"1a0bad102f68437d751a123ab14db53d0308b02a",inputId:"accountNumber",ref:e=>this.accountNumberIframeElement=e,label:"Account Number",iframeOrigin:`${this.iframeOrigin}/v2/accountNumber`})),i("div",{key:"332cf9bc370f6bbddaf717c4debbd90bc557d808",class:"row"},i("iframe-input",{key:"878379906a0efb39c7a236941fda8d399d3a8baf",inputId:"routingNumber",ref:e=>this.routingNumberIframeElement=e,label:"Routing Number",iframeOrigin:`${this.iframeOrigin}/v2/routingNumber`}))))}},S=class{constructor(t){e(this,t)}get showSimpleCardBillingForm(){return this.paymentMethodType===g.NEW_CARD&&this.hideCardBillingForm}get showSimpleBankAccountBillingForm(){return this.paymentMethodType===g.NEW_BANK_ACCOUNT&&this.hideBankAccountBillingForm}async getValues(){var e;return null===(e=this.selectedFormRef)||void 0===e?void 0:e.getValues()}async fill(e){var t;null===(t=this.selectedFormRef)||void 0===t||t.fill(e)}async validate(){var e;return null===(e=this.selectedFormRef)||void 0===e?void 0:e.validate()}render(){return i(s,null,i(this.showSimpleBankAccountBillingForm?"justifi-bank-account-billing-form-simple":this.showSimpleCardBillingForm?"justifi-card-billing-form-simple":"justifi-billing-form-full",{legend:this.legend,ref:e=>this.selectedFormRef=e}))}},I=class{constructor(t){e(this,t),this.errors={},this.inputHandler=(e,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:t}))}}componentWillLoad(){this.formController=new d(a({name:h.required("Enter full name"),address_line1:o.required("Enter street address"),address_line2:l.nullable(),address_city:n.required("Enter city"),address_state:c.required("Select state"),address_postal_code:r.required("Enter postal code")})),this.formController.values.subscribe((e=>this.billingInfo=Object.assign({},e))),this.formController.errors.subscribe((e=>{this.errors=Object.assign({},e)}))}async getValues(){return this.formController.values.getValue()}async fill(e){this.formController.setInitialValues(e)}async validate(){return{isValid:await this.formController.validate(),errors:this.formController.errors.getValue()}}render(){if(!this.formController)return null;const e=this.formController.getInitialValues();return i(m,null,i("div",{part:b,class:"mt-4"},i(_,{text:"Billing address",class:"fs-6 fw-bold lh-lg mb-4"}),i("form",null,i("fieldset",null,this.legend&&i("legend",null,this.legend),i("div",{class:"row gy-3"},i("div",{class:"col-12"},i("form-control-text",{name:"name",label:"Full Name",defaultValue:e.name,errorText:this.errors.name,inputHandler:this.inputHandler})),i("div",{class:"col-12"},i("form-control-text",{name:"address_line1",label:"Street Address",defaultValue:e.address_line1,errorText:this.errors.address_line1,inputHandler:this.inputHandler})),i("div",{class:"col-12"},i("form-control-text",{name:"address_line2",label:"Apartment, Suite, etc. (optional)",defaultValue:e.address_line2,errorText:this.errors.address_line2,inputHandler:this.inputHandler})),i("div",{class:"col-12"},i("form-control-text",{name:"address_city",label:"City",defaultValue:e.address_city,errorText:this.errors.address_city,inputHandler:this.inputHandler})),i("div",{class:"col-12"},i("form-control-select",{name:"address_state",label:"State",options:w,defaultValue:e.address_state,errorText:this.errors.address_state,inputHandler:this.inputHandler})),i("div",{class:"col-12"},i("form-control-text",{name:"address_postal_code",label:"ZIP",defaultValue:e.address_postal_code,errorText:this.errors.address_postal_code,inputHandler:this.inputHandler,maxLength:5,keyDownHandler:j})))))))}},N=class{constructor(t){e(this,t),this.variant="primary",this.type="button"}render(){return i(m,{key:"101d2233002f9d316fae078dd77d43358c937291"},i(x,{key:"d7e3c0a41d862572eb47a22e3c7178e8a172d990",variant:this.variant,isLoading:this.isLoading,clickHandler:this.clickHandler,class:this.class,type:this.type,disabled:this.disabled,style:this.customStyle},this.text))}},M=class{constructor(t){e(this,t),this.errors={},this.inputHandler=(e,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:t}))}}componentWillLoad(){this.formController=new d(a({name:h.nullable(),address_line1:o.nullable(),address_line2:l.nullable(),address_city:n.nullable(),address_state:c.nullable(),address_postal_code:r.required("Enter postal code")}))}componentDidLoad(){this.formController.values.subscribe((e=>this.billingInfo=Object.assign({},e))),this.formController.errors.subscribe((e=>{this.errors=Object.assign({},e)}))}async getValues(){return this.formController.values.getValue()}async fill(e){this.formController.setInitialValues(e)}async validate(){return{isValid:await this.formController.validate(),errors:this.formController.errors.getValue()}}render(){const e=this.formController.getInitialValues();return i(m,{key:"f1f3be2d16211cbb384246470a495076b8cc99bf"},i("div",{key:"aabd6ec4293a89fa65e65440bcc399a3c91ccbf6",part:b},i("form",{key:"4212a38db263ec874feba69b44aa4ca53c4b6971"},i("fieldset",{key:"a669e28f6cb8974b1a6a358809c6c1c88d8dc5cb"},this.legend&&i("legend",{key:"b01fa92477ad324a059474b86835ad984addd48f"},this.legend),i("div",{key:"6c1f9a93de580ce2d931aedae3083e015b8e5f07",class:"row gy-3"},i("div",{key:"bbc6ba15ce56756db54338cd114376d57a9c6546",class:"col-12"},i("form-control-text",{key:"74848920343434f7677d8454b7bf0ec0e8055427",name:"address_postal_code",label:"ZIP",defaultValue:e.address_postal_code,errorText:this.errors.address_postal_code,inputHandler:this.inputHandler,maxLength:5,keyDownHandler:j})))))))}},B=e=>{const{isReady:t}=e;return t?null:i("div",{class:"container-fluid p-0"},i("div",{class:"mb-3"},i(u,{height:"18px",width:"100px"}),i(u,{height:"36px"})),i("div",{class:"row"},i("div",{class:"col-4 align-content-end"},i(u,{height:"18px",width:"80px"}),i(u,{height:"36px"})),i("div",{class:"col-4 align-content-end"},i(u,{height:"36px"})),i("div",{class:"col-4 align-content-end"},i(u,{height:"18px",width:"30px"}),i(u,{height:"36px"}))))},L=class{constructor(t){e(this,t),this.isReady=!1}async componentWillLoad(){await v(),this.iframeOrigin=k.iframeOrigin,p(),this.analytics=new y(this)}componentDidRender(){Promise.all([this.cardNumberIframeElement,this.expirationMonthIframeElement,this.expirationYearIframeElement,this.cvvIframeElement].map((e=>new Promise((t=>{e.addEventListener("iframeLoaded",(()=>{t()}))}))))).then((()=>{this.isReady=!0}))}disconnectedCallback(){var e;null===(e=this.analytics)||void 0===e||e.cleanup()}async validate(){const e=await this.cardNumberIframeElement.validate(),t=await this.expirationMonthIframeElement.validate(),i=await this.expirationYearIframeElement.validate(),s=await this.cvvIframeElement.validate();return e&&t&&i&&s}async tokenize({clientId:e,paymentMethodMetadata:t,account:i}){return this.cardNumberIframeElement.tokenize(e,t,i)}render(){return i(m,{key:"def25049fc30e1755194750bad8ebff0c578dac2"},i(B,{key:"81a0ec8218a76e51962fac0e8f628b243bd6d33e",isReady:this.isReady}),i("hidden-input",{key:"6145fba4b8164ff1cec1d1b5707063cdf26faa82"}),i("div",{key:"febcd1d5dbbde0216d7286842f35d58984f3c292",class:"container-fluid p-0",style:{opacity:this.isReady?"1":"0",height:this.isReady?"auto":"0"}},i("div",{key:"6e305988144bd44753ab202b29de295cc3dd7b20",class:"mb-3"},i("iframe-input",{key:"79348433ff2860a30d387b9a64c258a91c220363",inputId:"cardNumber",ref:e=>this.cardNumberIframeElement=e,label:"Card Number",iframeOrigin:`${this.iframeOrigin}/v2/cardNumber`})),i("div",{key:"11eee27f7aa34c120aed348acd1fc51e46b77628",class:"row"},i("div",{key:"0bb1153c58433514b889fe20d9cf77c7b7f8b867",class:"col-4 align-content-end"},i("iframe-input",{key:"f07c79907822a83cbc29eb4748f952b1a2079990",inputId:"expirationMonth",ref:e=>this.expirationMonthIframeElement=e,label:"Expiration",iframeOrigin:`${this.iframeOrigin}/v2/expirationMonth`})),i("div",{key:"6c2e81715c918978f688d00ae960f2673e092248",class:"col-4 align-content-end"},i("iframe-input",{key:"96d3656d4a26f96889ab5c6569e0144a76293627",inputId:"expirationYear",ref:e=>this.expirationYearIframeElement=e,label:"",iframeOrigin:`${this.iframeOrigin}/v2/expirationYear`})),i("div",{key:"e186614da2a5ef5836e251ac1f8f247c18cff7e6",class:"col-4 align-content-end"},i("iframe-input",{key:"d9f6c2d2f669fde22b18845a47f5bdeb8a62abe7",inputId:"CVV",ref:e=>this.cvvIframeElement=e,label:"CVV",iframeOrigin:`${this.iframeOrigin}/v2/CVV`})))))}},P=class{constructor(i){e(this,i),this.checkboxChanged=t(this,"checkboxChanged"),this.label="Save New Payment Method",this.isChecked=!1,this.handleCheckboxChange=(e,t)=>{this.isChecked=t,V.savePaymentMethod=t,this.checkboxChanged.emit(this.isChecked)}}render(){return i(m,{key:"e40e77b8ef70b343c870a4cb0b6cf3fa51543ff9"},i("form-control-checkbox",{key:"1429e670405e0d43eef2d3b5ed2d071db339129d",label:this.label||"Save New Payment Method",name:"saveNewPaymentMethod",checked:this.isChecked,inputHandler:this.handleCheckboxChange}))}};export{H as justifi_bank_account_billing_form_simple,D as justifi_bank_account_form,S as justifi_billing_form,I as justifi_billing_form_full,N as justifi_button,M as justifi_card_billing_form_simple,L as justifi_card_form,C as justifi_radio_list_item,P as justifi_save_new_payment_method}
|
|
1
|
+
import{r as e,c as t,h as i,H as s}from"./p-DOjVAAtq.js";import{c as a,F as d}from"./p-DiJD6Iqx.js";import{q as r,H as c,k as n,l,n as o,z as h}from"./p-DxVCqvBt.js";import{r as f,az as b}from"./p-Dj_zevuD.js";import{S as m}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{S as u}from"./p-BIcS6lTe.js";import{c as p,J as y}from"./p-CeSmGv6o.js";import{w as v,c as k}from"./p-a6tcNl_T.js";import{P as g}from"./p-DCIW8z1f.js";import{H as _}from"./p-Dyk0thEr.js";import{n as j}from"./p-BnjCmwMr.js";import{S as w}from"./p-B5rtFhtR.js";import{B as x}from"./p-CJ9qo7_g.js";import{c as C}from"./p-DGsXKF67.js";import"./p-BFTU3MAI.js";import"./p-DfKxeSrC.js";import"./p-CPpUGsw5.js";import"./p-C7cvPZSk.js";import"./p-ty1sI-fI.js";import"./p-BS7OgSQe.js";import"./p-HXpYMWUU.js";import"./p-Cjcsf8ku.js";import"./p-CPKSE7M4.js";import"./p-BH0Xfn-F.js";import"./p-CLHwhyvu.js";import"./p-DdMxswn1.js";const V=class{constructor(i){e(this,i),this.radioClick=t(this,"radio-click"),this.checked=!1,this.hidden=!1,this.handleClick=()=>{this.radioClick.emit(this.value)}}render(){return i(m,{key:"b0501b66bcfdd697d88c01835b8f97fb2c0861ab"},i("div",{key:"ada4dda7868086b1ea4cadd6c8824f87d3cb2301",class:`radio-list-item p-3 ${this.class||""}`,part:f,onClick:this.handleClick,hidden:this.hidden},i("form-control-radio",{key:"72c6d07dd2a664ca6bd2be9b446584d7344bc2b0",name:this.name,value:this.value,checked:this.checked,label:this.label,inputHandler:()=>null})))}},H=class{constructor(t){e(this,t),this.errors={},this.inputHandler=(e,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:t}))}}componentWillLoad(){this.formController=new d(a({name:h.required("Enter full name"),address_line1:o.nullable(),address_line2:l.nullable(),address_city:n.nullable(),address_state:c.nullable(),address_postal_code:r.nullable()}))}componentDidLoad(){this.formController.values.subscribe((e=>this.billingInfo=Object.assign({},e))),this.formController.errors.subscribe((e=>{this.errors=Object.assign({},e)}))}async getValues(){return this.formController.values.getValue()}async fill(e){this.formController.setInitialValues(e)}async validate(){return{isValid:await this.formController.validate(),errors:this.formController.errors.getValue()}}render(){const e=this.formController.getInitialValues();return i(m,{key:"674a080063df249018a8601cea7680b06208d2fb"},i("div",{key:"c282a7c8ed0316edf0a92abd2f8c69a927c79f00",part:b,class:"mt-4"},i("form",{key:"843548c8b0239dcce2b611b215112024acfb6413"},i("fieldset",{key:"2e49050377413910e47bea94e8900f902e26b814"},this.legend&&i("legend",{key:"960da7d3f797db0517b3a14559a025a497ca3ad2"},this.legend),i("div",{key:"56636731c41c7bcaf6d4a7c3eb7e9517157c4929",class:"row gy-3"},i("div",{key:"b6028f7001044423d72a134c01a0395ade1496b8",class:"col-12"},i("form-control-text",{key:"b2fe6dc8c69cd87ac07b99f9a6619f5069f2dc5c",name:"name",label:"Full Name",defaultValue:e.name,errorText:this.errors.name,inputHandler:this.inputHandler})))))))}},O=e=>{const{isReady:t}=e;return t?null:i("div",{class:"container-fluid p-0"},i("div",{class:"row mb-3"},i("div",{class:"col-12 align-content-end"},i(u,{height:"18px",width:"120px"}),i(u,{height:"36px"}))),i("div",{class:"row"},i("div",{class:"col-12 align-content-end"},i(u,{height:"18px",width:"110px"}),i(u,{height:"36px"}))))},S=class{constructor(t){e(this,t),this.isReady=!1}async componentWillLoad(){await v(),this.iframeOrigin=k.iframeOrigin,p(),this.analytics=new y(this)}componentDidRender(){Promise.all([this.accountNumberIframeElement,this.routingNumberIframeElement].map((e=>new Promise((t=>{e.addEventListener("iframeLoaded",(()=>{t()}))}))))).then((()=>{this.isReady=!0}))}disconnectedCallback(){var e;null===(e=this.analytics)||void 0===e||e.cleanup()}async validate(){const e=await this.accountNumberIframeElement.validate(),t=await this.routingNumberIframeElement.validate();return e&&t}async tokenize({clientId:e,paymentMethodMetadata:t,account:i}){return this.accountNumberIframeElement.tokenize(e,t,i)}render(){return i(m,{key:"1396c82eb048077e956a6cfa0954c969830a3e4e"},i(O,{key:"90439488c391f7dcb62c9b3aadeeeb9e22b476fe",isReady:this.isReady}),i("hidden-input",{key:"ab5ab9990cd03e493551dae5dc18717ed144558b"}),i("div",{key:"7031dcaa20b3d017b3a3064d5e6f2e9ec5f3c3de",class:"container-fluid p-0",style:{opacity:this.isReady?"1":"0",height:this.isReady?"auto":"0"}},i("div",{key:"cf64b23918c17c525be517fa3506bc5a99de4472",class:"row mb-3"},i("iframe-input",{key:"1a0bad102f68437d751a123ab14db53d0308b02a",inputId:"accountNumber",ref:e=>this.accountNumberIframeElement=e,label:"Account Number",iframeOrigin:`${this.iframeOrigin}/v2/accountNumber`})),i("div",{key:"332cf9bc370f6bbddaf717c4debbd90bc557d808",class:"row"},i("iframe-input",{key:"878379906a0efb39c7a236941fda8d399d3a8baf",inputId:"routingNumber",ref:e=>this.routingNumberIframeElement=e,label:"Routing Number",iframeOrigin:`${this.iframeOrigin}/v2/routingNumber`}))))}},D=class{constructor(t){e(this,t)}get showSimpleCardBillingForm(){return this.paymentMethodType===g.NEW_CARD&&this.hideCardBillingForm}get showSimpleBankAccountBillingForm(){return this.paymentMethodType===g.NEW_BANK_ACCOUNT&&this.hideBankAccountBillingForm}async getValues(){var e;return null===(e=this.selectedFormRef)||void 0===e?void 0:e.getValues()}async fill(e){var t;null===(t=this.selectedFormRef)||void 0===t||t.fill(e)}async validate(){var e;return null===(e=this.selectedFormRef)||void 0===e?void 0:e.validate()}render(){return i(s,null,i(this.showSimpleBankAccountBillingForm?"justifi-bank-account-billing-form-simple":this.showSimpleCardBillingForm?"justifi-card-billing-form-simple":"justifi-billing-form-full",{legend:this.legend,ref:e=>this.selectedFormRef=e}))}},I=class{constructor(t){e(this,t),this.errors={},this.inputHandler=(e,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:t}))}}componentWillLoad(){this.formController=new d(a({name:h.required("Enter full name"),address_line1:o.required("Enter street address"),address_line2:l.nullable(),address_city:n.required("Enter city"),address_state:c.required("Select state"),address_postal_code:r.required("Enter postal code")})),this.formController.values.subscribe((e=>this.billingInfo=Object.assign({},e))),this.formController.errors.subscribe((e=>{this.errors=Object.assign({},e)}))}async getValues(){return this.formController.values.getValue()}async fill(e){this.formController.setInitialValues(e)}async validate(){return{isValid:await this.formController.validate(),errors:this.formController.errors.getValue()}}render(){if(!this.formController)return null;const e=this.formController.getInitialValues();return i(m,null,i("div",{part:b,class:"mt-4"},i(_,{text:"Billing address",class:"fs-6 fw-bold lh-lg mb-4"}),i("form",null,i("fieldset",null,this.legend&&i("legend",null,this.legend),i("div",{class:"row gy-3"},i("div",{class:"col-12"},i("form-control-text",{name:"name",label:"Full Name",defaultValue:e.name,errorText:this.errors.name,inputHandler:this.inputHandler})),i("div",{class:"col-12"},i("form-control-text",{name:"address_line1",label:"Street Address",defaultValue:e.address_line1,errorText:this.errors.address_line1,inputHandler:this.inputHandler})),i("div",{class:"col-12"},i("form-control-text",{name:"address_line2",label:"Apartment, Suite, etc. (optional)",defaultValue:e.address_line2,errorText:this.errors.address_line2,inputHandler:this.inputHandler})),i("div",{class:"col-12"},i("form-control-text",{name:"address_city",label:"City",defaultValue:e.address_city,errorText:this.errors.address_city,inputHandler:this.inputHandler})),i("div",{class:"col-12"},i("form-control-select",{name:"address_state",label:"State",options:w,defaultValue:e.address_state,errorText:this.errors.address_state,inputHandler:this.inputHandler})),i("div",{class:"col-12"},i("form-control-text",{name:"address_postal_code",label:"ZIP",defaultValue:e.address_postal_code,errorText:this.errors.address_postal_code,inputHandler:this.inputHandler,maxLength:5,keyDownHandler:j})))))))}},N=class{constructor(t){e(this,t),this.variant="primary",this.type="button"}render(){return i(m,{key:"101d2233002f9d316fae078dd77d43358c937291"},i(x,{key:"d7e3c0a41d862572eb47a22e3c7178e8a172d990",variant:this.variant,isLoading:this.isLoading,clickHandler:this.clickHandler,class:this.class,type:this.type,disabled:this.disabled,style:this.customStyle},this.text))}},M=class{constructor(t){e(this,t),this.errors={},this.inputHandler=(e,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:t}))}}componentWillLoad(){this.formController=new d(a({name:h.nullable(),address_line1:o.nullable(),address_line2:l.nullable(),address_city:n.nullable(),address_state:c.nullable(),address_postal_code:r.required("Enter postal code")}))}componentDidLoad(){this.formController.values.subscribe((e=>this.billingInfo=Object.assign({},e))),this.formController.errors.subscribe((e=>{this.errors=Object.assign({},e)}))}async getValues(){return this.formController.values.getValue()}async fill(e){this.formController.setInitialValues(e)}async validate(){return{isValid:await this.formController.validate(),errors:this.formController.errors.getValue()}}render(){const e=this.formController.getInitialValues();return i(m,{key:"f1f3be2d16211cbb384246470a495076b8cc99bf"},i("div",{key:"aabd6ec4293a89fa65e65440bcc399a3c91ccbf6",part:b},i("form",{key:"4212a38db263ec874feba69b44aa4ca53c4b6971"},i("fieldset",{key:"a669e28f6cb8974b1a6a358809c6c1c88d8dc5cb"},this.legend&&i("legend",{key:"b01fa92477ad324a059474b86835ad984addd48f"},this.legend),i("div",{key:"6c1f9a93de580ce2d931aedae3083e015b8e5f07",class:"row gy-3"},i("div",{key:"bbc6ba15ce56756db54338cd114376d57a9c6546",class:"col-12"},i("form-control-text",{key:"74848920343434f7677d8454b7bf0ec0e8055427",name:"address_postal_code",label:"ZIP",defaultValue:e.address_postal_code,errorText:this.errors.address_postal_code,inputHandler:this.inputHandler,maxLength:5,keyDownHandler:j})))))))}},B=e=>{const{isReady:t}=e;return t?null:i("div",{class:"container-fluid p-0"},i("div",{class:"mb-3"},i(u,{height:"18px",width:"100px"}),i(u,{height:"36px"})),i("div",{class:"row"},i("div",{class:"col-4 align-content-end"},i(u,{height:"18px",width:"80px"}),i(u,{height:"36px"})),i("div",{class:"col-4 align-content-end"},i(u,{height:"36px"})),i("div",{class:"col-4 align-content-end"},i(u,{height:"18px",width:"30px"}),i(u,{height:"36px"}))))},L=class{constructor(t){e(this,t),this.isReady=!1}async componentWillLoad(){await v(),this.iframeOrigin=k.iframeOrigin,p(),this.analytics=new y(this)}componentDidRender(){Promise.all([this.cardNumberIframeElement,this.expirationMonthIframeElement,this.expirationYearIframeElement,this.cvvIframeElement].map((e=>new Promise((t=>{e.addEventListener("iframeLoaded",(()=>{t()}))}))))).then((()=>{this.isReady=!0}))}disconnectedCallback(){var e;null===(e=this.analytics)||void 0===e||e.cleanup()}async validate(){const e=await this.cardNumberIframeElement.validate(),t=await this.expirationMonthIframeElement.validate(),i=await this.expirationYearIframeElement.validate(),s=await this.cvvIframeElement.validate();return e&&t&&i&&s}async tokenize({clientId:e,paymentMethodMetadata:t,account:i}){return this.cardNumberIframeElement.tokenize(e,t,i)}render(){return i(m,{key:"def25049fc30e1755194750bad8ebff0c578dac2"},i(B,{key:"81a0ec8218a76e51962fac0e8f628b243bd6d33e",isReady:this.isReady}),i("hidden-input",{key:"6145fba4b8164ff1cec1d1b5707063cdf26faa82"}),i("div",{key:"febcd1d5dbbde0216d7286842f35d58984f3c292",class:"container-fluid p-0",style:{opacity:this.isReady?"1":"0",height:this.isReady?"auto":"0"}},i("div",{key:"6e305988144bd44753ab202b29de295cc3dd7b20",class:"mb-3"},i("iframe-input",{key:"79348433ff2860a30d387b9a64c258a91c220363",inputId:"cardNumber",ref:e=>this.cardNumberIframeElement=e,label:"Card Number",iframeOrigin:`${this.iframeOrigin}/v2/cardNumber`})),i("div",{key:"11eee27f7aa34c120aed348acd1fc51e46b77628",class:"row"},i("div",{key:"0bb1153c58433514b889fe20d9cf77c7b7f8b867",class:"col-4 align-content-end"},i("iframe-input",{key:"f07c79907822a83cbc29eb4748f952b1a2079990",inputId:"expirationMonth",ref:e=>this.expirationMonthIframeElement=e,label:"Expiration",iframeOrigin:`${this.iframeOrigin}/v2/expirationMonth`})),i("div",{key:"6c2e81715c918978f688d00ae960f2673e092248",class:"col-4 align-content-end"},i("iframe-input",{key:"96d3656d4a26f96889ab5c6569e0144a76293627",inputId:"expirationYear",ref:e=>this.expirationYearIframeElement=e,label:"",iframeOrigin:`${this.iframeOrigin}/v2/expirationYear`})),i("div",{key:"e186614da2a5ef5836e251ac1f8f247c18cff7e6",class:"col-4 align-content-end"},i("iframe-input",{key:"d9f6c2d2f669fde22b18845a47f5bdeb8a62abe7",inputId:"CVV",ref:e=>this.cvvIframeElement=e,label:"CVV",iframeOrigin:`${this.iframeOrigin}/v2/CVV`})))))}},P=class{constructor(i){e(this,i),this.checkboxChanged=t(this,"checkboxChanged"),this.label="Save New Payment Method",this.isChecked=!1,this.handleCheckboxChange=(e,t)=>{this.isChecked=t,C.savePaymentMethod=t,this.checkboxChanged.emit(this.isChecked)}}render(){return i(m,{key:"e40e77b8ef70b343c870a4cb0b6cf3fa51543ff9"},i("form-control-checkbox",{key:"1429e670405e0d43eef2d3b5ed2d071db339129d",label:this.label||"Save New Payment Method",name:"saveNewPaymentMethod",checked:this.isChecked,inputHandler:this.handleCheckboxChange}))}};export{H as justifi_bank_account_billing_form_simple,S as justifi_bank_account_form,D as justifi_billing_form,I as justifi_billing_form_full,N as justifi_button,M as justifi_card_billing_form_simple,L as justifi_card_form,V as justifi_radio_list_item,P as justifi_save_new_payment_method}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as t,r as
|
|
1
|
+
import{h as t,r as e,c as s}from"./p-DOjVAAtq.js";import{c as r,a as i,F as o}from"./p-DiJD6Iqx.js";import{f as n}from"./p-BS7OgSQe.js";import"./p-a6tcNl_T.js";import{C as a,a as u}from"./p-Cjcsf8ku.js";import{R as l,k as h}from"./p-CPKSE7M4.js";import"./p-CLHwhyvu.js";import"./p-B5rtFhtR.js";import"./p-BH0Xfn-F.js";import{B as m}from"./p-CJ9qo7_g.js";import{S as c}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{P as p}from"./p-DqPvh0aN.js";import{m as d}from"./p-BwBb2Opu.js";import{c as f,J as v}from"./p-CeSmGv6o.js";import{g as j,a as y}from"./p-D2muobcE.js";import{A as b}from"./p-ty1sI-fI.js";import{S as w}from"./p-BIcS6lTe.js";import"./p-BFTU3MAI.js";import"./p-HXpYMWUU.js";import"./p-DdMxswn1.js";import"./p-Dj_zevuD.js";import"./p-C7cvPZSk.js";const S=t=>{const e=+t;return i().required("Amount is required").test("max-amount",`Refund amount cannot be more than payment amount: ${n(e)}`,(function(t){return+t<=+e})).test("min-amount","Refund amount must be greater than 0",(function(t){return+t>0}))},g=t=>{if(t)return r({amount:S(t),description:i().optional(),reason:i().optional().oneOf([l.customerRequest,l.duplicate,l.fraudulent],"Select a reason")})},C=[{label:"Select a reason",value:""},{label:"Customer requested a refund",value:"customer_request"},{label:"Customer was double-charged",value:"duplicate"},{label:"Payment was reported as fraud",value:"fraudulent"}],x=b();class A{async postRefund(t,e,s,r){return x.post({endpoint:`payments/${t}/refunds`,headers:{"Sub-Account":e},body:r,authToken:s})}}const B=()=>t("div",{class:"row gap-3"},t("div",{class:"col-12"},t(w,{width:"100%",height:"40px"}))),I=()=>t(c,null,t("div",{class:"row gap-5"},t(B,null),t(B,null),t(B,null))),T=class{constructor(t){e(this,t),this.errorEvent=s(this,"error-event"),this.submitEvent=s(this,"submit-event"),this.refundPayload={},this.displayAmount="",this.errors={},this.paymentLoading=!0,this.refundLoading=!1,this.hideSubmitButton=!1,this.inputHandler=(t,e)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:e}))}}componentWillLoad(){f(),this.analytics=new v(this),this.initializeApi(),this.formController=new o(g())}handleError(t,e,s){this.errorEvent.emit({errorCode:t,message:e,severity:s})}checkAmount(t){return t>0}handleInvalidAmount(){this.submitDisabled=!0,this.handleError(u.INVALID_REFUND_AMOUNT,"Refund amount must be greater than 0",a.ERROR)}initializeFormController(){const t=this.refundPayload.amount,e=t?t.toString():"0";this.formController=new o(g(e)),this.formController.setInitialValues({amount:e}),this.formController.values.subscribe((t=>{this.refundPayload=Object.assign({},t)})),this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))}initializeApi(){this.paymentId&&this.authToken?d({id:this.paymentId,authToken:this.authToken,service:new p})({onSuccess:({payment:t})=>{this.refundPayload=new h({amount:t.amount_refundable})},onError:({error:t,code:e,severity:s})=>{this.handleError(e,t,s)},final:()=>{this.checkAmount(this.refundPayload.amount)?this.initializeFormController():this.handleInvalidAmount(),this.paymentLoading=!1}}):this.handleError(u.MISSING_PROPS,"Payment ID and Auth Token are required",a.ERROR)}async refundPayment(t){if(t&&t.preventDefault(),!await this.formController.validate())return;const e=(({authToken:t,accountId:e,paymentId:s,service:r})=>async({refundBody:i,onSuccess:o,onError:n,final:u})=>{var l;try{const u=await r.postRefund(s,e,t,i);if(u.error)return n({error:y(u.error),code:j(null===(l=u.error)||void 0===l?void 0:l.code),severity:a.ERROR});o(u)}catch(t){const e=j(null==t?void 0:t.code);return n({error:t.message||t,code:e,severity:a.ERROR})}finally{return u()}})({authToken:this.authToken,accountId:this.accountId,paymentId:this.paymentId,service:new A}),s=this.formController.values.getValue();return this.refundLoading=!0,new Promise((t=>{let r;e({refundBody:s,onSuccess:t=>{r=t},onError:({error:t,code:e,severity:s})=>{r=t,this.handleError(t,e,s)},final:()=>{this.submitEvent.emit({response:r}),this.submitDisabled=!0,this.refundLoading=!1,t(r.data)}})}))}render(){if(this.paymentLoading)return t(I,null);const e=this.formController.getInitialValues(),s=this.refundPayload.amount;return t(c,null,t("form",null,t("fieldset",null,t("div",{class:"row gy-3"},t("div",{class:"col-12"},t("form-control-monetary",{name:"amount",label:"Refund Amount",defaultValue:e.amount,inputHandler:this.inputHandler,errorText:this.errors.amount})),t("div",{class:"col-12"},t("form-control-select",{name:"reason",label:"Reason for refund (optional)",defaultValue:e.reason,inputHandler:this.inputHandler,options:C,errorText:this.errors.reason})),t("div",{class:"col-12"},t("form-control-textarea",{name:"description",label:"Note (optional)",defaultValue:e.description,inputHandler:this.inputHandler,maxLength:250,errorText:this.errors.description})),t("div",{class:"form-group d-flex flex-row-reverse"},t(m,{variant:"primary",type:"submit",onClick:this.refundPayment.bind(this),isLoading:this.paymentLoading||this.refundLoading,hidden:this.hideSubmitButton,disabled:this.submitDisabled},`Refund ${n(+s)}`))))))}};export{T as justifi_refund_payment}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r,c as s,h as t}from"./p-DOjVAAtq.js";import{S as
|
|
1
|
+
import{r,c as s,h as t}from"./p-DOjVAAtq.js";import{S as e}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{c as i,J as o}from"./p-CeSmGv6o.js";import{d as a}from"./p-BRbqaU66.js";import"./p-a6tcNl_T.js";import"./p-HXpYMWUU.js";import{C as n,a as p}from"./p-Cjcsf8ku.js";import{i as c}from"./p-CPKSE7M4.js";import"./p-CLHwhyvu.js";import"./p-B5rtFhtR.js";import"./p-BH0Xfn-F.js";import{g as m,a as h}from"./p-D2muobcE.js";import{A as d}from"./p-ty1sI-fI.js";import"./p-C7cvPZSk.js";import"./p-Dj_zevuD.js";import"./p-BS7OgSQe.js";import"./p-Bm8T-MOQ.js";import"./p-DdMxswn1.js";const l=d();class u{async fetchTerminalOrders(r,s,t){return l.get({endpoint:"terminals/orders",params:t,headers:{account:r},authToken:s})}}const j=class{constructor(t){r(this,t),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.columns=a,this.handleErrorEvent=r=>{this.errorMessage=r.detail.message,this.errorEvent.emit(r.detail)}}componentWillLoad(){i(),this.analytics=new o(this),this.initializeGetData()}disconnectedCallback(){var r;null===(r=this.analytics)||void 0===r||r.cleanup()}initializeGetData(){this.accountId&&this.authToken?this.getTerminalOrders=(({id:r,authToken:s,service:t})=>async({params:e,onSuccess:i,onError:o,final:a})=>{var p,d;try{const a=await t.fetchTerminalOrders(r,s,e);if(a.error)return o({error:h(a.error),code:m(null===(d=a.error)||void 0===d?void 0:d.code),severity:n.ERROR});{const r=Object.assign({},a.page_info);i({terminalOrders:(null===(p=a.data)||void 0===p?void 0:p.map((r=>new c(r))))||[],pagingInfo:r})}}catch(r){const s=m(null==r?void 0:r.code);return o({error:r.message||r,code:s,severity:n.ERROR})}finally{return a()}})({id:this.accountId,authToken:this.authToken,service:new u}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:p.MISSING_PROPS,message:this.errorMessage,severity:n.ERROR}))}render(){return t(e,{key:"95be94d72e803e3c8449d1f39efe6cc6a7252f36"},t("terminal-orders-list-core",{key:"7f610bc41818b1e9050c91557cb2561e41438a3d",getTerminalOrders:this.getTerminalOrders,"onError-event":this.handleErrorEvent,columns:this.columns}))}};export{j as justifi_terminal_orders_list}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as s,r as t,c as i}from"./p-DOjVAAtq.js";import{A as e}from"./p-ty1sI-fI.js";import{C as r,a as o}from"./p-Cjcsf8ku.js";import"./p-CPKSE7M4.js";import"./p-CLHwhyvu.js";import"./p-B5rtFhtR.js";import"./p-BH0Xfn-F.js";import{g as a,a as n}from"./p-D2muobcE.js";import{c,J as l}from"./p-
|
|
1
|
+
import{h as s,r as t,c as i}from"./p-DOjVAAtq.js";import{A as e}from"./p-ty1sI-fI.js";import{C as r,a as o}from"./p-Cjcsf8ku.js";import"./p-CPKSE7M4.js";import"./p-CLHwhyvu.js";import"./p-B5rtFhtR.js";import"./p-BH0Xfn-F.js";import{g as a,a as n}from"./p-D2muobcE.js";import{c,J as l}from"./p-CeSmGv6o.js";import{c as h}from"./p-DGsXKF67.js";import{p as d,f as p,r as u,j as v}from"./p-BS7OgSQe.js";import{v as m,i as y,a as f,H as j}from"./p-DxnXyWPn.js";import{D as _,E as g}from"./p-Dj_zevuD.js";import{S as C}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{S as k}from"./p-BIcS6lTe.js";import"./p-a6tcNl_T.js";import"./p-DdMxswn1.js";import"./p-C7cvPZSk.js";import"./p-DCIW8z1f.js";import"./p-HXpYMWUU.js";const w=e();class S{async fetchQuote(s,t){return w.post({endpoint:"insurance/quotes",body:t,authToken:s})}async toggleCoverage(s,t,i){return w.post({endpoint:`insurance/quotes/${t}/toggle`,body:i,authToken:s})}}const b=()=>s("div",{class:"row gap-3"},s("div",{class:"col-12"},s(k,{width:"35%",height:"30px"})),s("div",{class:"col-12"},s(k,{width:"70%"})),s("div",{class:"col-12"},s(k,{width:"40%"})),s("div",{class:"col-12"},s(k,{width:"40%"})),s("div",{class:"col-12"},s(k,{width:"100%"})),s("div",{class:"col-12"},s(k,{width:"80%"}))),T=class{constructor(s){t(this,s),this.insuranceUpdated=i(this,"insurance-updated"),this.errorEvent=i(this,"error-event"),this.isLoading=!0}async validate(){return m()}processHTMLContent(s){return d(s,[s=>u(s,"style"),s=>v(s,"a","part",_),s=>v(s,"p","part",_)])}componentWillLoad(){c(),this.analytics=new l(this),this.initializeServiceMethods(),this.getQuote&&this.fetchData()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}initializeServiceMethods(){const s=this.authToken||h.authToken;if(!s)return void this.errorEvent.emit({errorCode:o.MISSING_PROPS,message:"Missing authToken",severity:r.ERROR});const t={authToken:s,service:new S};this.getQuote=(({authToken:s,service:t})=>async({payload:i,onSuccess:e,onError:o})=>{var c;try{const l=await t.fetchQuote(s,i);if(l.error)return o({error:n(l.error),code:a(null===(c=l.error)||void 0===c?void 0:c.code),severity:r.ERROR});e({quote:l.data})}catch(s){const t=a(null==s?void 0:s.code);return o({error:s.message||s,code:t,severity:r.ERROR})}})(t),this.toggleCoverage=(({authToken:s,service:t})=>async({quoteId:i,payload:e,onSuccess:o,onError:c})=>{var l;try{const h=await t.toggleCoverage(s,i,e);if(h.error)return c({error:n(h.error),code:a(null===(l=h.error)||void 0===l?void 0:l.code),severity:r.ERROR});o({quote:h.data})}catch(s){const t=a(null==s?void 0:s.code);return c({error:s.message||s,code:t,severity:r.ERROR})}})(t)}fetchData(){this.isLoading=!0,this.getQuote({payload:{checkout_id:this.checkoutId||h.checkoutId,policy_type:"season_interruption",primary_identity:{state:this.primaryIdentityState,email:this.primaryIdentityEmailAddress,first_name:this.primaryIdentityFirstName,last_name:this.primaryIdentityLastName,postal_code:this.primaryIdentityPostalCode,country:this.primaryIdentityCountry},policy_attributes:{insurable_amount:this.policyAttributesInsurableAmount,start_date:this.policyAttributesStartDate,end_date:this.policyAttributesEndDate,covered_identity:{first_name:this.coveredIdentityFirstName,last_name:this.coveredIdentityLastName}}},onSuccess:({quote:s})=>{this.quote=s,this.quote.product.description=this.processHTMLContent(this.quote.product.description),this.quote.product.legal_disclaimer=this.processHTMLContent(this.quote.product.legal_disclaimer),y[s.policy_type]=s.accepted,this.isLoading=!1},onError:({error:s,code:t,severity:i})=>{this.isLoading=!1,this.errorEvent.emit({errorCode:t,message:s,severity:i})}})}onChangeHandler(s,t){this.accepted=t,f[this.quote.policy_type]=!1,this.toggleCoverage({quoteId:this.quote.id,payload:{accepted:this.accepted},onSuccess:()=>{this.insuranceUpdated.emit(),y[this.quote.policy_type]=this.accepted},onError:({error:s,code:t,severity:i})=>{this.errorEvent.emit({errorCode:t,message:s,severity:i})}})}get error(){var s;return f[null===(s=this.quote)||void 0===s?void 0:s.policy_type]}render(){var t,i,e,r;return h&&!1===h.insuranceEnabled?(console.warn("[justifi-season-interruption-insurance] Insurance is disabled for this checkout (payment_settings.insurance_payments=false)."),null):s(C,null,this.isLoading?s(b,null):s("div",null,s(j,{text:null===(t=this.quote)||void 0===t?void 0:t.product.title,class:"fs-5 fw-bold pb-3"}),s("small",{part:_,innerHTML:null===(i=this.quote)||void 0===i?void 0:i.product.description}),s("form-control-radio",{label:`Accept coverage for ${p(null===(e=this.quote)||void 0===e?void 0:e.total_cents)}`,name:"opt-in",value:"true",checked:"true"===this.accepted,inputHandler:this.onChangeHandler.bind(this),errorText:this.error?" ":void 0}),s("form-control-radio",{label:"Decline coverage",name:"opt-in",value:"false",checked:"false"===this.accepted,inputHandler:this.onChangeHandler.bind(this),errorText:this.error?" ":void 0}),s("div",{class:"invalid-feedback",style:{display:this.error?"block":"none"},part:g},"Please select an option"),s("small",{part:_,innerHTML:null===(r=this.quote)||void 0===r?void 0:r.product.legal_disclaimer})))}};export{T as justifi_season_interruption_insurance}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as s,h as i}from"./p-DOjVAAtq.js";import"./p-a6tcNl_T.js";import"./p-HXpYMWUU.js";import{C as o,a as r}from"./p-Cjcsf8ku.js";import{C as e}from"./p-CPKSE7M4.js";import"./p-CLHwhyvu.js";import"./p-B5rtFhtR.js";import"./p-BH0Xfn-F.js";import{g as c,a}from"./p-D2muobcE.js";import{c as n,J as p}from"./p-
|
|
1
|
+
import{r as t,c as s,h as i}from"./p-DOjVAAtq.js";import"./p-a6tcNl_T.js";import"./p-HXpYMWUU.js";import{C as o,a as r}from"./p-Cjcsf8ku.js";import{C as e}from"./p-CPKSE7M4.js";import"./p-CLHwhyvu.js";import"./p-B5rtFhtR.js";import"./p-BH0Xfn-F.js";import{g as c,a}from"./p-D2muobcE.js";import{c as n,J as p}from"./p-CeSmGv6o.js";import{C as h}from"./p-B9MN_vv4.js";import{m,S as u}from"./p-CTAOJGVx.js";import{S as d}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{d as j}from"./p-F6TcNeK4.js";import"./p-DdMxswn1.js";import"./p-BS7OgSQe.js";import"./p-C7cvPZSk.js";import"./p-ty1sI-fI.js";import"./p-Bm8T-MOQ.js";import"./p-Dj_zevuD.js";const f=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.columns=j,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){n(),this.analytics=new p(this),this.initializeGetData()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetData()}initializeGetData(){this.initializeGetCheckouts(),this.initializeGetSubAccounts()}initializeGetCheckouts(){this.accountId&&this.authToken?this.getCheckouts=(({accountId:t,authToken:s,service:i})=>async({params:r,onSuccess:n,onError:p})=>{var h,m;try{const u=await i.fetchCheckouts(t,s,r);if(u.error)return p({error:a(u.error),code:c(null===(m=u.error)||void 0===m?void 0:m.code),severity:o.ERROR});{const t=Object.assign({},u.page_info);n({checkouts:(null===(h=u.data)||void 0===h?void 0:h.map((t=>new e(t))))||[],pagingInfo:t})}}catch(t){const s=c(null==t?void 0:t.code);return p({error:t.message||t,code:s,severity:o.ERROR})}})({accountId:this.accountId,authToken:this.authToken,service:new h}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:r.MISSING_PROPS,message:this.errorMessage,severity:o.ERROR}))}initializeGetSubAccounts(){this.accountId&&this.authToken&&(this.getSubAccounts=m({accountId:this.accountId,authToken:this.authToken,service:new u}))}render(){return i(d,{key:"f20c74e616c92115985587dc56d6ef62e86fbf02"},i("checkouts-list-core",{key:"e3afd6af4d8db35f4119d93cc550a1827e1d52cb",getCheckouts:this.getCheckouts,getSubAccounts:this.getSubAccounts,"onError-event":this.handleErrorEvent,columns:this.columns}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{f as justifi_checkouts_list}
|