@justifi/webcomponents 5.7.6-rc-06 → 5.7.6-rc-08

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.
Files changed (92) hide show
  1. package/dist/cjs/{check-pkg-version-AkwlI7Od.js → check-pkg-version-PeSbhLdJ.js} +1 -1
  2. package/dist/cjs/hidden-input_2.cjs.entry.js +1 -1
  3. package/dist/cjs/justifi-apple-pay.cjs.entry.js +39 -17
  4. package/dist/cjs/justifi-bank-account-form_5.cjs.entry.js +2 -2
  5. package/dist/cjs/justifi-business-details.cjs.entry.js +2 -2
  6. package/dist/cjs/justifi-business-form.cjs.entry.js +2 -2
  7. package/dist/cjs/justifi-button_5.cjs.entry.js +2 -2
  8. package/dist/cjs/justifi-checkout.cjs.entry.js +2 -2
  9. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +2 -2
  10. package/dist/cjs/justifi-dispute-management.cjs.entry.js +2 -2
  11. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +2 -2
  12. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +2 -2
  13. package/dist/cjs/justifi-order-terminals.cjs.entry.js +2 -2
  14. package/dist/cjs/justifi-payment-details.cjs.entry.js +2 -2
  15. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +2 -2
  16. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +2 -2
  17. package/dist/cjs/justifi-payments-list.cjs.entry.js +2 -2
  18. package/dist/cjs/justifi-payout-details.cjs.entry.js +2 -2
  19. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +2 -2
  20. package/dist/cjs/justifi-payouts-list.cjs.entry.js +2 -2
  21. package/dist/cjs/justifi-refund-payment.cjs.entry.js +2 -2
  22. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +2 -2
  23. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +2 -2
  24. package/dist/cjs/justifi-terminals-list.cjs.entry.js +2 -2
  25. package/dist/cjs/justifi-tokenize-payment-method.cjs.entry.js +2 -2
  26. package/dist/cjs/{package-BxbbLMLn.js → package-CRFlBTFJ.js} +1 -1
  27. package/dist/collection/api/ApplePay.js +6 -11
  28. package/dist/collection/api/services/apple-pay.service.js +23 -4
  29. package/dist/collection/components/modular-checkout/sub-components/apple-pay.js +10 -2
  30. package/dist/docs.json +3 -3
  31. package/dist/esm/{check-pkg-version--jxAuWpF.js → check-pkg-version-C2I-noS-.js} +1 -1
  32. package/dist/esm/hidden-input_2.entry.js +1 -1
  33. package/dist/esm/justifi-apple-pay.entry.js +39 -17
  34. package/dist/esm/justifi-bank-account-form_5.entry.js +2 -2
  35. package/dist/esm/justifi-business-details.entry.js +2 -2
  36. package/dist/esm/justifi-business-form.entry.js +2 -2
  37. package/dist/esm/justifi-button_5.entry.js +2 -2
  38. package/dist/esm/justifi-checkout.entry.js +2 -2
  39. package/dist/esm/justifi-checkouts-list.entry.js +2 -2
  40. package/dist/esm/justifi-dispute-management.entry.js +2 -2
  41. package/dist/esm/justifi-dispute-notification_3.entry.js +2 -2
  42. package/dist/esm/justifi-gross-payment-chart.entry.js +2 -2
  43. package/dist/esm/justifi-order-terminals.entry.js +2 -2
  44. package/dist/esm/justifi-payment-details.entry.js +2 -2
  45. package/dist/esm/justifi-payment-provisioning.entry.js +2 -2
  46. package/dist/esm/justifi-payment-transactions-list.entry.js +2 -2
  47. package/dist/esm/justifi-payments-list.entry.js +2 -2
  48. package/dist/esm/justifi-payout-details.entry.js +2 -2
  49. package/dist/esm/justifi-payout-transactions-list.entry.js +2 -2
  50. package/dist/esm/justifi-payouts-list.entry.js +2 -2
  51. package/dist/esm/justifi-refund-payment.entry.js +2 -2
  52. package/dist/esm/justifi-season-interruption-insurance.entry.js +2 -2
  53. package/dist/esm/justifi-terminal-orders-list.entry.js +2 -2
  54. package/dist/esm/justifi-terminals-list.entry.js +2 -2
  55. package/dist/esm/justifi-tokenize-payment-method.entry.js +2 -2
  56. package/dist/esm/{package-COytJSGm.js → package-C3HuV_kf.js} +1 -1
  57. package/dist/module/justifi-apple-pay.js +39 -17
  58. package/dist/module/package.js +1 -1
  59. package/dist/types/api/ApplePay.d.ts +2 -2
  60. package/dist/types/api/services/apple-pay.service.d.ts +9 -2
  61. package/dist/webcomponents/{p-667b5302.entry.js → p-0218759e.entry.js} +1 -1
  62. package/dist/webcomponents/{p-b7adc480.entry.js → p-0307ecb2.entry.js} +1 -1
  63. package/dist/webcomponents/p-11719182.entry.js +1 -0
  64. package/dist/webcomponents/{p-3505a735.entry.js → p-1306cc29.entry.js} +1 -1
  65. package/dist/webcomponents/{p-33fe206e.entry.js → p-1f97fb2d.entry.js} +1 -1
  66. package/dist/webcomponents/{p-958e0c51.entry.js → p-2131451b.entry.js} +1 -1
  67. package/dist/webcomponents/{p-488f4f52.entry.js → p-27d89548.entry.js} +1 -1
  68. package/dist/webcomponents/{p-4d23ebb7.entry.js → p-2b8dbdb0.entry.js} +1 -1
  69. package/dist/webcomponents/{p-8032dd16.entry.js → p-314d08be.entry.js} +1 -1
  70. package/dist/webcomponents/{p-8824c860.entry.js → p-356f86cb.entry.js} +1 -1
  71. package/dist/webcomponents/{p-855a2447.entry.js → p-4e3a86c7.entry.js} +1 -1
  72. package/dist/webcomponents/p-513c3232.entry.js +1 -0
  73. package/dist/webcomponents/{p-a43bd396.entry.js → p-56f5955a.entry.js} +1 -1
  74. package/dist/webcomponents/{p-ea958e5d.entry.js → p-58395028.entry.js} +1 -1
  75. package/dist/webcomponents/{p-58fcce9f.entry.js → p-728012cb.entry.js} +1 -1
  76. package/dist/webcomponents/{p-d2ddf864.entry.js → p-9eeb7e9a.entry.js} +1 -1
  77. package/dist/webcomponents/{p-OeJDUMFM.js → p-C1nBLmHv.js} +1 -1
  78. package/dist/webcomponents/p-C3HuV_kf.js +1 -0
  79. package/dist/webcomponents/{p-a208da9e.entry.js → p-a5fa79cd.entry.js} +1 -1
  80. package/dist/webcomponents/{p-faf35b15.entry.js → p-aa189ce4.entry.js} +1 -1
  81. package/dist/webcomponents/{p-ce0da3ec.entry.js → p-bc94f43a.entry.js} +1 -1
  82. package/dist/webcomponents/{p-fbd3e0e3.entry.js → p-cc035e82.entry.js} +1 -1
  83. package/dist/webcomponents/{p-6da97bca.entry.js → p-d2b3c6ee.entry.js} +1 -1
  84. package/dist/webcomponents/{p-eb69b479.entry.js → p-d5d1d3b2.entry.js} +1 -1
  85. package/dist/webcomponents/{p-d65a971e.entry.js → p-e94800a2.entry.js} +1 -1
  86. package/dist/webcomponents/p-ffebee17.entry.js +1 -0
  87. package/dist/webcomponents/webcomponents.esm.js +1 -1
  88. package/package.json +1 -1
  89. package/dist/webcomponents/p-5e1f4c1f.entry.js +0 -1
  90. package/dist/webcomponents/p-86f73372.entry.js +0 -1
  91. package/dist/webcomponents/p-880b9afe.entry.js +0 -1
  92. package/dist/webcomponents/p-COytJSGm.js +0 -1
@@ -7,7 +7,7 @@ import { p as pagingDefaults } from './Pagination-CLHwhyvu.js';
7
7
  import './Payment-Bs0-9Lnt.js';
8
8
  import './Business-BCoP0TAV.js';
9
9
  import './Dispute-7MWRbTXI.js';
10
- import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version--jxAuWpF.js';
10
+ import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version-C2I-noS-.js';
11
11
  import { g as getErrorCode, a as getErrorMessage } from './utils-BeQLScSm.js';
12
12
  import { P as PayoutService } from './payout.service-Ai1aEuFC.js';
13
13
  import { T as Table, l as TableWrapper, a as TableComponent, b as TableHead, c as TableHeadRow, d as TableBody, e as TableLoadingState, f as TableEmptyState, g as TableErrorState, h as TableRow, i as TableFoot, j as TableFootRow, k as TableFootCell } from './table-CTPfsGKi.js';
@@ -17,7 +17,7 @@ import { N as tableHeadCell, O as getAlternateTableCellPart } from './parts-D3G5
17
17
  import './index-B9me4yN2.js';
18
18
  import './helpers-Mu7LQT-w.js';
19
19
  import './state-options-BX8GieXu.js';
20
- import './package-COytJSGm.js';
20
+ import './package-C3HuV_kf.js';
21
21
  import './Api-DQM93PRm.js';
22
22
  import './spinner-D-vbFqC6.js';
23
23
 
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index-kpoIU4v_.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--jxAuWpF.js';
3
+ import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version-C2I-noS-.js';
4
4
  import { P as PayoutService } from './payout.service-Ai1aEuFC.js';
5
5
  import './config-state-BrllxiM0.js';
6
6
  import './utils-B7jE0g5_.js';
@@ -15,7 +15,7 @@ import { m as makeGetSubAccounts, S as SubAccountService } from './get-subaccoun
15
15
  import { S as StyledHost } from './styled-host-B_XBaM7z.js';
16
16
  import './event-types-CZfYo5-1.js';
17
17
  import { d as defaultColumnsKeys } from './payouts-table-cgIXP54P.js';
18
- import './package-COytJSGm.js';
18
+ import './package-C3HuV_kf.js';
19
19
  import './Api-DQM93PRm.js';
20
20
  import './index-B9me4yN2.js';
21
21
  import './helpers-Mu7LQT-w.js';
@@ -13,7 +13,7 @@ import { S as StyledHost } from './styled-host-B_XBaM7z.js';
13
13
  import './event-types-CZfYo5-1.js';
14
14
  import { P as PaymentService } from './payment.service-BnDr_9vX.js';
15
15
  import { m as makeGetPaymentDetails } from './get-payment-details-j8nOngzB.js';
16
- import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version--jxAuWpF.js';
16
+ import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version-C2I-noS-.js';
17
17
  import { g as getErrorCode, a as getErrorMessage } from './utils-BeQLScSm.js';
18
18
  import { A as Api } from './Api-DQM93PRm.js';
19
19
  import { S as Skeleton } from './skeleton-CZfDofm6.js';
@@ -22,7 +22,7 @@ import './index-B9me4yN2.js';
22
22
  import './helpers-Mu7LQT-w.js';
23
23
  import './state-options-BX8GieXu.js';
24
24
  import './parts-D3G5aVLy.js';
25
- import './package-COytJSGm.js';
25
+ import './package-C3HuV_kf.js';
26
26
 
27
27
  const amountValidation = (maxAmount) => {
28
28
  const max = +maxAmount;
@@ -7,14 +7,14 @@ import './Payment-Bs0-9Lnt.js';
7
7
  import './Business-BCoP0TAV.js';
8
8
  import './Dispute-7MWRbTXI.js';
9
9
  import { g as getErrorCode, a as getErrorMessage } from './utils-BeQLScSm.js';
10
- import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version--jxAuWpF.js';
10
+ import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version-C2I-noS-.js';
11
11
  import { c as checkoutStore } from './checkout.store-QrBBYQfi.js';
12
12
  import './config-state-BrllxiM0.js';
13
13
  import './index-B9me4yN2.js';
14
14
  import './utils-B7jE0g5_.js';
15
15
  import './helpers-Mu7LQT-w.js';
16
16
  import './state-options-BX8GieXu.js';
17
- import './package-COytJSGm.js';
17
+ import './package-C3HuV_kf.js';
18
18
 
19
19
  const api = Api();
20
20
  class InsuranceService {
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index-kpoIU4v_.js';
2
2
  import { S as StyledHost } from './styled-host-B_XBaM7z.js';
3
3
  import './event-types-CZfYo5-1.js';
4
- import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version--jxAuWpF.js';
4
+ import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version-C2I-noS-.js';
5
5
  import { d as defaultColumnsKeys } from './terminal-orders-table-CvK516_V.js';
6
6
  import './config-state-BrllxiM0.js';
7
7
  import './utils-B7jE0g5_.js';
@@ -13,7 +13,7 @@ import './Business-BCoP0TAV.js';
13
13
  import './Dispute-7MWRbTXI.js';
14
14
  import { g as getErrorCode, a as getErrorMessage } from './utils-BeQLScSm.js';
15
15
  import { A as Api } from './Api-DQM93PRm.js';
16
- import './package-COytJSGm.js';
16
+ import './package-C3HuV_kf.js';
17
17
  import './parts-D3G5aVLy.js';
18
18
  import './badge-D-vrtiQR.js';
19
19
  import './index-B9me4yN2.js';
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index-kpoIU4v_.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--jxAuWpF.js';
3
+ import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version-C2I-noS-.js';
4
4
  import { T as TerminalService } from './terminal.service-BLeBxTv4.js';
5
5
  import './config-state-BrllxiM0.js';
6
6
  import './utils-B7jE0g5_.js';
@@ -14,7 +14,7 @@ import { m as makeGetSubAccounts, S as SubAccountService } from './get-subaccoun
14
14
  import { S as StyledHost } from './styled-host-B_XBaM7z.js';
15
15
  import './event-types-CZfYo5-1.js';
16
16
  import { d as defaultColumnsKeys } from './terminals-table-2QGQITkt.js';
17
- import './package-COytJSGm.js';
17
+ import './package-C3HuV_kf.js';
18
18
  import './Api-DQM93PRm.js';
19
19
  import './index-B9me4yN2.js';
20
20
  import './helpers-Mu7LQT-w.js';
@@ -2,7 +2,7 @@ import { r as registerInstance, c as createEvent, h } from './index-kpoIU4v_.js'
2
2
  import { B as Button } from './button-DxM4-mlD.js';
3
3
  import { S as StyledHost } from './styled-host-B_XBaM7z.js';
4
4
  import './event-types-CZfYo5-1.js';
5
- import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version--jxAuWpF.js';
5
+ import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version-C2I-noS-.js';
6
6
  import './config-state-BrllxiM0.js';
7
7
  import './utils-B7jE0g5_.js';
8
8
  import { C as ComponentErrorSeverity, a as ComponentErrorCodes } from './ComponentError-Cjcsf8ku.js';
@@ -13,7 +13,7 @@ import './Business-BCoP0TAV.js';
13
13
  import './Dispute-7MWRbTXI.js';
14
14
  import { c as checkoutStore } from './checkout.store-QrBBYQfi.js';
15
15
  import './parts-D3G5aVLy.js';
16
- import './package-COytJSGm.js';
16
+ import './package-C3HuV_kf.js';
17
17
  import './Api-DQM93PRm.js';
18
18
  import './index-B9me4yN2.js';
19
19
  import './helpers-Mu7LQT-w.js';
@@ -1,5 +1,5 @@
1
1
  const name = "@justifi/webcomponents";
2
- const version = "5.7.6-rc-06";
2
+ const version = "5.7.6-rc-08";
3
3
  var packageJson = {
4
4
  name: name,
5
5
  version: version};
@@ -75,9 +75,9 @@ class ApplePayPaymentRequest {
75
75
  class ApplePayHelpers {
76
76
  static isApplePaySupported() {
77
77
  var _a;
78
- return typeof window !== 'undefined' &&
78
+ return (typeof window !== 'undefined' &&
79
79
  'ApplePaySession' in window &&
80
- ((_a = window.ApplePaySession) === null || _a === void 0 ? void 0 : _a.supportsVersion(3));
80
+ ((_a = window.ApplePaySession) === null || _a === void 0 ? void 0 : _a.supportsVersion(3)));
81
81
  }
82
82
  static canMakePayments() {
83
83
  var _a;
@@ -92,7 +92,7 @@ class ApplePayHelpers {
92
92
  return false;
93
93
  }
94
94
  try {
95
- return await ((_a = window.ApplePaySession) === null || _a === void 0 ? void 0 : _a.canMakePaymentsWithActiveCard(merchantIdentifier)) || false;
95
+ return ((await ((_a = window.ApplePaySession) === null || _a === void 0 ? void 0 : _a.canMakePaymentsWithActiveCard(merchantIdentifier))) || false);
96
96
  }
97
97
  catch (error) {
98
98
  console.error('Error checking Apple Pay active card:', error);
@@ -109,23 +109,18 @@ class ApplePayHelpers {
109
109
  return {
110
110
  label,
111
111
  amount: this.formatAmount(amount),
112
- type
112
+ type,
113
113
  };
114
114
  }
115
115
  static getDefaultSupportedNetworks() {
116
- return [
117
- 'amex',
118
- 'discover',
119
- 'masterCard',
120
- 'visa'
121
- ];
116
+ return ['amex', 'discover', 'masterCard', 'visa'];
122
117
  }
123
118
  static getDefaultMerchantCapabilities() {
124
119
  return [
125
120
  ApplePayMerchantCapability.SUPPORTS_3DS,
126
121
  ApplePayMerchantCapability.SUPPORTS_EMV,
127
122
  ApplePayMerchantCapability.SUPPORTS_CREDIT,
128
- ApplePayMerchantCapability.SUPPORTS_DEBIT
123
+ ApplePayMerchantCapability.SUPPORTS_DEBIT,
129
124
  ];
130
125
  }
131
126
  }
@@ -165,6 +160,15 @@ class ApplePayService {
165
160
  setApiBaseUrl(url) {
166
161
  this.apiBaseUrl = url;
167
162
  }
163
+ /**
164
+ * Set authentication token
165
+ */
166
+ setAuthToken(authToken) {
167
+ this.authToken = authToken;
168
+ }
169
+ setAccountId(accountId) {
170
+ this.accountId = accountId;
171
+ }
168
172
  /**
169
173
  * Initialize Apple Pay configuration
170
174
  */
@@ -177,7 +181,7 @@ class ApplePayService {
177
181
  /**
178
182
  * Validate merchant with Apple Pay servers via API (fixed to match original logic)
179
183
  */
180
- async validateMerchant(payload) {
184
+ async validateMerchant(authToken, payload) {
181
185
  const endpoint = `${this.apiBaseUrl}/v1/apple_pay/merchant_session`;
182
186
  const body = payload;
183
187
  const response = await fetch(endpoint, {
@@ -185,6 +189,8 @@ class ApplePayService {
185
189
  headers: {
186
190
  'Content-Type': 'application/json',
187
191
  Accept: 'application/json',
192
+ Authorization: `Bearer ${authToken}`,
193
+ "Sub-Account": this.accountId
188
194
  },
189
195
  body: JSON.stringify(body),
190
196
  });
@@ -206,7 +212,7 @@ class ApplePayService {
206
212
  /**
207
213
  * Process Apple Pay payment via API (fixed to match original logic)
208
214
  */
209
- async processPayment(payload) {
215
+ async processPayment(authToken, payload) {
210
216
  const endpoint = `${this.apiBaseUrl}/apple_pay/process_token`;
211
217
  const body = payload;
212
218
  const response = await fetch(endpoint, {
@@ -214,6 +220,8 @@ class ApplePayService {
214
220
  headers: {
215
221
  'Content-Type': 'application/json',
216
222
  Accept: 'application/json',
223
+ Authorization: `Bearer ${authToken}`,
224
+ "Sub-Account": this.accountId
217
225
  },
218
226
  body: JSON.stringify(body),
219
227
  });
@@ -296,7 +304,10 @@ class ApplePayService {
296
304
  const validationPayload = {
297
305
  validation_url: event.validationURL,
298
306
  };
299
- const merchantSession = await this.validateMerchant(validationPayload);
307
+ if (!this.authToken) {
308
+ throw new Error('Authentication token not set. Call setAuthToken() first.');
309
+ }
310
+ const merchantSession = await this.validateMerchant(this.authToken, validationPayload);
300
311
  if (merchantSession && isValidMerchantSession(merchantSession)) {
301
312
  try {
302
313
  this.currentSession.completeMerchantValidation(merchantSession);
@@ -341,7 +352,10 @@ class ApplePayService {
341
352
  price: ApplePayHelpers.parseAmount(this.currentPaymentRequest.total.amount),
342
353
  description: this.currentPaymentRequest.total.label,
343
354
  } });
344
- const paymentResult = await this.processPayment(paymentPayload);
355
+ if (!this.authToken) {
356
+ throw new Error('Authentication token not set. Call setAuthToken() first.');
357
+ }
358
+ const paymentResult = await this.processPayment(this.authToken, paymentPayload);
345
359
  if (paymentResult.success) {
346
360
  this.currentSession.completePayment({
347
361
  status: ApplePaySessionStatus.STATUS_SUCCESS,
@@ -708,16 +722,24 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
708
722
  componentWillLoad() {
709
723
  this.applePayService = new ApplePayService();
710
724
  this.applePayService.setApiBaseUrl(this.apiBaseUrl);
725
+ this.applePayService.setAuthToken(checkoutStore.authToken);
726
+ this.applePayService.setAccountId(checkoutStore.accountId);
711
727
  this.initializeApplePay();
712
728
  }
713
729
  componentDidLoad() {
714
730
  onChange('paymentAmount', () => {
715
731
  this.initializeApplePay();
716
732
  });
733
+ onChange('authToken', () => {
734
+ if (this.applePayService) {
735
+ this.applePayService.setAuthToken(checkoutStore.authToken);
736
+ }
737
+ });
717
738
  }
718
739
  watchPropsChange() {
719
740
  if (this.applePayService) {
720
741
  this.applePayService.setApiBaseUrl(this.apiBaseUrl);
742
+ this.applePayService.setAuthToken(checkoutStore.authToken);
721
743
  }
722
744
  this.initializeApplePay();
723
745
  }
@@ -786,10 +808,10 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
786
808
  this.isAvailable &&
787
809
  this.canMakePayments &&
788
810
  !this.error;
789
- return (h(StyledHost, { key: '01f45866c347cedc1e960cc2330aa2254cd21176' }, h("div", { key: 'cf3bb10db74d2f299aa1e67b0d0de1774f50f63d', class: 'apple-pay-container' }, h(ApplePaySkeleton, { key: 'b149112f9308709f958827f0aeb5a5410250601e', isReady: isReady }), !this.isLoading && this.error && (h("div", { key: '758336a1da163d64d7094e43d69e6a7655ee63c6', class: 'apple-pay-error', role: 'alert' }, h("span", { key: 'b5a41cdab76a8b23e6baeaf3b59f9a20e6788dff', class: 'error-icon' }, "\u26A0\uFE0F"), h("span", { key: '218d9e47295b6899b57c862df49b3cc365d3e786', class: 'error-message' }, this.error))), !this.isLoading && !this.error && !this.isAvailable && (h("div", { key: 'f231298d4a10c1eeae2a3360095fd2f3b044620a', class: 'apple-pay-unavailable' }, h("span", { key: 'd943185545a9f19f8edc763cbd0946679e526f22', class: 'unavailable-message' }, "Apple Pay is not available on this device"))), !this.isLoading &&
811
+ return (h(StyledHost, { key: '063e9340c91a578205cdc68d57a4e92fb5dad7ea' }, h("div", { key: 'e1d01e34398adc6c5cd9fa10ef8a609e81980cff', class: 'apple-pay-container' }, h(ApplePaySkeleton, { key: 'e17de7edd2fcc10f01ab36307e8645d5d79be261', isReady: isReady }), !this.isLoading && this.error && (h("div", { key: '7b929489b4bc65f7ece00fbd1d941923e5fef384', class: 'apple-pay-error', role: 'alert' }, h("span", { key: '8683f75685f4e5804dab52b1c28553cc0cf7753a', class: 'error-icon' }, "\u26A0\uFE0F"), h("span", { key: '4d18feba86c7b565275e134819e0f68a7feb6e40', class: 'error-message' }, this.error))), !this.isLoading && !this.error && !this.isAvailable && (h("div", { key: '2dbccabcda4d7a7b632abcc68d538f21b63ca286', class: 'apple-pay-unavailable' }, h("span", { key: '5993b7051423a443b3afcdc433c2928e47fc4a50', class: 'unavailable-message' }, "Apple Pay is not available on this device"))), !this.isLoading &&
790
812
  !this.error &&
791
813
  this.isAvailable &&
792
- this.canMakePayments && (h(ApplePayButton, { key: 'a1aa0a7ba9c95610130e258e5d9b88fa0a533ffb', buttonType: this.buttonType, buttonStyle: this.buttonStyle, disabled: this.disabled, isProcessing: this.isProcessing, isAvailable: this.isAvailable, clickHandler: this.handleApplePayClick }))), h("style", { key: '460c99302788488e3475c7851f571f3cfc8bfc21' }, `
814
+ this.canMakePayments && (h(ApplePayButton, { key: 'cba576ef4b535396d1c6225e682ce52bd452b53f', buttonType: this.buttonType, buttonStyle: this.buttonStyle, disabled: this.disabled, isProcessing: this.isProcessing, isAvailable: this.isAvailable, clickHandler: this.handleApplePayClick }))), h("style", { key: '75271c0e6b8053cf11589cb54e2af22df921c8df' }, `
793
815
  .apple-pay-container {
794
816
  width: 100%;
795
817
  }
@@ -1,5 +1,5 @@
1
1
  const name = "@justifi/webcomponents";
2
- const version = "5.7.6-rc-06";
2
+ const version = "5.7.6-rc-08";
3
3
  var webcomponentsPackageJson = {
4
4
  name: name,
5
5
  version: version};
@@ -141,8 +141,8 @@ export interface IApplePayPaymentResponse {
141
141
  currency: string;
142
142
  }
143
143
  export interface IApplePayService {
144
- validateMerchant(payload: IApplePayMerchantValidationRequest): Promise<IMerchantSession>;
145
- processPayment(payload: IApplePayPaymentProcessRequest): Promise<{
144
+ validateMerchant(authToken: string, payload: IApplePayMerchantValidationRequest): Promise<IMerchantSession>;
145
+ processPayment(authToken: string, payload: IApplePayPaymentProcessRequest): Promise<{
146
146
  success: boolean;
147
147
  data: IApplePayPaymentResponse;
148
148
  }>;
@@ -4,10 +4,17 @@ export declare class ApplePayService implements IApplePayService {
4
4
  private currentSession?;
5
5
  private currentPaymentRequest?;
6
6
  private apiBaseUrl;
7
+ private authToken?;
8
+ private accountId?;
7
9
  /**
8
10
  * Set custom API base URL
9
11
  */
10
12
  setApiBaseUrl(url: string): void;
13
+ /**
14
+ * Set authentication token
15
+ */
16
+ setAuthToken(authToken: string): void;
17
+ setAccountId(accountId: string): void;
11
18
  /**
12
19
  * Initialize Apple Pay configuration
13
20
  */
@@ -15,11 +22,11 @@ export declare class ApplePayService implements IApplePayService {
15
22
  /**
16
23
  * Validate merchant with Apple Pay servers via API (fixed to match original logic)
17
24
  */
18
- validateMerchant(payload: IApplePayMerchantValidationRequest): Promise<IMerchantSession>;
25
+ validateMerchant(authToken: string, payload: IApplePayMerchantValidationRequest): Promise<IMerchantSession>;
19
26
  /**
20
27
  * Process Apple Pay payment via API (fixed to match original logic)
21
28
  */
22
- processPayment(payload: IApplePayPaymentProcessRequest): Promise<{
29
+ processPayment(authToken: string, payload: IApplePayPaymentProcessRequest): Promise<{
23
30
  success: boolean;
24
31
  data: IApplePayPaymentResponse;
25
32
  }>;
@@ -1 +1 @@
1
- import{r as e,h as n,H as t,c as i,g as o}from"./p-kpoIU4v_.js";import{c as r}from"./p-7WIgS5RM.js";import{i as s,b as a,a as c,c as d,l as u}from"./p-D3G5aVLy.js";import{g as f}from"./p-BFTU3MAI.js";import{F as l}from"./p-D522G7Ja.js";import{p as h}from"./p-COytJSGm.js";const m=r({focused:{boxShadow:"",border:""},focusedAndInvalid:{boxShadow:"",border:""},fontStyles:{fontFamily:"",fontSize:"",fontWeight:"",lineHeight:"",margin:"",padding:""}}),{state:w,set:g}=m,b=class{constructor(n){e(this,n),this.isFocused=!1,this.errorText=""}async componentDidLoad(){const e=await this.getBaseFontStyles();g("fontStyles",e);const n=await this.getFocusedStyles();g("focused",n);const t=await this.getFocusedAndInvalidStyles();g("focusedAndInvalid",t)}async getBaseFontStyles(){return new Promise((e=>{setTimeout((()=>{const n=getComputedStyle(this.hiddenInput);e({fontFamily:n.fontFamily,fontSize:n.fontSize,fontWeight:n.fontWeight,lineHeight:n.lineHeight,margin:n.margin,padding:n.padding,color:n.color})}),500)}))}async getFocusedStyles(){return new Promise((e=>{this.hiddenInput.focus(),setTimeout((()=>{this.hiddenInput.blur();let n=getComputedStyle(this.hiddenInput);e({boxShadow:n.boxShadow,border:n.border})}),500)}))}async getFocusedAndInvalidStyles(){return new Promise((e=>{this.hiddenInput.focus(),this.errorText="Error",setTimeout((()=>{const n=getComputedStyle(this.hiddenInput),t={boxShadow:n.boxShadow,border:n.border};this.hiddenInput.blur(),e(t)}),500)}))}get part(){return this.isFocused&&this.errorText?s:this.errorText?a:this.isFocused?c:d}render(){return n(t,{key:"0ee80d3f6e70e496682e798ddfc57d9e8e8b0578"},n("input",{key:"6ec2b8825e4b2e9c2d130ce810bb76f67dc30940",ref:e=>this.hiddenInput=e,type:"text",class:this.errorText?"form-control is-invalid":"form-control",onFocus:()=>this.isFocused=!0,onBlur:()=>this.isFocused=!1,part:this.part,tabindex:"-1",style:{height:"0",opacity:"0",pointerEvents:"none",animation:"none"}}))}};var p,y,v={exports:{}},k=f((p||(p=1,y=v,console.info("\nIFRAME-RESIZER\n\nIframe-Resizer 5 is now available via the following two packages:\n\n * @iframe-resizer/parent\n * @iframe-resizer/child\n\nAdditionally their are also new versions of iframe-resizer for React, Vue, and jQuery.\n\nVersion 5 of iframe-resizer has been extensively rewritten to use modern browser APIs, which has enabled significantly better performance and greater accuracy in the detection of content resizing events.\n\nPlease see https://iframe-resizer.com/upgrade for more details.\n"),function(e){if("undefined"!=typeof window){var n,t,i=0,o=!1,r=!1,s="[iFrameSizer]",a=null,c=window.requestAnimationFrame,d=Object.freeze({max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),u={},f=null,l=Object.freeze({autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,inPageLinks:!1,enablePublicMethods:!0,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,license:"1jqr0si6pnt",log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,mouseEvents:!0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){k("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return!0}}),h={};window.jQuery!==e&&((t=window.jQuery).fn?t.fn.iFrameResize||(t.fn.iFrameResize=function(e){return this.filter("iframe").each((function(n,t){W(t,e)})).end()}):v("","Unable to bind to jQuery, it is not fully loaded.")),y.exports=P(),window.iFrameResize=window.iFrameResize||P()}function m(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function w(e,n,t){e.addEventListener(n,t,!1)}function g(e,n,t){e.removeEventListener(n,t,!1)}function b(e){return u[e]?u[e].log:o}function p(e,n){x("log",e,n,b(e))}function v(e,n){x("info",e,n,b(e))}function k(e,n){x("warn",e,n,!0)}function x(e,n,t,i){!0===i&&"object"==typeof window.console&&console[e](function(e){return s+"["+function(e){var n="Host page: "+e;return window.top!==window.self&&(n=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e),n}(e)+"]"}(n),t)}function I(e){function n(){t("Height"),t("Width"),C((function(){R(A),T(L),l("onResized",A)}),A,"init")}function t(e){var n=Number(u[L]["max"+e]),t=Number(u[L]["min"+e]),i=e.toLowerCase(),o=Number(A[i]);p(L,"Checking "+i+" is in range "+t+"-"+n),o<t&&(o=t,p(L,"Set "+i+" to min value")),o>n&&(o=n,p(L,"Set "+i+" to max value")),A[i]=""+o}function i(e){return W.slice(W.indexOf(":")+7+e)}function o(e,n){var t,i;t=function(){var t,i;E("Send Page Info","pageInfo:"+(t=document.body.getBoundingClientRect(),i=A.iframe.getBoundingClientRect(),JSON.stringify({iframeHeight:i.height,iframeWidth:i.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(i.top-t.top,10),offsetLeft:parseInt(i.left-t.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})),e,n)},h[i=n]||(h[i]=setTimeout((function(){h[i]=null,t()}),32))}function r(e){var n=e.getBoundingClientRect();return M(L),{x:Math.floor(Number(n.left)+Number(a.x)),y:Math.floor(Number(n.top)+Number(a.y))}}function c(e){var n=e?r(A.iframe):{x:0,y:0},t={x:Number(A.width)+n.x,y:Number(A.height)+n.y};p(L,"Reposition requested from iFrame (offset x:"+n.x+" y:"+n.y+")"),window.top===window.self?(a=t,d(),p(L,"--")):window.parentIFrame?window.parentIFrame["scrollTo"+(e?"Offset":"")](t.x,t.y):k(L,"Unable to scroll to requested position, window.parentIFrame not found")}function d(){!1===l("onScroll",a)?j():T(L)}function f(e){var n={};if(0===Number(A.width)&&0===Number(A.height)){var t=i(9).split(":");n={x:t[1],y:t[0]}}else n={x:A.width,y:A.height};l(e,{iframe:A.iframe,screenX:Number(n.x),screenY:Number(n.y),type:A.type})}function l(e,n){return S(L,e,n)}var m,b,y,x,I,z,W=e.data,A={},L=null;"[iFrameResizerChild]Ready"===W?function(){for(var e in u)E("iFrame requested init",N(e),u[e].iframe,e)}():s===(""+W).slice(0,13)&&W.slice(13).split(":")[0]in u?(x=(y=W.slice(13).split(":"))[1]?parseInt(y[1],10):0,I=u[y[0]]&&u[y[0]].iframe,z=getComputedStyle(I),A={iframe:I,id:y[0],height:x+function(e){return"border-box"!==e.boxSizing?0:(e.paddingTop?parseInt(e.paddingTop,10):0)+(e.paddingBottom?parseInt(e.paddingBottom,10):0)}(z)+function(e){return"border-box"!==e.boxSizing?0:(e.borderTopWidth?parseInt(e.borderTopWidth,10):0)+(e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0)}(z),width:y[2],type:y[3]},u[L=A.id]&&(u[L].loaded=!0),(b=A.type in{true:1,false:1,undefined:1})&&p(L,"Ignoring init message from meta parent page"),!b&&function(e){var n=!0;return u[e]||(n=!1,k(A.type+" No settings for "+e+". Message was: "+W)),n}(L)&&(p(L,"Received: "+W),m=!0,null===A.iframe&&(k(L,"IFrame ("+A.id+") not found"),m=!1),m&&function(){var n,t=e.origin,i=u[L]&&u[L].checkOrigin;if(i&&""+t!="null"&&!(i.constructor===Array?function(){var e=0,n=!1;for(p(L,"Checking connection is from allowed list of origins: "+i);e<i.length;e++)if(i[e]===t){n=!0;break}return n}():(p(L,"Checking connection is from: "+(n=u[L]&&u[L].remoteHost)),t===n)))throw new Error("Unexpected message received from: "+t+" for "+A.iframe.id+". Message was: "+e.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.");return!0}()&&function(){switch(u[L]&&u[L].firstRun&&u[L]&&(u[L].firstRun=!1),A.type){case"close":F(A.iframe);break;case"message":m=i(6),p(L,"onMessage passed: {iframe: "+A.iframe.id+", message: "+m+"}"),l("onMessage",{iframe:A.iframe,message:JSON.parse(m)}),p(L,"--");break;case"mouseenter":f("onMouseEnter");break;case"mouseleave":f("onMouseLeave");break;case"autoResize":u[L].autoResize=JSON.parse(i(9));break;case"scrollTo":c(!1);break;case"scrollToOffset":c(!0);break;case"pageInfo":o(u[L]&&u[L].iframe,L),function(){function e(e,i){function r(){u[t]?o(u[t].iframe,t):n()}["scroll","resize"].forEach((function(n){p(t,e+n+" listener for sendPageInfo"),i(window,n,r)}))}function n(){e("Remove ",g)}var t=L;e("Add ",w),u[t]&&(u[t].stopPageInfo=n)}();break;case"pageInfoStop":u[L]&&u[L].stopPageInfo&&(u[L].stopPageInfo(),delete u[L].stopPageInfo);break;case"inPageLink":t=i(9).split("#")[1]||"",s=decodeURIComponent(t),(h=document.getElementById(s)||document.getElementsByName(s)[0])?(e=r(h),p(L,"Moving to in page link (#"+t+") at x: "+e.x+" y: "+e.y),a={x:e.x,y:e.y},d(),p(L,"--")):window.top===window.self?p(L,"In page link #"+t+" not found"):window.parentIFrame?window.parentIFrame.moveToAnchor(t):p(L,"In page link #"+t+" not found and window.parentIFrame not found");break;case"reset":O(A);break;case"init":n(),l("onInit",A.iframe);break;default:0===Number(A.width)&&0===Number(A.height)?k("Unsupported message received ("+A.type+"), this is likely due to the iframe containing a later version of iframe-resizer than the parent page"):n()}var e,t,s,h,m}())):v(L,"Ignored: "+W)}function S(e,n,t){var i=null,o=null;if(u[e]){if("function"!=typeof(i=u[e][n]))throw new TypeError(n+" on iFrame["+e+"] is not a function");o=i(t)}return o}function z(e){delete u[e.id]}function F(e){var t=e.id;if(!1!==S(t,"onClose",t)){p(t,"Removing iFrame: "+t);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){k(e)}S(t,"onClosed",t),p(t,"--"),z(e),n&&(n.disconnect(),n=null)}else p(t,"Close iframe cancelled by onClose event")}function M(n){null===a&&p(n,"Get page position: "+(a={x:window.pageXOffset===e?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===e?document.documentElement.scrollTop:window.pageYOffset}).x+","+a.y)}function T(e){null!==a&&(window.scrollTo(a.x,a.y),p(e,"Set page position: "+a.x+","+a.y),j())}function j(){a=null}function O(e){p(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame")),M(e.id),C((function(){R(e),E("reset","reset",e.iframe,e.id)}),e,"reset")}function R(e){function n(n){r||"0"!==e[n]||(r=!0,p(i,"Hidden iFrame detected, creating visibility listener"),function(){function e(){Object.keys(u).forEach((function(e){!function(e){function n(n){return"0px"===(u[e]&&u[e].iframe.style[n])}u[e]&&null!==u[e].iframe.offsetParent&&(n("height")||n("width"))&&E("Visibility change","resize",u[e].iframe,e)}(e)}))}function n(n){p("window","Mutation observed: "+n[0].target+" "+n[0].type),A(e,16)}var t,i=m();i&&(t=document.querySelector("body"),new i(n).observe(t,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}))}())}function t(t){!function(n){e.id?(e.iframe.style[n]=e[n]+"px",p(e.id,"IFrame ("+i+") "+n+" set to "+e[n]+"px")):p("undefined","messageData id not set")}(t),n(t)}var i=e.iframe.id;u[i]&&(u[i].sizeHeight&&t("height"),u[i].sizeWidth&&t("width"))}function C(e,n,t){t!==n.type&&c&&!window.jasmine?(p(n.id,"Requesting animation frame"),c(e)):e()}function E(e,n,t,i,o){var r,a=!1;u[i=i||t.id]&&(t&&"contentWindow"in t&&null!==t.contentWindow?(p(i,"["+e+"] Sending msg to iframe["+i+"] ("+n+") targetOrigin: "+(r=u[i]&&u[i].targetOrigin)),t.contentWindow.postMessage(s+n,r)):k(i,"["+e+"] IFrame("+i+") not found"),o&&u[i]&&u[i].warningTimeout&&(u[i].msgTimeout=setTimeout((function(){!u[i]||u[i].loaded||a||(a=!0,k(i,"IFrame has not responded within "+u[i].warningTimeout/1e3+" seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning."))}),u[i].warningTimeout)))}function N(e){return e+":"+u[e].bodyMarginV1+":"+u[e].sizeWidth+":"+u[e].log+":"+u[e].interval+":"+u[e].enablePublicMethods+":"+u[e].autoResize+":"+u[e].bodyMargin+":"+u[e].heightCalculationMethod+":"+u[e].bodyBackground+":"+u[e].bodyPadding+":"+u[e].tolerance+":"+u[e].inPageLinks+":"+u[e].resizeFrom+":"+u[e].widthCalculationMethod+":"+u[e].mouseEvents}function W(t,r){function s(e){var n=e.split("Callback");if(2===n.length){var t="on"+n[0].charAt(0).toUpperCase()+n[0].slice(1);this[t]=this[e],delete this[e],k(f,"Deprecated: '"+e+"' has been renamed '"+t+"'. The old method will be removed in the next major version.")}}var a,c,f=function(e){if("string"!=typeof e)throw new TypeError("Invaild id for iFrame. Expected String");var n;return""===e&&(t.id=(n=r&&r.id||l.id+i++,null!==document.getElementById(n)&&(n+=i++),e=n),o=(r||{}).log,p(e,"Added missing iframe ID: "+e+" ("+t.src+")")),e}(t.id);f in u&&"iFrameResizer"in t?k(f,"Ignored iFrame, already setup."):(function(e){var n;e=e||{},u[f]=Object.create(null),u[f].iframe=t,u[f].firstRun=!0,u[f].remoteHost=t.src&&t.src.split("/").slice(0,3).join("/"),function(e){if("object"!=typeof e)throw new TypeError("Options is not an object")}(e),Object.keys(e).forEach(s,e),function(e){for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(u[f][n]=Object.prototype.hasOwnProperty.call(e,n)?e[n]:l[n])}(e),u[f]&&(u[f].targetOrigin=!0===u[f].checkOrigin?""===(n=u[f].remoteHost)||null!==n.match(/^(about:blank|javascript:|file:\/\/)/)?"*":n:"*")}(r),function(){switch(p(f,"IFrame scrolling "+(u[f]&&u[f].scrolling?"enabled":"disabled")+" for "+f),t.style.overflow=!1===(u[f]&&u[f].scrolling)?"hidden":"auto",u[f]&&u[f].scrolling){case"omit":break;case!0:t.scrolling="yes";break;case!1:t.scrolling="no";break;default:t.scrolling=u[f]?u[f].scrolling:"no"}}(),function(){function e(e){var n=u[f][e];1/0!==n&&0!==n&&(t.style[e]="number"==typeof n?n+"px":n,p(f,"Set "+e+" = "+t.style[e]))}function n(e){if(u[f]["min"+e]>u[f]["max"+e])throw new Error("Value for min"+e+" can not be greater than max"+e)}n("Height"),n("Width"),e("maxHeight"),e("minHeight"),e("maxWidth"),e("minWidth")}(),"number"!=typeof(u[f]&&u[f].bodyMargin)&&"0"!==(u[f]&&u[f].bodyMargin)||(u[f].bodyMarginV1=u[f].bodyMargin,u[f].bodyMargin=u[f].bodyMargin+"px"),a=N(f),(c=m())&&(n=function(e){if(!t.parentNode)return null;var n=new e((function(e){e.forEach((function(e){Array.prototype.slice.call(e.removedNodes).forEach((function(e){e===t&&F(t)}))}))}));return n.observe(t.parentNode,{childList:!0}),n}(c)),w(t,"load",(function(){E("iFrame.onload",a,t,e,!0),(!u[f]||!u[f].firstRun)&&u[f]&&u[f].heightCalculationMethod in d&&O({iframe:t,height:0,width:0,type:"init"})})),E("init",a,t,e,!0),u[f]&&(u[f].iframe.iFrameResizer={close:F.bind(null,u[f].iframe),removeListeners:z.bind(null,u[f].iframe),resize:E.bind(null,"Window resize","resize",u[f].iframe),moveToAnchor:function(e){E("Move to anchor","moveToAnchor:"+e,u[f].iframe,f)},sendMessage:function(e){E("Send Message","message:"+(e=JSON.stringify(e)),u[f].iframe,f)}}))}function A(e,n){null===f&&(f=setTimeout((function(){f=null,e()}),n))}function L(){"hidden"!==document.visibilityState&&(p("document","Trigger event: Visibility change"),A((function(){H("Tab Visible","resize")}),16))}function H(e,n){Object.keys(u).forEach((function(t){(function(e){return u[e]&&"parent"===u[e].resizeFrom&&u[e].autoResize&&!u[e].firstRun})(t)&&E(e,n,u[t].iframe,t)}))}function P(){function n(e,n){n&&(function(){if(!n.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRAME"!==n.tagName.toUpperCase())throw new TypeError("Expected <IFRAME> tag, found <"+n.tagName+">")}(),W(n,e),t.push(n))}var t;return function(){var e,n=["moz","webkit","o","ms"];for(e=0;e<n.length&&!c;e+=1)c=window[n[e]+"RequestAnimationFrame"];c?c=c.bind(window):p("setup","RequestAnimationFrame not supported")}(),w(window,"message",I),w(window,"resize",(function(){p("window","Trigger event: resize"),A((function(){H("Window resize","resize")}),16)})),w(document,"visibilitychange",L),w(document,"-webkit-visibilitychange",L),function(i,o){switch(t=[],function(e){e&&e.enablePublicMethods&&k("enablePublicMethods option has been removed, public methods are now always available in the iFrame")}(i),typeof o){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(o||"iframe"),n.bind(e,i));break;case"object":n(i,o);break;default:throw new TypeError("Unexpected data type ("+typeof o+")")}return t}}}()),v.exports));class x{constructor(e,n){this.iframe=e,this.iframeOrigin=n}postMessage(e,n){const t=Object.assign({eventType:e},n);this.iframe.contentWindow.postMessage(t,this.iframeOrigin)}addMessageListener(e){window.addEventListener("message",e)}removeMessageListener(e){window.removeEventListener("message",e)}postMessageWithResponseListener(e,n){return new Promise((t=>{const i=n=>{n.data.eventType===e&&(window.removeEventListener("message",i),t(n.data.data))};window.addEventListener("message",i),this.postMessage(e,n)}))}}const I=class{constructor(n){e(this,n),this.iframeLoaded=i(this,"iframeLoaded"),this.isFocused=!1,this.isValid=!0,this.dispatchMessageEvent=e=>{const{eventType:n,data:t}=e.data;(null==t?void 0:t.id)===this.inputId&&("focused"===n&&(this.isFocused=!0),"blurred"===n&&(this.isFocused=!1))}}disconnectedCallback(){this.frameService.removeMessageListener(this.dispatchMessageEvent)}async validate(){const e=await this.frameService.postMessageWithResponseListener("validate");return this.isValid=e.isValid,this.errorText=e.error.message,e}async tokenize(e,n,t){return this.frameService.postMessageWithResponseListener("tokenize",{clientId:e,paymentMethodMetadata:n,account:t,componentVersion:h.version})}initializeFrameCommunicationService(){var e;this.frameService=new x(this.iframeElement,this.iframeOrigin),null===(e=this.frameService)||void 0===e||e.addMessageListener(this.dispatchMessageEvent)}get part(){return this.isFocused&&!this.isValid?s:this.isValid?this.isFocused?c:d:a}get style(){return this.isFocused?this.isValid?w.focused:w.focusedAndInvalid:null}get urlParams(){const e=Object.fromEntries(Object.entries(w.fontStyles).map((([e,n])=>[e,btoa(String(n))])));return new URLSearchParams(e).toString()}render(){return n(t,{key:"476aa13501c575d34fc189186cb9cc087f1934c0",class:"form-group d-flex flex-column"},n("div",{key:"4479d3f3ca36738a4803a8296335df173cc60600",style:{visibility:this.iframeLoaded?"visible":"hidden",height:this.iframeLoaded?"auto":"0"}},n("label",{key:"ab3ca944b088d966fb5e31248e72be90cd817596",class:"form-label",htmlFor:"",part:u},this.label||""),n("div",{key:"e0590b5060c5f53ae009f463c7fd2013c718d29a",class:"p-0 d-flex form-control "+(this.isValid?"":"is-invalid"),part:this.part,style:Object.assign(Object.assign({},this.style),{overflow:"hidden"})},n("iframe",{key:"5c31e3628e9c1480702008c750b9023e27427c68",id:this.inputId,name:this.inputId,src:`${this.iframeOrigin}?${this.urlParams}`,ref:e=>{this.iframeElement=e,this.initializeFrameCommunicationService()},width:"100%",onLoad:()=>{k({log:!1,onResized:()=>{this.iframeLoaded.emit()}},this.iframeElement)}})),n(l,{key:"8dd8903b2de383fa145a11d45e32efe1b95e10fd",errorText:this.errorText,name:this.inputId})))}get el(){return o(this)}};export{b as hidden_input,I as iframe_input}
1
+ import{r as e,h as n,H as t,c as i,g as o}from"./p-kpoIU4v_.js";import{c as r}from"./p-7WIgS5RM.js";import{i as s,b as a,a as c,c as d,l as u}from"./p-D3G5aVLy.js";import{g as f}from"./p-BFTU3MAI.js";import{F as l}from"./p-D522G7Ja.js";import{p as h}from"./p-C3HuV_kf.js";const m=r({focused:{boxShadow:"",border:""},focusedAndInvalid:{boxShadow:"",border:""},fontStyles:{fontFamily:"",fontSize:"",fontWeight:"",lineHeight:"",margin:"",padding:""}}),{state:w,set:g}=m,b=class{constructor(n){e(this,n),this.isFocused=!1,this.errorText=""}async componentDidLoad(){const e=await this.getBaseFontStyles();g("fontStyles",e);const n=await this.getFocusedStyles();g("focused",n);const t=await this.getFocusedAndInvalidStyles();g("focusedAndInvalid",t)}async getBaseFontStyles(){return new Promise((e=>{setTimeout((()=>{const n=getComputedStyle(this.hiddenInput);e({fontFamily:n.fontFamily,fontSize:n.fontSize,fontWeight:n.fontWeight,lineHeight:n.lineHeight,margin:n.margin,padding:n.padding,color:n.color})}),500)}))}async getFocusedStyles(){return new Promise((e=>{this.hiddenInput.focus(),setTimeout((()=>{this.hiddenInput.blur();let n=getComputedStyle(this.hiddenInput);e({boxShadow:n.boxShadow,border:n.border})}),500)}))}async getFocusedAndInvalidStyles(){return new Promise((e=>{this.hiddenInput.focus(),this.errorText="Error",setTimeout((()=>{const n=getComputedStyle(this.hiddenInput),t={boxShadow:n.boxShadow,border:n.border};this.hiddenInput.blur(),e(t)}),500)}))}get part(){return this.isFocused&&this.errorText?s:this.errorText?a:this.isFocused?c:d}render(){return n(t,{key:"0ee80d3f6e70e496682e798ddfc57d9e8e8b0578"},n("input",{key:"6ec2b8825e4b2e9c2d130ce810bb76f67dc30940",ref:e=>this.hiddenInput=e,type:"text",class:this.errorText?"form-control is-invalid":"form-control",onFocus:()=>this.isFocused=!0,onBlur:()=>this.isFocused=!1,part:this.part,tabindex:"-1",style:{height:"0",opacity:"0",pointerEvents:"none",animation:"none"}}))}};var p,y,v={exports:{}},k=f((p||(p=1,y=v,console.info("\nIFRAME-RESIZER\n\nIframe-Resizer 5 is now available via the following two packages:\n\n * @iframe-resizer/parent\n * @iframe-resizer/child\n\nAdditionally their are also new versions of iframe-resizer for React, Vue, and jQuery.\n\nVersion 5 of iframe-resizer has been extensively rewritten to use modern browser APIs, which has enabled significantly better performance and greater accuracy in the detection of content resizing events.\n\nPlease see https://iframe-resizer.com/upgrade for more details.\n"),function(e){if("undefined"!=typeof window){var n,t,i=0,o=!1,r=!1,s="[iFrameSizer]",a=null,c=window.requestAnimationFrame,d=Object.freeze({max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),u={},f=null,l=Object.freeze({autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,inPageLinks:!1,enablePublicMethods:!0,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,license:"1jqr0si6pnt",log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,mouseEvents:!0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){k("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return!0}}),h={};window.jQuery!==e&&((t=window.jQuery).fn?t.fn.iFrameResize||(t.fn.iFrameResize=function(e){return this.filter("iframe").each((function(n,t){W(t,e)})).end()}):v("","Unable to bind to jQuery, it is not fully loaded.")),y.exports=P(),window.iFrameResize=window.iFrameResize||P()}function m(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function w(e,n,t){e.addEventListener(n,t,!1)}function g(e,n,t){e.removeEventListener(n,t,!1)}function b(e){return u[e]?u[e].log:o}function p(e,n){x("log",e,n,b(e))}function v(e,n){x("info",e,n,b(e))}function k(e,n){x("warn",e,n,!0)}function x(e,n,t,i){!0===i&&"object"==typeof window.console&&console[e](function(e){return s+"["+function(e){var n="Host page: "+e;return window.top!==window.self&&(n=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e),n}(e)+"]"}(n),t)}function I(e){function n(){t("Height"),t("Width"),C((function(){R(A),T(H),l("onResized",A)}),A,"init")}function t(e){var n=Number(u[H]["max"+e]),t=Number(u[H]["min"+e]),i=e.toLowerCase(),o=Number(A[i]);p(H,"Checking "+i+" is in range "+t+"-"+n),o<t&&(o=t,p(H,"Set "+i+" to min value")),o>n&&(o=n,p(H,"Set "+i+" to max value")),A[i]=""+o}function i(e){return W.slice(W.indexOf(":")+7+e)}function o(e,n){var t,i;t=function(){var t,i;E("Send Page Info","pageInfo:"+(t=document.body.getBoundingClientRect(),i=A.iframe.getBoundingClientRect(),JSON.stringify({iframeHeight:i.height,iframeWidth:i.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(i.top-t.top,10),offsetLeft:parseInt(i.left-t.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})),e,n)},h[i=n]||(h[i]=setTimeout((function(){h[i]=null,t()}),32))}function r(e){var n=e.getBoundingClientRect();return M(H),{x:Math.floor(Number(n.left)+Number(a.x)),y:Math.floor(Number(n.top)+Number(a.y))}}function c(e){var n=e?r(A.iframe):{x:0,y:0},t={x:Number(A.width)+n.x,y:Number(A.height)+n.y};p(H,"Reposition requested from iFrame (offset x:"+n.x+" y:"+n.y+")"),window.top===window.self?(a=t,d(),p(H,"--")):window.parentIFrame?window.parentIFrame["scrollTo"+(e?"Offset":"")](t.x,t.y):k(H,"Unable to scroll to requested position, window.parentIFrame not found")}function d(){!1===l("onScroll",a)?j():T(H)}function f(e){var n={};if(0===Number(A.width)&&0===Number(A.height)){var t=i(9).split(":");n={x:t[1],y:t[0]}}else n={x:A.width,y:A.height};l(e,{iframe:A.iframe,screenX:Number(n.x),screenY:Number(n.y),type:A.type})}function l(e,n){return z(H,e,n)}var m,b,y,x,I,F,W=e.data,A={},H=null;"[iFrameResizerChild]Ready"===W?function(){for(var e in u)E("iFrame requested init",N(e),u[e].iframe,e)}():s===(""+W).slice(0,13)&&W.slice(13).split(":")[0]in u?(x=(y=W.slice(13).split(":"))[1]?parseInt(y[1],10):0,I=u[y[0]]&&u[y[0]].iframe,F=getComputedStyle(I),A={iframe:I,id:y[0],height:x+function(e){return"border-box"!==e.boxSizing?0:(e.paddingTop?parseInt(e.paddingTop,10):0)+(e.paddingBottom?parseInt(e.paddingBottom,10):0)}(F)+function(e){return"border-box"!==e.boxSizing?0:(e.borderTopWidth?parseInt(e.borderTopWidth,10):0)+(e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0)}(F),width:y[2],type:y[3]},u[H=A.id]&&(u[H].loaded=!0),(b=A.type in{true:1,false:1,undefined:1})&&p(H,"Ignoring init message from meta parent page"),!b&&function(e){var n=!0;return u[e]||(n=!1,k(A.type+" No settings for "+e+". Message was: "+W)),n}(H)&&(p(H,"Received: "+W),m=!0,null===A.iframe&&(k(H,"IFrame ("+A.id+") not found"),m=!1),m&&function(){var n,t=e.origin,i=u[H]&&u[H].checkOrigin;if(i&&""+t!="null"&&!(i.constructor===Array?function(){var e=0,n=!1;for(p(H,"Checking connection is from allowed list of origins: "+i);e<i.length;e++)if(i[e]===t){n=!0;break}return n}():(p(H,"Checking connection is from: "+(n=u[H]&&u[H].remoteHost)),t===n)))throw new Error("Unexpected message received from: "+t+" for "+A.iframe.id+". Message was: "+e.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.");return!0}()&&function(){switch(u[H]&&u[H].firstRun&&u[H]&&(u[H].firstRun=!1),A.type){case"close":S(A.iframe);break;case"message":m=i(6),p(H,"onMessage passed: {iframe: "+A.iframe.id+", message: "+m+"}"),l("onMessage",{iframe:A.iframe,message:JSON.parse(m)}),p(H,"--");break;case"mouseenter":f("onMouseEnter");break;case"mouseleave":f("onMouseLeave");break;case"autoResize":u[H].autoResize=JSON.parse(i(9));break;case"scrollTo":c(!1);break;case"scrollToOffset":c(!0);break;case"pageInfo":o(u[H]&&u[H].iframe,H),function(){function e(e,i){function r(){u[t]?o(u[t].iframe,t):n()}["scroll","resize"].forEach((function(n){p(t,e+n+" listener for sendPageInfo"),i(window,n,r)}))}function n(){e("Remove ",g)}var t=H;e("Add ",w),u[t]&&(u[t].stopPageInfo=n)}();break;case"pageInfoStop":u[H]&&u[H].stopPageInfo&&(u[H].stopPageInfo(),delete u[H].stopPageInfo);break;case"inPageLink":t=i(9).split("#")[1]||"",s=decodeURIComponent(t),(h=document.getElementById(s)||document.getElementsByName(s)[0])?(e=r(h),p(H,"Moving to in page link (#"+t+") at x: "+e.x+" y: "+e.y),a={x:e.x,y:e.y},d(),p(H,"--")):window.top===window.self?p(H,"In page link #"+t+" not found"):window.parentIFrame?window.parentIFrame.moveToAnchor(t):p(H,"In page link #"+t+" not found and window.parentIFrame not found");break;case"reset":O(A);break;case"init":n(),l("onInit",A.iframe);break;default:0===Number(A.width)&&0===Number(A.height)?k("Unsupported message received ("+A.type+"), this is likely due to the iframe containing a later version of iframe-resizer than the parent page"):n()}var e,t,s,h,m}())):v(H,"Ignored: "+W)}function z(e,n,t){var i=null,o=null;if(u[e]){if("function"!=typeof(i=u[e][n]))throw new TypeError(n+" on iFrame["+e+"] is not a function");o=i(t)}return o}function F(e){delete u[e.id]}function S(e){var t=e.id;if(!1!==z(t,"onClose",t)){p(t,"Removing iFrame: "+t);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){k(e)}z(t,"onClosed",t),p(t,"--"),F(e),n&&(n.disconnect(),n=null)}else p(t,"Close iframe cancelled by onClose event")}function M(n){null===a&&p(n,"Get page position: "+(a={x:window.pageXOffset===e?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===e?document.documentElement.scrollTop:window.pageYOffset}).x+","+a.y)}function T(e){null!==a&&(window.scrollTo(a.x,a.y),p(e,"Set page position: "+a.x+","+a.y),j())}function j(){a=null}function O(e){p(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame")),M(e.id),C((function(){R(e),E("reset","reset",e.iframe,e.id)}),e,"reset")}function R(e){function n(n){r||"0"!==e[n]||(r=!0,p(i,"Hidden iFrame detected, creating visibility listener"),function(){function e(){Object.keys(u).forEach((function(e){!function(e){function n(n){return"0px"===(u[e]&&u[e].iframe.style[n])}u[e]&&null!==u[e].iframe.offsetParent&&(n("height")||n("width"))&&E("Visibility change","resize",u[e].iframe,e)}(e)}))}function n(n){p("window","Mutation observed: "+n[0].target+" "+n[0].type),A(e,16)}var t,i=m();i&&(t=document.querySelector("body"),new i(n).observe(t,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}))}())}function t(t){!function(n){e.id?(e.iframe.style[n]=e[n]+"px",p(e.id,"IFrame ("+i+") "+n+" set to "+e[n]+"px")):p("undefined","messageData id not set")}(t),n(t)}var i=e.iframe.id;u[i]&&(u[i].sizeHeight&&t("height"),u[i].sizeWidth&&t("width"))}function C(e,n,t){t!==n.type&&c&&!window.jasmine?(p(n.id,"Requesting animation frame"),c(e)):e()}function E(e,n,t,i,o){var r,a=!1;u[i=i||t.id]&&(t&&"contentWindow"in t&&null!==t.contentWindow?(p(i,"["+e+"] Sending msg to iframe["+i+"] ("+n+") targetOrigin: "+(r=u[i]&&u[i].targetOrigin)),t.contentWindow.postMessage(s+n,r)):k(i,"["+e+"] IFrame("+i+") not found"),o&&u[i]&&u[i].warningTimeout&&(u[i].msgTimeout=setTimeout((function(){!u[i]||u[i].loaded||a||(a=!0,k(i,"IFrame has not responded within "+u[i].warningTimeout/1e3+" seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning."))}),u[i].warningTimeout)))}function N(e){return e+":"+u[e].bodyMarginV1+":"+u[e].sizeWidth+":"+u[e].log+":"+u[e].interval+":"+u[e].enablePublicMethods+":"+u[e].autoResize+":"+u[e].bodyMargin+":"+u[e].heightCalculationMethod+":"+u[e].bodyBackground+":"+u[e].bodyPadding+":"+u[e].tolerance+":"+u[e].inPageLinks+":"+u[e].resizeFrom+":"+u[e].widthCalculationMethod+":"+u[e].mouseEvents}function W(t,r){function s(e){var n=e.split("Callback");if(2===n.length){var t="on"+n[0].charAt(0).toUpperCase()+n[0].slice(1);this[t]=this[e],delete this[e],k(f,"Deprecated: '"+e+"' has been renamed '"+t+"'. The old method will be removed in the next major version.")}}var a,c,f=function(e){if("string"!=typeof e)throw new TypeError("Invaild id for iFrame. Expected String");var n;return""===e&&(t.id=(n=r&&r.id||l.id+i++,null!==document.getElementById(n)&&(n+=i++),e=n),o=(r||{}).log,p(e,"Added missing iframe ID: "+e+" ("+t.src+")")),e}(t.id);f in u&&"iFrameResizer"in t?k(f,"Ignored iFrame, already setup."):(function(e){var n;e=e||{},u[f]=Object.create(null),u[f].iframe=t,u[f].firstRun=!0,u[f].remoteHost=t.src&&t.src.split("/").slice(0,3).join("/"),function(e){if("object"!=typeof e)throw new TypeError("Options is not an object")}(e),Object.keys(e).forEach(s,e),function(e){for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(u[f][n]=Object.prototype.hasOwnProperty.call(e,n)?e[n]:l[n])}(e),u[f]&&(u[f].targetOrigin=!0===u[f].checkOrigin?""===(n=u[f].remoteHost)||null!==n.match(/^(about:blank|javascript:|file:\/\/)/)?"*":n:"*")}(r),function(){switch(p(f,"IFrame scrolling "+(u[f]&&u[f].scrolling?"enabled":"disabled")+" for "+f),t.style.overflow=!1===(u[f]&&u[f].scrolling)?"hidden":"auto",u[f]&&u[f].scrolling){case"omit":break;case!0:t.scrolling="yes";break;case!1:t.scrolling="no";break;default:t.scrolling=u[f]?u[f].scrolling:"no"}}(),function(){function e(e){var n=u[f][e];1/0!==n&&0!==n&&(t.style[e]="number"==typeof n?n+"px":n,p(f,"Set "+e+" = "+t.style[e]))}function n(e){if(u[f]["min"+e]>u[f]["max"+e])throw new Error("Value for min"+e+" can not be greater than max"+e)}n("Height"),n("Width"),e("maxHeight"),e("minHeight"),e("maxWidth"),e("minWidth")}(),"number"!=typeof(u[f]&&u[f].bodyMargin)&&"0"!==(u[f]&&u[f].bodyMargin)||(u[f].bodyMarginV1=u[f].bodyMargin,u[f].bodyMargin=u[f].bodyMargin+"px"),a=N(f),(c=m())&&(n=function(e){if(!t.parentNode)return null;var n=new e((function(e){e.forEach((function(e){Array.prototype.slice.call(e.removedNodes).forEach((function(e){e===t&&S(t)}))}))}));return n.observe(t.parentNode,{childList:!0}),n}(c)),w(t,"load",(function(){E("iFrame.onload",a,t,e,!0),(!u[f]||!u[f].firstRun)&&u[f]&&u[f].heightCalculationMethod in d&&O({iframe:t,height:0,width:0,type:"init"})})),E("init",a,t,e,!0),u[f]&&(u[f].iframe.iFrameResizer={close:S.bind(null,u[f].iframe),removeListeners:F.bind(null,u[f].iframe),resize:E.bind(null,"Window resize","resize",u[f].iframe),moveToAnchor:function(e){E("Move to anchor","moveToAnchor:"+e,u[f].iframe,f)},sendMessage:function(e){E("Send Message","message:"+(e=JSON.stringify(e)),u[f].iframe,f)}}))}function A(e,n){null===f&&(f=setTimeout((function(){f=null,e()}),n))}function H(){"hidden"!==document.visibilityState&&(p("document","Trigger event: Visibility change"),A((function(){L("Tab Visible","resize")}),16))}function L(e,n){Object.keys(u).forEach((function(t){(function(e){return u[e]&&"parent"===u[e].resizeFrom&&u[e].autoResize&&!u[e].firstRun})(t)&&E(e,n,u[t].iframe,t)}))}function P(){function n(e,n){n&&(function(){if(!n.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRAME"!==n.tagName.toUpperCase())throw new TypeError("Expected <IFRAME> tag, found <"+n.tagName+">")}(),W(n,e),t.push(n))}var t;return function(){var e,n=["moz","webkit","o","ms"];for(e=0;e<n.length&&!c;e+=1)c=window[n[e]+"RequestAnimationFrame"];c?c=c.bind(window):p("setup","RequestAnimationFrame not supported")}(),w(window,"message",I),w(window,"resize",(function(){p("window","Trigger event: resize"),A((function(){L("Window resize","resize")}),16)})),w(document,"visibilitychange",H),w(document,"-webkit-visibilitychange",H),function(i,o){switch(t=[],function(e){e&&e.enablePublicMethods&&k("enablePublicMethods option has been removed, public methods are now always available in the iFrame")}(i),typeof o){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(o||"iframe"),n.bind(e,i));break;case"object":n(i,o);break;default:throw new TypeError("Unexpected data type ("+typeof o+")")}return t}}}()),v.exports));class x{constructor(e,n){this.iframe=e,this.iframeOrigin=n}postMessage(e,n){const t=Object.assign({eventType:e},n);this.iframe.contentWindow.postMessage(t,this.iframeOrigin)}addMessageListener(e){window.addEventListener("message",e)}removeMessageListener(e){window.removeEventListener("message",e)}postMessageWithResponseListener(e,n){return new Promise((t=>{const i=n=>{n.data.eventType===e&&(window.removeEventListener("message",i),t(n.data.data))};window.addEventListener("message",i),this.postMessage(e,n)}))}}const I=class{constructor(n){e(this,n),this.iframeLoaded=i(this,"iframeLoaded"),this.isFocused=!1,this.isValid=!0,this.dispatchMessageEvent=e=>{const{eventType:n,data:t}=e.data;(null==t?void 0:t.id)===this.inputId&&("focused"===n&&(this.isFocused=!0),"blurred"===n&&(this.isFocused=!1))}}disconnectedCallback(){this.frameService.removeMessageListener(this.dispatchMessageEvent)}async validate(){const e=await this.frameService.postMessageWithResponseListener("validate");return this.isValid=e.isValid,this.errorText=e.error.message,e}async tokenize(e,n,t){return this.frameService.postMessageWithResponseListener("tokenize",{clientId:e,paymentMethodMetadata:n,account:t,componentVersion:h.version})}initializeFrameCommunicationService(){var e;this.frameService=new x(this.iframeElement,this.iframeOrigin),null===(e=this.frameService)||void 0===e||e.addMessageListener(this.dispatchMessageEvent)}get part(){return this.isFocused&&!this.isValid?s:this.isValid?this.isFocused?c:d:a}get style(){return this.isFocused?this.isValid?w.focused:w.focusedAndInvalid:null}get urlParams(){const e=Object.fromEntries(Object.entries(w.fontStyles).map((([e,n])=>[e,btoa(String(n))])));return new URLSearchParams(e).toString()}render(){return n(t,{key:"476aa13501c575d34fc189186cb9cc087f1934c0",class:"form-group d-flex flex-column"},n("div",{key:"4479d3f3ca36738a4803a8296335df173cc60600",style:{visibility:this.iframeLoaded?"visible":"hidden",height:this.iframeLoaded?"auto":"0"}},n("label",{key:"ab3ca944b088d966fb5e31248e72be90cd817596",class:"form-label",htmlFor:"",part:u},this.label||""),n("div",{key:"e0590b5060c5f53ae009f463c7fd2013c718d29a",class:"p-0 d-flex form-control "+(this.isValid?"":"is-invalid"),part:this.part,style:Object.assign(Object.assign({},this.style),{overflow:"hidden"})},n("iframe",{key:"5c31e3628e9c1480702008c750b9023e27427c68",id:this.inputId,name:this.inputId,src:`${this.iframeOrigin}?${this.urlParams}`,ref:e=>{this.iframeElement=e,this.initializeFrameCommunicationService()},width:"100%",onLoad:()=>{k({log:!1,onResized:()=>{this.iframeLoaded.emit()}},this.iframeElement)}})),n(l,{key:"8dd8903b2de383fa145a11d45e32efe1b95e10fd",errorText:this.errorText,name:this.inputId})))}get el(){return o(this)}};export{b as hidden_input,I as iframe_input}
@@ -1 +1 @@
1
- import{r as t,c as s,h as i}from"./p-kpoIU4v_.js";import{P as r}from"./p-ObR0KZw0.js";import{m as e}from"./p-DSfL8jLw.js";import{E as p}from"./p-CEYGUVns.js";import{C as o,a}from"./p-Cjcsf8ku.js";import{c as m,J as h}from"./p-OeJDUMFM.js";import"./p-Dj1uo4J3.js";import"./p-9y5MOK55.js";import"./p-7WIgS5RM.js";import"./p-B7jE0g5_.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-7MWRbTXI.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-D2muobcE.js";import"./p-D3G5aVLy.js";import"./p-COytJSGm.js";const n=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.paymentService=new r,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){m(),this.analytics=new h(this),this.initializeGetPaymentDetails()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetPaymentDetails()}initializeGetPaymentDetails(){this.paymentId&&this.authToken?this.getPaymentDetails=e({id:this.paymentId,authToken:this.authToken,service:new r}):(this.errorMessage="Payment ID and Auth Token are required",this.errorEvent.emit({message:this.errorMessage,errorCode:a.MISSING_PROPS,severity:o.ERROR}))}render(){return this.errorMessage?p(this.errorMessage):i("payment-details-core",{getPaymentDetails:this.getPaymentDetails,"onError-event":this.handleErrorEvent})}static get watchers(){return{paymentId:["propChanged"],authToken:["propChanged"]}}};export{n as justifi_payment_details}
1
+ import{r as t,c as s,h as i}from"./p-kpoIU4v_.js";import{P as r}from"./p-ObR0KZw0.js";import{m as p}from"./p-DSfL8jLw.js";import{E as e}from"./p-CEYGUVns.js";import{C as o,a}from"./p-Cjcsf8ku.js";import{c as m,J as n}from"./p-C1nBLmHv.js";import"./p-Dj1uo4J3.js";import"./p-9y5MOK55.js";import"./p-7WIgS5RM.js";import"./p-B7jE0g5_.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-7MWRbTXI.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-D2muobcE.js";import"./p-D3G5aVLy.js";import"./p-C3HuV_kf.js";const h=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.paymentService=new r,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){m(),this.analytics=new n(this),this.initializeGetPaymentDetails()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetPaymentDetails()}initializeGetPaymentDetails(){this.paymentId&&this.authToken?this.getPaymentDetails=p({id:this.paymentId,authToken:this.authToken,service:new r}):(this.errorMessage="Payment ID and Auth Token are required",this.errorEvent.emit({message:this.errorMessage,errorCode:a.MISSING_PROPS,severity:o.ERROR}))}render(){return this.errorMessage?e(this.errorMessage):i("payment-details-core",{getPaymentDetails:this.getPaymentDetails,"onError-event":this.handleErrorEvent})}static get watchers(){return{paymentId:["propChanged"],authToken:["propChanged"]}}};export{h as justifi_payment_details}
@@ -0,0 +1 @@
1
+ import{h as i,r as s,c as t}from"./p-kpoIU4v_.js";import{ap as e,am as r,ae as o,z as l}from"./p-D3G5aVLy.js";import{S as d}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import{c as n,J as a}from"./p-C1nBLmHv.js";import{C as h,a as c}from"./p-Cjcsf8ku.js";import{B as u}from"./p-DVPcHdzq.js";import{B as v}from"./p-BlJnA265.js";import{m as p}from"./p-DH8F0bsw.js";import{S as m}from"./p-Bz8JT676.js";import"./p-9y5MOK55.js";import{k as f}from"./p-B7jE0g5_.js";import{h as b,g as w,b as g}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-7MWRbTXI.js";import{g as j,a as y}from"./p-D2muobcE.js";import{T as x}from"./p-DtsIovbb.js";import"./p-C3HuV_kf.js";import"./p-Dj1uo4J3.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-7WIgS5RM.js";const k=()=>i("div",{class:"row gap-3"},i("div",{class:"col-12"},i(m,{width:"25%"})),i("div",{class:"col-12"},i(m,{width:"100%"})),i("div",{class:"col-12 d-flex gap-3"},i(m,{width:"50%"}),i(m,{width:"50%"})),i("div",{class:"col-12 d-flex gap-3"},i(m,{width:"65%"}),i(m,{width:"35%"}))),S=()=>i("div",{class:"row gap-5"},i("div",{class:"col-12"},i(m,{width:"40%",height:"40px"})),i(k,null)),B=()=>i("div",{class:"terminal-selector-skeleton mt-4 rounded shadow-sm"},i("div",{class:"d-flex align-items-center gap-3"},i(m,{width:"125px",height:"125px",styles:{borderRadius:"8px"}}),i("div",{class:"flex-grow-1"},i("div",{class:"d-flex row flex-row"},i("div",{class:"col-6 flex-column"},i(m,null),i(m,{width:"60%"})),i("div",{class:"d-flex justify-content-end align-items-center gap-2 col-6"},i(m,{width:"32px",height:"32px",styles:{borderRadius:"50%"}}),i(m,{width:"80px",height:"32px"}),i(m,{width:"32px",height:"32px",styles:{borderRadius:"50%"}}))),i("div",{class:"mt-4"},i("div",{class:"d-flex flex-column gap-2"},i(m,null),i(m,null)))))),C=class{constructor(i){s(this,i),this.errorEvent=t(this,"error-event"),this.submitted=t(this,"submit-event"),this.shipping=!1,this.submitButtonText="Submit Order",this.loading={business:!0,terminals:!0},this.submitting=!1,this.error=null,this.totalQuantity=0}componentWillLoad(){this.order=new w({business_id:this.businessId,sub_account_id:this.accountId,order_type:this.shipping?g.boardingShipping:g.boardingOnly}),n(),this.analytics=new a(this),this.loadData()}disconnectedCallback(){var i;null===(i=this.analytics)||void 0===i||i.cleanup()}handleError(i,s,t){this.error={message:i,code:s,severity:t},this.errorEvent.emit({errorCode:s,message:i,severity:t})}loadData(){this.businessId&&this.authToken?(this.initializeGetBusiness(),this.initializeGetTerminalModels()):this.handleError("Invalid business id or auth token",c.MISSING_PROPS,h.ERROR)}initializeGetBusiness(){p({id:this.businessId,authToken:this.authToken,service:new u})({onSuccess:({business:i})=>{this.business=new v(i),this.loading.business=!1},onError:({error:i,code:s,severity:t})=>{this.handleError(i,s,t),this.loading.business=!1}})}initializeGetTerminalModels(){(({id:i,authToken:s,service:t})=>async({onSuccess:e,onError:r})=>{var o,l,d,n;try{const a=await t.fetchTerminalModels(i,s);if(a.error)return r({error:y(a.error),code:j(null===(n=a.error)||void 0===n?void 0:n.code),severity:h.ERROR});e({terminals:(null===(l=null===(o=a.data)||void 0===o?void 0:o.terminal_order_models)||void 0===l?void 0:l.map((i=>new b(i))))||[],orderLimit:null===(d=a.data)||void 0===d?void 0:d.order_limit})}catch(i){const s=j(null==i?void 0:i.code);return r({error:i.message||i,code:s,severity:h.ERROR})}})({id:this.accountId,authToken:this.authToken,service:new x})({onSuccess:({terminals:i,orderLimit:s})=>{this.terminalModels=i,this.orderLimit=s,this.loading.terminals=!1},onError:({error:i,code:s,severity:t})=>{this.handleError(i,s,t),this.loading.terminals=!1}})}submitOrder(){const i=(({authToken:i,service:s,apiOrigin:t="https://wc-proxy.justifi.ai"})=>async({terminalOrder:e,onSuccess:r,onError:o})=>{var l;try{const d=await s.orderTerminals(i,e,t);if(d.error)return o({error:y(d.error),code:j(null===(l=d.error)||void 0===l?void 0:l.code),severity:h.ERROR});{const{data:i}=d;r({data:i})}}catch(i){const s=j(null==i?void 0:i.code);return o({error:i.message||i,code:s,severity:h.ERROR})}})({authToken:this.authToken,service:new x});this.submitting=!0,i({terminalOrder:this.order.payload,onSuccess:({data:i})=>{this.submitted.emit(i),this.submitting=!1},onError:({error:i,code:s,severity:t})=>{this.handleError(i,s,t),this.submitting=!1}})}onSelectedQuantityChange(i){this.order.updateTerminal(i.detail.modelName,i.detail.quantity),this.totalQuantity=this.order.totalQuantity}renderLoading(){return i("div",null,this.loading.business&&i(S,null),this.loading.terminals&&i("div",{class:"mt-5"},i(B,null),i(B,null),i(B,null)))}renderBusinessDetails(){var s,t,o,l,d,n,a,h;if(!this.loading.business&&this.business)return i("div",{class:"d-flex flex-column gap-4 mb-5 pt-5"},i("div",{class:"row"},i("div",{class:"col-12"},i("h2",{part:r},this.business.legal_name))),i("div",{class:"row"},i("div",{class:"col-6"},i("h5",{part:e},"Representative:"),i("div",null,i("div",null,null===(t=null===(s=this.business)||void 0===s?void 0:s.representative)||void 0===t?void 0:t.name),i("div",null,null===(l=null===(o=this.business)||void 0===o?void 0:o.representative)||void 0===l?void 0:l.title),i("div",null,null===(n=null===(d=this.business)||void 0===d?void 0:d.representative)||void 0===n?void 0:n.email),i("div",null,f(null===(h=null===(a=this.business)||void 0===a?void 0:a.representative)||void 0===h?void 0:h.phone)))),i("div",{class:"col-6"},i("h5",{part:e},this.shipping?"Shipping Address:":"Business Address:"),i("div",null,this.business.legal_address.line1,this.business.legal_address.line2?`, ${this.business.legal_address.line2}`:"",i("br",null),this.business.legal_address.city,", ",this.business.legal_address.state," ",this.business.legal_address.postal_code))))}renderTerminals(){if(!this.loading.terminals&&this.terminalModels)return i("div",{class:"d-flex flex-column gap-2 mt-5"},this.terminalModels.map((s=>i("terminal-quantity-selector",{modelName:s.model_name,description:s.description,imageUrl:s.image_url,helpUrl:s.help_url,limit:this.orderLimit-this.order.totalQuantity,onSelectedQuantityChange:this.onSelectedQuantityChange.bind(this)}))))}renderOrderSection(){return i("div",{class:"mt-3"},i("div",{class:"text-end"},"Order limit: ",this.orderLimit),i("div",{class:"d-flex justify-content-end mt-3"},i("button",{class:"btn btn-primary submit-btn",onClick:this.submitOrder.bind(this),disabled:0===this.order.totalQuantity||this.submitting,part:o},this.submitting?"Submitting...":this.submitButtonText)))}render(){return i(d,{key:"0fcd2ba507d4d8cf04b0cc811416a3a374e36fb6"},i("div",{key:"f4b87bbf9d14bafcf817d9686173d2edbb6b8dcb",part:l},this.renderLoading(),this.renderBusinessDetails(),this.renderTerminals(),this.renderOrderSection()))}};export{C as justifi_order_terminals}
@@ -1 +1 @@
1
- import{h as t,r as s,c as e}from"./p-kpoIU4v_.js";import{c as r,a as i,F as o}from"./p-CR9D6mKt.js";import{f as n}from"./p-B7jE0g5_.js";import"./p-9y5MOK55.js";import{C as a,a as u}from"./p-Cjcsf8ku.js";import{R as l,i as m}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{B as h}from"./p-Cm_ywVHL.js";import{S as p}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import{P as c}from"./p-ObR0KZw0.js";import{m as d}from"./p-DSfL8jLw.js";import{c as f,J as j}from"./p-OeJDUMFM.js";import{g as v,a as y}from"./p-D2muobcE.js";import{A as b}from"./p-Dj1uo4J3.js";import{S as w}from"./p-Bz8JT676.js";import"./p-BFTU3MAI.js";import"./p-7WIgS5RM.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-D3G5aVLy.js";import"./p-COytJSGm.js";const g=t=>{const s=+t;return i().required("Amount is required").test("max-amount",`Refund amount cannot be more than payment amount: ${n(s)}`,(function(t){return+t<=+s})).test("min-amount","Refund amount must be greater than 0",(function(t){return+t>0}))},C=t=>{if(t)return r({amount:g(t),description:i().optional(),reason:i().optional().oneOf([l.customerRequest,l.duplicate,l.fraudulent],"Select a reason")})},R=[{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"}],T=b();class B{async postRefund(t,s,e,r){return T.post({endpoint:`payments/${t}/refunds`,headers:{"Sub-Account":s},body:r,authToken:e})}}const S=()=>t("div",{class:"row gap-3"},t("div",{class:"col-12"},t(w,{width:"100%",height:"40px"}))),x=()=>t(p,null,t("div",{class:"row gap-5"},t(S,null),t(S,null),t(S,null))),A=class{constructor(t){s(this,t),this.errorEvent=e(this,"error-event"),this.submitEvent=e(this,"submit-event"),this.refundPayload={},this.displayAmount="",this.errors={},this.paymentLoading=!0,this.refundLoading=!1,this.hideSubmitButton=!1,this.inputHandler=(t,s)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:s}))}}componentWillLoad(){f(),this.analytics=new j(this),this.initializeApi(),this.formController=new o(C())}handleError(t,s,e){this.errorEvent.emit({errorCode:t,message:s,severity:e})}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,s=t?t.toString():"0";this.formController=new o(C(s)),this.formController.setInitialValues({amount:s}),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 c})({onSuccess:({payment:t})=>{this.refundPayload=new m({amount:t.amount_refundable})},onError:({error:t,code:s,severity:e})=>{this.handleError(s,t,e)},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 s=(({authToken:t,accountId:s,paymentId:e,service:r})=>async({refundBody:i,onSuccess:o,onError:n,final:u})=>{var l;try{const u=await r.postRefund(e,s,t,i);if(u.error)return n({error:y(u.error),code:v(null===(l=u.error)||void 0===l?void 0:l.code),severity:a.ERROR});o(u)}catch(t){const s=v(null==t?void 0:t.code);return n({error:t.message||t,code:s,severity:a.ERROR})}finally{return u()}})({authToken:this.authToken,accountId:this.accountId,paymentId:this.paymentId,service:new B}),e=this.formController.values.getValue();return this.refundLoading=!0,new Promise((t=>{let r;s({refundBody:e,onSuccess:t=>{r=t},onError:({error:t,code:s,severity:e})=>{r=t,this.handleError(t,s,e)},final:()=>{this.submitEvent.emit({response:r}),this.submitDisabled=!0,this.refundLoading=!1,t(r.data)}})}))}render(){if(this.paymentLoading)return t(x,null);const s=this.formController.getInitialValues(),e=this.refundPayload.amount;return t(p,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:s.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:s.reason,inputHandler:this.inputHandler,options:R,errorText:this.errors.reason})),t("div",{class:"col-12"},t("form-control-textarea",{name:"description",label:"Note (optional)",defaultValue:s.description,inputHandler:this.inputHandler,maxLength:250,errorText:this.errors.description})),t("div",{class:"form-group d-flex flex-row-reverse"},t(h,{variant:"primary",type:"submit",onClick:this.refundPayment.bind(this),isLoading:this.paymentLoading||this.refundLoading,hidden:this.hideSubmitButton,disabled:this.submitDisabled},`Refund ${n(+e)}`))))))}};export{A as justifi_refund_payment}
1
+ import{h as t,r as s,c as e}from"./p-kpoIU4v_.js";import{c as r,a as i,F as o}from"./p-CR9D6mKt.js";import{f as n}from"./p-B7jE0g5_.js";import"./p-9y5MOK55.js";import{C as a,a as u}from"./p-Cjcsf8ku.js";import{R as l,i as m}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{B as h}from"./p-Cm_ywVHL.js";import{S as p}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import{P as c}from"./p-ObR0KZw0.js";import{m as d}from"./p-DSfL8jLw.js";import{c as f,J as j}from"./p-C1nBLmHv.js";import{g as v,a as y}from"./p-D2muobcE.js";import{A as b}from"./p-Dj1uo4J3.js";import{S as w}from"./p-Bz8JT676.js";import"./p-BFTU3MAI.js";import"./p-7WIgS5RM.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-D3G5aVLy.js";import"./p-C3HuV_kf.js";const g=t=>{const s=+t;return i().required("Amount is required").test("max-amount",`Refund amount cannot be more than payment amount: ${n(s)}`,(function(t){return+t<=+s})).test("min-amount","Refund amount must be greater than 0",(function(t){return+t>0}))},C=t=>{if(t)return r({amount:g(t),description:i().optional(),reason:i().optional().oneOf([l.customerRequest,l.duplicate,l.fraudulent],"Select a reason")})},R=[{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"}],B=b();class T{async postRefund(t,s,e,r){return B.post({endpoint:`payments/${t}/refunds`,headers:{"Sub-Account":s},body:r,authToken:e})}}const k=()=>t("div",{class:"row gap-3"},t("div",{class:"col-12"},t(w,{width:"100%",height:"40px"}))),x=()=>t(p,null,t("div",{class:"row gap-5"},t(k,null),t(k,null),t(k,null))),A=class{constructor(t){s(this,t),this.errorEvent=e(this,"error-event"),this.submitEvent=e(this,"submit-event"),this.refundPayload={},this.displayAmount="",this.errors={},this.paymentLoading=!0,this.refundLoading=!1,this.hideSubmitButton=!1,this.inputHandler=(t,s)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:s}))}}componentWillLoad(){f(),this.analytics=new j(this),this.initializeApi(),this.formController=new o(C())}handleError(t,s,e){this.errorEvent.emit({errorCode:t,message:s,severity:e})}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,s=t?t.toString():"0";this.formController=new o(C(s)),this.formController.setInitialValues({amount:s}),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 c})({onSuccess:({payment:t})=>{this.refundPayload=new m({amount:t.amount_refundable})},onError:({error:t,code:s,severity:e})=>{this.handleError(s,t,e)},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 s=(({authToken:t,accountId:s,paymentId:e,service:r})=>async({refundBody:i,onSuccess:o,onError:n,final:u})=>{var l;try{const u=await r.postRefund(e,s,t,i);if(u.error)return n({error:y(u.error),code:v(null===(l=u.error)||void 0===l?void 0:l.code),severity:a.ERROR});o(u)}catch(t){const s=v(null==t?void 0:t.code);return n({error:t.message||t,code:s,severity:a.ERROR})}finally{return u()}})({authToken:this.authToken,accountId:this.accountId,paymentId:this.paymentId,service:new T}),e=this.formController.values.getValue();return this.refundLoading=!0,new Promise((t=>{let r;s({refundBody:e,onSuccess:t=>{r=t},onError:({error:t,code:s,severity:e})=>{r=t,this.handleError(t,s,e)},final:()=>{this.submitEvent.emit({response:r}),this.submitDisabled=!0,this.refundLoading=!1,t(r.data)}})}))}render(){if(this.paymentLoading)return t(x,null);const s=this.formController.getInitialValues(),e=this.refundPayload.amount;return t(p,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:s.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:s.reason,inputHandler:this.inputHandler,options:R,errorText:this.errors.reason})),t("div",{class:"col-12"},t("form-control-textarea",{name:"description",label:"Note (optional)",defaultValue:s.description,inputHandler:this.inputHandler,maxLength:250,errorText:this.errors.description})),t("div",{class:"form-group d-flex flex-row-reverse"},t(h,{variant:"primary",type:"submit",onClick:this.refundPayment.bind(this),isLoading:this.paymentLoading||this.refundLoading,hidden:this.hideSubmitButton,disabled:this.submitDisabled},`Refund ${n(+e)}`))))))}};export{A as justifi_refund_payment}
@@ -1 +1 @@
1
- import{r as t,c as s,h as i}from"./p-kpoIU4v_.js";import{C as e,a as r}from"./p-Cjcsf8ku.js";import{c as o,J as p}from"./p-OeJDUMFM.js";import{a}from"./p-7MWRbTXI.js";import{g as n,a as h}from"./p-D2muobcE.js";import{D as m}from"./p-DiWKhLRS.js";import"./p-COytJSGm.js";import"./p-Dj1uo4J3.js";import"./p-9y5MOK55.js";import"./p-7WIgS5RM.js";import"./p-B7jE0g5_.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";const u=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){o(),this.analytics=new p(this),this.initializeGetDispute()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetDispute()}initializeGetDispute(){this.disputeId&&this.authToken?this.getDispute=(({id:t,authToken:s,service:i})=>async({onSuccess:r,onError:o})=>{var p;try{const m=await i.fetchDispute(t,s);if(m.error)return o({error:h(m.error),code:n(null===(p=m.error)||void 0===p?void 0:p.code),severity:e.ERROR});{const t=Object.assign({},m.page_info);r({dispute:new a(m.data),pagingInfo:t})}}catch(t){const s=n(null==t?void 0:t.code);return o({error:t.message||t,code:s,severity:e.ERROR})}})({id:this.disputeId,authToken:this.authToken,service:new m}):(this.errorMessage="Dispute ID and Auth Token are required",this.errorEvent.emit({message:this.errorMessage,errorCode:r.MISSING_PROPS,severity:e.ERROR}))}render(){return i("justifi-dispute-management-core",{key:"4087eb105a046a3cc194d9f25c80fa11298fa0a2",getDispute:this.getDispute,disputeId:this.disputeId,authToken:this.authToken,"onError-event":this.handleErrorEvent})}static get watchers(){return{disputeId:["propChanged"],authToken:["propChanged"]}}};export{u as justifi_dispute_management}
1
+ import{r as t,c as s,h as i}from"./p-kpoIU4v_.js";import{C as e,a as r}from"./p-Cjcsf8ku.js";import{c as o,J as p}from"./p-C1nBLmHv.js";import{a}from"./p-7MWRbTXI.js";import{g as n,a as h}from"./p-D2muobcE.js";import{D as u}from"./p-DiWKhLRS.js";import"./p-C3HuV_kf.js";import"./p-Dj1uo4J3.js";import"./p-9y5MOK55.js";import"./p-7WIgS5RM.js";import"./p-B7jE0g5_.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";const m=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){o(),this.analytics=new p(this),this.initializeGetDispute()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetDispute()}initializeGetDispute(){this.disputeId&&this.authToken?this.getDispute=(({id:t,authToken:s,service:i})=>async({onSuccess:r,onError:o})=>{var p;try{const u=await i.fetchDispute(t,s);if(u.error)return o({error:h(u.error),code:n(null===(p=u.error)||void 0===p?void 0:p.code),severity:e.ERROR});{const t=Object.assign({},u.page_info);r({dispute:new a(u.data),pagingInfo:t})}}catch(t){const s=n(null==t?void 0:t.code);return o({error:t.message||t,code:s,severity:e.ERROR})}})({id:this.disputeId,authToken:this.authToken,service:new u}):(this.errorMessage="Dispute ID and Auth Token are required",this.errorEvent.emit({message:this.errorMessage,errorCode:r.MISSING_PROPS,severity:e.ERROR}))}render(){return i("justifi-dispute-management-core",{key:"4087eb105a046a3cc194d9f25c80fa11298fa0a2",getDispute:this.getDispute,disputeId:this.disputeId,authToken:this.authToken,"onError-event":this.handleErrorEvent})}static get watchers(){return{disputeId:["propChanged"],authToken:["propChanged"]}}};export{m as justifi_dispute_management}
@@ -1 +1 @@
1
- import{r as s,c as i,h as t}from"./p-kpoIU4v_.js";import{E as r}from"./p-CEYGUVns.js";import{B as o}from"./p-DVPcHdzq.js";import{m as p}from"./p-DH8F0bsw.js";import{C as e,a as m}from"./p-Cjcsf8ku.js";import{c as n,J as h}from"./p-OeJDUMFM.js";import"./p-D3G5aVLy.js";import"./p-Dj1uo4J3.js";import"./p-9y5MOK55.js";import"./p-7WIgS5RM.js";import"./p-B7jE0g5_.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-7MWRbTXI.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-D2muobcE.js";import"./p-COytJSGm.js";const a=class{constructor(t){s(this,t),this.errorEvent=i(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=s=>{this.errorMessage=s.detail.message,this.errorEvent.emit(s.detail)}}componentWillLoad(){n(),this.analytics=new h(this),this.initializeGetBusiness()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}initializeGetBusiness(){if(!this.businessId||!this.authToken)return this.errorMessage="Invalid business id or auth token",void this.errorEvent.emit({errorCode:m.MISSING_PROPS,message:this.errorMessage,severity:e.ERROR});this.getBusiness=p({id:this.businessId,authToken:this.authToken,service:new o})}render(){return this.errorMessage?r(this.errorMessage):t("business-details-core",{getBusiness:this.getBusiness,"onError-event":this.handleErrorEvent})}};export{a as justifi_business_details}
1
+ import{r as s,c as i,h as t}from"./p-kpoIU4v_.js";import{E as r}from"./p-CEYGUVns.js";import{B as o}from"./p-DVPcHdzq.js";import{m as p}from"./p-DH8F0bsw.js";import{C as e,a as m}from"./p-Cjcsf8ku.js";import{c as n,J as h}from"./p-C1nBLmHv.js";import"./p-D3G5aVLy.js";import"./p-Dj1uo4J3.js";import"./p-9y5MOK55.js";import"./p-7WIgS5RM.js";import"./p-B7jE0g5_.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-7MWRbTXI.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-D2muobcE.js";import"./p-C3HuV_kf.js";const a=class{constructor(t){s(this,t),this.errorEvent=i(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=s=>{this.errorMessage=s.detail.message,this.errorEvent.emit(s.detail)}}componentWillLoad(){n(),this.analytics=new h(this),this.initializeGetBusiness()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}initializeGetBusiness(){if(!this.businessId||!this.authToken)return this.errorMessage="Invalid business id or auth token",void this.errorEvent.emit({errorCode:m.MISSING_PROPS,message:this.errorMessage,severity:e.ERROR});this.getBusiness=p({id:this.businessId,authToken:this.authToken,service:new o})}render(){return this.errorMessage?r(this.errorMessage):t("business-details-core",{getBusiness:this.getBusiness,"onError-event":this.handleErrorEvent})}};export{a as justifi_business_details}
@@ -1 +1 @@
1
- import{r as t,c as s,h as o}from"./p-kpoIU4v_.js";import{P as i}from"./p-Sz-UKsNL.js";import"./p-9y5MOK55.js";import"./p-B7jE0g5_.js";import{C as r,a as e}from"./p-Cjcsf8ku.js";import{P as p}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as a,a as h}from"./p-D2muobcE.js";import{E as n}from"./p-CEYGUVns.js";import{c as m,J as c}from"./p-OeJDUMFM.js";import{m as u}from"./p-DYGIC0QH.js";import"./p-Dj1uo4J3.js";import"./p-7WIgS5RM.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-D3G5aVLy.js";import"./p-COytJSGm.js";const d=class{constructor(o){t(this,o),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){m(),this.analytics=new c(this),this.initializeServices()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeServices()}initializeServices(){this.payoutId&&this.authToken?(this.getPayout=(({id:t,authToken:s,service:o})=>async({onSuccess:i,onError:e})=>{var n;try{const m=await o.fetchPayout(t,s);m.error?e({error:h(m.error),code:a(null===(n=m.error)||void 0===n?void 0:n.code),severity:r.ERROR}):i(new p(m.data))}catch(t){e({error:h(t),code:a(null==t?void 0:t.code),severity:r.ERROR})}})({id:this.payoutId,authToken:this.authToken,service:new i}),this.getPayoutCSV=u({authToken:this.authToken,service:new i})):(this.errorMessage="Failed to load payout details. payoutId or authToken is not provided.",this.errorEvent.emit({message:this.errorMessage,errorCode:e.MISSING_PROPS,severity:r.ERROR}))}render(){return this.errorMessage?n(this.errorMessage):o("payout-details-core",{getPayout:this.getPayout,getPayoutCSV:this.getPayoutCSV,"onError-event":this.handleErrorEvent})}static get watchers(){return{payoutId:["propChanged"],authToken:["propChanged"]}}};export{d as justifi_payout_details}
1
+ import{r as t,c as s,h as o}from"./p-kpoIU4v_.js";import{P as i}from"./p-Sz-UKsNL.js";import"./p-9y5MOK55.js";import"./p-B7jE0g5_.js";import{C as r,a as e}from"./p-Cjcsf8ku.js";import{P as p}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as a,a as h}from"./p-D2muobcE.js";import{E as n}from"./p-CEYGUVns.js";import{c as m,J as u}from"./p-C1nBLmHv.js";import{m as c}from"./p-DYGIC0QH.js";import"./p-Dj1uo4J3.js";import"./p-7WIgS5RM.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-D3G5aVLy.js";import"./p-C3HuV_kf.js";const d=class{constructor(o){t(this,o),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){m(),this.analytics=new u(this),this.initializeServices()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeServices()}initializeServices(){this.payoutId&&this.authToken?(this.getPayout=(({id:t,authToken:s,service:o})=>async({onSuccess:i,onError:e})=>{var n;try{const m=await o.fetchPayout(t,s);m.error?e({error:h(m.error),code:a(null===(n=m.error)||void 0===n?void 0:n.code),severity:r.ERROR}):i(new p(m.data))}catch(t){e({error:h(t),code:a(null==t?void 0:t.code),severity:r.ERROR})}})({id:this.payoutId,authToken:this.authToken,service:new i}),this.getPayoutCSV=c({authToken:this.authToken,service:new i})):(this.errorMessage="Failed to load payout details. payoutId or authToken is not provided.",this.errorEvent.emit({message:this.errorMessage,errorCode:e.MISSING_PROPS,severity:r.ERROR}))}render(){return this.errorMessage?n(this.errorMessage):o("payout-details-core",{getPayout:this.getPayout,getPayoutCSV:this.getPayoutCSV,"onError-event":this.handleErrorEvent})}static get watchers(){return{payoutId:["propChanged"],authToken:["propChanged"]}}};export{d as justifi_payout_details}
@@ -1 +1 @@
1
- import{r as e,c as t,h as a}from"./p-kpoIU4v_.js";import{c as d,J as i}from"./p-OeJDUMFM.js";import{c as s}from"./p-BYakc1Om.js";import{d as c}from"./p-D3G5aVLy.js";import{P as o}from"./p-BDUTtU21.js";import{S as f}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import"./p-COytJSGm.js";import"./p-Dj1uo4J3.js";import"./p-9y5MOK55.js";import"./p-7WIgS5RM.js";import"./p-B7jE0g5_.js";import"./p-Cjcsf8ku.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-7MWRbTXI.js";const h={bankAccount:"New bank account",card:"New credit or debit card"},r=class{constructor(a){e(this,a),this.errorEvent=t(this,"error-event"),this.loadedEvent=t(this,"loaded"),this.submitEvent=t(this,"submit-event"),this.errorMessage="",this.insuranceToggled=!1,this.isSubmitting=!1,this.paymentMethodOptions=[],this.savePaymentMethod=!1,this.disableBankAccount=!1,this.disableBnpl=!1,this.disableCreditCard=!1,this.disablePaymentMethodGroup=!1,this.hideBankAccountBillingForm=!1,this.hideCardBillingForm=!1}propChanged(){this.updateStore()}connectedCallback(){this.authToken&&this.checkoutId&&this.updateStore()}componentWillLoad(){d(),this.analytics=new i(this)}disconnectedCallback(){var e;null===(e=this.analytics)||void 0===e||e.cleanup()}savePaymentMethodChanged(e){this.savePaymentMethod=e.detail}checkoutComplete(e){this.isSubmitting=!1}checkoutError(e){this.isSubmitting=!1,console.error("checkout error",e.detail)}paymentMethodOptionSelected(e){s.selectedPaymentMethod=e.detail.id}async fillBillingForm(e){s.billingFormFields=e}async validate(){var e;return{isValid:await(null===(e=this.modularCheckoutRef)||void 0===e?void 0:e.validate())}}updateStore(){s.checkoutId=this.checkoutId,s.authToken=this.authToken,s.disableCreditCard=this.disableCreditCard,s.disableBankAccount=this.disableBankAccount,s.disableBnpl=this.disableBnpl,s.disablePaymentMethodGroup=this.disablePaymentMethodGroup}async submit(e){this.isSubmitting=!0,this.modularCheckoutRef.submitCheckout(s.billingFormFields)}get canSavePaymentMethod(){return s.selectedPaymentMethod===o.card||s.selectedPaymentMethod===o.bankAccount}get showBillingForm(){return s.selectedPaymentMethod===o.card&&!this.hideCardBillingForm||s.selectedPaymentMethod===o.bankAccount&&!this.hideBankAccountBillingForm}get showBillingFormSection(){return s.selectedPaymentMethod===o.card||s.selectedPaymentMethod===o.bankAccount}get showPaymentTypeHeader(){return!this.disableCreditCard&&!this.disableBankAccount}get showPostalCodeForm(){return s.selectedPaymentMethod===o.card&&this.hideCardBillingForm}render(){return a(f,{key:"4fb1d82b065de6c1e4651a246a53f8e58451d6f6"},a("justifi-modular-checkout",{key:"232cf32890422f474cf929b7c7ed7246d7b39c75",ref:e=>this.modularCheckoutRef=e,authToken:this.authToken,checkoutId:this.checkoutId,savePaymentMethod:this.canSavePaymentMethod&&this.savePaymentMethod},a("div",{key:"677ad110b05520be3b729995657086f0f6cbf337",class:"row gy-3 jfi-checkout-core"},a("div",{key:"458c84541dd154dd8b4ad1d0f2320e2308cc1785",class:"col-12",part:c},a("justifi-header",{key:"440a7d1ad7b21da3db66e6c6f1f9afefb434a089",text:"Summary",level:"h2",class:"fs-5 fw-bold pb-3"}),a("section",{key:"99bd431a8f70ce6e764cc04da3d0aaae6f0ebcbe"},a("justifi-checkout-summary",{key:"52da663e5bed35f0deb220800c7ede8835a3671b"}))),a("div",{key:"e95b1c6830d20c5af57c558badb04d07d3c48f23",class:"col-12 mt-4"},a("slot",{key:"527d58d4806d2e1bbcba499e97ab65f6c9c7efb9",name:"insurance"})),a("div",{key:"69d1319d1e05852de4f5566ad3be20bc9a6ee499",class:"col-12 mt-4"},a("justifi-header",{key:"1682f909f22172a44da54118aefe428f92908e91",text:"Payment",level:"h2",class:"fs-5 fw-bold pb-3"}),this.showPaymentTypeHeader&&a("justifi-header",{key:"7942a12143bea0235705969737e11d59bc5180e1",text:"Select payment type",level:"h3",class:"fs-6 fw-bold lh-lg"}),a("div",{key:"497664d455695693c4f9a1a4465c62ad4d5b6bdf",class:"d-flex flex-column"},a("section",{key:"d3da4c18b430e1b36f7b9ba20be517994e763b5e"},a("div",{key:"1cc0f0462a0f70d2acc4c9fdee25fbb2fe953c22"},a("justifi-saved-payment-methods",{key:"576da27df84d67bc69f2d95f00a6c440fa73f7ed"}),a("justifi-sezzle-payment-method",{key:"6544a3a250ee012870a9edce71dd763553d44554"}),!this.disableCreditCard&&a("div",{key:"79050f768d8d76c4d882bed667e85391c230a960"},a("payment-method-option",{key:"5a6c1dc583766707e6215203fdba176bd65b501d",paymentMethodOptionId:o.card,isSelected:s.selectedPaymentMethod===o.card,clickHandler:()=>{s.selectedPaymentMethod=o.card},radioButtonHidden:this.disableCreditCard,label:h[o.card]}),s.selectedPaymentMethod===o.card&&a("div",{key:"5e6f0b854191a9a5db8936b2e30518fba251e478",class:"mt-4 mb-4"},a("justifi-card-form",{key:"6c3f72f27dfe36924fe94ab4f7c79b6b9ff19b47"}))),!this.disableBankAccount&&a("div",{key:"f6a88103b2c30e4dd10e733b19aaa29a7a44430c"},a("payment-method-option",{key:"67ef047a8caad5bc389238d54bb3d7056ca4b9e6",paymentMethodOptionId:o.bankAccount,isSelected:s.selectedPaymentMethod===o.bankAccount,clickHandler:()=>{s.selectedPaymentMethod=o.bankAccount},radioButtonHidden:this.disableBankAccount,label:h[o.bankAccount]}),s.selectedPaymentMethod===o.bankAccount&&a("div",{key:"e67924184fc43811523081711f59865a01d7cf9f",class:"mt-4 mb-4"},a("justifi-bank-account-form",{key:"a01cdfe8be1bc98d4c0f75c2a9f2ca1cce519042"}))))))),this.showBillingFormSection&&a("div",{key:"a15f1202548c7d6c302c2b2827168a6a119f8634",class:"col-12 mt-4"},this.showBillingForm&&a("justifi-header",{key:"ee654c812cb097449937da4253e191de1ee669d5",text:"Billing Address",level:"h2",class:"fs-5 fw-bold pb-3"}),this.showPostalCodeForm&&a("justifi-postal-code-form",{key:"2a5736e6da3354f7a9d1a5b8870a2f61c09c2592"}),this.showBillingForm&&a("justifi-billing-information-form",{key:"7dd63931e75d7583b4f51a1f6bb2b1e84a46e078"})),a("div",{key:"54aeb0f07f574ee004ec02cd279265202cffa9bf",class:"col-12"},this.canSavePaymentMethod&&a("justifi-save-new-payment-method",{key:"2e010be22091cee1ebc4353d5dac3b49639175e7"})),a("div",{key:"71df812c8a922ae8b447d647f69675230c092db9",class:"mt-4"},a("justifi-button",{key:"057cd18c6235c73cc69ca85e9cb35a2a614a4d9a",text:"Pay",type:"submit",variant:"primary",clickHandler:e=>this.submit(e),disabled:this.isSubmitting,isLoading:this.isSubmitting,customStyle:{width:"100%",textAlign:"center"}})))))}static get watchers(){return{authToken:["propChanged"],checkoutId:["propChanged"],disableCreditCard:["propChanged"],disableBankAccount:["propChanged"],disableBnpl:["propChanged"],disablePaymentMethodGroup:["propChanged"]}}};export{r as justifi_checkout}
1
+ import{r as e,c as t,h as a}from"./p-kpoIU4v_.js";import{c as d,J as i}from"./p-C1nBLmHv.js";import{c as s}from"./p-BYakc1Om.js";import{d as c}from"./p-D3G5aVLy.js";import{P as o}from"./p-BDUTtU21.js";import{S as f}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import"./p-C3HuV_kf.js";import"./p-Dj1uo4J3.js";import"./p-9y5MOK55.js";import"./p-7WIgS5RM.js";import"./p-B7jE0g5_.js";import"./p-Cjcsf8ku.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-7MWRbTXI.js";const h={bankAccount:"New bank account",card:"New credit or debit card"},r=class{constructor(a){e(this,a),this.errorEvent=t(this,"error-event"),this.loadedEvent=t(this,"loaded"),this.submitEvent=t(this,"submit-event"),this.errorMessage="",this.insuranceToggled=!1,this.isSubmitting=!1,this.paymentMethodOptions=[],this.savePaymentMethod=!1,this.disableBankAccount=!1,this.disableBnpl=!1,this.disableCreditCard=!1,this.disablePaymentMethodGroup=!1,this.hideBankAccountBillingForm=!1,this.hideCardBillingForm=!1}propChanged(){this.updateStore()}connectedCallback(){this.authToken&&this.checkoutId&&this.updateStore()}componentWillLoad(){d(),this.analytics=new i(this)}disconnectedCallback(){var e;null===(e=this.analytics)||void 0===e||e.cleanup()}savePaymentMethodChanged(e){this.savePaymentMethod=e.detail}checkoutComplete(e){this.isSubmitting=!1}checkoutError(e){this.isSubmitting=!1,console.error("checkout error",e.detail)}paymentMethodOptionSelected(e){s.selectedPaymentMethod=e.detail.id}async fillBillingForm(e){s.billingFormFields=e}async validate(){var e;return{isValid:await(null===(e=this.modularCheckoutRef)||void 0===e?void 0:e.validate())}}updateStore(){s.checkoutId=this.checkoutId,s.authToken=this.authToken,s.disableCreditCard=this.disableCreditCard,s.disableBankAccount=this.disableBankAccount,s.disableBnpl=this.disableBnpl,s.disablePaymentMethodGroup=this.disablePaymentMethodGroup}async submit(e){this.isSubmitting=!0,this.modularCheckoutRef.submitCheckout(s.billingFormFields)}get canSavePaymentMethod(){return s.selectedPaymentMethod===o.card||s.selectedPaymentMethod===o.bankAccount}get showBillingForm(){return s.selectedPaymentMethod===o.card&&!this.hideCardBillingForm||s.selectedPaymentMethod===o.bankAccount&&!this.hideBankAccountBillingForm}get showBillingFormSection(){return s.selectedPaymentMethod===o.card||s.selectedPaymentMethod===o.bankAccount}get showPaymentTypeHeader(){return!this.disableCreditCard&&!this.disableBankAccount}get showPostalCodeForm(){return s.selectedPaymentMethod===o.card&&this.hideCardBillingForm}render(){return a(f,{key:"4fb1d82b065de6c1e4651a246a53f8e58451d6f6"},a("justifi-modular-checkout",{key:"232cf32890422f474cf929b7c7ed7246d7b39c75",ref:e=>this.modularCheckoutRef=e,authToken:this.authToken,checkoutId:this.checkoutId,savePaymentMethod:this.canSavePaymentMethod&&this.savePaymentMethod},a("div",{key:"677ad110b05520be3b729995657086f0f6cbf337",class:"row gy-3 jfi-checkout-core"},a("div",{key:"458c84541dd154dd8b4ad1d0f2320e2308cc1785",class:"col-12",part:c},a("justifi-header",{key:"440a7d1ad7b21da3db66e6c6f1f9afefb434a089",text:"Summary",level:"h2",class:"fs-5 fw-bold pb-3"}),a("section",{key:"99bd431a8f70ce6e764cc04da3d0aaae6f0ebcbe"},a("justifi-checkout-summary",{key:"52da663e5bed35f0deb220800c7ede8835a3671b"}))),a("div",{key:"e95b1c6830d20c5af57c558badb04d07d3c48f23",class:"col-12 mt-4"},a("slot",{key:"527d58d4806d2e1bbcba499e97ab65f6c9c7efb9",name:"insurance"})),a("div",{key:"69d1319d1e05852de4f5566ad3be20bc9a6ee499",class:"col-12 mt-4"},a("justifi-header",{key:"1682f909f22172a44da54118aefe428f92908e91",text:"Payment",level:"h2",class:"fs-5 fw-bold pb-3"}),this.showPaymentTypeHeader&&a("justifi-header",{key:"7942a12143bea0235705969737e11d59bc5180e1",text:"Select payment type",level:"h3",class:"fs-6 fw-bold lh-lg"}),a("div",{key:"497664d455695693c4f9a1a4465c62ad4d5b6bdf",class:"d-flex flex-column"},a("section",{key:"d3da4c18b430e1b36f7b9ba20be517994e763b5e"},a("div",{key:"1cc0f0462a0f70d2acc4c9fdee25fbb2fe953c22"},a("justifi-saved-payment-methods",{key:"576da27df84d67bc69f2d95f00a6c440fa73f7ed"}),a("justifi-sezzle-payment-method",{key:"6544a3a250ee012870a9edce71dd763553d44554"}),!this.disableCreditCard&&a("div",{key:"79050f768d8d76c4d882bed667e85391c230a960"},a("payment-method-option",{key:"5a6c1dc583766707e6215203fdba176bd65b501d",paymentMethodOptionId:o.card,isSelected:s.selectedPaymentMethod===o.card,clickHandler:()=>{s.selectedPaymentMethod=o.card},radioButtonHidden:this.disableCreditCard,label:h[o.card]}),s.selectedPaymentMethod===o.card&&a("div",{key:"5e6f0b854191a9a5db8936b2e30518fba251e478",class:"mt-4 mb-4"},a("justifi-card-form",{key:"6c3f72f27dfe36924fe94ab4f7c79b6b9ff19b47"}))),!this.disableBankAccount&&a("div",{key:"f6a88103b2c30e4dd10e733b19aaa29a7a44430c"},a("payment-method-option",{key:"67ef047a8caad5bc389238d54bb3d7056ca4b9e6",paymentMethodOptionId:o.bankAccount,isSelected:s.selectedPaymentMethod===o.bankAccount,clickHandler:()=>{s.selectedPaymentMethod=o.bankAccount},radioButtonHidden:this.disableBankAccount,label:h[o.bankAccount]}),s.selectedPaymentMethod===o.bankAccount&&a("div",{key:"e67924184fc43811523081711f59865a01d7cf9f",class:"mt-4 mb-4"},a("justifi-bank-account-form",{key:"a01cdfe8be1bc98d4c0f75c2a9f2ca1cce519042"}))))))),this.showBillingFormSection&&a("div",{key:"a15f1202548c7d6c302c2b2827168a6a119f8634",class:"col-12 mt-4"},this.showBillingForm&&a("justifi-header",{key:"ee654c812cb097449937da4253e191de1ee669d5",text:"Billing Address",level:"h2",class:"fs-5 fw-bold pb-3"}),this.showPostalCodeForm&&a("justifi-postal-code-form",{key:"2a5736e6da3354f7a9d1a5b8870a2f61c09c2592"}),this.showBillingForm&&a("justifi-billing-information-form",{key:"7dd63931e75d7583b4f51a1f6bb2b1e84a46e078"})),a("div",{key:"54aeb0f07f574ee004ec02cd279265202cffa9bf",class:"col-12"},this.canSavePaymentMethod&&a("justifi-save-new-payment-method",{key:"2e010be22091cee1ebc4353d5dac3b49639175e7"})),a("div",{key:"71df812c8a922ae8b447d647f69675230c092db9",class:"mt-4"},a("justifi-button",{key:"057cd18c6235c73cc69ca85e9cb35a2a614a4d9a",text:"Pay",type:"submit",variant:"primary",clickHandler:e=>this.submit(e),disabled:this.isSubmitting,isLoading:this.isSubmitting,customStyle:{width:"100%",textAlign:"center"}})))))}static get watchers(){return{authToken:["propChanged"],checkoutId:["propChanged"],disableCreditCard:["propChanged"],disableBankAccount:["propChanged"],disableBnpl:["propChanged"],disablePaymentMethodGroup:["propChanged"]}}};export{r as justifi_checkout}