@justifi/webcomponents 6.10.0 → 6.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/cjs/bank-account-document-form-inputs_9.cjs.entry.js +1 -1
  2. package/dist/cjs/{check-pkg-version-DjlvidPw.js → check-pkg-version-axrC8Ato.js} +18 -1
  3. package/dist/cjs/form-control-number-masked_3.cjs.entry.js +1 -1
  4. package/dist/cjs/hidden-input_2.cjs.entry.js +1 -1
  5. package/dist/cjs/internal-tokenize-payment-method_7.cjs.entry.js +2 -2
  6. package/dist/cjs/justifi-additional-questions-form-step_9.cjs.entry.js +20 -3
  7. package/dist/cjs/justifi-apple-pay_8.cjs.entry.js +2 -2
  8. package/dist/cjs/justifi-business-details.cjs.entry.js +2 -2
  9. package/dist/cjs/justifi-business-form.cjs.entry.js +2 -2
  10. package/dist/cjs/justifi-checkout.cjs.entry.js +2 -2
  11. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +2 -2
  12. package/dist/cjs/justifi-dispute-management.cjs.entry.js +2 -2
  13. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +2 -2
  14. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +2 -2
  15. package/dist/cjs/justifi-order-terminals.cjs.entry.js +2 -2
  16. package/dist/cjs/justifi-payment-details.cjs.entry.js +2 -2
  17. package/dist/cjs/justifi-payment-provisioning-core.cjs.entry.js +20 -0
  18. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +2 -2
  19. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +2 -2
  20. package/dist/cjs/justifi-payments-list.cjs.entry.js +2 -2
  21. package/dist/cjs/justifi-payout-details.cjs.entry.js +2 -2
  22. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +2 -2
  23. package/dist/cjs/justifi-payouts-list.cjs.entry.js +2 -2
  24. package/dist/cjs/justifi-refund-payment.cjs.entry.js +2 -2
  25. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +2 -2
  26. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +2 -2
  27. package/dist/cjs/justifi-terminals-list.cjs.entry.js +2 -2
  28. package/dist/cjs/loader.cjs.js +1 -1
  29. package/dist/cjs/{package-C5inXJfW.js → package-CAxc3X25.js} +1 -1
  30. package/dist/cjs/webcomponents.cjs.js +1 -1
  31. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step.js +16 -4
  32. package/dist/collection/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step.js +1 -1
  33. package/dist/collection/components/business-forms/payment-provisioning/business-owners/business-owners-form-step.js +6 -0
  34. package/dist/collection/components/business-forms/payment-provisioning/form-address-fields/form-address-fields.js +1 -1
  35. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-already-provisioned.js +6 -0
  36. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-core.js +15 -0
  37. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-submission-complete.js +6 -0
  38. package/dist/collection/components/business-forms/payment-provisioning/plaid-verification/plaid-verification.js +2 -2
  39. package/dist/collection/utils/check-pkg-version.js +17 -0
  40. package/dist/docs.json +6 -73
  41. package/dist/esm/bank-account-document-form-inputs_9.entry.js +2 -2
  42. package/dist/esm/{check-pkg-version-wgHSN5sV.js → check-pkg-version-BVLXSZXz.js} +18 -1
  43. package/dist/esm/form-control-number-masked_3.entry.js +1 -1
  44. package/dist/esm/hidden-input_2.entry.js +1 -1
  45. package/dist/esm/internal-tokenize-payment-method_7.entry.js +2 -2
  46. package/dist/esm/justifi-additional-questions-form-step_9.entry.js +21 -4
  47. package/dist/esm/justifi-apple-pay_8.entry.js +2 -2
  48. package/dist/esm/justifi-business-details.entry.js +2 -2
  49. package/dist/esm/justifi-business-form.entry.js +2 -2
  50. package/dist/esm/justifi-checkout.entry.js +2 -2
  51. package/dist/esm/justifi-checkouts-list.entry.js +2 -2
  52. package/dist/esm/justifi-dispute-management.entry.js +2 -2
  53. package/dist/esm/justifi-dispute-notification_3.entry.js +2 -2
  54. package/dist/esm/justifi-gross-payment-chart.entry.js +2 -2
  55. package/dist/esm/justifi-order-terminals.entry.js +2 -2
  56. package/dist/esm/justifi-payment-details.entry.js +2 -2
  57. package/dist/esm/justifi-payment-provisioning-core.entry.js +21 -1
  58. package/dist/esm/justifi-payment-provisioning.entry.js +2 -2
  59. package/dist/esm/justifi-payment-transactions-list.entry.js +2 -2
  60. package/dist/esm/justifi-payments-list.entry.js +2 -2
  61. package/dist/esm/justifi-payout-details.entry.js +2 -2
  62. package/dist/esm/justifi-payout-transactions-list.entry.js +2 -2
  63. package/dist/esm/justifi-payouts-list.entry.js +2 -2
  64. package/dist/esm/justifi-refund-payment.entry.js +2 -2
  65. package/dist/esm/justifi-season-interruption-insurance.entry.js +2 -2
  66. package/dist/esm/justifi-terminal-orders-list.entry.js +2 -2
  67. package/dist/esm/justifi-terminals-list.entry.js +2 -2
  68. package/dist/esm/loader.js +1 -1
  69. package/dist/esm/{package-D4eE0MBI.js → package-Bjv3eJBk.js} +1 -1
  70. package/dist/esm/webcomponents.js +1 -1
  71. package/dist/module/Analytics.js +17 -0
  72. package/dist/module/business-bank-account-form-step.js +15 -3
  73. package/dist/module/business-core-info-form-step.js +2 -2
  74. package/dist/module/business-core-info.js +1 -1
  75. package/dist/module/business-owners-form-step.js +7 -1
  76. package/dist/module/business-representative-form-inputs.js +1 -1
  77. package/dist/module/business-representative.js +1 -1
  78. package/dist/module/button.js +1 -1
  79. package/dist/module/dispute-notification.js +1 -1
  80. package/dist/module/dispute-response-core.js +1 -1
  81. package/dist/module/form-address-fields.js +1 -1
  82. package/dist/module/justifi-order-terminals.js +1 -1
  83. package/dist/module/owner-form-inputs2.js +1 -1
  84. package/dist/module/package.js +1 -1
  85. package/dist/module/parts.js +1 -1
  86. package/dist/module/payment-provisioning-core.js +22 -1
  87. package/dist/module/plaid-verification2.js +2 -2
  88. package/dist/module/terminal-quantity-selector2.js +1 -1
  89. package/dist/types/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step.d.ts +3 -0
  90. package/dist/types/components/business-forms/payment-provisioning/payment-provisioning-already-provisioned.d.ts +1 -0
  91. package/dist/types/components/business-forms/payment-provisioning/payment-provisioning-core.d.ts +1 -0
  92. package/dist/types/components/business-forms/payment-provisioning/payment-provisioning-submission-complete.d.ts +1 -0
  93. package/dist/types/ui-components/button.d.ts +1 -1
  94. package/dist/webcomponents/{p-df61f19b.entry.js → p-0588173b.entry.js} +1 -1
  95. package/dist/webcomponents/{p-2bbd810a.entry.js → p-1a4d5f16.entry.js} +1 -1
  96. package/dist/webcomponents/{p-ed4f8027.entry.js → p-21620dd2.entry.js} +1 -1
  97. package/dist/webcomponents/p-21b5240d.entry.js +1 -0
  98. package/dist/webcomponents/{p-2b679e5a.entry.js → p-282134de.entry.js} +1 -1
  99. package/dist/webcomponents/p-35d1be0f.entry.js +1 -0
  100. package/dist/webcomponents/{p-423b63ad.entry.js → p-479e4baf.entry.js} +1 -1
  101. package/dist/webcomponents/{p-d62da4f2.entry.js → p-4d6031dd.entry.js} +1 -1
  102. package/dist/webcomponents/{p-d766763a.entry.js → p-4ebaafe3.entry.js} +1 -1
  103. package/dist/webcomponents/{p-8728065b.entry.js → p-4fc5ffda.entry.js} +1 -1
  104. package/dist/webcomponents/{p-979d22d0.entry.js → p-643f1616.entry.js} +1 -1
  105. package/dist/webcomponents/{p-38c1e9fa.entry.js → p-6486555d.entry.js} +1 -1
  106. package/dist/webcomponents/{p-d0813f21.entry.js → p-7318981d.entry.js} +1 -1
  107. package/dist/webcomponents/{p-3971d6b7.entry.js → p-7d122d5b.entry.js} +1 -1
  108. package/dist/webcomponents/p-7dc5995e.entry.js +1 -0
  109. package/dist/webcomponents/{p-d9118b1e.entry.js → p-7e3030c2.entry.js} +1 -1
  110. package/dist/webcomponents/{p-5d753fd4.entry.js → p-8dc8ad9a.entry.js} +1 -1
  111. package/dist/webcomponents/p-Bjv3eJBk.js +1 -0
  112. package/dist/webcomponents/{p-CbTf_N6u.js → p-BqpQa748.js} +1 -1
  113. package/dist/webcomponents/{p-b4b540fa.entry.js → p-b61080bd.entry.js} +1 -1
  114. package/dist/webcomponents/p-cb9abd2c.entry.js +1 -0
  115. package/dist/webcomponents/{p-eb1251bf.entry.js → p-ccb0a84a.entry.js} +1 -1
  116. package/dist/webcomponents/{p-e2bc6c68.entry.js → p-d36725a3.entry.js} +1 -1
  117. package/dist/webcomponents/{p-7769de83.entry.js → p-d7bd9d76.entry.js} +1 -1
  118. package/dist/webcomponents/{p-0e21749b.entry.js → p-e8f9b081.entry.js} +1 -1
  119. package/dist/webcomponents/{p-2438363d.entry.js → p-ec933218.entry.js} +1 -1
  120. package/dist/webcomponents/{p-300002dd.entry.js → p-eeee370f.entry.js} +1 -1
  121. package/dist/webcomponents/{p-f18e90b1.entry.js → p-f1b99b0d.entry.js} +1 -1
  122. package/dist/webcomponents/webcomponents.esm.js +1 -1
  123. package/package.json +3 -2
  124. package/dist/webcomponents/p-12665340.entry.js +0 -1
  125. package/dist/webcomponents/p-5cee4e33.entry.js +0 -1
  126. package/dist/webcomponents/p-D4eE0MBI.js +0 -1
  127. package/dist/webcomponents/p-afa2ebd9.entry.js +0 -1
  128. package/dist/webcomponents/p-c725dc53.entry.js +0 -1
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal
2
2
  import { c as businessClassificationOptions } from './business-form-options.js';
3
3
  import { I as IDENTITY_MASKS, P as PHONE_MASKS } from './form-input-masks.js';
4
4
  import { C as CoreBusinessInfo } from './Business.js';
5
- import { h as heading2, b as label, d as inputDisabled, Y as buttonSecondary } from './parts.js';
5
+ import { h as heading2, b as label, d as inputDisabled, Z as buttonSecondary } from './parts.js';
6
6
  import { c as countryLabels } from './country-config.js';
7
7
  import { d as defineCustomElement$6 } from './custom-popper2.js';
8
8
  import { d as defineCustomElement$5 } from './form-control-date2.js';
@@ -3,7 +3,7 @@ import { a as ComponentErrorSeverity, C as ComponentErrorCodes } from './Plaid.j
3
3
  import { m as makeGetBusiness, a as makePatchBusiness } from './payment-provisioning-actions.js';
4
4
  import { B as BusinessService } from './business.service.js';
5
5
  import { B as Button } from './button.js';
6
- import { h as heading2, Z as alert } from './parts.js';
6
+ import { h as heading2, _ as alert } from './parts.js';
7
7
  import './details.js';
8
8
  import './event-types.js';
9
9
  import './justifi-radio-list-item2.js';
@@ -111,6 +111,8 @@ const BusinessOwnersFormStep = /*@__PURE__*/ proxyCustomElement(class BusinessOw
111
111
  this.handleRepresentativeIsOwnerChange = (value) => {
112
112
  this.representativeIsOwner = value;
113
113
  if (this.representativeIsOwner) {
114
+ this.formLoading.emit(true);
115
+ this.isLoading = true;
114
116
  this.ownersPayload = this.ownersPayload.filter(owner => owner.id !== '');
115
117
  this.patchBusiness({
116
118
  payload: {
@@ -120,6 +122,10 @@ const BusinessOwnersFormStep = /*@__PURE__*/ proxyCustomElement(class BusinessOw
120
122
  this.getData();
121
123
  this.newFormOpen = false;
122
124
  },
125
+ finally: () => {
126
+ this.isLoading = false;
127
+ this.formLoading.emit(false);
128
+ }
123
129
  });
124
130
  }
125
131
  };
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
2
  import { u as updateFormValues, a as updateAddressFormValues, b as updateDateOfBirthFormValues } from './input-handlers.js';
3
3
  import { P as PHONE_MASKS, I as IDENTITY_MASKS } from './form-input-masks.js';
4
- import { h as heading2, b as label, d as inputDisabled, Y as buttonSecondary } from './parts.js';
4
+ import { h as heading2, b as label, d as inputDisabled, Z as buttonSecondary } from './parts.js';
5
5
  import { c as countryLabels } from './country-config.js';
6
6
  import { d as defineCustomElement$8 } from './custom-popper2.js';
7
7
  import { d as defineCustomElement$7 } from './form-control-date2.js';
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { P as PHONE_MASKS, I as IDENTITY_MASKS } from './form-input-masks.js';
3
3
  import { d as deconstructDate } from './Business.js';
4
- import { h as heading2, b as label, d as inputDisabled, Y as buttonSecondary } from './parts.js';
4
+ import { h as heading2, b as label, d as inputDisabled, Z as buttonSecondary } from './parts.js';
5
5
  import { c as countryLabels } from './country-config.js';
6
6
  import { d as defineCustomElement$8 } from './custom-popper2.js';
7
7
  import { d as defineCustomElement$7 } from './form-control-date2.js';
@@ -1,5 +1,5 @@
1
1
  import { h } from '@stencil/core/internal/client';
2
- import { Y as buttonSecondary, a1 as buttonPrimary, a2 as buttonLoading } from './parts.js';
2
+ import { Z as buttonSecondary, Y as buttonPrimary, a2 as buttonLoading } from './parts.js';
3
3
 
4
4
  const ButtonSpinner = () => (h("div", { class: "spinner-border spinner-border-sm", role: "status", part: "button-spinner" }, h("span", { class: "visually-hidden" }, "Loading...")));
5
5
 
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
  import { c as formatCurrency } from './utils2.js';
3
- import { t as text, _ as heading4 } from './parts.js';
3
+ import { t as text, $ as heading4 } from './parts.js';
4
4
  import { B as Button } from './button.js';
5
5
  import { S as StyledHost } from './styled-host.js';
6
6
  import { S as Skeleton } from './skeleton.js';
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
  import { D as DisputeManagementClickActions } from './event-types3.js';
3
- import { _ as heading4 } from './parts.js';
3
+ import { $ as heading4 } from './parts.js';
4
4
  import { B as Button } from './button.js';
5
5
  import { d as defineCustomElement$f } from './custom-popper2.js';
6
6
  import { d as defineCustomElement$e } from './form-control-date2.js';
@@ -19,7 +19,7 @@ const FormAddressFields = /*@__PURE__*/ proxyCustomElement(class FormAddressFiel
19
19
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
20
20
  const labels = countryLabels[this.country];
21
21
  const options = countryOptions[this.country];
22
- return (h(Host, { key: '8dabbee93e0f319db333ada6c20af49ed6131b8d' }, h("div", { key: '4b308ca9fa92321e5f60f3e4d9ab1c4e60cbd703', class: "row gy-3" }, h("div", { key: '9c25eec2effd7caed70a3f02f6a780513fae930c', class: "col-12" }, h("form-control-text", { key: '6c2ae178c2122d1f6085906690adadf98cb0774b', name: "line1", label: "Street Address", inputHandler: this.inputHandler, defaultValue: (_a = this.defaultValues) === null || _a === void 0 ? void 0 : _a.line1, errorText: (_b = this.errors) === null || _b === void 0 ? void 0 : _b.line1, helpText: "No PO Boxes." })), h("div", { key: 'eba53a69fc4c869014ef8b7bf6ff9b1d8f5be566', class: "col-12" }, h("form-control-text", { key: '11c743ce2388173c41cb16f1865fe58b2015d6bb', name: "line2", label: "Address Line 2 (optional)", inputHandler: this.inputHandler, defaultValue: (_c = this.defaultValues) === null || _c === void 0 ? void 0 : _c.line2, errorText: (_d = this.errors) === null || _d === void 0 ? void 0 : _d.line2 })), h("div", { key: '2025c9bb15286f5c3e4693b596372a7dff730ce8', class: "col-12" }, h("form-control-text", { key: '5e0e40fd028d12b88cb15a38906738320e30aeca', name: "city", label: "City", inputHandler: this.inputHandler, defaultValue: (_e = this.defaultValues) === null || _e === void 0 ? void 0 : _e.city, errorText: (_f = this.errors) === null || _f === void 0 ? void 0 : _f.city })), h("div", { key: '5ec53f357907749c9abdcf568c027b71faad19fa', class: "col-12" }, h("form-control-select", { key: 'b9eef22eb507ffbd58c26bffa41b5b225925297c', name: "state", label: labels.stateLabel, options: options.stateOptions, inputHandler: this.inputHandler, defaultValue: (_g = this.defaultValues) === null || _g === void 0 ? void 0 : _g.state, errorText: (_h = this.errors) === null || _h === void 0 ? void 0 : _h.state })), h("div", { key: '7456cd4f6b62b59bc9289ca3721440083e9aa4f3', class: "col-12" }, h("form-control-text", { key: 'c483c93d0f09d5ded3c11145216273ba75822009', name: "postal_code", label: labels.postalLabel, inputHandler: this.inputHandler, defaultValue: (_j = this.defaultValues) === null || _j === void 0 ? void 0 : _j.postal_code, errorText: (_k = this.errors) === null || _k === void 0 ? void 0 : _k.postal_code, maxLength: this.country === CountryCode.USA ? 5 : 7, keyDownHandler: this.country === CountryCode.USA ? numberOnlyHandler : undefined })))));
22
+ return (h(Host, { key: '8dabbee93e0f319db333ada6c20af49ed6131b8d' }, h("div", { key: '4b308ca9fa92321e5f60f3e4d9ab1c4e60cbd703', class: "row gy-3" }, h("div", { key: '9c25eec2effd7caed70a3f02f6a780513fae930c', class: "col-12" }, h("form-control-text", { key: '6c2ae178c2122d1f6085906690adadf98cb0774b', name: "line1", label: "Street Address", inputHandler: this.inputHandler, defaultValue: (_a = this.defaultValues) === null || _a === void 0 ? void 0 : _a.line1, errorText: (_b = this.errors) === null || _b === void 0 ? void 0 : _b.line1, helpText: "No PO Boxes." })), h("div", { key: 'eba53a69fc4c869014ef8b7bf6ff9b1d8f5be566', class: "col-12" }, h("form-control-text", { key: '11c743ce2388173c41cb16f1865fe58b2015d6bb', name: "line2", label: "Address Line 2 (optional)", inputHandler: this.inputHandler, defaultValue: (_c = this.defaultValues) === null || _c === void 0 ? void 0 : _c.line2, errorText: (_d = this.errors) === null || _d === void 0 ? void 0 : _d.line2 })), h("div", { key: '2025c9bb15286f5c3e4693b596372a7dff730ce8', class: "col-12" }, h("form-control-text", { key: '5e0e40fd028d12b88cb15a38906738320e30aeca', name: "city", label: "City", inputHandler: this.inputHandler, defaultValue: (_e = this.defaultValues) === null || _e === void 0 ? void 0 : _e.city, errorText: (_f = this.errors) === null || _f === void 0 ? void 0 : _f.city })), h("div", { key: '407eac6eee8ca33a6648f2d1a45003961353f877', class: "col-12 col-md-6" }, h("form-control-select", { key: 'c598b24e0dc594ae725a7473212a6ed36102ce49', name: "state", label: labels.stateLabel, options: options.stateOptions, inputHandler: this.inputHandler, defaultValue: (_g = this.defaultValues) === null || _g === void 0 ? void 0 : _g.state, errorText: (_h = this.errors) === null || _h === void 0 ? void 0 : _h.state })), h("div", { key: '49861d791272c745f881d19016b93885ce59f724', class: "col-12 col-md-6" }, h("form-control-text", { key: '90b9db4630dd4fad7e86151f2a632cd62b8509f3', name: "postal_code", label: labels.postalLabel, inputHandler: this.inputHandler, defaultValue: (_j = this.defaultValues) === null || _j === void 0 ? void 0 : _j.postal_code, errorText: (_k = this.errors) === null || _k === void 0 ? void 0 : _k.postal_code, maxLength: this.country === CountryCode.USA ? 5 : 7, keyDownHandler: this.country === CountryCode.USA ? numberOnlyHandler : undefined })))));
23
23
  }
24
24
  }, [256, "justifi-form-address-fields", {
25
25
  "country": [1],
@@ -1,5 +1,5 @@
1
1
  import { h, proxyCustomElement, HTMLElement, createEvent } from '@stencil/core/internal/client';
2
- import { _ as heading4, a3 as heading5, a1 as buttonPrimary, t as text } from './parts.js';
2
+ import { $ as heading4, a3 as heading5, Y as buttonPrimary, t as text } from './parts.js';
3
3
  import { S as StyledHost } from './styled-host.js';
4
4
  import './details.js';
5
5
  import './event-types.js';
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/clien
2
2
  import { P as PHONE_MASKS, I as IDENTITY_MASKS } from './form-input-masks.js';
3
3
  import { u as updateFormValues, a as updateAddressFormValues, b as updateDateOfBirthFormValues } from './input-handlers.js';
4
4
  import { c as countryLabels } from './country-config.js';
5
- import { b as label, d as inputDisabled, Y as buttonSecondary } from './parts.js';
5
+ import { b as label, d as inputDisabled, Z as buttonSecondary } from './parts.js';
6
6
  import { d as defineCustomElement$9 } from './custom-popper2.js';
7
7
  import { d as defineCustomElement$8 } from './form-control-date2.js';
8
8
  import { d as defineCustomElement$7 } from './form-control-number2.js';
@@ -1,5 +1,5 @@
1
1
  const name = "@justifi/webcomponents";
2
- const version = "6.10.0";
2
+ const version = "6.10.2";
3
3
  var webcomponentsPackageJson = {
4
4
  name: name,
5
5
  version: version};
@@ -138,4 +138,4 @@ const orderTypeTerminalOrdersListFilterParam = `${terminalOrdersListFilterParam}
138
138
  const createdAfterTerminalOrdersListFilterParam = `${terminalOrdersListFilterParam} created-after-terminal-orders-list-filter-param`;
139
139
  const createdBeforeTerminalOrdersListFilterParam = `${terminalOrdersListFilterParam} created-before-terminal-orders-list-filter-param`;
140
140
 
141
- export { image as $, paginationButtonIconPrevious as A, paginationButtonText as B, paginationButtonIconNext as C, loadingSpinner as D, badgeDark as E, badgeLight as F, badgeInfo as G, badgeWarning as H, badgeDanger as I, badgeSuccess as J, badgeSecondary as K, badgePrimary as L, badge as M, alertDanger as N, inputCheckboxInvalid as O, inputCheckboxCheckedFocused as P, inputCheckboxFocused as Q, inputCheckboxChecked as R, inputCheckbox as S, inputAdornment as T, inputGroup as U, inputInvalidAndFocused as V, billingForm as W, heading3 as X, buttonSecondary as Y, alert as Z, heading4 as _, heading1 as a, buttonLink as a0, buttonPrimary as a1, buttonLoading as a2, heading5 as a3, checkoutSummary as a4, checkoutsListFilterMenu as a5, checkoutIdCheckoutsListFilterParam as a6, statusCheckoutsListFilterParam as a7, paymentModeCheckoutsListFilterParam as a8, createdAfterCheckoutsListFilterParam as a9, createdAfterTerminalsListFilterParam as aA, createdBeforeTerminalsListFilterParam as aB, tableHead as aC, tableHeadRow as aD, tableRow as aE, tableFoot as aF, tableFootRow as aG, tableFootCell as aH, tableEmpty as aI, tableError as aJ, createdBeforeCheckoutsListFilterParam as aa, dropdownMenuButton as ab, dropdownMenu as ac, getAlternateTableCellPart as ad, paymentsListFilterMenu as ae, paymentIdPaymentsListFilterParam as af, terminalIdPaymentsListFilterParam as ag, paymentStatusPaymentsListFilterParam as ah, paymentModePaymentsListFilterParam as ai, checkoutIdPaymentsListFilterParam as aj, accountHolderPaymentsListFilterParam as ak, createdAfterPaymentsListFilterParam as al, createdBeforePaymentsListFilterParam as am, payoutsListFilterMenu as an, statusPayoutsListFilterParam as ao, createdAfterPayoutsListFilterParam as ap, createdBeforePayoutsListFilterParam as aq, terminalOrdersListFilterMenu as ar, orderStatusTerminalOrdersListFilterParam as as, orderTypeTerminalOrdersListFilterParam as at, createdAfterTerminalOrdersListFilterParam as au, createdBeforeTerminalOrdersListFilterParam as av, terminalsListFilterMenu as aw, terminalIdTerminalsListFilterParam as ax, terminalOrderIdTerminalsListFilterParam as ay, terminalStatusTerminalsListFilterParam as az, label as b, inputInvalid as c, inputDisabled as d, inputFocused as e, tooltipIcon as f, tooltip as g, heading2 as h, input as i, tooltipInner as j, textDanger as k, link as l, inputRadioInvalid as m, inputRadioCheckedFocused as n, inputRadioChecked as o, inputRadioFocused as p, inputRadio as q, radioListItem as r, skeleton as s, text as t, card as u, table as v, tableHeadCell as w, tableCell as x, paginationButton as y, paginationButtonDisabled as z };
141
+ export { heading4 as $, paginationButtonIconPrevious as A, paginationButtonText as B, paginationButtonIconNext as C, loadingSpinner as D, badgeDark as E, badgeLight as F, badgeInfo as G, badgeWarning as H, badgeDanger as I, badgeSuccess as J, badgeSecondary as K, badgePrimary as L, badge as M, alertDanger as N, inputCheckboxInvalid as O, inputCheckboxCheckedFocused as P, inputCheckboxFocused as Q, inputCheckboxChecked as R, inputCheckbox as S, inputAdornment as T, inputGroup as U, inputInvalidAndFocused as V, billingForm as W, heading3 as X, buttonPrimary as Y, buttonSecondary as Z, alert as _, heading1 as a, image as a0, buttonLink as a1, buttonLoading as a2, heading5 as a3, checkoutSummary as a4, checkoutsListFilterMenu as a5, checkoutIdCheckoutsListFilterParam as a6, statusCheckoutsListFilterParam as a7, paymentModeCheckoutsListFilterParam as a8, createdAfterCheckoutsListFilterParam as a9, createdAfterTerminalsListFilterParam as aA, createdBeforeTerminalsListFilterParam as aB, tableHead as aC, tableHeadRow as aD, tableRow as aE, tableFoot as aF, tableFootRow as aG, tableFootCell as aH, tableEmpty as aI, tableError as aJ, createdBeforeCheckoutsListFilterParam as aa, dropdownMenuButton as ab, dropdownMenu as ac, getAlternateTableCellPart as ad, paymentsListFilterMenu as ae, paymentIdPaymentsListFilterParam as af, terminalIdPaymentsListFilterParam as ag, paymentStatusPaymentsListFilterParam as ah, paymentModePaymentsListFilterParam as ai, checkoutIdPaymentsListFilterParam as aj, accountHolderPaymentsListFilterParam as ak, createdAfterPaymentsListFilterParam as al, createdBeforePaymentsListFilterParam as am, payoutsListFilterMenu as an, statusPayoutsListFilterParam as ao, createdAfterPayoutsListFilterParam as ap, createdBeforePayoutsListFilterParam as aq, terminalOrdersListFilterMenu as ar, orderStatusTerminalOrdersListFilterParam as as, orderTypeTerminalOrdersListFilterParam as at, createdAfterTerminalOrdersListFilterParam as au, createdBeforeTerminalOrdersListFilterParam as av, terminalsListFilterMenu as aw, terminalIdTerminalsListFilterParam as ax, terminalOrderIdTerminalsListFilterParam as ay, terminalStatusTerminalsListFilterParam as az, label as b, inputInvalid as c, inputDisabled as d, inputFocused as e, tooltipIcon as f, tooltip as g, heading2 as h, input as i, tooltipInner as j, textDanger as k, link as l, inputRadioInvalid as m, inputRadioCheckedFocused as n, inputRadioChecked as o, inputRadioFocused as p, inputRadio as q, radioListItem as r, skeleton as s, text as t, card as u, table as v, tableHeadCell as w, tableCell as x, paginationButton as y, paginationButtonDisabled as z };
@@ -1,4 +1,4 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
1
+ import { h, proxyCustomElement, HTMLElement, createEvent } from '@stencil/core/internal/client';
2
2
  import { a as ComponentErrorSeverity, C as ComponentErrorCodes } from './Plaid.js';
3
3
  import { a as CountryCode, b as Business, e as checkProvisioningStatus } from './Business.js';
4
4
  import { t as text } from './parts.js';
@@ -41,6 +41,14 @@ import { d as defineCustomElement$3 } from './owner-form-core2.js';
41
41
  import { d as defineCustomElement$2 } from './owner-form-inputs2.js';
42
42
  import { d as defineCustomElement$1 } from './plaid-verification2.js';
43
43
 
44
+ const PaymentProvisioningAlreadyProvisioned = () => {
45
+ return (h("div", { class: "row gap-3 p-5" }, h("div", { class: "col-12" }, h(Header1, { text: "Business Already Provisioned" })), h("div", { class: "col-12", part: text }, h("p", null, "We have already received the onboarding information for this business."))));
46
+ };
47
+
48
+ const PaymentProvisioningSubmissionComplete = () => {
49
+ return (h("div", { class: "row gap-3 p5" }, h("div", { class: "col-12" }, h(Header1, { text: "You're all set for now" })), h("div", { class: "col-12", part: text }, h("p", null, "We're reviewing your information and working on your approval. We'll be in touch to let you know once you've been approved (or if we find anything that needs fixing). Have a good one!"))));
50
+ };
51
+
44
52
  const PaymentProvisioningCore = /*@__PURE__*/ proxyCustomElement(class PaymentProvisioningCore extends HTMLElement {
45
53
  constructor(registerHost) {
46
54
  super();
@@ -53,6 +61,7 @@ const PaymentProvisioningCore = /*@__PURE__*/ proxyCustomElement(class PaymentPr
53
61
  this.loading = false;
54
62
  this.businessLoading = true;
55
63
  this.businessProvisioned = false;
64
+ this.formSubmitted = false;
56
65
  this.currentStep = 0;
57
66
  this.country = CountryCode.USA;
58
67
  this.allowOptionalFields = false;
@@ -88,6 +97,7 @@ const PaymentProvisioningCore = /*@__PURE__*/ proxyCustomElement(class PaymentPr
88
97
  this.postProvisioningData = () => {
89
98
  this.postProvisioning({
90
99
  onSuccess: (response) => {
100
+ this.formSubmitted = true;
91
101
  this.submitEvent.emit({ response: response });
92
102
  },
93
103
  onError: ({ error, code, severity }) => {
@@ -154,9 +164,19 @@ const PaymentProvisioningCore = /*@__PURE__*/ proxyCustomElement(class PaymentPr
154
164
  this.loading = event.detail;
155
165
  }
156
166
  render() {
167
+ // State 1: Loading
157
168
  if (this.businessLoading) {
158
169
  return (h(StyledHost, null, h(PaymentProvisioningLoading, null)));
159
170
  }
171
+ // State 2: Already Provisioned
172
+ if (this.businessProvisioned) {
173
+ return (h(StyledHost, null, h(PaymentProvisioningAlreadyProvisioned, null)));
174
+ }
175
+ // State 3: Submission Complete
176
+ if (this.formSubmitted) {
177
+ return (h(StyledHost, null, h(PaymentProvisioningSubmissionComplete, null)));
178
+ }
179
+ // State 4: Form Steps (default)
160
180
  return (h(StyledHost, null, h("div", { class: 'row gap-3' }, h(Header1, { text: this.formTitle }), h("justifi-payment-provisioning-form-steps", { businessId: this.businessId, authToken: this.authToken, refs: this.refs, currentStep: this.currentStep, allowOptionalFields: this.allowOptionalFields, country: this.country, handleFormLoading: this.handleFormLoading }), h("div", { class: 'd-flex justify-content-between align-items-center' }, h("div", { class: 'd-flex align-items-center', part: text }, this.stepCounter), h("justifi-payment-provisioning-form-buttons", { currentStep: this.currentStep, totalSteps: this.totalSteps, formLoading: this.loading, formDisabled: this.formDisabled, previousStepButtonOnClick: this.previousStepButtonOnClick, nextStepButtonOnClick: this.nextStepButtonOnClick })))));
161
181
  }
162
182
  }, [256, "justifi-payment-provisioning-core", {
@@ -169,6 +189,7 @@ const PaymentProvisioningCore = /*@__PURE__*/ proxyCustomElement(class PaymentPr
169
189
  "loading": [32],
170
190
  "businessLoading": [32],
171
191
  "businessProvisioned": [32],
192
+ "formSubmitted": [32],
172
193
  "currentStep": [32],
173
194
  "errorMessage": [32],
174
195
  "country": [32]
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
  import { B as Button } from './button.js';
3
3
  import { S as StyledHost } from './styled-host.js';
4
- import { Y as buttonSecondary } from './parts.js';
4
+ import { Y as buttonPrimary } from './parts.js';
5
5
  import './details.js';
6
6
  import './event-types.js';
7
7
  import './justifi-radio-list-item2.js';
@@ -326,7 +326,7 @@ const PlaidVerification = /*@__PURE__*/ proxyCustomElement(class PlaidVerificati
326
326
  marginLeft: '5px',
327
327
  marginTop: '-2px',
328
328
  } }));
329
- return (h(StyledHost, null, h("script", { src: "https://cdn.plaid.com/link/v2/stable/link-initialize.js", async: true, ref: (el) => (this.scriptRef = el) }), h("div", null, h("div", { class: "mb-3" }, h(Button, { variant: "secondary", type: "button", onClick: (event) => { event.preventDefault(); this.openPlaidLink(); }, disabled: this.isLoading, part: buttonSecondary }, "Link Bank Account with ", plaidLogo)), renderErrorState(), renderStatusState())));
329
+ return (h(StyledHost, null, h("script", { src: "https://cdn.plaid.com/link/v2/stable/link-initialize.js", async: true, ref: (el) => (this.scriptRef = el) }), h("div", null, h("div", { class: "mb-3" }, h(Button, { variant: "primary", type: "button", onClick: (event) => { event.preventDefault(); this.openPlaidLink(); }, disabled: this.isLoading, part: buttonPrimary }, "Connect with Plaid ", plaidLogo, " (instant verification)")), renderErrorState(), renderStatusState())));
330
330
  }
331
331
  }, [256, "plaid-verification", {
332
332
  "authToken": [1, "auth-token"],
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
- import { u as card, $ as image, a0 as buttonLink } from './parts.js';
2
+ import { u as card, a0 as image, a1 as buttonLink } from './parts.js';
3
3
  import { d as defineCustomElement$2 } from './custom-popper2.js';
4
4
  import { d as defineCustomElement$1 } from './form-control-tooltip2.js';
5
5
 
@@ -16,6 +16,7 @@ export declare class BusinessBankAccountFormStep {
16
16
  postDocument: Function;
17
17
  bankAccountVerification: boolean;
18
18
  platformAccountId: string | null;
19
+ usePlaidVerification: boolean;
19
20
  authToken: string;
20
21
  businessId: string;
21
22
  allowOptionalFields?: boolean;
@@ -54,6 +55,8 @@ export declare class BusinessBankAccountFormStep {
54
55
  private refreshBankAccountData;
55
56
  handleChangeBankAccount: () => void;
56
57
  handleCancel: () => void;
58
+ handleToggleToManualEntry: () => void;
59
+ handleToggleToPlaidVerification: () => void;
57
60
  handleSaveBankAccount: () => Promise<void>;
58
61
  private postBusinessDocuments;
59
62
  private postDocumentRecordData;
@@ -0,0 +1 @@
1
+ export declare const PaymentProvisioningAlreadyProvisioned: () => any;
@@ -5,6 +5,7 @@ export declare class PaymentProvisioningCore {
5
5
  loading: boolean;
6
6
  businessLoading: boolean;
7
7
  businessProvisioned: boolean;
8
+ formSubmitted: boolean;
8
9
  currentStep: number;
9
10
  errorMessage: string;
10
11
  country: CountryCode;
@@ -0,0 +1 @@
1
+ export declare const PaymentProvisioningSubmissionComplete: () => any;
@@ -1,6 +1,6 @@
1
1
  import { FunctionalComponent } from '../stencil-public-runtime';
2
2
  interface ButtonProps {
3
- variant: 'primary' | 'secondary';
3
+ variant: 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'light' | 'dark' | 'link';
4
4
  isLoading?: boolean;
5
5
  }
6
6
  type ButtonElementProps = ButtonProps & {
@@ -1 +1 @@
1
- import{r as s,c as t,h as r}from"./p-CV0Pyo1O.js";import{A as o}from"./p-55QcjheA.js";import{C as e,a as i}from"./p-Cjcsf8ku.js";import"./p-BiNakvsa.js";import"./p-CLHwhyvu.js";import"./p-BcNb9bVO.js";import"./p-BH0Xfn-F.js";import{g as a,a as n}from"./p-D2muobcE.js";import{E as p}from"./p-DAZtHA62.js";import{c as h,J as c}from"./p-CbTf_N6u.js";import"./p-DVJaoI_m.js";import"./p-D8GTwl9v.js";import"./p-MeSAYDNh.js";import"./p-HXpYMWUU.js";import"./p-C4FLe2pT.js";import"./p-D4eE0MBI.js";const m=o();class u{async fetchGrossVolumeChartData(s,t){return m.get({endpoint:`account/${s}/reports/gross_volume`,authToken:t})}}const d=class{constructor(r){s(this,r),this.errorEvent=t(this,"error-event",7),this.errorMessage=null,this.handleErrorEvent=s=>{this.errorMessage=s.detail.message,this.errorEvent.emit(s.detail)}}componentWillLoad(){h(),this.analytics=new c(this),this.initializeGetGrossPayment()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}propChanged(){this.initializeGetGrossPayment()}initializeGetGrossPayment(){this.accountId&&this.authToken?this.getGrossPayment=(({id:s,authToken:t,service:r})=>async({onSuccess:o,onError:i})=>{var p;try{const h=await r.fetchGrossVolumeChartData(s,t);h.error?i({error:n(h.error),code:a(null===(p=h.error)||void 0===p?void 0:p.code),severity:e.ERROR}):o(h.data)}catch(s){const t=a(null==s?void 0:s.code);i({error:n(s),code:t,severity:e.ERROR})}})({id:this.accountId,authToken:this.authToken,service:new u}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:i.MISSING_PROPS,message:this.errorMessage,severity:e.ERROR}))}render(){return this.errorMessage?p(this.errorMessage):r("gross-payment-chart-core",{getGrossPayment:this.getGrossPayment,"onError-event":this.handleErrorEvent})}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{d as justifi_gross_payment_chart}
1
+ import{r as s,c as t,h as r}from"./p-CV0Pyo1O.js";import{A as o}from"./p-55QcjheA.js";import{C as e,a as i}from"./p-Cjcsf8ku.js";import"./p-BiNakvsa.js";import"./p-CLHwhyvu.js";import"./p-BcNb9bVO.js";import"./p-BH0Xfn-F.js";import{g as a,a as p}from"./p-D2muobcE.js";import{E as n}from"./p-DAZtHA62.js";import{c as h,J as c}from"./p-BqpQa748.js";import"./p-DVJaoI_m.js";import"./p-D8GTwl9v.js";import"./p-MeSAYDNh.js";import"./p-HXpYMWUU.js";import"./p-C4FLe2pT.js";import"./p-Bjv3eJBk.js";const m=o();class u{async fetchGrossVolumeChartData(s,t){return m.get({endpoint:`account/${s}/reports/gross_volume`,authToken:t})}}const d=class{constructor(r){s(this,r),this.errorEvent=t(this,"error-event",7),this.errorMessage=null,this.handleErrorEvent=s=>{this.errorMessage=s.detail.message,this.errorEvent.emit(s.detail)}}componentWillLoad(){h(),this.analytics=new c(this),this.initializeGetGrossPayment()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}propChanged(){this.initializeGetGrossPayment()}initializeGetGrossPayment(){this.accountId&&this.authToken?this.getGrossPayment=(({id:s,authToken:t,service:r})=>async({onSuccess:o,onError:i})=>{var n;try{const h=await r.fetchGrossVolumeChartData(s,t);h.error?i({error:p(h.error),code:a(null===(n=h.error)||void 0===n?void 0:n.code),severity:e.ERROR}):o(h.data)}catch(s){const t=a(null==s?void 0:s.code);i({error:p(s),code:t,severity:e.ERROR})}})({id:this.accountId,authToken:this.authToken,service:new u}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:i.MISSING_PROPS,message:this.errorMessage,severity:e.ERROR}))}render(){return this.errorMessage?n(this.errorMessage):r("gross-payment-chart-core",{getGrossPayment:this.getGrossPayment,"onError-event":this.handleErrorEvent})}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{d as justifi_gross_payment_chart}
@@ -1 +1 @@
1
- import{h as s,r as i,c as t}from"./p-CV0Pyo1O.js";import{c as e,F as r}from"./p-CKiAlBsU.js";import{b as o,a,c as h}from"./p-BovgIz83.js";import{i as n,a as p,b as l,c as m}from"./p-D8EGHc_m.js";import"./p-DVJaoI_m.js";import"./p-HXpYMWUU.js";import{C as c,a as d}from"./p-Cjcsf8ku.js";import"./p-BiNakvsa.js";import"./p-CLHwhyvu.js";import{C as j,B as u,b as f}from"./p-BcNb9bVO.js";import"./p-BH0Xfn-F.js";import{c as v,J as b}from"./p-CbTf_N6u.js";import{B as w}from"./p-DFiTyYE9.js";import{S as C}from"./p-BqNNwq6C.js";import{H as g}from"./p-BoO2BHR_.js";import"./p-CZfYo5-1.js";import{S as B}from"./p-DqVU8ohH.js";import{B as y}from"./p-XYgDHrVL.js";import{m as D,b as _}from"./p-R0FDNhyd.js";import{B as E}from"./p-DqtDbB8E.js";import"./p-BFTU3MAI.js";import"./p-HT_4DkD0.js";import"./p-_-2E_vYf.js";import"./p-Bt4GjEWL.js";import"./p-D8GTwl9v.js";import"./p-MeSAYDNh.js";import"./p-D4eE0MBI.js";import"./p-55QcjheA.js";import"./p-C4FLe2pT.js";import"./p-D2muobcE.js";const O=e(Object.assign(Object.assign({},o().fields),{legal_address:p(),additional_questions:a(),representative:n("representative")}));e(Object.assign(Object.assign({},h().fields),{legal_address:m(),additional_questions:a(),representative:l("representative")}));const k=O,H=()=>s("div",{class:"row gap-3"},s("div",{class:"col-12"},s(B,{width:"25%"})),s("div",{class:"col-12"},s(B,{width:"100%"})),s("div",{class:"col-12 d-flex gap-3"},s(B,{width:"50%"}),s(B,{width:"50%"})),s("div",{class:"col-12 d-flex gap-3"},s(B,{width:"65%"}),s(B,{width:"35%"}))),q=()=>s("div",{class:"row gap-5"},s("div",{class:"col-12"},s(B,{width:"40%",height:"40px"})),s(H,null),s(H,null),s(H,null)),x=class{constructor(s){i(this,s),this.submitEvent=t(this,"submit-event",7),this.clickEvent=t(this,"click-event",7),this.errorEvent=t(this,"error-event",7),this.isLoading=!1,this.isSaving=!1,this.country=j.USA,this.hideErrors=!1,this.formTitle="Business Information",this.removeTitle=!1,this.instantiateBusiness=s=>{const i=new u(s);this.country=i.country_of_establishment,this.formController.setInitialValues(Object.assign({},i))},this.sendData=async()=>{this.isSaving=!0;const s=this.formController.values.getValue(),i=this.formController.getInitialValues(),t=new u(Object.assign(Object.assign({},i),s)).payload;this.patchBusiness({payload:t,onSuccess:s=>{this.handleReponse(s)},onError:({error:s,code:i,severity:t})=>{this.errorMessage=s.message,this.errorEvent.emit({errorCode:i,message:s.message,severity:t})},final:()=>{this.isSaving=!1}})},this.validateAndSubmit=s=>{s.preventDefault(),this.formController.validateAndSubmit(this.sendData)}}componentWillLoad(){v(),this.analytics=new b(this),this.formController=new r(k),this.initializeApi()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}get title(){return this.removeTitle?"":this.formTitle}get disabledState(){return this.isSaving}get businessEndpoint(){return`entities/business/${this.businessId}`}initializeApi(){this.authToken&&this.businessId?(this.getBusiness=D({authToken:this.authToken,businessId:this.businessId,service:new E}),this.patchBusiness=_({authToken:this.authToken,businessId:this.businessId,service:new E}),this.getBusiness({onSuccess:s=>{this.instantiateBusiness(s.data)},onError:({error:s,code:i,severity:t})=>{this.errorMessage=s.message,this.errorEvent.emit({errorCode:i,message:s.message,severity:t})},final:()=>{this.isLoading=!1}})):this.errorEvent.emit({message:"auth-token and business-id are required",errorCode:d.MISSING_PROPS,severity:c.ERROR})}handleReponse(s){s.error&&(this.errorMessage=f.patchData),this.submitEvent.emit({response:s}),this.instantiateBusiness(s.data)}render(){return s(C,null,this.isLoading?s(q,null):s("form",{onSubmit:this.validateAndSubmit},s("div",{class:"row gap-3"},s(g,{text:this.title}),s("form-alert",{text:this.errorMessage,hideAlert:this.hideErrors}),s("div",{class:"col-12 mb-4"},s("justifi-business-core-info",{formController:this.formController,country:this.country})),s("div",{class:"col-12 mb-4"},s("justifi-legal-address-form",{formController:this.formController,country:this.country})),s("div",{class:"col-12 mb-4"},s("justifi-additional-questions",{formController:this.formController})),s("div",{class:"col-12 mb-4"},s("justifi-business-representative",{formController:this.formController,country:this.country})),s("div",{class:"col-12 d-flex flex-row-reverse"},s(w,{type:"submit",disabled:this.disabledState,variant:"primary",onClick:()=>this.clickEvent.emit({name:y.submit}),isLoading:this.isSaving},"Submit")))))}};export{x as justifi_business_form}
1
+ import{h as s,r as i,c as t}from"./p-CV0Pyo1O.js";import{c as e,F as r}from"./p-CKiAlBsU.js";import{b as o,a,c as h}from"./p-BovgIz83.js";import{i as n,a as p,b as l,c as m}from"./p-D8EGHc_m.js";import"./p-DVJaoI_m.js";import"./p-HXpYMWUU.js";import{C as c,a as d}from"./p-Cjcsf8ku.js";import"./p-BiNakvsa.js";import"./p-CLHwhyvu.js";import{C as j,B as u,b as f}from"./p-BcNb9bVO.js";import"./p-BH0Xfn-F.js";import{c as v,J as b}from"./p-BqpQa748.js";import{B as w}from"./p-DFiTyYE9.js";import{S as B}from"./p-BqNNwq6C.js";import{H as g}from"./p-BoO2BHR_.js";import"./p-CZfYo5-1.js";import{S as C}from"./p-DqVU8ohH.js";import{B as y}from"./p-XYgDHrVL.js";import{m as D,b as _}from"./p-R0FDNhyd.js";import{B as k}from"./p-DqtDbB8E.js";import"./p-BFTU3MAI.js";import"./p-HT_4DkD0.js";import"./p-_-2E_vYf.js";import"./p-Bt4GjEWL.js";import"./p-D8GTwl9v.js";import"./p-MeSAYDNh.js";import"./p-Bjv3eJBk.js";import"./p-55QcjheA.js";import"./p-C4FLe2pT.js";import"./p-D2muobcE.js";const O=e(Object.assign(Object.assign({},o().fields),{legal_address:p(),additional_questions:a(),representative:n("representative")}));e(Object.assign(Object.assign({},h().fields),{legal_address:m(),additional_questions:a(),representative:l("representative")}));const q=O,E=()=>s("div",{class:"row gap-3"},s("div",{class:"col-12"},s(C,{width:"25%"})),s("div",{class:"col-12"},s(C,{width:"100%"})),s("div",{class:"col-12 d-flex gap-3"},s(C,{width:"50%"}),s(C,{width:"50%"})),s("div",{class:"col-12 d-flex gap-3"},s(C,{width:"65%"}),s(C,{width:"35%"}))),H=()=>s("div",{class:"row gap-5"},s("div",{class:"col-12"},s(C,{width:"40%",height:"40px"})),s(E,null),s(E,null),s(E,null)),x=class{constructor(s){i(this,s),this.submitEvent=t(this,"submit-event",7),this.clickEvent=t(this,"click-event",7),this.errorEvent=t(this,"error-event",7),this.isLoading=!1,this.isSaving=!1,this.country=j.USA,this.hideErrors=!1,this.formTitle="Business Information",this.removeTitle=!1,this.instantiateBusiness=s=>{const i=new u(s);this.country=i.country_of_establishment,this.formController.setInitialValues(Object.assign({},i))},this.sendData=async()=>{this.isSaving=!0;const s=this.formController.values.getValue(),i=this.formController.getInitialValues(),t=new u(Object.assign(Object.assign({},i),s)).payload;this.patchBusiness({payload:t,onSuccess:s=>{this.handleReponse(s)},onError:({error:s,code:i,severity:t})=>{this.errorMessage=s.message,this.errorEvent.emit({errorCode:i,message:s.message,severity:t})},final:()=>{this.isSaving=!1}})},this.validateAndSubmit=s=>{s.preventDefault(),this.formController.validateAndSubmit(this.sendData)}}componentWillLoad(){v(),this.analytics=new b(this),this.formController=new r(q),this.initializeApi()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}get title(){return this.removeTitle?"":this.formTitle}get disabledState(){return this.isSaving}get businessEndpoint(){return`entities/business/${this.businessId}`}initializeApi(){this.authToken&&this.businessId?(this.getBusiness=D({authToken:this.authToken,businessId:this.businessId,service:new k}),this.patchBusiness=_({authToken:this.authToken,businessId:this.businessId,service:new k}),this.getBusiness({onSuccess:s=>{this.instantiateBusiness(s.data)},onError:({error:s,code:i,severity:t})=>{this.errorMessage=s.message,this.errorEvent.emit({errorCode:i,message:s.message,severity:t})},final:()=>{this.isLoading=!1}})):this.errorEvent.emit({message:"auth-token and business-id are required",errorCode:d.MISSING_PROPS,severity:c.ERROR})}handleReponse(s){s.error&&(this.errorMessage=f.patchData),this.submitEvent.emit({response:s}),this.instantiateBusiness(s.data)}render(){return s(B,null,this.isLoading?s(H,null):s("form",{onSubmit:this.validateAndSubmit},s("div",{class:"row gap-3"},s(g,{text:this.title}),s("form-alert",{text:this.errorMessage,hideAlert:this.hideErrors}),s("div",{class:"col-12 mb-4"},s("justifi-business-core-info",{formController:this.formController,country:this.country})),s("div",{class:"col-12 mb-4"},s("justifi-legal-address-form",{formController:this.formController,country:this.country})),s("div",{class:"col-12 mb-4"},s("justifi-additional-questions",{formController:this.formController})),s("div",{class:"col-12 mb-4"},s("justifi-business-representative",{formController:this.formController,country:this.country})),s("div",{class:"col-12 d-flex flex-row-reverse"},s(w,{type:"submit",disabled:this.disabledState,variant:"primary",onClick:()=>this.clickEvent.emit({name:y.submit}),isLoading:this.isSaving},"Submit")))))}};export{x as justifi_business_form}
@@ -1 +1 @@
1
- import{r as t,c as s,h as o}from"./p-CV0Pyo1O.js";import"./p-DVJaoI_m.js";import"./p-HXpYMWUU.js";import{C as i,a as r}from"./p-Cjcsf8ku.js";import{C as e}from"./p-BiNakvsa.js";import"./p-CLHwhyvu.js";import"./p-BcNb9bVO.js";import"./p-BH0Xfn-F.js";import{g as a,a as c}from"./p-D2muobcE.js";import{c as n,J as p}from"./p-CbTf_N6u.js";import{C as h}from"./p-BHA4oSi3.js";import{m as u,S as m}from"./p-eEJMJXTG.js";import{S as d}from"./p-BqNNwq6C.js";import"./p-CZfYo5-1.js";import{d as j}from"./p-CGJ_mnry.js";import"./p-D8GTwl9v.js";import"./p-MeSAYDNh.js";import"./p-D4eE0MBI.js";import"./p-55QcjheA.js";import"./p-DO4RBao8.js";import"./p-C4FLe2pT.js";const l=class{constructor(o){t(this,o),this.errorEvent=s(this,"error-event",7),this.errorMessage=null,this.columns=j,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){n(),this.analytics=new p(this),this.initializeGetData()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetData()}initializeGetData(){this.initializeGetCheckouts(),this.initializeGetSubAccounts()}initializeGetCheckouts(){const t=this.subAccountId||this.accountId;t&&this.authToken?this.getCheckouts=(({accountId:t,authToken:s,service:o})=>async({params:r,onSuccess:n,onError:p})=>{var h,u;try{const m=await o.fetchCheckouts(t,s,r);if(m.error)return p({error:c(m.error),code:a(null===(u=m.error)||void 0===u?void 0:u.code),severity:i.ERROR});{const t=Object.assign({},m.page_info);n({checkouts:(null===(h=m.data)||void 0===h?void 0:h.map((t=>new e(t))))||[],pagingInfo:t})}}catch(t){const s=a(null==t?void 0:t.code);return p({error:t.message||t,code:s,severity:i.ERROR})}})({accountId:t,authToken:this.authToken,service:new h}):(this.errorMessage="Account ID/Sub Account ID and Auth Token are required",this.errorEvent.emit({errorCode:r.MISSING_PROPS,message:this.errorMessage,severity:i.ERROR}))}initializeGetSubAccounts(){this.accountId&&this.authToken&&(this.getSubAccounts=u({primaryAccountId:this.accountId,authToken:this.authToken,service:new m}))}render(){return o(d,{key:"08345e8bbe637cea344a232da2302bd0298a5ac9"},o("checkouts-list-core",{key:"7aa34a0537810197cf6962d1a89e12e9ad9d8eea",getCheckouts:this.getCheckouts,getSubAccounts:this.getSubAccounts,"onError-event":this.handleErrorEvent,columns:this.columns}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"],subAccountId:["propChanged"]}}};export{l as justifi_checkouts_list}
1
+ import{r as t,c as s,h as o}from"./p-CV0Pyo1O.js";import"./p-DVJaoI_m.js";import"./p-HXpYMWUU.js";import{C as i,a as r}from"./p-Cjcsf8ku.js";import{C as e}from"./p-BiNakvsa.js";import"./p-CLHwhyvu.js";import"./p-BcNb9bVO.js";import"./p-BH0Xfn-F.js";import{g as a,a as c}from"./p-D2muobcE.js";import{c as p,J as n}from"./p-BqpQa748.js";import{C as h}from"./p-BHA4oSi3.js";import{m as u,S as m}from"./p-eEJMJXTG.js";import{S as d}from"./p-BqNNwq6C.js";import"./p-CZfYo5-1.js";import{d as j}from"./p-CGJ_mnry.js";import"./p-D8GTwl9v.js";import"./p-MeSAYDNh.js";import"./p-Bjv3eJBk.js";import"./p-55QcjheA.js";import"./p-DO4RBao8.js";import"./p-C4FLe2pT.js";const l=class{constructor(o){t(this,o),this.errorEvent=s(this,"error-event",7),this.errorMessage=null,this.columns=j,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){p(),this.analytics=new n(this),this.initializeGetData()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetData()}initializeGetData(){this.initializeGetCheckouts(),this.initializeGetSubAccounts()}initializeGetCheckouts(){const t=this.subAccountId||this.accountId;t&&this.authToken?this.getCheckouts=(({accountId:t,authToken:s,service:o})=>async({params:r,onSuccess:p,onError:n})=>{var h,u;try{const m=await o.fetchCheckouts(t,s,r);if(m.error)return n({error:c(m.error),code:a(null===(u=m.error)||void 0===u?void 0:u.code),severity:i.ERROR});{const t=Object.assign({},m.page_info);p({checkouts:(null===(h=m.data)||void 0===h?void 0:h.map((t=>new e(t))))||[],pagingInfo:t})}}catch(t){const s=a(null==t?void 0:t.code);return n({error:t.message||t,code:s,severity:i.ERROR})}})({accountId:t,authToken:this.authToken,service:new h}):(this.errorMessage="Account ID/Sub Account ID and Auth Token are required",this.errorEvent.emit({errorCode:r.MISSING_PROPS,message:this.errorMessage,severity:i.ERROR}))}initializeGetSubAccounts(){this.accountId&&this.authToken&&(this.getSubAccounts=u({primaryAccountId:this.accountId,authToken:this.authToken,service:new m}))}render(){return o(d,{key:"08345e8bbe637cea344a232da2302bd0298a5ac9"},o("checkouts-list-core",{key:"7aa34a0537810197cf6962d1a89e12e9ad9d8eea",getCheckouts:this.getCheckouts,getSubAccounts:this.getSubAccounts,"onError-event":this.handleErrorEvent,columns:this.columns}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"],subAccountId:["propChanged"]}}};export{l as justifi_checkouts_list}
@@ -0,0 +1 @@
1
+ import{r as e,h as t,H as a,c as i,g as s}from"./p-CV0Pyo1O.js";import"./p-DVJaoI_m.js";import"./p-HXpYMWUU.js";import{C as l}from"./p-Cjcsf8ku.js";import{E as o,m as n,n as r,o as c}from"./p-BiNakvsa.js";import"./p-CLHwhyvu.js";import"./p-BcNb9bVO.js";import"./p-BH0Xfn-F.js";import{a as d}from"./p-Bt4GjEWL.js";import"./p-XYgDHrVL.js";import{n as h}from"./p-BnjCmwMr.js";import{H as u,a5 as f,J as b,av as m,V as p,aE as v,_ as y,$ as k,X as g,Y as x,Z as T,am as _,an as w}from"./p-C4FLe2pT.js";import{s as N,e as j,d as E}from"./p-MeSAYDNh.js";import{S as A}from"./p-DqVU8ohH.js";import"./p-CZfYo5-1.js";import{F as C}from"./p--Kvji7o2.js";import{u as H,a as V,b as D}from"./p-C6o0liMT.js";import{P as I,I as O}from"./p-CVaOFfrI.js";import{c as F}from"./p-_-2E_vYf.js";import{c as L,d as P,e as B}from"./p-R0FDNhyd.js";import{I as R}from"./p-DqtDbB8E.js";import{B as S}from"./p-DFiTyYE9.js";import{S as M}from"./p-BqNNwq6C.js";import{P as Y,p as q}from"./p-Jz9qdPhR.js";import"./p-D8GTwl9v.js";import"./p-D2muobcE.js";import"./p-55QcjheA.js";const U=class{constructor(t){e(this,t)}render(){return t("div",{key:"7f9ea576aad16f3c2ea45c987a38878ea65f2df2",class:"row gy-3"},t("div",{key:"316fe3f20df7c7dce2b8903e6073e0fe7920e5e8",class:"col-12"},t("form-control-file",{key:"320d6b7f3de2cfeeb30eb1e08ca4122123854ffd",name:"voided_check",label:"Voided Check",documentType:o.voidedCheck,inputHandler:this.inputHandler,onFileSelected:this.storeFiles,errorText:this.errors.voided_check,multiple:!0})),t("div",{key:"f33a936c61c14c701e40d375e4dfc4c554b8293c",class:"col-12"},t("form-control-file",{key:"1e160d8211a71175d6a45b10590fb2c8774f61e1",name:"bank_statement",label:"Bank Statement",documentType:o.bankStatement,inputHandler:this.inputHandler,onFileSelected:this.storeFiles,errorText:this.errors.bank_statement,multiple:!0})))}},$=class{constructor(t){e(this,t)}render(){var e,a,i,s,l,o;return t("div",{key:"5dc7139f54d11979410d0d67ca29e65b02f30200",class:"row gy-3"},t("div",{key:"118f15bf02855b24baec5ce2a2c3cf5b241b3da4",class:"col-12"},this.formDisabled?t("bank-account-read-only-value",{label:"Bank Name",value:null===(e=this.defaultValue)||void 0===e?void 0:e.bank_name}):t("form-control-text",{name:"bank_name",label:"Bank Name",defaultValue:this.defaultValue.bank_name,errorText:this.errors.bank_name,inputHandler:this.inputHandler})),t("div",{key:"db03eccee03ec4b7d0de637306315982a2cd770d",class:"col-12"},this.formDisabled?t("bank-account-read-only-value",{label:"Nickname",value:null===(a=this.defaultValue)||void 0===a?void 0:a.nickname}):t("form-control-text",{name:"nickname",label:"Nickname",defaultValue:this.defaultValue.nickname,errorText:this.errors.nickname,inputHandler:this.inputHandler})),t("div",{key:"217120e0052b8ee41cac8f901ac4d9742b0c6ea9",class:"col-12"},this.formDisabled?t("bank-account-read-only-value",{label:"Account Owner Name",value:null===(i=this.defaultValue)||void 0===i?void 0:i.account_owner_name}):t("form-control-text",{name:"account_owner_name",label:"Account Owner Name",defaultValue:this.defaultValue.account_owner_name,errorText:this.errors.account_owner_name,inputHandler:this.inputHandler})),t("div",{key:"f589511545d6262966a6fa2888cb78babacfb770",class:"col-12"},this.formDisabled?t("bank-account-read-only-value",{label:"Account Type",value:null===(s=this.defaultValue)||void 0===s?void 0:s.account_type}):t("form-control-select",{name:"account_type",label:"Account Type",options:d,defaultValue:this.defaultValue.account_type,errorText:this.errors.account_type,inputHandler:this.inputHandler})),t("div",{key:"24df83bb2666cee381c266608c43f3fd729db4cf",class:"col-6"},this.formDisabled?t("bank-account-read-only-value",{label:"Account Number",value:(null===(l=this.defaultValue)||void 0===l?void 0:l.account_number_last4)?`**** ${this.defaultValue.account_number_last4}`:""}):t("form-control-text",{name:"account_number",label:"Account Number",defaultValue:this.defaultValue.account_number,maxLength:17,errorText:this.errors.account_number,inputHandler:this.inputHandler,keyDownHandler:h,helpText:"Please copy the account number as shown on your statement/check. Do not include spaces or dashes."})),t("div",{key:"75fe11d71e57707d088f8a90a250621fce82647f",class:"col-6"},this.formDisabled?t("bank-account-read-only-value",{label:"Routing Number",value:(null===(o=this.defaultValue)||void 0===o?void 0:o.routing_number)||""}):t("form-control-text",{name:"routing_number",label:"Routing Number",defaultValue:this.defaultValue.routing_number,maxLength:9,errorText:this.errors.routing_number,inputHandler:this.inputHandler,keyDownHandler:h,helpText:"A valid routing number is nine digits. Please include any leading or trailing zeroes."})))}},z=class{constructor(t){e(this,t)}render(){var e,a,i,s,l,o,n;return t("div",{key:"34cbf10449df73748095fd7122d0ae1355a83e13",class:"row gy-3"},t("div",{key:"607cc5cbc70fdd2d5a325bef7002a44740394282",class:"col-12"},this.formDisabled?t("bank-account-read-only-value",{label:"Bank Name",value:null===(e=this.defaultValue)||void 0===e?void 0:e.bank_name}):t("form-control-text",{name:"bank_name",label:"Bank Name",defaultValue:this.defaultValue.bank_name,errorText:this.errors.bank_name,inputHandler:this.inputHandler})),t("div",{key:"f57f4cd733f2dd439d6d83f32078371618f5fa06",class:"col-12"},this.formDisabled?t("bank-account-read-only-value",{label:"Nickname",value:null===(a=this.defaultValue)||void 0===a?void 0:a.nickname}):t("form-control-text",{name:"nickname",label:"Nickname",defaultValue:this.defaultValue.nickname,errorText:this.errors.nickname,inputHandler:this.inputHandler})),t("div",{key:"b92dface0116321ea990bfcaf1b036b5629385db",class:"col-12"},this.formDisabled?t("bank-account-read-only-value",{label:"Account Owner Name",value:null===(i=this.defaultValue)||void 0===i?void 0:i.account_owner_name}):t("form-control-text",{name:"account_owner_name",label:"Account Owner Name",defaultValue:this.defaultValue.account_owner_name,errorText:this.errors.account_owner_name,inputHandler:this.inputHandler})),t("div",{key:"45d68efa47de76ee420cedfb97e82f498a2de97b",class:"col-12"},this.formDisabled?t("bank-account-read-only-value",{label:"Account Type",value:null===(s=this.defaultValue)||void 0===s?void 0:s.account_type}):t("form-control-select",{name:"account_type",label:"Account Type",options:d,defaultValue:this.defaultValue.account_type,errorText:this.errors.account_type,inputHandler:this.inputHandler})),t("div",{key:"8419925e8470d63d506e1f7e82ccdf1a1132ecc0",class:"col-3"},this.formDisabled?t("bank-account-read-only-value",{label:"Transit Number",value:(null===(l=this.defaultValue)||void 0===l?void 0:l.transit_number)||""}):t("form-control-text",{name:"transit_number",label:"Transit Number",defaultValue:this.defaultValue.transit_number,maxLength:5,errorText:this.errors.transit_number,inputHandler:this.inputHandler,keyDownHandler:h,helpText:"5 digits"})),t("div",{key:"aa6e83c409e0cf93f1903394f63c0b719ec8808e",class:"col-3"},this.formDisabled?t("bank-account-read-only-value",{label:"Institution Number",value:(null===(o=this.defaultValue)||void 0===o?void 0:o.institution_number)||""}):t("form-control-text",{name:"institution_number",label:"Institution Number",defaultValue:this.defaultValue.institution_number,maxLength:3,errorText:this.errors.institution_number,inputHandler:this.inputHandler,keyDownHandler:h,helpText:"3 digits"})),t("div",{key:"029058c023daca9d0488f45478af6edafe359df7",class:"col-6"},this.formDisabled?t("bank-account-read-only-value",{label:"Account Number",value:(null===(n=this.defaultValue)||void 0===n?void 0:n.account_number_last4)?`**** ${this.defaultValue.account_number_last4}`:""}):t("form-control-text",{name:"account_number",label:"Account Number",defaultValue:this.defaultValue.account_number,maxLength:17,errorText:this.errors.account_number,inputHandler:this.inputHandler,keyDownHandler:h,helpText:"Please copy the account number as shown on your statement. Do not include spaces or dashes."})))}},X=class{constructor(t){e(this,t)}render(){return t("div",{key:"ad9eadcf49dbc67e51cd814d3ded334a587cc17c"},t("label",{key:"b8ba3d8b7ef9fc33e0e0870f71b7df5dbfae4759",class:"form-label",part:u},this.label),t("div",{key:"1839bdadb96b3c814c73991530497f9a7be6a10d",part:u},this.value||""))}},G=class{constructor(t){e(this,t),this.documents=[],this.isLoading=!1}render(){return this.isLoading?t(A,{height:"50px"}):this.documents.length?t(a,null,t("div",{class:"card",part:f},t("div",{class:"card-body"},t("h5",{class:"card-title",part:b},"Documents Already on File"),t("div",{class:"table-responsive"},t("table",{class:"table table-sm table-borderless",part:m},t("thead",null,t("tr",null,t("th",{style:{width:"25%"},part:p,scope:"col"},"File Name"),t("th",{style:{width:"25%"},part:p,scope:"col"},"File Type"),t("th",{style:{width:"25%"},part:p,scope:"col"},"Document Type"),t("th",{style:{width:"25%"},part:p,scope:"col"},"Date Uploaded"))),t("tbody",null,this.documents.sort(((e,t)=>e.document_type.localeCompare(t.document_type))).map(((e,a)=>t("tr",{class:0===a?"border-bottom border-top":"border-bottom"},t("td",{part:v},e.file_name),t("td",{part:v},e.file_type),t("td",{part:v},N(e.document_type)),t("td",{part:v},`${j(e.created_at)} - ${E(e.created_at)}`))))))))),t("hr",null)):null}},J=class{constructor(t){e(this,t),this.formControlInput=i(this,"formControlInput",7),this.formControlBlur=i(this,"formControlBlur",7),this.fileSelected=i(this,"fileSelected",7),this.isFocused=!1,this.errorText="",this.inputHandler=()=>{},this.disabled=!1,this.handleFormControlInput=e=>{const t=e.target,a=t.getAttribute("name");this.inputHandler(a,t.value),this.formControlInput.emit({name:a,value:t.value})},this.changeHandler=()=>{const e=this.fileInput.files;e&&this.fileSelected.emit({fileList:e,document_type:this.documentType})}}componentDidLoad(){this.fileInput=this.el.querySelector("input")}get part(){let e=y;return this.errorText&&(e=g),this.disabled&&(e=x),this.isFocused&&(e=T),e}render(){return t(a,{key:"8172f7df27c42c6d5211d29ef595dd2e4dbd9def"},t("div",{key:"99740d980c280502242ee1cdcee2a3df6ba53146",class:"form-group d-flex flex-column"},t("div",{key:"5fb94f2b710d5fd734172ee91b59621d736e129b",class:"d-flex align-items-start gap-2"},t("label",{key:"12fedf016c7d789fad8692c7ae03975481964005",part:k,class:"form-label",htmlFor:this.name},this.label),t("form-control-tooltip",{key:"6d59be5a27d3c9a171292244fc9e9bb598b9ecce",helpText:this.helpText})),t("input",{key:"64c7d9eaa46f95714d5527cf94d28c206065a411",ref:e=>this.fileInput=e,type:"file",name:this.name,part:this.part,class:this.errorText?"form-control is-invalid":"form-control",multiple:this.multiple,disabled:this.disabled,onChange:this.changeHandler,onInput:this.handleFormControlInput,onFocus:()=>this.isFocused=!0,onBlur:()=>{this.isFocused=!1,this.formControlBlur.emit()}}),t(C,{key:"9610c0676934fd616fbdac08e98a102240773084",errorText:this.errorText,name:this.name})))}get el(){return s(this)}},W=class{constructor(t){e(this,t),this.isEditingIdentification=!1,this.inputHandler=(e,t)=>{H(this.formController,{[e]:t})},this.onAddressFormUpdate=e=>{V(this.formController,Object.assign(Object.assign({},this.formController.values.getValue().address),e))}}render(){var e,a,i,s,l,o,n,r,c;return t("form",{key:"a9c0f6332bf302d5eb9f93c4ca045d572a40468f"},t("fieldset",{key:"115c564826335a9c7b670bbc0409912c3eb7a4aa"},t("div",{key:"6de8909b4b2f3c7d8ec4665aad77ef59cdf035b4",class:"d-flex align-items-center gap-2"},t("legend",{key:"bb8b5a3775eae450a866356a9e149a0bf57b5699",class:"mb-0",part:b},"Representative"),t("form-control-tooltip",{key:"a0296d4a3c35a039525f39501e117ee6fdd12257",helpText:"The representative for your business needs to be someone who has significant control over managing your business’s finance. You will have an opportunity to add owners later in the form."})),t("hr",{key:"abbee22f5664275f27dd8eeb2b12c87b059ff024",class:"mt-2"}),t("div",{key:"e165ff125df62dc1d22b7329fe7fe2ff200cbbb3",class:"row gy-3"},t("div",{key:"114ff752eeda3ffa90529ff6bc675b874f543336",class:"col-12 col-md-8"},t("form-control-text",{key:"8b6ce9f4a327ca5282aa32c226f671945aa10404",name:"name",label:"Full Name",defaultValue:null===(e=this.representativeDefaultValue)||void 0===e?void 0:e.name,errorText:this.errors.name,inputHandler:this.inputHandler})),t("div",{key:"bce864367883c6bbf7bd0841114a3dbb39db692b",class:"col-12 col-md-4"},t("form-control-text",{key:"ec3e72dc3f84c0daee2c6509f7dbf2bad22f5db6",name:"title",label:"Title",defaultValue:null===(a=this.representativeDefaultValue)||void 0===a?void 0:a.title,errorText:this.errors.title,inputHandler:this.inputHandler,helpText:"Role at your business, e.g. President, CEO, Treasurer."})),t("div",{key:"200ae959d897d9d22016553d3c586cf3f0438dd9",class:"col-12 col-md-6"},t("form-control-text",{key:"4f77d6ca6c3c85edabc11af6f5703ab1327f05e7",name:"email",label:"Email Address",defaultValue:null===(i=this.representativeDefaultValue)||void 0===i?void 0:i.email,errorText:this.errors.email,inputHandler:this.inputHandler})),t("div",{key:"cf642ee73f7ae8b254920a3f781c23dc456f16ae",class:"col-12 col-md-6"},t("form-control-number-masked",{key:"df609213bec728f17b2527a2e99ff3e0e69604aa",name:"phone",label:"Phone Number",defaultValue:null===(s=this.representativeDefaultValue)||void 0===s?void 0:s.phone,errorText:this.errors.phone,inputHandler:this.inputHandler,mask:I.US})),t("div",{key:"2e4565c06976723ae4e497a5305cea7468bac2f4",class:"col-12 col-md-4"},t("form-control-date",{key:"ca7d4bf05c32d1d9983df430d338cc3433015957",name:"dob_full",label:"Birth Date",defaultValue:null===(l=this.representativeDefaultValue)||void 0===l?void 0:l.dob_full,errorText:this.errors.dob_full,inputHandler:this.inputHandler,onFormControlInput:e=>D(e,this.formController),helpText:"Must be 18 or older."})),t("div",{key:"f6cbe1b7f4e5575f626e6d73f31b4a1a09ac33e3",class:"col-12 col-md-8"},!(null===(o=this.representativeDefaultValue)||void 0===o?void 0:o.ssn_last4)||this.isEditingIdentification?t("form-control-number-masked",{name:"identification_number",label:F[this.country].idNumberLabel,defaultValue:this.isEditingIdentification?"":null===(n=this.representativeDefaultValue)||void 0===n?void 0:n.identification_number,errorText:this.errors.identification_number,inputHandler:this.inputHandler,mask:O[this.country],helpText:F[this.country].identityHelpText}):t("div",null,t("label",{class:"form-label",part:k},F[this.country].idNumberLabel),t("div",{class:"input-group mb-3"},t("input",{type:"text",class:"form-control",part:x,value:`****${null===(r=this.representativeDefaultValue)||void 0===r?void 0:r.ssn_last4}`,disabled:!0}),t("button",{class:"btn btn-secondary",type:"button",part:_,onClick:()=>{this.isEditingIdentification=!0,H(this.formController,{identification_number:"",ssn_last4:null})}},"Change")))),t("div",{key:"e3fa556dece2feaf5eb175ae3734c2319777ef48",class:"col-12"},t("justifi-identity-address-form",{key:"fe3d349371d11b8a246b9c31aebd7d9c84e03f8e",errors:this.errors.address,defaultValues:null===(c=this.representativeDefaultValue)||void 0===c?void 0:c.address,handleFormUpdate:this.onAddressFormUpdate,country:this.country})))))}},K=class{constructor(t){e(this,t),this.errorEvent=i(this,"error-event",7)}async validate(){return this.coreComponent.validate()}async submit(){return this.coreComponent.submit()}async validateAndSubmit({onSuccess:e}){this.coreComponent.validateAndSubmit({onSuccess:e})}componentWillLoad(){this.initializeApi()}initializeApi(){this.authToken&&(this.getOwner=L({authToken:this.authToken,identityId:this.ownerId,service:new R}),this.patchOwner=P({authToken:this.authToken,identityId:this.ownerId,service:new R}),this.postOwner=B({authToken:this.authToken,service:new R}))}render(){return t("owner-form-core",{key:"47c36dfc76ac8a108950e17770d1a0fb06fe4e42",ownerId:this.ownerId,businessId:this.businessId,getOwner:this.getOwner,patchOwner:this.patchOwner,postOwner:this.postOwner,allowOptionalFields:this.allowOptionalFields,removeOwner:this.removeOwner,newFormOpen:this.newFormOpen,ownersLength:this.ownersLength,country:this.country,ref:e=>this.coreComponent=e})}},Q=class{constructor(t){e(this,t),this.plaidVerificationSuccess=i(this,"plaidVerificationSuccess",7),this.plaidVerificationError=i(this,"plaidVerificationError",7),this.linkToken=null,this.linkTokenId=null,this.plaidLink=null,this.isAuthenticating=!1,this.isSuccess=!1,this.error=null,this.isLoading=!1,this.plaidService=new Y,this.abortController=null,this.timeoutId=null,this.initializePlaidLink=async()=>{try{if(void 0===window.Plaid)return void this.handleError({code:c.PLAID_SDK_LOAD_FAILED,message:r[c.PLAID_SDK_LOAD_FAILED],severity:n[c.PLAID_SDK_LOAD_FAILED],retryable:!0,userAction:"Refresh the page and try again"});if(await this.getLinkToken(),!this.linkToken)return void this.handleError({code:c.PLAID_LINK_TOKEN_FAILED,message:r[c.PLAID_LINK_TOKEN_FAILED],severity:n[c.PLAID_LINK_TOKEN_FAILED],retryable:!0,userAction:"Click to try again"});const e=window.Plaid;this.plaidLink=e.create({token:this.linkToken,onSuccess:this.handlePlaidSuccess,onExit:this.handlePlaidExit,onEvent:this.handlePlaidEvent,onLoad:this.handlePlaidLoad})}catch(e){this.handleError({code:c.PLAID_LINK_INIT_FAILED,message:r[c.PLAID_LINK_INIT_FAILED],severity:n[c.PLAID_LINK_INIT_FAILED],originalError:e,retryable:!0,userAction:"Click to try again"})}},this.getLinkToken=async()=>{var e,t,a,i;try{if(!this.authToken||!this.accountId)return void this.handleError({code:c.PLAID_LINK_TOKEN_FAILED,message:"Missing authentication. Please provide authToken and accountId.",severity:l.ERROR,retryable:!1,userAction:"Provide required props"});this.abortController=new AbortController,this.timeoutId=setTimeout((()=>{var e;null===(e=this.abortController)||void 0===e||e.abort()}),3e4);const e=await this.plaidService.getLinkTokenForVerification(this.authToken,this.businessId,this.abortController.signal);if(this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null),e.error)throw new Error("string"==typeof e.error?e.error:e.error.message||"Failed to get link token");this.linkToken=e.data.link_token,this.linkTokenId=e.data.id}catch(s){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null);let l=c.PLAID_LINK_TOKEN_FAILED,o=r[l],d=!0;"AbortError"===s.name?(l=c.PLAID_TIMEOUT,o=r[l],d=!0):(null===(e=s.message)||void 0===e?void 0:e.includes("network"))||(null===(t=s.message)||void 0===t?void 0:t.includes("fetch"))?(l=c.PLAID_NETWORK_ERROR,o=r[l],d=!0):((null===(a=s.message)||void 0===a?void 0:a.includes("401"))||(null===(i=s.message)||void 0===i?void 0:i.includes("unauthorized")))&&(l=c.PLAID_INVALID_CREDENTIALS,o="Authentication failed. Please check your credentials.",d=!1),this.handleError({code:l,message:o,severity:n[l],originalError:s,retryable:d,userAction:d?"Click to try again":"Check your credentials"})}},this.openPlaidLink=()=>{this.plaidLink&&this.linkToken&&(this.isAuthenticating=!0,this.clearError(),this.plaidLink.open())},this.handlePlaidSuccess=async e=>{var t;this.isAuthenticating=!1,this.isLoading=!0,this.clearError();try{const a=await this.plaidService.postPlaidVerifiedBankAccountData(this.authToken,this.businessId,{public_token:e,link_token_id:this.linkTokenId},null===(t=this.abortController)||void 0===t?void 0:t.signal);if(a.error)throw new Error("string"==typeof a.error?a.error:a.error.message||"Failed to verify bank account");this.isSuccess=!0,this.isLoading=!1,this.plaidVerificationSuccess.emit({publicToken:e,bankAccount:a.data})}catch(e){this.isLoading=!1,this.handleError({code:c.PLAID_AUTHENTICATION_FAILED,message:(null==e?void 0:e.message)||"Failed to verify bank account",severity:n[c.PLAID_AUTHENTICATION_FAILED],originalError:e,retryable:!0,userAction:"Click to try again"})}},this.handlePlaidExit=e=>{this.isAuthenticating=!1,e&&this.handlePlaidError(e)},this.handlePlaidEvent=(e,t)=>{switch(e){case"OPEN":this.isAuthenticating=!0;break;case"CLOSE":this.isAuthenticating=!1;break;case"ERROR":this.handlePlaidError(t)}},this.handlePlaidLoad=()=>{},this.handlePlaidError=e=>{let t=c.PLAID_AUTHENTICATION_FAILED,a=r[t],i=!0,s="Click to try again";if(e.error_code)switch(e.error_code){case"INVALID_CREDENTIALS":t=c.PLAID_INVALID_CREDENTIALS,a=r[t],i=!0;break;case"ITEM_LOGIN_REQUIRED":t=c.PLAID_INVALID_CREDENTIALS,a="Your bank requires re-authentication. Please try again.",i=!0;break;case"ITEM_LOCKED":t=c.PLAID_ACCOUNT_LOCKED,a=r[t],i=!1,s="Contact your bank";break;case"INSTITUTION_NOT_RESPONDING":t=c.PLAID_MAINTENANCE,a=r[t],i=!0;break;case"RATE_LIMIT_EXCEEDED":t=c.PLAID_RATE_LIMITED,a=r[t],i=!0;break;default:e.error_message&&(a=e.error_message)}this.handleError({code:t,message:a,severity:n[t],originalError:e,retryable:i,userAction:s}),this.isAuthenticating=!1},this.handleError=e=>{this.error=e,this.isLoading=!1,this.plaidVerificationError.emit(e),console.error("Plaid verification error:",e)},this.clearError=()=>{this.error&&(this.error=null)}}componentDidRender(){this.scriptRef&&(this.scriptRef.onload=()=>{this.initializePlaidLink()},this.scriptRef.onerror=()=>{this.handleError({code:c.PLAID_SDK_LOAD_FAILED,message:r[c.PLAID_SDK_LOAD_FAILED],severity:n[c.PLAID_SDK_LOAD_FAILED],retryable:!0,userAction:"Refresh the page and try again"})})}disconnectedCallback(){this.timeoutId&&clearTimeout(this.timeoutId),this.abortController&&this.abortController.abort()}render(){const e=t("img",{class:"plaid-logo-img",src:q,alt:"Plaid",title:"Plaid",style:{display:"inline",width:"20px",height:"20px",marginLeft:"5px",marginTop:"-2px"}});return t(M,null,t("script",{src:"https://cdn.plaid.com/link/v2/stable/link-initialize.js",async:!0,ref:e=>this.scriptRef=e}),t("div",null,t("div",{class:"mb-3"},t(S,{variant:"primary",type:"button",onClick:e=>{e.preventDefault(),this.openPlaidLink()},disabled:this.isLoading,part:w},"Connect with Plaid ",e," (instant verification)")),(()=>this.error?t("div",{class:(this.error.severity===l.ERROR?"text-danger":this.error.severity===l.WARNING?"text-warning":"text-info")+" mt-2"},t("small",null,this.error.message),t("br",null),this.error.userAction&&t("small",{class:"text-muted"},this.error.userAction)):null)(),(()=>this.error?null:this.isLoading?t("div",{class:"text-info mt-2"},t("small",null,"Verifying bank account...")):this.isSuccess?t("div",{class:"text-success mt-2"},t("small",null,"✓ Bank account verified successfully")):this.isAuthenticating?t("div",{class:"text-info mt-2"},t("small",null,"Connecting to your bank...")):null)()))}};export{U as bank_account_document_form_inputs,$ as bank_account_form_inputs,z as bank_account_form_inputs_canada,X as bank_account_read_only_value,G as business_documents_on_file,J as form_control_file,W as justifi_business_representative_form_inputs,K as justifi_owner_form,Q as plaid_verification}
@@ -1 +1 @@
1
- import{r as e,h as n,H as t,c as i,g as o}from"./p-CV0Pyo1O.js";import{c as r}from"./p-D8GTwl9v.js";import{ar as s,X as a,Z as c,_ as d,$ as u}from"./p-C4FLe2pT.js";import{g as f}from"./p-BFTU3MAI.js";import{F as l}from"./p--Kvji7o2.js";import{p as h}from"./p-D4eE0MBI.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=""}focusWithoutPageScroll(e){if(e)try{e.focus({preventScroll:!0})}catch(n){const{scrollX:t,scrollY:i}=window;e.focus(),window.scrollTo(t,i)}}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.focusWithoutPageScroll(this.hiddenInput),setTimeout((()=>{this.hiddenInput.blur();let n=getComputedStyle(this.hiddenInput);e({boxShadow:n.boxShadow,border:n.border})}),500)}))}async getFocusedAndInvalidStyles(){return new Promise((e=>{this.focusWithoutPageScroll(this.hiddenInput),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:"05cefc92dac95360d470070c64fbc0318c666214"},n("input",{key:"02c9a6001a394b96cbc09b6d906287b81c20e98f",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=H(),window.iFrameResize=window.iFrameResize||H()}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 F(L,e,n)}var m,b,y,x,I,S,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,S=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)}(S)+function(e){return"border-box"!==e.boxSizing?0:(e.borderTopWidth?parseInt(e.borderTopWidth,10):0)+(e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0)}(S),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":z(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 F(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 S(e){delete u[e.id]}function z(e){var t=e.id;if(!1!==F(t,"onClose",t)){p(t,"Removing iFrame: "+t);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){k(e)}F(t,"onClosed",t),p(t,"--"),S(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&&z(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:z.bind(null,u[f].iframe),removeListeners:S.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(){P("Tab Visible","resize")}),16))}function P(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 H(){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(){P("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",7),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:"ebf24e9c73ea9a7f352dfc7368678117144745c3",class:"form-group d-flex flex-column"},n("div",{key:"e88393af9005c217ad3cc2504e8285629339402c",style:{visibility:this.iframeLoaded?"visible":"hidden",height:this.iframeLoaded?"auto":"0"}},n("label",{key:"47591ac9c82096e9bde5b5706b08c9dc8461788b",class:"form-label",htmlFor:"",part:u},this.label||""),n("div",{key:"b39265660ede091bd365d983a702202469adab97",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:"12354fce7a91119a17d577df02c2f627ebc10b98",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:"604488d6da7e2ff87e24e3eed0a77b3a6231106e",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-CV0Pyo1O.js";import{c as r}from"./p-D8GTwl9v.js";import{ar as s,X as a,Z as c,_ as d,$ as u}from"./p-C4FLe2pT.js";import{g as f}from"./p-BFTU3MAI.js";import{F as l}from"./p--Kvji7o2.js";import{p as h}from"./p-Bjv3eJBk.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=""}focusWithoutPageScroll(e){if(e)try{e.focus({preventScroll:!0})}catch(n){const{scrollX:t,scrollY:i}=window;e.focus(),window.scrollTo(t,i)}}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.focusWithoutPageScroll(this.hiddenInput),setTimeout((()=>{this.hiddenInput.blur();let n=getComputedStyle(this.hiddenInput);e({boxShadow:n.boxShadow,border:n.border})}),500)}))}async getFocusedAndInvalidStyles(){return new Promise((e=>{this.focusWithoutPageScroll(this.hiddenInput),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:"05cefc92dac95360d470070c64fbc0318c666214"},n("input",{key:"02c9a6001a394b96cbc09b6d906287b81c20e98f",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=H(),window.iFrameResize=window.iFrameResize||H()}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 F(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 I(L,e,n)}var m,b,y,x,F,S,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,F=u[y[0]]&&u[y[0]].iframe,S=getComputedStyle(F),A={iframe:F,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)}(S)+function(e){return"border-box"!==e.boxSizing?0:(e.borderTopWidth?parseInt(e.borderTopWidth,10):0)+(e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0)}(S),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":z(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 I(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 S(e){delete u[e.id]}function z(e){var t=e.id;if(!1!==I(t,"onClose",t)){p(t,"Removing iFrame: "+t);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){k(e)}I(t,"onClosed",t),p(t,"--"),S(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&&z(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:z.bind(null,u[f].iframe),removeListeners:S.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(){P("Tab Visible","resize")}),16))}function P(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 H(){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",F),w(window,"resize",(function(){p("window","Trigger event: resize"),A((function(){P("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 F=class{constructor(n){e(this,n),this.iframeLoaded=i(this,"iframeLoaded",7),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:"ebf24e9c73ea9a7f352dfc7368678117144745c3",class:"form-group d-flex flex-column"},n("div",{key:"e88393af9005c217ad3cc2504e8285629339402c",style:{visibility:this.iframeLoaded?"visible":"hidden",height:this.iframeLoaded?"auto":"0"}},n("label",{key:"47591ac9c82096e9bde5b5706b08c9dc8461788b",class:"form-label",htmlFor:"",part:u},this.label||""),n("div",{key:"b39265660ede091bd365d983a702202469adab97",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:"12354fce7a91119a17d577df02c2f627ebc10b98",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:"604488d6da7e2ff87e24e3eed0a77b3a6231106e",errorText:this.errorText,name:this.inputId})))}get el(){return o(this)}};export{b as hidden_input,F as iframe_input}