@justifi/webcomponents 4.5.0 → 4.5.1

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 (133) hide show
  1. package/dist/cjs/form-control-datepart_2.cjs.entry.js +1 -1
  2. package/dist/cjs/form-control-monetary.cjs.entry.js +1 -1
  3. package/dist/cjs/form-control-number_3.cjs.entry.js +1 -1
  4. package/dist/cjs/form-control-select.cjs.entry.js +1 -1
  5. package/dist/cjs/{index-4ffc90c0.js → index-3533152c.js} +1 -6
  6. package/dist/cjs/index-3533152c.js.map +1 -0
  7. package/dist/cjs/justifi-additional-questions_5.cjs.entry.js +1 -1
  8. package/dist/cjs/justifi-bank-account-form.cjs.entry.js +3 -1
  9. package/dist/cjs/justifi-bank-account-form.cjs.entry.js.map +1 -1
  10. package/dist/cjs/justifi-billing-form_2.cjs.entry.js +1 -1
  11. package/dist/cjs/justifi-business-form.cjs.entry.js +1 -1
  12. package/dist/cjs/justifi-business-list.cjs.entry.js +1 -1
  13. package/dist/cjs/justifi-card-form.cjs.entry.js +3 -1
  14. package/dist/cjs/justifi-card-form.cjs.entry.js.map +1 -1
  15. package/dist/cjs/justifi-details.cjs.entry.js +2 -2
  16. package/dist/cjs/justifi-payment-details.cjs.entry.js +2 -2
  17. package/dist/cjs/justifi-payment-form.cjs.entry.js +1 -1
  18. package/dist/cjs/justifi-payment-method-form.cjs.entry.js +1482 -16
  19. package/dist/cjs/justifi-payment-method-form.cjs.entry.js.map +1 -1
  20. package/dist/cjs/justifi-payments-list.cjs.entry.js +1 -1
  21. package/dist/cjs/justifi-payout-details.cjs.entry.js +2 -2
  22. package/dist/cjs/justifi-payouts-list.cjs.entry.js +1 -1
  23. package/dist/cjs/justifi-proceeds-list.cjs.entry.js +1 -1
  24. package/dist/cjs/justifi-table.cjs.entry.js +1 -1
  25. package/dist/cjs/loader.cjs.js +2 -2
  26. package/dist/cjs/select-input_2.cjs.entry.js +1 -1
  27. package/dist/cjs/{utils-a5b5bfdf.js → utils-d95b09c2.js} +2 -2
  28. package/dist/cjs/{utils-a5b5bfdf.js.map → utils-d95b09c2.js.map} +1 -1
  29. package/dist/cjs/webcomponents.cjs.js +2 -2
  30. package/dist/collection/components/bank-account-form/bank-account-form.js +6 -1
  31. package/dist/collection/components/bank-account-form/bank-account-form.js.map +1 -1
  32. package/dist/collection/components/bank-account-form/bank-account-form.stories.js +8 -0
  33. package/dist/collection/components/bank-account-form/bank-account-form.stories.js.map +1 -1
  34. package/dist/collection/components/card-form/card-form.js +6 -1
  35. package/dist/collection/components/card-form/card-form.js.map +1 -1
  36. package/dist/collection/components/card-form/card-form.stories.js +8 -0
  37. package/dist/collection/components/card-form/card-form.stories.js.map +1 -1
  38. package/dist/collection/components/payment-method-form/payment-method-form.css +5 -0
  39. package/dist/collection/components/payment-method-form/payment-method-form.js +25 -35
  40. package/dist/collection/components/payment-method-form/payment-method-form.js.map +1 -1
  41. package/dist/collection/components/payment-method-form/test/payment-method-form.spec.js +7 -7
  42. package/dist/collection/components/payment-method-form/test/payment-method-form.spec.js.map +1 -1
  43. package/dist/components/justifi-bank-account-form.js +2 -0
  44. package/dist/components/justifi-bank-account-form.js.map +1 -1
  45. package/dist/components/justifi-card-form.js +2 -0
  46. package/dist/components/justifi-card-form.js.map +1 -1
  47. package/dist/components/payment-method-form.js +1483 -18
  48. package/dist/components/payment-method-form.js.map +1 -1
  49. package/dist/esm/form-control-datepart_2.entry.js +1 -1
  50. package/dist/esm/form-control-monetary.entry.js +1 -1
  51. package/dist/esm/form-control-number_3.entry.js +1 -1
  52. package/dist/esm/form-control-select.entry.js +1 -1
  53. package/dist/esm/{index-609a2c67.js → index-fe877d03.js} +1 -6
  54. package/dist/esm/index-fe877d03.js.map +1 -0
  55. package/dist/esm/justifi-additional-questions_5.entry.js +1 -1
  56. package/dist/esm/justifi-bank-account-form.entry.js +3 -1
  57. package/dist/esm/justifi-bank-account-form.entry.js.map +1 -1
  58. package/dist/esm/justifi-billing-form_2.entry.js +1 -1
  59. package/dist/esm/justifi-business-form.entry.js +1 -1
  60. package/dist/esm/justifi-business-list.entry.js +1 -1
  61. package/dist/esm/justifi-card-form.entry.js +3 -1
  62. package/dist/esm/justifi-card-form.entry.js.map +1 -1
  63. package/dist/esm/justifi-details.entry.js +2 -2
  64. package/dist/esm/justifi-payment-details.entry.js +2 -2
  65. package/dist/esm/justifi-payment-form.entry.js +1 -1
  66. package/dist/esm/justifi-payment-method-form.entry.js +1482 -16
  67. package/dist/esm/justifi-payment-method-form.entry.js.map +1 -1
  68. package/dist/esm/justifi-payments-list.entry.js +1 -1
  69. package/dist/esm/justifi-payout-details.entry.js +2 -2
  70. package/dist/esm/justifi-payouts-list.entry.js +1 -1
  71. package/dist/esm/justifi-proceeds-list.entry.js +1 -1
  72. package/dist/esm/justifi-table.entry.js +1 -1
  73. package/dist/esm/loader.js +3 -3
  74. package/dist/esm/select-input_2.entry.js +1 -1
  75. package/dist/esm/{utils-cdf0b984.js → utils-1e7d6279.js} +2 -2
  76. package/dist/esm/{utils-cdf0b984.js.map → utils-1e7d6279.js.map} +1 -1
  77. package/dist/esm/webcomponents.js +3 -3
  78. package/dist/types/components/bank-account-form/bank-account-form.stories.d.ts +6 -0
  79. package/dist/types/components/card-form/card-form.stories.d.ts +6 -0
  80. package/dist/types/components/payment-method-form/payment-method-form.d.ts +1 -3
  81. package/dist/types/components.d.ts +2 -0
  82. package/dist/webcomponents/{p-b967262f.entry.js → p-1beaaba3.entry.js} +2 -2
  83. package/dist/webcomponents/{p-0237a6bc.entry.js → p-2b6f5e35.entry.js} +2 -2
  84. package/dist/webcomponents/{p-86464cab.entry.js → p-2e66512d.entry.js} +2 -2
  85. package/dist/webcomponents/{p-f8d49acb.entry.js → p-640bfa9f.entry.js} +2 -2
  86. package/dist/webcomponents/{p-239564c6.entry.js → p-641883b2.entry.js} +2 -2
  87. package/dist/webcomponents/{p-e26d7eea.entry.js → p-6d549d84.entry.js} +2 -2
  88. package/dist/webcomponents/{p-27b15fe8.entry.js → p-75292cca.entry.js} +2 -2
  89. package/dist/webcomponents/{p-c1e4288d.entry.js → p-7d6c309d.entry.js} +2 -2
  90. package/dist/webcomponents/{p-439fc294.entry.js → p-a2aae7c9.entry.js} +2 -2
  91. package/dist/webcomponents/{p-e77d8c6e.entry.js → p-a922b908.entry.js} +2 -2
  92. package/dist/webcomponents/{p-7e3bbe32.entry.js → p-cd0eca25.entry.js} +2 -2
  93. package/dist/webcomponents/{p-7e3bbe32.entry.js.map → p-cd0eca25.entry.js.map} +1 -1
  94. package/dist/webcomponents/{p-0d6e9f76.entry.js → p-d92116e6.entry.js} +2 -2
  95. package/dist/webcomponents/{p-0d6e9f76.entry.js.map → p-d92116e6.entry.js.map} +1 -1
  96. package/dist/webcomponents/{p-f0acb27e.entry.js → p-da4e6389.entry.js} +2 -2
  97. package/dist/webcomponents/{p-d1bbf409.entry.js → p-db9945b1.entry.js} +2 -2
  98. package/dist/webcomponents/{p-c18d876e.entry.js → p-e1f6c8ec.entry.js} +2 -2
  99. package/dist/webcomponents/{p-126146d4.js → p-e6695628.js} +2 -2
  100. package/dist/webcomponents/{p-308b6784.js → p-e70b2a21.js} +2 -2
  101. package/dist/webcomponents/p-e70b2a21.js.map +1 -0
  102. package/dist/webcomponents/{p-391b8f1d.entry.js → p-ee32a236.entry.js} +2 -2
  103. package/dist/webcomponents/{p-7abb092c.entry.js → p-f6cc37a6.entry.js} +2 -2
  104. package/dist/webcomponents/p-f72c3084.entry.js +2 -0
  105. package/dist/webcomponents/p-f72c3084.entry.js.map +1 -0
  106. package/dist/webcomponents/{p-bf9c2be2.entry.js → p-f8067330.entry.js} +2 -2
  107. package/dist/webcomponents/{p-b042bf80.entry.js → p-fe2ec58b.entry.js} +2 -2
  108. package/dist/webcomponents/webcomponents.esm.js +1 -1
  109. package/dist/webcomponents/webcomponents.esm.js.map +1 -1
  110. package/package.json +3 -2
  111. package/dist/cjs/index-4ffc90c0.js.map +0 -1
  112. package/dist/esm/index-609a2c67.js.map +0 -1
  113. package/dist/webcomponents/p-308b6784.js.map +0 -1
  114. package/dist/webcomponents/p-66f010e5.entry.js +0 -2
  115. package/dist/webcomponents/p-66f010e5.entry.js.map +0 -1
  116. /package/dist/webcomponents/{p-b967262f.entry.js.map → p-1beaaba3.entry.js.map} +0 -0
  117. /package/dist/webcomponents/{p-0237a6bc.entry.js.map → p-2b6f5e35.entry.js.map} +0 -0
  118. /package/dist/webcomponents/{p-86464cab.entry.js.map → p-2e66512d.entry.js.map} +0 -0
  119. /package/dist/webcomponents/{p-f8d49acb.entry.js.map → p-640bfa9f.entry.js.map} +0 -0
  120. /package/dist/webcomponents/{p-239564c6.entry.js.map → p-641883b2.entry.js.map} +0 -0
  121. /package/dist/webcomponents/{p-e26d7eea.entry.js.map → p-6d549d84.entry.js.map} +0 -0
  122. /package/dist/webcomponents/{p-27b15fe8.entry.js.map → p-75292cca.entry.js.map} +0 -0
  123. /package/dist/webcomponents/{p-c1e4288d.entry.js.map → p-7d6c309d.entry.js.map} +0 -0
  124. /package/dist/webcomponents/{p-439fc294.entry.js.map → p-a2aae7c9.entry.js.map} +0 -0
  125. /package/dist/webcomponents/{p-e77d8c6e.entry.js.map → p-a922b908.entry.js.map} +0 -0
  126. /package/dist/webcomponents/{p-f0acb27e.entry.js.map → p-da4e6389.entry.js.map} +0 -0
  127. /package/dist/webcomponents/{p-d1bbf409.entry.js.map → p-db9945b1.entry.js.map} +0 -0
  128. /package/dist/webcomponents/{p-c18d876e.entry.js.map → p-e1f6c8ec.entry.js.map} +0 -0
  129. /package/dist/webcomponents/{p-126146d4.js.map → p-e6695628.js.map} +0 -0
  130. /package/dist/webcomponents/{p-391b8f1d.entry.js.map → p-ee32a236.entry.js.map} +0 -0
  131. /package/dist/webcomponents/{p-7abb092c.entry.js.map → p-f6cc37a6.entry.js.map} +0 -0
  132. /package/dist/webcomponents/{p-bf9c2be2.entry.js.map → p-f8067330.entry.js.map} +0 -0
  133. /package/dist/webcomponents/{p-b042bf80.entry.js.map → p-fe2ec58b.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as o,c as t,h as r,H as e}from"./p-308b6784.js";import{P as b}from"./p-ab0756ff.js";import{e as s}from"./p-9346ae33.js";const i=':root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13, 110, 253;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:25, 135, 84;--bs-info-rgb:13, 202, 240;--bs-warning-rgb:255, 193, 7;--bs-danger-rgb:220, 53, 69;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:33, 37, 41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255, 255, 255;--bs-black-rgb:0, 0, 0;--bs-font-sans-serif:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33, 37, 41;--bs-body-bg:#fff;--bs-body-bg-rgb:255, 255, 255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0, 0, 0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13, 110, 253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10, 88, 202;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222, 226, 230;--bs-body-bg:#212529;--bs-body-bg-rgb:33, 37, 41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255, 255, 255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222, 226, 230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52, 58, 64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222, 226, 230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43, 48, 53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110, 168, 254;--bs-link-hover-color-rgb:139, 185, 254;--bs-code-color:#e685b5;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) }}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:0.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:0.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:0.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:0.25}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:0.25}h6,h5,h4,h3,h2,h1{margin-top:0;margin-bottom:0.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + 0.9vw)}@media (min-width: 1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + 0.6vw)}@media (min-width: 1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + 0.3vw)}@media (min-width: 1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:0.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:0.875em}mark{padding:0.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:0.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:0.1875rem 0.375rem;font-size:0.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:0.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:0.5rem;padding-bottom:0.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:0.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-0.5 * var(--bs-gutter-x));margin-left:calc(-0.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49, 132, 253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130, 138, 145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60, 153, 110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11, 172, 204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217, 164, 6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225, 83, 97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211, 212, 213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66, 70, 73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13, 110, 253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108, 117, 125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25, 135, 84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13, 202, 240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255, 193, 7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220, 53, 69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248, 249, 250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33, 37, 41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49, 132, 253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) }}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}:host{font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;display:block}justifi-payment-method-form{display:block;margin-left:calc(var(--jfi-layout-padding) * -1);margin-right:calc(var(--jfi-layout-padding) * -1)}*::part(label){color:var(--jfi-form-label-color);font-family:var(--jfi-form-label-font-family);font-weight:var(--jfi-form-label-font-weight);font-size:var(--jfi-form-label-font-size);margin:var(--jfi-form-label-margin)}*::part(input){font-family:var(--jfi-layout-font-family);background-color:var(--jfi-form-control-background-color);border-color:var(--jfi-form-control-border-color);border-width:var(--jfi-form-control-border-width);border-bottom-width:var(--jfi-form-control-border-bottom-width);border-left-width:var(--jfi-form-control-border-left-width);border-right-width:var(--jfi-form-control-border-right-width);border-top-width:var(--jfi-form-control-border-top-width);border-radius:var(--jfi-form-control-border-radius);border-style:var(--jfi-form-control-border-style);box-shadow:var(--jfi-form-control-box-shadow);color:var(--jfi-form-control-color);font-size:var(--jfi-form-control-font-size);font-weight:var(--jfi-form-control-font-weight);line-height:var(--jfi-form-control-line-height);margin:var(--jfi-form-control-margin);padding:var(--jfi-form-control-padding)}*::part(input):focus{color:var(--jfi-form-control-color-focus);border-color:var(--jfi-form-control-border-color-focus);box-shadow:var(--jfi-form-control-box-shadow-focus)}*::part(input-invalid){border-color:var(--jfi-form-control-border-color-error);box-shadow:var(--jfi-form-control-box-shadow-error)}*::part(input-invalid):focus{border-color:var(--jfi-form-control-border-color-error);box-shadow:var(--jfi-form-control-box-shadow-error-focus)}.jfi-submit-button{font-family:var(--jfi-layout-font-family);color:var(--jfi-submit-button-color);background-color:var(--jfi-submit-button-background-color);border-color:var(--jfi-submit-button-border-color);padding:var(--jfi-submit-button-padding);font-size:var(--jfi-submit-button-font-size);border-radius:var(--jfi-submit-button-border-radius);width:var(--jfi-submit-button-width);box-shadow:var(--jfi-submit-button-box-shadow)}.jfi-submit-button:hover{color:var(--jfi-submit-button-color-hover);background-color:var(--jfi-submit-button-background-color-hover);border-color:var(--jfi-submit-button-border-color-hover)}.jfi-submit-button:focus{color:var(--jfi-submit-button-color-focus);background-color:var(--jfi-submit-button-background-color-focus);border-color:var(--jfi-submit-button-border-color-focus)}.btn.jfi-submit-button:active{color:var(--jfi-submit-button-color-active);background-color:var(--jfi-submit-button-background-color-active);border-color:var(--jfi-submit-button-border-color-active)}.btn.jfi-submit-button-loading{min-width:75px;color:var(--jfi-submit-button-color-loading);background-color:var(--jfi-submit-button-background-color-loading);border-color:var(--jfi-submit-button-border-color-loading)}.btn.jfi-submit-button-loading .spinner-border{border-top-color:var(--jfi-submit-button-color-loading);border-bottom-color:var(--jfi-submit-button-color-loading);border-left-color:var(--jfi-submit-button-color-loading)}';const n=class{constructor(r){o(this,r);this.submitted=t(this,"submitted",7);this.bankAccount=undefined;this.card=undefined;this.email=undefined;this.iframeOrigin=undefined;this.clientId=undefined;this.accountId=undefined;this.submitButtonText=undefined;this.submitButtonEnabled=true;this.hasLoadedFonts=false;this.isLoading=false;this.selectedPaymentMethodType=undefined;this.allowedPaymentMethodTypes=[]}connectedCallback(){if(this.card){this.allowedPaymentMethodTypes.push(b.card)}if(this.bankAccount){this.allowedPaymentMethodTypes.push(b.bankAccount)}if(!this.allowedPaymentMethodTypes.length){this.allowedPaymentMethodTypes.push(b.card)}this.selectedPaymentMethodType=this.allowedPaymentMethodTypes[0];if(!this.hasLoadedFonts){this.loadFontsOnParent();this.hasLoadedFonts=true}}paymentMethodSelectedHandler(o){const t=o.detail;this.selectedPaymentMethodType=t}async fillBillingForm(o){this.billingFormRef.fill(o)}async enableSubmitButton(){this.submitButtonEnabled=true}async loadFontsOnParent(){const o=document.body;const t=s();if(!o||!t){return null}const r=document.createElement("link");r.rel="stylesheet";r.href=`https://fonts.googleapis.com/css2?family=${t}&display=swap`;o.append(r)}async submit(o){o.preventDefault();if(!this.paymentMethodFormRef||!this.billingFormRef)return;const t=await this.billingFormRef.validate();const r=await this.paymentMethodFormRef.validate();if(!t.isValid||!r.isValid)return;this.isLoading=true;const e=await this.billingFormRef.getValues();const b=Object.assign({email:this.email},e);const s=await this.paymentMethodFormRef.tokenize(this.clientId,b,this.accountId);this.submitted.emit(s);this.isLoading=false}render(){return r(e,null,r("form",{class:"row gy-3"},this.allowedPaymentMethodTypes.length>1&&r("div",{class:"col-12"},r("justifi-payment-method-selector",{paymentMethodTypes:this.allowedPaymentMethodTypes,selectedPaymentMethodType:this.selectedPaymentMethodType})),r("div",{class:"col-12"},r("justifi-payment-method-form",{"payment-method-form-type":this.selectedPaymentMethodType,"iframe-origin":this.iframeOrigin,ref:o=>{if(o){this.paymentMethodFormRef=o}}})),r("div",{class:"col-12"},r("justifi-billing-form",{legend:"Billing Info",ref:o=>{if(o){this.billingFormRef=o}}})),r("slot",{name:"insurance"}),r("div",{class:"col-12"},r("button",{type:"submit",onClick:o=>this.submit(o),disabled:!this.submitButtonEnabled||this.isLoading,class:`btn btn-primary jfi-submit-button${this.isLoading?" jfi-submit-button-loading":""}`},this.isLoading?r("div",{class:"spinner-border spinner-border-sm",role:"status"},r("span",{class:"visually-hidden"},"Loading...")):this.submitButtonText||"Submit"))))}};n.style=i;export{n as justifi_payment_form};
2
- //# sourceMappingURL=p-7abb092c.entry.js.map
1
+ import{r as o,c as t,h as r,H as e}from"./p-e70b2a21.js";import{P as b}from"./p-ab0756ff.js";import{e as s}from"./p-9346ae33.js";const i=':root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13, 110, 253;--bs-secondary-rgb:108, 117, 125;--bs-success-rgb:25, 135, 84;--bs-info-rgb:13, 202, 240;--bs-warning-rgb:255, 193, 7;--bs-danger-rgb:220, 53, 69;--bs-light-rgb:248, 249, 250;--bs-dark-rgb:33, 37, 41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255, 255, 255;--bs-black-rgb:0, 0, 0;--bs-font-sans-serif:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33, 37, 41;--bs-body-bg:#fff;--bs-body-bg-rgb:255, 255, 255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0, 0, 0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13, 110, 253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10, 88, 202;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222, 226, 230;--bs-body-bg:#212529;--bs-body-bg-rgb:33, 37, 41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255, 255, 255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222, 226, 230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52, 58, 64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222, 226, 230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43, 48, 53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110, 168, 254;--bs-link-hover-color-rgb:139, 185, 254;--bs-code-color:#e685b5;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) }}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff !important;background-color:RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-secondary{color:#fff !important;background-color:RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-success{color:#fff !important;background-color:RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-info{color:#000 !important;background-color:RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-warning{color:#000 !important;background-color:RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-danger{color:#fff !important;background-color:RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-light{color:#000 !important;background-color:RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important}.text-bg-dark{color:#fff !important;background-color:RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important}.link-primary{color:RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-primary:hover,.link-primary:focus{color:RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important}.link-secondary{color:RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-secondary:hover,.link-secondary:focus{color:RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important}.link-success{color:RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-success:hover,.link-success:focus{color:RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important}.link-info{color:RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-info:hover,.link-info:focus{color:RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important}.link-warning{color:RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-warning:hover,.link-warning:focus{color:RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important}.link-danger{color:RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-danger:hover,.link-danger:focus{color:RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important}.link-light{color:RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-light:hover,.link-light:focus{color:RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important}.link-dark{color:RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-dark:hover,.link-dark:focus{color:RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important}.link-body-emphasis:hover,.link-body-emphasis:focus{color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:0.375rem;align-items:center;text-decoration-color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));text-underline-offset:0.25em;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:0.2s ease-in-out transform}@media (prefers-reduced-motion: reduce){.icon-link>.bi{transition:none}}.icon-link-hover:hover>.bi,.icon-link-hover:focus-visible>.bi{transform:var(--bs-icon-link-transform, translate3d(0.25em, 0, 0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:sticky;top:0;z-index:1020}.sticky-bottom{position:sticky;bottom:0;z-index:1020}@media (min-width: 576px){.sticky-sm-top{position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 768px){.sticky-md-top{position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 992px){.sticky-lg-top{position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1200px){.sticky-xl-top{position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:sticky;bottom:0;z-index:1020}}@media (min-width: 1400px){.sticky-xxl-top{position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0, 0, 0, 0) !important;white-space:nowrap !important;border:0 !important}.visually-hidden:not(caption),.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption){position:absolute !important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:0.25}*,*::before,*::after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:0.25}h6,h5,h4,h3,h2,h1{margin-top:0;margin-bottom:0.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width: 1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + 0.9vw)}@media (min-width: 1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + 0.6vw)}@media (min-width: 1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + 0.3vw)}@media (min-width: 1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{text-decoration:underline dotted;cursor:help;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:0.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:0.875em}mark{padding:0.1875em;background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:0.75em;line-height:0;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}a{color:rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}pre,code,kbd,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:0.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:0.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:0.1875rem 0.375rem;font-size:0.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:0.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:0.5rem;padding-bottom:0.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}thead,tbody,tfoot,tr,td,th{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none !important}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button:not(:disabled),[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:0.5rem;font-size:calc(1.275rem + 0.3vw);line-height:inherit}@media (min-width: 1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-text,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none !important}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-0.5 * var(--bs-gutter-x));margin-left:calc(-0.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width: 576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width: 768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width: 992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width: 1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width: 1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,:not(.btn-check)+.btn:active,.btn:first-child:active,.btn.active,.btn.show{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,:not(.btn-check)+.btn:active:focus-visible,.btn:first-child:active:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn:disabled,.btn.disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49, 132, 253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130, 138, 145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60, 153, 110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11, 172, 204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217, 164, 6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225, 83, 97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211, 212, 213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66, 70, 73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13, 110, 253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108, 117, 125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25, 135, 84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13, 202, 240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255, 193, 7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220, 53, 69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248, 249, 250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33, 37, 41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49, 132, 253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.spinner-grow,.spinner-border{display:inline-block;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg) }}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion: reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}:host{font-family:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;display:block}justifi-payment-method-form{display:block;margin-left:calc(var(--jfi-layout-padding) * -1);margin-right:calc(var(--jfi-layout-padding) * -1)}*::part(label){color:var(--jfi-form-label-color);font-family:var(--jfi-form-label-font-family);font-weight:var(--jfi-form-label-font-weight);font-size:var(--jfi-form-label-font-size);margin:var(--jfi-form-label-margin)}*::part(input){font-family:var(--jfi-layout-font-family);background-color:var(--jfi-form-control-background-color);border-color:var(--jfi-form-control-border-color);border-width:var(--jfi-form-control-border-width);border-bottom-width:var(--jfi-form-control-border-bottom-width);border-left-width:var(--jfi-form-control-border-left-width);border-right-width:var(--jfi-form-control-border-right-width);border-top-width:var(--jfi-form-control-border-top-width);border-radius:var(--jfi-form-control-border-radius);border-style:var(--jfi-form-control-border-style);box-shadow:var(--jfi-form-control-box-shadow);color:var(--jfi-form-control-color);font-size:var(--jfi-form-control-font-size);font-weight:var(--jfi-form-control-font-weight);line-height:var(--jfi-form-control-line-height);margin:var(--jfi-form-control-margin);padding:var(--jfi-form-control-padding)}*::part(input):focus{color:var(--jfi-form-control-color-focus);border-color:var(--jfi-form-control-border-color-focus);box-shadow:var(--jfi-form-control-box-shadow-focus)}*::part(input-invalid){border-color:var(--jfi-form-control-border-color-error);box-shadow:var(--jfi-form-control-box-shadow-error)}*::part(input-invalid):focus{border-color:var(--jfi-form-control-border-color-error);box-shadow:var(--jfi-form-control-box-shadow-error-focus)}.jfi-submit-button{font-family:var(--jfi-layout-font-family);color:var(--jfi-submit-button-color);background-color:var(--jfi-submit-button-background-color);border-color:var(--jfi-submit-button-border-color);padding:var(--jfi-submit-button-padding);font-size:var(--jfi-submit-button-font-size);border-radius:var(--jfi-submit-button-border-radius);width:var(--jfi-submit-button-width);box-shadow:var(--jfi-submit-button-box-shadow)}.jfi-submit-button:hover{color:var(--jfi-submit-button-color-hover);background-color:var(--jfi-submit-button-background-color-hover);border-color:var(--jfi-submit-button-border-color-hover)}.jfi-submit-button:focus{color:var(--jfi-submit-button-color-focus);background-color:var(--jfi-submit-button-background-color-focus);border-color:var(--jfi-submit-button-border-color-focus)}.btn.jfi-submit-button:active{color:var(--jfi-submit-button-color-active);background-color:var(--jfi-submit-button-background-color-active);border-color:var(--jfi-submit-button-border-color-active)}.btn.jfi-submit-button-loading{min-width:75px;color:var(--jfi-submit-button-color-loading);background-color:var(--jfi-submit-button-background-color-loading);border-color:var(--jfi-submit-button-border-color-loading)}.btn.jfi-submit-button-loading .spinner-border{border-top-color:var(--jfi-submit-button-color-loading);border-bottom-color:var(--jfi-submit-button-color-loading);border-left-color:var(--jfi-submit-button-color-loading)}';const n=class{constructor(r){o(this,r);this.submitted=t(this,"submitted",7);this.bankAccount=undefined;this.card=undefined;this.email=undefined;this.iframeOrigin=undefined;this.clientId=undefined;this.accountId=undefined;this.submitButtonText=undefined;this.submitButtonEnabled=true;this.hasLoadedFonts=false;this.isLoading=false;this.selectedPaymentMethodType=undefined;this.allowedPaymentMethodTypes=[]}connectedCallback(){if(this.card){this.allowedPaymentMethodTypes.push(b.card)}if(this.bankAccount){this.allowedPaymentMethodTypes.push(b.bankAccount)}if(!this.allowedPaymentMethodTypes.length){this.allowedPaymentMethodTypes.push(b.card)}this.selectedPaymentMethodType=this.allowedPaymentMethodTypes[0];if(!this.hasLoadedFonts){this.loadFontsOnParent();this.hasLoadedFonts=true}}paymentMethodSelectedHandler(o){const t=o.detail;this.selectedPaymentMethodType=t}async fillBillingForm(o){this.billingFormRef.fill(o)}async enableSubmitButton(){this.submitButtonEnabled=true}async loadFontsOnParent(){const o=document.body;const t=s();if(!o||!t){return null}const r=document.createElement("link");r.rel="stylesheet";r.href=`https://fonts.googleapis.com/css2?family=${t}&display=swap`;o.append(r)}async submit(o){o.preventDefault();if(!this.paymentMethodFormRef||!this.billingFormRef)return;const t=await this.billingFormRef.validate();const r=await this.paymentMethodFormRef.validate();if(!t.isValid||!r.isValid)return;this.isLoading=true;const e=await this.billingFormRef.getValues();const b=Object.assign({email:this.email},e);const s=await this.paymentMethodFormRef.tokenize(this.clientId,b,this.accountId);this.submitted.emit(s);this.isLoading=false}render(){return r(e,null,r("form",{class:"row gy-3"},this.allowedPaymentMethodTypes.length>1&&r("div",{class:"col-12"},r("justifi-payment-method-selector",{paymentMethodTypes:this.allowedPaymentMethodTypes,selectedPaymentMethodType:this.selectedPaymentMethodType})),r("div",{class:"col-12"},r("justifi-payment-method-form",{"payment-method-form-type":this.selectedPaymentMethodType,"iframe-origin":this.iframeOrigin,ref:o=>{if(o){this.paymentMethodFormRef=o}}})),r("div",{class:"col-12"},r("justifi-billing-form",{legend:"Billing Info",ref:o=>{if(o){this.billingFormRef=o}}})),r("slot",{name:"insurance"}),r("div",{class:"col-12"},r("button",{type:"submit",onClick:o=>this.submit(o),disabled:!this.submitButtonEnabled||this.isLoading,class:`btn btn-primary jfi-submit-button${this.isLoading?" jfi-submit-button-loading":""}`},this.isLoading?r("div",{class:"spinner-border spinner-border-sm",role:"status"},r("span",{class:"visually-hidden"},"Loading...")):this.submitButtonText||"Submit"))))}};n.style=i;export{n as justifi_payment_form};
2
+ //# sourceMappingURL=p-f6cc37a6.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e,c as n,h as t,H as o}from"./p-e70b2a21.js";function i(e,n,t){return t={path:n,exports:{},require:function(e,n){return r()}},e(t,t.exports),t.exports}function r(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var s=i((function(e){(function(n){if(typeof window==="undefined")return;var t=0,o=false,i=false,r="message",s=r.length,a="[iFrameSizer]",c=a.length,f=null,u=window.requestAnimationFrame,d=Object.freeze({max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),l={},m=null,h=Object.freeze({autoResize:true,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:true,inPageLinks:false,enablePublicMethods:true,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,log:false,maxHeight:Infinity,maxWidth:Infinity,minHeight:0,minWidth:0,mouseEvents:true,resizeFrom:"parent",scrolling:false,sizeHeight:true,sizeWidth:false,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return true},onClosed:function(){},onInit:function(){},onMessage:function(){z("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return true}});function b(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function g(e,n,t){e.addEventListener(n,t,false)}function w(e,n,t){e.removeEventListener(n,t,false)}function p(){var e=["moz","webkit","o","ms"];var n;for(n=0;n<e.length&&!u;n+=1){u=window[e[n]+"RequestAnimationFrame"]}if(u){u=u.bind(window)}else{k("setup","RequestAnimationFrame not supported")}}function y(e){var n="Host page: "+e;if(window.top!==window.self){n=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e}return n}function v(e){return a+"["+y(e)+"]"}function j(e){return l[e]?l[e].log:o}function k(e,n){M("log",e,n,j(e))}function x(e,n){M("info",e,n,j(e))}function z(e,n){M("warn",e,n,true)}function M(e,n,t,o){if(true===o&&"object"===typeof window.console){console[e](v(n),t)}}function F(e){function n(){function e(){W(G);N(Q);q("onResized",G)}r("Height");r("Width");R(e,G,"init")}function t(){var e=B.slice(c).split(":");var n=e[1]?parseInt(e[1],10):0;var t=l[e[0]]&&l[e[0]].iframe;var r=getComputedStyle(t);return{iframe:t,id:e[0],height:n+o(r)+i(r),width:e[2],type:e[3]}}function o(e){if(e.boxSizing!=="border-box"){return 0}var n=e.paddingTop?parseInt(e.paddingTop,10):0;var t=e.paddingBottom?parseInt(e.paddingBottom,10):0;return n+t}function i(e){if(e.boxSizing!=="border-box"){return 0}var n=e.borderTopWidth?parseInt(e.borderTopWidth,10):0;var t=e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0;return n+t}function r(e){var n=Number(l[Q]["max"+e]),t=Number(l[Q]["min"+e]),o=e.toLowerCase(),i=Number(G[o]);k(Q,"Checking "+o+" is in range "+t+"-"+n);if(i<t){i=t;k(Q,"Set "+o+" to min value")}if(i>n){i=n;k(Q,"Set "+o+" to max value")}G[o]=""+i}function u(){function n(){function e(){var e=0,n=false;k(Q,"Checking connection is from allowed list of origins: "+o);for(;e<o.length;e++){if(o[e]===t){n=true;break}}return n}function n(){var e=l[Q]&&l[Q].remoteHost;k(Q,"Checking connection is from: "+e);return t===e}return o.constructor===Array?e():n()}var t=e.origin,o=l[Q]&&l[Q].checkOrigin;if(o&&""+t!=="null"&&!n()){throw new Error("Unexpected message received from: "+t+" for "+G.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 true}function d(){return a===(""+B).slice(0,c)&&B.slice(c).split(":")[0]in l}function m(){var e=G.type in{true:1,false:1,undefined:1};if(e){k(Q,"Ignoring init message from meta parent page")}return e}function h(e){return B.slice(B.indexOf(":")+s+e)}function b(e){k(Q,"onMessage passed: {iframe: "+G.iframe.id+", message: "+e+"}");q("onMessage",{iframe:G.iframe,message:JSON.parse(e)});k(Q,"--")}function p(){var e=document.body.getBoundingClientRect(),n=G.iframe.getBoundingClientRect();return JSON.stringify({iframeHeight:n.height,iframeWidth:n.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(n.top-e.top,10),offsetLeft:parseInt(n.left-e.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})}function y(e,n){function t(){A("Send Page Info","pageInfo:"+p(),e,n)}P(t,32,n)}function v(){function e(e,t){function i(){if(l[o]){y(l[o].iframe,o)}else{n()}}["scroll","resize"].forEach((function(n){k(o,e+n+" listener for sendPageInfo");t(window,n,i)}))}function n(){e("Remove ",w)}function t(){e("Add ",g)}var o=Q;t();if(l[o]){l[o].stopPageInfo=n}}function j(){if(l[Q]&&l[Q].stopPageInfo){l[Q].stopPageInfo();delete l[Q].stopPageInfo}}function M(){var e=true;if(null===G.iframe){z(Q,"IFrame ("+G.id+") not found");e=false}return e}function F(e){var n=e.getBoundingClientRect();E(Q);return{x:Math.floor(Number(n.left)+Number(f.x)),y:Math.floor(Number(n.top)+Number(f.y))}}function O(e){function n(){f=r;L();k(Q,"--")}function t(){return{x:Number(G.width)+i.x,y:Number(G.height)+i.y}}function o(){if(window.parentIFrame){window.parentIFrame["scrollTo"+(e?"Offset":"")](r.x,r.y)}else{z(Q,"Unable to scroll to requested position, window.parentIFrame not found")}}var i=e?F(G.iframe):{x:0,y:0},r=t();k(Q,"Reposition requested from iFrame (offset x:"+i.x+" y:"+i.y+")");if(window.top===window.self){n()}else{o()}}function L(){if(false===q("onScroll",f)){C()}else{N(Q)}}function V(e){function n(){var e=F(r);k(Q,"Moving to in page link (#"+o+") at x: "+e.x+" y: "+e.y);f={x:e.x,y:e.y};L();k(Q,"--")}function t(){if(window.parentIFrame){window.parentIFrame.moveToAnchor(o)}else{k(Q,"In page link #"+o+" not found and window.parentIFrame not found")}}var o=e.split("#")[1]||"",i=decodeURIComponent(o),r=document.getElementById(i)||document.getElementsByName(i)[0];if(r){n()}else if(window.top===window.self){k(Q,"In page link #"+o+" not found")}else{t()}}function D(e){var n={};if(Number(G.width)===0&&Number(G.height)===0){var t=h(9).split(":");n={x:t[1],y:t[0]}}else{n={x:G.width,y:G.height}}q(e,{iframe:G.iframe,screenX:Number(n.x),screenY:Number(n.y),type:G.type})}function q(e,n){return I(Q,e,n)}function _(){if(l[Q]&&l[Q].firstRun)J();switch(G.type){case"close":{S(G.iframe);break}case"message":{b(h(6));break}case"mouseenter":{D("onMouseEnter");break}case"mouseleave":{D("onMouseLeave");break}case"autoResize":{l[Q].autoResize=JSON.parse(h(9));break}case"scrollTo":{O(false);break}case"scrollToOffset":{O(true);break}case"pageInfo":{y(l[Q]&&l[Q].iframe,Q);v();break}case"pageInfoStop":{j();break}case"inPageLink":{V(h(9));break}case"reset":{T(G);break}case"init":{n();q("onInit",G.iframe);break}default:{if(Number(G.width)===0&&Number(G.height)===0){z("Unsupported message received ("+G.type+"), this is likely due to the iframe containing a later "+"version of iframe-resizer than the parent page")}else{n()}}}}function $(e){var n=true;if(!l[e]){n=false;z(G.type+" No settings for "+e+". Message was: "+B)}return n}function U(){for(var e in l){A("iFrame requested init",H(e),l[e].iframe,e)}}function J(){if(l[Q]){l[Q].firstRun=false}}var B=e.data,G={},Q=null;if("[iFrameResizerChild]Ready"===B){U()}else if(d()){G=t();Q=G.id;if(l[Q]){l[Q].loaded=true}if(!m()&&$(Q)){k(Q,"Received: "+B);if(M()&&u()){_()}}}else{x(Q,"Ignored: "+B)}}function I(e,n,t){var o=null,i=null;if(l[e]){o=l[e][n];if("function"===typeof o){i=o(t)}else{throw new TypeError(n+" on iFrame["+e+"] is not a function")}}return i}function O(e){var n=e.id;delete l[n]}function S(e){var n=e.id;if(I(n,"onClose",n)===false){k(n,"Close iframe cancelled by onClose event");return}k(n,"Removing iFrame: "+n);try{if(e.parentNode){e.parentNode.removeChild(e)}}catch(e){z(e)}I(n,"onClosed",n);k(n,"--");O(e)}function E(e){if(null===f){f={x:window.pageXOffset===n?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===n?document.documentElement.scrollTop:window.pageYOffset};k(e,"Get page position: "+f.x+","+f.y)}}function N(e){if(null!==f){window.scrollTo(f.x,f.y);k(e,"Set page position: "+f.x+","+f.y);C()}}function C(){f=null}function T(e){function n(){W(e);A("reset","reset",e.iframe,e.id)}k(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame"));E(e.id);R(n,e,"reset")}function W(e){function n(n){if(!e.id){k("undefined","messageData id not set");return}e.iframe.style[n]=e[n]+"px";k(e.id,"IFrame ("+r+") "+n+" set to "+e[n]+"px")}function t(n){if(!i&&"0"===e[n]){i=true;k(r,"Hidden iFrame detected, creating visibility listener");_()}}function o(e){n(e);t(e)}var r=e.iframe.id;if(l[r]){if(l[r].sizeHeight){o("height")}if(l[r].sizeWidth){o("width")}}}function R(e,n,t){if(t!==n.type&&u&&!window.jasmine){k(n.id,"Requesting animation frame");u(e)}else{e()}}function A(e,n,t,o,i){function r(){var i=l[o]&&l[o].targetOrigin;k(o,"["+e+"] Sending msg to iframe["+o+"] ("+n+") targetOrigin: "+i);t.contentWindow.postMessage(a+n,i)}function s(){z(o,"["+e+"] IFrame("+o+") not found")}function c(){if(t&&"contentWindow"in t&&null!==t.contentWindow){r()}else{s()}}function f(){function e(){if(l[o]&&!l[o].loaded&&!u){u=true;z(o,"IFrame has not responded within "+l[o].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.")}}if(!!i&&l[o]&&!!l[o].warningTimeout){l[o].msgTimeout=setTimeout(e,l[o].warningTimeout)}}var u=false;o=o||t.id;if(l[o]){c();f()}}function H(e){return e+":"+l[e].bodyMarginV1+":"+l[e].sizeWidth+":"+l[e].log+":"+l[e].interval+":"+l[e].enablePublicMethods+":"+l[e].autoResize+":"+l[e].bodyMargin+":"+l[e].heightCalculationMethod+":"+l[e].bodyBackground+":"+l[e].bodyPadding+":"+l[e].tolerance+":"+l[e].inPageLinks+":"+l[e].resizeFrom+":"+l[e].widthCalculationMethod+":"+l[e].mouseEvents}function L(e){return typeof e==="number"}function V(e,i){function r(){function n(n){var t=l[F][n];if(Infinity!==t&&0!==t){e.style[n]=L(t)?t+"px":t;k(F,"Set "+n+" = "+e.style[n])}}function t(e){if(l[F]["min"+e]>l[F]["max"+e]){throw new Error("Value for min"+e+" can not be greater than max"+e)}}t("Height");t("Width");n("maxHeight");n("minHeight");n("maxWidth");n("minWidth")}function s(){var e=i&&i.id||h.id+t++;if(null!==document.getElementById(e)){e+=t++}return e}function a(n){if(typeof n!=="string"){throw new TypeError("Invaild id for iFrame. Expected String")}if(""===n){e.id=n=s();o=(i||{}).log;k(n,"Added missing iframe ID: "+n+" ("+e.src+")")}return n}function c(){k(F,"IFrame scrolling "+(l[F]&&l[F].scrolling?"enabled":"disabled")+" for "+F);e.style.overflow=false===(l[F]&&l[F].scrolling)?"hidden":"auto";switch(l[F]&&l[F].scrolling){case"omit":{break}case true:{e.scrolling="yes";break}case false:{e.scrolling="no";break}default:{e.scrolling=l[F]?l[F].scrolling:"no"}}}function f(){if("number"===typeof(l[F]&&l[F].bodyMargin)||"0"===(l[F]&&l[F].bodyMargin)){l[F].bodyMarginV1=l[F].bodyMargin;l[F].bodyMargin=""+l[F].bodyMargin+"px"}}function u(){var n=l[F]&&l[F].firstRun,t=l[F]&&l[F].heightCalculationMethod in d;if(!n&&t){T({iframe:e,height:0,width:0,type:"init"})}}function m(){if(l[F]){l[F].iframe.iFrameResizer={close:S.bind(null,l[F].iframe),removeListeners:O.bind(null,l[F].iframe),resize:A.bind(null,"Window resize","resize",l[F].iframe),moveToAnchor:function(e){A("Move to anchor","moveToAnchor:"+e,l[F].iframe,F)},sendMessage:function(e){e=JSON.stringify(e);A("Send Message","message:"+e,l[F].iframe,F)}}}}function w(t){function o(){A("iFrame.onload",t,e,n,true);u()}function i(n){if(!e.parentNode){return}var t=new n((function(n){n.forEach((function(n){var t=Array.prototype.slice.call(n.removedNodes);t.forEach((function(n){if(n===e){S(e)}}))}))}));t.observe(e.parentNode,{childList:true})}var r=b();if(r){i(r)}g(e,"load",o);A("init",t,e,n,true)}function p(e){if("object"!==typeof e){throw new TypeError("Options is not an object")}}function y(e){for(var n in h){if(Object.prototype.hasOwnProperty.call(h,n)){l[F][n]=Object.prototype.hasOwnProperty.call(e,n)?e[n]:h[n]}}}function v(e){return""===e||null!==e.match(/^(about:blank|javascript:|file:\/\/)/)?"*":e}function j(e){var n=e.split("Callback");if(n.length===2){var t="on"+n[0].charAt(0).toUpperCase()+n[0].slice(1);this[t]=this[e];delete this[e];z(F,"Deprecated: '"+e+"' has been renamed '"+t+"'. The old method will be removed in the next major version.")}}function x(n){n=n||{};l[F]=Object.create(null);l[F].iframe=e;l[F].firstRun=true;l[F].remoteHost=e.src&&e.src.split("/").slice(0,3).join("/");p(n);Object.keys(n).forEach(j,n);y(n);if(l[F]){l[F].targetOrigin=true===l[F].checkOrigin?v(l[F].remoteHost):"*"}}function M(){return F in l&&"iFrameResizer"in e}var F=a(e.id);if(M()){z(F,"Ignored iFrame, already setup.")}else{x(i);c();r();f();w(H(F));m()}}function D(e,n){if(null===m){m=setTimeout((function(){m=null;e()}),n)}}var q={};function P(e,n,t){if(!q[t]){q[t]=setTimeout((function(){q[t]=null;e()}),n)}}function _(){function e(){function e(e){function n(n){return"0px"===(l[e]&&l[e].iframe.style[n])}function t(e){return null!==e.offsetParent}if(l[e]&&t(l[e].iframe)&&(n("height")||n("width"))){A("Visibility change","resize",l[e].iframe,e)}}Object.keys(l).forEach((function(n){e(n)}))}function n(n){k("window","Mutation observed: "+n[0].target+" "+n[0].type);D(e,16)}function t(){var e=document.querySelector("body"),t={attributes:true,attributeOldValue:false,characterData:true,characterDataOldValue:false,childList:true,subtree:true},i=new o(n);i.observe(e,t)}var o=b();if(o){t()}}function $(e){function n(){J("Window "+e,"resize")}k("window","Trigger event: "+e);D(n,16)}function U(){function e(){J("Tab Visible","resize")}if("hidden"!==document.visibilityState){k("document","Trigger event: Visibility change");D(e,16)}}function J(e,n){function t(e){return l[e]&&"parent"===l[e].resizeFrom&&l[e].autoResize&&!l[e].firstRun}Object.keys(l).forEach((function(o){if(t(o)){A(e,n,l[o].iframe,o)}}))}function B(){g(window,"message",F);g(window,"resize",(function(){$("resize")}));g(document,"visibilitychange",U);g(document,"-webkit-visibilitychange",U)}function G(){function e(e,n){function t(){if(!n.tagName){throw new TypeError("Object is not a valid DOM element")}else if("IFRAME"!==n.tagName.toUpperCase()){throw new TypeError("Expected <IFRAME> tag, found <"+n.tagName+">")}}if(n){t();V(n,e);o.push(n)}}function t(e){if(e&&e.enablePublicMethods){z("enablePublicMethods option has been removed, public methods are now always available in the iFrame")}}var o;p();B();return function i(r,s){o=[];t(r);switch(typeof s){case"undefined":case"string":{Array.prototype.forEach.call(document.querySelectorAll(s||"iframe"),e.bind(n,r));break}case"object":{e(r,s);break}default:{throw new TypeError("Unexpected data type ("+typeof s+")")}}return o}}function Q(e){if(!e.fn){x("","Unable to bind to jQuery, it is not fully loaded.")}else if(!e.fn.iFrameResize){e.fn.iFrameResize=function e(n){function t(e,t){V(t,n)}return this.filter("iframe").each(t).end()}}}if(window.jQuery!==n){Q(window.jQuery)}if(typeof n==="function"&&n.amd){n([],G)}else{e.exports=G()}window.iFrameResize=window.iFrameResize||G()})()}));const a={card:{ready:"justifi.card.ready",tokenize:"justifi.card.tokenize",validate:"justifi.card.validate",resize:"justifi.card.resize",styleOverrides:"justifi.card.styleOverrides"},bankAccount:{ready:"justifi.bankAccount.ready",tokenize:"justifi.bankAccount.tokenize",validate:"justifi.bankAccount.validate",resize:"justifi.bankAccount.resize",styleOverrides:"justifi.bankAccount.styleOverrides"}};const c="@justifi/webcomponents";const f="4.5.1";const u="JustiFi Web Components";const d="dist/index.cjs.js";const l="dist/components/index.js";const m="dist/esm/index.mjs";const h="dist/esm/index.mjs";const b="dist/types/index.d.ts";const g="dist/collection/collection-manifest.json";const w={type:"git",url:"git+https://github.com/justifi-tech/web-component-library.git"};const p={registry:"https://registry.npmjs.org"};const y=["dist/","loader/"];const v={build:"npm run build:prod","build:dev":"NODE_ENV=dev stencil build --docs","build:staging":"NODE_ENV=staging stencil build --docs","build:prod":"NODE_ENV=prod stencil build --docs",start:'concurrently --restart-tries 3 -c "bgBlue.bold,bgMagenta.bold,bgGreen.bold" "npm run start-stencil" "npm run storybook"',"start-stencil":"NODE_ENV=dev stencil build --watch --serve --no-open",test:"stencil test --spec","test:watch":"stencil test --spec --watchAll","test:e2e":"stencil test --e2e",generate:"stencil generate",storybook:"NODE_ENV=dev storybook dev -p 6006 --quiet","build-storybook":"storybook build -o ../docs"};const j={"@stencil/core":"^4.0.5",bootstrap:"^5.2.3","date-fns":"^2.29.3","dinero.js":"^1.9.1","iframe-resizer":"^4.3.7",imask:"^7.1.3",rxjs:"^7.8.1","ts-dedent":"^2.2.0",uuid:"^9.0.0",yup:"^1.0.0"};const k={"@babel/preset-env":"^7.21.5","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.21.5","@pxtrn/storybook-addon-docs-stencil":"^6.4.1","@stencil/angular-output-target":"^0.7.1","@stencil/react-output-target":"^0.5.3","@stencil/sass":"^3.0.1","@stencil/store":"^2.0.8","@stencil/vue-output-target":"^0.8.6","@storybook/addon-actions":"^7.0.4","@storybook/addon-essentials":"^7.0.4","@storybook/addon-interactions":"^7.0.4","@storybook/addon-links":"^7.0.4","@storybook/html":"^7.0.4","@storybook/html-webpack5":"^7.0.4","@storybook/jest":"^0.1.0","@storybook/testing-library":"^0.1.0","@types/jest":"27.0.3","@types/node":"^20.1.4","@types/react":"^18.0.37","@types/react-dom":"^18.0.11",concurrently:"^7.6.0",dotenv:"^16.3.1",jest:"^27.4.5","jest-cli":"^27.4.5",puppeteer:"^10.0.0",react:"^18.2.0","react-dom":"^18.2.0","rollup-plugin-replace":"^2.2.0",storybook:"^7.0.4"};const x="MIT";const z="507bac1d941eae6e1f56e185ecd9bc9d22637783";const M={name:c,version:f,description:u,main:d,module:l,es2015:m,es2017:h,types:b,collection:g,"collection:main":"dist/collection/index.js",repository:w,publishConfig:p,files:y,scripts:v,dependencies:j,devDependencies:k,license:x,gitHead:z};const F=()=>{const e=getComputedStyle(document.body);const n={loadGoogleFont:e.getPropertyValue("--jfi-load-google-font"),layout:{fontFamily:e.getPropertyValue("--jfi-layout-font-family"),padding:e.getPropertyValue("--jfi-layout-padding"),formControlSpacingHorizontal:e.getPropertyValue("--jfi-layout-form-control-spacing-x"),formControlSpacingVertical:e.getPropertyValue("--jfi-layout-form-control-spacing-y")},formControl:{backgroundColor:e.getPropertyValue("--jfi-form-control-background-color"),borderColor:e.getPropertyValue("--jfi-form-control-border-color"),borderColorFocus:e.getPropertyValue("--jfi-form-control-border-color-focus"),borderColorError:e.getPropertyValue("--jfi-form-control-border-color-error"),borderWidth:e.getPropertyValue("--jfi-form-control-border-width"),borderBottomWidth:e.getPropertyValue("--jfi-form-control-border-bottom-width"),borderLeftWidth:e.getPropertyValue("--jfi-form-control-border-left-width"),borderRightWidth:e.getPropertyValue("--jfi-form-control-border-right-width"),borderTopWidth:e.getPropertyValue("--jfi-form-control-border-top-width"),borderRadius:e.getPropertyValue("--jfi-form-control-border-radius"),borderStyle:e.getPropertyValue("--jfi-form-control-border-style"),boxShadow:e.getPropertyValue("--jfi-form-control-box-shadow"),boxShadowError:e.getPropertyValue("--jfi-form-control-box-shadow-error"),boxShadowErrorFocus:e.getPropertyValue("--jfi-form-control-box-shadow-error-focus"),boxShadowFocus:e.getPropertyValue("--jfi-form-control-box-shadow-focus"),color:e.getPropertyValue("--jfi-form-control-color"),colorFocus:e.getPropertyValue("--jfi-form-control-color-focus"),fontSize:e.getPropertyValue("--jfi-form-control-font-size"),fontWeight:e.getPropertyValue("--jfi-form-control-font-weight"),lineHeight:e.getPropertyValue("--jfi-form-control-line-height"),margin:e.getPropertyValue("--jfi-form-control-margin"),padding:e.getPropertyValue("--jfi-form-control-padding")},formLabel:{color:e.getPropertyValue("--jfi-form-label-color"),fontFamily:e.getPropertyValue("--jfi-form-label-font-family"),fontSize:e.getPropertyValue("--jfi-form-label-font-size"),fontWeight:e.getPropertyValue("--jfi-form-label-font-weight"),margin:e.getPropertyValue("--jfi-form-label-margin")},errorMessage:{color:e.getPropertyValue("--jfi-error-message-color"),margin:e.getPropertyValue("--jfi-error-message-margin"),fontSize:e.getPropertyValue("--jfi-error-message-font-size")}};return n};const I=":host{display:block}justifi-payment-method-form iframe{border:none;width:100%}iframe{width:1px;min-width:100%}";const O=class{constructor(t){e(this,t);this.paymentMethodFormReady=n(this,"paymentMethodFormReady",7);this.paymentMethodFormTokenize=n(this,"paymentMethodFormTokenize",7);this.computedTheme=F();this.paymentMethodFormType=undefined;this.paymentMethodFormValidationMode=undefined;this.iframeOrigin=undefined;this.singleLine=undefined}connectedCallback(){window.addEventListener("message",this.dispatchMessageEvent.bind(this))}disconnectedCallback(){window.removeEventListener("message",this.dispatchMessageEvent.bind(this))}sendStyleOverrides(){if(this.computedTheme){this.postMessage(a[this.paymentMethodFormType].styleOverrides,{styleOverrides:this.computedTheme})}}dispatchMessageEvent(e){const n=e.data;const t=n.eventType;const o=n.data;if(t===a[this.paymentMethodFormType].ready){this.paymentMethodFormReady.emit(o)}}postMessage(e,n){var t,o;(o=(t=this.iframeElement)===null||t===void 0?void 0:t.contentWindow)===null||o===void 0?void 0:o.postMessage(Object.assign({eventType:e},n),this.iframeOrigin||""||"*")}async resize(){this.postMessage(a[this.paymentMethodFormType].resize)}async postMessageWithResponseListener(e,n){return new Promise((t=>{const o=n=>{if(n.data.eventType!==e)return;window.removeEventListener("message",o);t(n.data.data)};window.addEventListener("message",o);this.postMessage(e,n)}))}async tokenize(e,n,t){const o=a[this.paymentMethodFormType].tokenize;const i={clientId:e,componentVersion:M.version,paymentMethodMetadata:n,account:t};return this.postMessageWithResponseListener(o,i)}async validate(){return this.postMessageWithResponseListener(a[this.paymentMethodFormType].validate)}composeQueryParams(e){const n=e.map((n=>{if(n===e[0]){return n=`?${n}`}else{return n=`&${n}`}}));return n.join("")}getIframeSrc(){const e=this.iframeOrigin||""||"https://js.justifi.ai/v2";let n=`${e}/${this.paymentMethodFormType}`;let t=[];if(this.paymentMethodFormValidationMode){t.push(`validationMode=${this.paymentMethodFormValidationMode}`)}if(this.singleLine){t.push(`singleLine=${this.singleLine}`)}return n.concat(this.composeQueryParams(t))}render(){return t(o,null,t("iframe",{id:`justifi-payment-method-form-${this.paymentMethodFormType}`,src:this.getIframeSrc(),ref:e=>{this.iframeElement=e},onLoad:()=>{s({log:true},this.iframeElement);this.sendStyleOverrides()}}))}};O.style=I;export{O as justifi_payment_method_form};
2
+ //# sourceMappingURL=p-f72c3084.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["undefined","window","count","logEnabled","hiddenCheckEnabled","msgHeader","msgHeaderLen","length","msgId","msgIdLen","pagePosition","requestAnimationFrame","resetRequiredMethods","Object","freeze","max","scroll","bodyScroll","documentElementScroll","settings","timer","defaults","autoResize","bodyBackground","bodyMargin","bodyMarginV1","bodyPadding","checkOrigin","inPageLinks","enablePublicMethods","heightCalculationMethod","id","interval","log","maxHeight","Infinity","maxWidth","minHeight","minWidth","mouseEvents","resizeFrom","scrolling","sizeHeight","sizeWidth","warningTimeout","tolerance","widthCalculationMethod","onClose","onClosed","onInit","onMessage","warn","onMouseEnter","onMouseLeave","onResized","onScroll","getMutationObserver","MutationObserver","WebKitMutationObserver","MozMutationObserver","addEventListener","el","evt","func","removeEventListener","setupRequestAnimationFrame","vendors","x","bind","getMyID","iframeId","retStr","top","self","parentIFrame","getId","formatLogHeader","isLogEnabled","msg","output","info","type","enabled","console","iFrameListener","event","resizeIFrame","resize","setSize","messageData","setPagePosition","on","ensureInRange","syncResize","processMsg","data","slice","split","height","parseInt","iframe","compStyle","getComputedStyle","getPaddingEnds","getBorderEnds","width","boxSizing","paddingTop","bot","paddingBottom","borderTopWidth","borderBottomWidth","Dimension","Number","min","dimension","toLowerCase","size","isMessageFromIFrame","checkAllowedOrigin","checkList","i","retCode","origin","checkSingle","remoteHost","constructor","Array","Error","isMessageForUs","isMessageFromMetaParent","true","false","getMsgBody","offset","indexOf","forwardMsgFromIFrame","msgBody","message","JSON","parse","getPageInfo","bodyPosition","document","body","getBoundingClientRect","iFramePosition","stringify","iframeHeight","iframeWidth","clientHeight","Math","documentElement","innerHeight","clientWidth","innerWidth","offsetTop","offsetLeft","left","scrollTop","pageYOffset","scrollLeft","pageXOffset","documentHeight","documentWidth","windowHeight","windowWidth","sendPageInfoToIframe","debouncedTrigger","trigger","debounceFrameEvents","startPageInfoMonitor","setListener","sendPageInfo","stop","forEach","start","stopPageInfo","stopPageInfoMonitor","checkIFrameExists","retBool","getElementPosition","target","getPagePosition","floor","y","scrollRequestFromChild","addOffset","reposition","newPosition","scrollTo","calcOffset","scrollParent","unsetPagePosition","findTarget","location","jumpToTarget","jumpPosition","hash","jumpToParent","moveToAnchor","hashData","decodeURIComponent","getElementById","getElementsByName","onMouse","mousePos","screenX","screenY","funcName","val","chkEvent","actionMsg","firstRun","closeIFrame","resetIFrame","hasSettings","iFrameReadyMsgReceived","createOutgoingMsg","loaded","retVal","TypeError","removeIframeListeners","parentNode","removeChild","error","reset","setDimension","style","chkZero","fixHiddenIFrames","processDimension","doNotSync","jasmine","calleeMsg","noResponseWarning","postMessageToIFrame","targetOrigin","contentWindow","postMessage","iFrameNotFound","chkAndSend","warnOnNoResponse","warning","errorShown","msgTimeout","setTimeout","isNumber","value","setupIFrame","options","setLimits","addStyle","styleValue","chkMinMax","newId","ensureHasId","src","setScrolling","overflow","setupBodyMarginValues","checkReset","resetRequertMethod","setupIFrameObject","iFrameResizer","close","removeListeners","anchor","sendMessage","init","iFrameLoaded","createDestroyObserver","destroyObserver","mutations","mutation","removedNodes","prototype","call","removedNode","observe","childList","checkOptions","copyOptions","option","hasOwnProperty","getTargetOrigin","match","depricate","key","splitName","name","charAt","toUpperCase","this","processOptions","create","join","keys","beenHere","debouce","fn","time","frameTimer","frameId","checkIFrames","checkIFrame","settingId","chkDimension","isVisible","offsetParent","mutationObserved","createMutationObserver","querySelector","config","attributes","attributeOldValue","characterData","characterDataOldValue","subtree","observer","resizeIFrames","sendTriggerMsg","tabVisible","visibilityState","eventName","isIFrameResizeEnabled","setupEventListeners","factory","element","chkType","tagName","iFrames","push","warnDeprecatedOptions","iFrameResizeF","querySelectorAll","createJQueryPublicMethod","$","iFrameResize","$iFrameResizeF","index","filter","each","end","jQuery","define","amd","module","exports","MessageEventType","card","ready","tokenize","validate","styleOverrides","bankAccount","getComputedTheme","computedStyles","computedTheme","loadGoogleFont","getPropertyValue","layout","fontFamily","padding","formControlSpacingHorizontal","formControlSpacingVertical","formControl","backgroundColor","borderColor","borderColorFocus","borderColorError","borderWidth","borderLeftWidth","borderRightWidth","borderRadius","borderStyle","boxShadow","boxShadowError","boxShadowErrorFocus","boxShadowFocus","color","colorFocus","fontSize","fontWeight","lineHeight","margin","formLabel","errorMessage","paymentMethodFormCss","PaymentMethodForm","connectedCallback","dispatchMessageEvent","disconnectedCallback","sendStyleOverrides","paymentMethodFormType","messageEvent","messagePayload","messageType","eventType","paymentMethodFormReady","emit","payload","_b","_a","iframeElement","assign","iframeOrigin","postMessageWithResponseListener","Promise","resolve","responseListener","clientId","paymentMethodMetadata","account","componentVersion","packageJson","version","composeQueryParams","values","queryParams","map","getIframeSrc","iframeSrc","paramsList","paymentMethodFormValidationMode","singleLine","concat","render","h","Host","ref","onLoad"],"sources":["../node_modules/iframe-resizer/js/iframeResizer.js","src/components/payment-method-form/message-event-types.ts","src/components/payment-method-form/get-computed-theme.ts","src/components/payment-method-form/payment-method-form.css?tag=justifi-payment-method-form","src/components/payment-method-form/payment-method-form.tsx"],"sourcesContent":["/*\n * File: iframeResizer.js\n * Desc: Force iframes to size to content.\n * Requires: iframeResizer.contentWindow.js to be loaded into the target frame.\n * Doc: https://github.com/davidjbradshaw/iframe-resizer\n * Author: David J. Bradshaw - dave@bradshaw.net\n * Contributor: Jure Mav - jure.mav@gmail.com\n * Contributor: Reed Dadoune - reed@dadoune.com\n */\n\n// eslint-disable-next-line sonarjs/cognitive-complexity, no-shadow-restricted-names\n;(function (undefined) {\n if (typeof window === 'undefined') return // don't run for server side render\n\n var count = 0,\n logEnabled = false,\n hiddenCheckEnabled = false,\n msgHeader = 'message',\n msgHeaderLen = msgHeader.length,\n msgId = '[iFrameSizer]', // Must match iframe msg ID\n msgIdLen = msgId.length,\n pagePosition = null,\n requestAnimationFrame = window.requestAnimationFrame,\n resetRequiredMethods = Object.freeze({\n max: 1,\n scroll: 1,\n bodyScroll: 1,\n documentElementScroll: 1\n }),\n settings = {},\n timer = null,\n defaults = Object.freeze({\n autoResize: true,\n bodyBackground: null,\n bodyMargin: null,\n bodyMarginV1: 8,\n bodyPadding: null,\n checkOrigin: true,\n inPageLinks: false,\n enablePublicMethods: true,\n heightCalculationMethod: 'bodyOffset',\n id: 'iFrameResizer',\n interval: 32,\n log: false,\n maxHeight: Infinity,\n maxWidth: Infinity,\n minHeight: 0,\n minWidth: 0,\n mouseEvents: true,\n resizeFrom: 'parent',\n scrolling: false,\n sizeHeight: true,\n sizeWidth: false,\n warningTimeout: 5000,\n tolerance: 0,\n widthCalculationMethod: 'scroll',\n onClose: function () {\n return true\n },\n onClosed: function () {},\n onInit: function () {},\n onMessage: function () {\n warn('onMessage function not defined')\n },\n onMouseEnter: function () {},\n onMouseLeave: function () {},\n onResized: function () {},\n onScroll: function () {\n return true\n }\n })\n\n function getMutationObserver() {\n return (\n window.MutationObserver ||\n window.WebKitMutationObserver ||\n window.MozMutationObserver\n )\n }\n\n function addEventListener(el, evt, func) {\n el.addEventListener(evt, func, false)\n }\n\n function removeEventListener(el, evt, func) {\n el.removeEventListener(evt, func, false)\n }\n\n function setupRequestAnimationFrame() {\n var vendors = ['moz', 'webkit', 'o', 'ms']\n var x\n\n // Remove vendor prefixing if prefixed and break early if not\n for (x = 0; x < vendors.length && !requestAnimationFrame; x += 1) {\n requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame']\n }\n\n if (requestAnimationFrame) {\n // Firefox extension content-scripts have a globalThis object that is not the same as window.\n // Binding `requestAnimationFrame` to window allows the function to work and prevents errors\n // being thrown when run in that context, and should be a no-op in every other context.\n requestAnimationFrame = requestAnimationFrame.bind(window)\n } else {\n log('setup', 'RequestAnimationFrame not supported')\n }\n }\n\n function getMyID(iframeId) {\n var retStr = 'Host page: ' + iframeId\n\n if (window.top !== window.self) {\n retStr =\n window.parentIFrame && window.parentIFrame.getId\n ? window.parentIFrame.getId() + ': ' + iframeId\n : 'Nested host page: ' + iframeId\n }\n\n return retStr\n }\n\n function formatLogHeader(iframeId) {\n return msgId + '[' + getMyID(iframeId) + ']'\n }\n\n function isLogEnabled(iframeId) {\n return settings[iframeId] ? settings[iframeId].log : logEnabled\n }\n\n function log(iframeId, msg) {\n output('log', iframeId, msg, isLogEnabled(iframeId))\n }\n\n function info(iframeId, msg) {\n output('info', iframeId, msg, isLogEnabled(iframeId))\n }\n\n function warn(iframeId, msg) {\n output('warn', iframeId, msg, true)\n }\n\n function output(type, iframeId, msg, enabled) {\n if (true === enabled && 'object' === typeof window.console) {\n // eslint-disable-next-line no-console\n console[type](formatLogHeader(iframeId), msg)\n }\n }\n\n function iFrameListener(event) {\n function resizeIFrame() {\n function resize() {\n setSize(messageData)\n setPagePosition(iframeId)\n on('onResized', messageData)\n }\n\n ensureInRange('Height')\n ensureInRange('Width')\n\n syncResize(resize, messageData, 'init')\n }\n\n function processMsg() {\n var data = msg.slice(msgIdLen).split(':')\n var height = data[1] ? parseInt(data[1], 10) : 0\n var iframe = settings[data[0]] && settings[data[0]].iframe\n var compStyle = getComputedStyle(iframe)\n\n return {\n iframe: iframe,\n id: data[0],\n height: height + getPaddingEnds(compStyle) + getBorderEnds(compStyle),\n width: data[2],\n type: data[3]\n }\n }\n\n function getPaddingEnds(compStyle) {\n if (compStyle.boxSizing !== 'border-box') {\n return 0\n }\n var top = compStyle.paddingTop ? parseInt(compStyle.paddingTop, 10) : 0\n var bot = compStyle.paddingBottom\n ? parseInt(compStyle.paddingBottom, 10)\n : 0\n return top + bot\n }\n\n function getBorderEnds(compStyle) {\n if (compStyle.boxSizing !== 'border-box') {\n return 0\n }\n var top = compStyle.borderTopWidth\n ? parseInt(compStyle.borderTopWidth, 10)\n : 0\n var bot = compStyle.borderBottomWidth\n ? parseInt(compStyle.borderBottomWidth, 10)\n : 0\n return top + bot\n }\n\n function ensureInRange(Dimension) {\n var max = Number(settings[iframeId]['max' + Dimension]),\n min = Number(settings[iframeId]['min' + Dimension]),\n dimension = Dimension.toLowerCase(),\n size = Number(messageData[dimension])\n\n log(iframeId, 'Checking ' + dimension + ' is in range ' + min + '-' + max)\n\n if (size < min) {\n size = min\n log(iframeId, 'Set ' + dimension + ' to min value')\n }\n\n if (size > max) {\n size = max\n log(iframeId, 'Set ' + dimension + ' to max value')\n }\n\n messageData[dimension] = '' + size\n }\n\n function isMessageFromIFrame() {\n function checkAllowedOrigin() {\n function checkList() {\n var i = 0,\n retCode = false\n\n log(\n iframeId,\n 'Checking connection is from allowed list of origins: ' +\n checkOrigin\n )\n\n for (; i < checkOrigin.length; i++) {\n if (checkOrigin[i] === origin) {\n retCode = true\n break\n }\n }\n return retCode\n }\n\n function checkSingle() {\n var remoteHost = settings[iframeId] && settings[iframeId].remoteHost\n log(iframeId, 'Checking connection is from: ' + remoteHost)\n return origin === remoteHost\n }\n\n return checkOrigin.constructor === Array ? checkList() : checkSingle()\n }\n\n var origin = event.origin,\n checkOrigin = settings[iframeId] && settings[iframeId].checkOrigin\n\n if (checkOrigin && '' + origin !== 'null' && !checkAllowedOrigin()) {\n throw new Error(\n 'Unexpected message received from: ' +\n origin +\n ' for ' +\n messageData.iframe.id +\n '. Message was: ' +\n event.data +\n '. This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.'\n )\n }\n\n return true\n }\n\n function isMessageForUs() {\n return (\n msgId === ('' + msg).slice(0, msgIdLen) &&\n msg.slice(msgIdLen).split(':')[0] in settings\n ) // ''+Protects against non-string msg\n }\n\n function isMessageFromMetaParent() {\n // Test if this message is from a parent above us. This is an ugly test, however, updating\n // the message format would break backwards compatibility.\n var retCode = messageData.type in { true: 1, false: 1, undefined: 1 }\n\n if (retCode) {\n log(iframeId, 'Ignoring init message from meta parent page')\n }\n\n return retCode\n }\n\n function getMsgBody(offset) {\n return msg.slice(msg.indexOf(':') + msgHeaderLen + offset)\n }\n\n function forwardMsgFromIFrame(msgBody) {\n log(\n iframeId,\n 'onMessage passed: {iframe: ' +\n messageData.iframe.id +\n ', message: ' +\n msgBody +\n '}'\n )\n\n on('onMessage', {\n iframe: messageData.iframe,\n message: JSON.parse(msgBody)\n })\n\n log(iframeId, '--')\n }\n\n function getPageInfo() {\n var bodyPosition = document.body.getBoundingClientRect(),\n iFramePosition = messageData.iframe.getBoundingClientRect()\n\n return JSON.stringify({\n iframeHeight: iFramePosition.height,\n iframeWidth: iFramePosition.width,\n clientHeight: Math.max(\n document.documentElement.clientHeight,\n window.innerHeight || 0\n ),\n clientWidth: Math.max(\n document.documentElement.clientWidth,\n window.innerWidth || 0\n ),\n offsetTop: parseInt(iFramePosition.top - bodyPosition.top, 10),\n offsetLeft: parseInt(iFramePosition.left - bodyPosition.left, 10),\n scrollTop: window.pageYOffset,\n scrollLeft: window.pageXOffset,\n documentHeight: document.documentElement.clientHeight,\n documentWidth: document.documentElement.clientWidth,\n windowHeight: window.innerHeight,\n windowWidth: window.innerWidth\n })\n }\n\n function sendPageInfoToIframe(iframe, iframeId) {\n function debouncedTrigger() {\n trigger('Send Page Info', 'pageInfo:' + getPageInfo(), iframe, iframeId)\n }\n debounceFrameEvents(debouncedTrigger, 32, iframeId)\n }\n\n function startPageInfoMonitor() {\n function setListener(type, func) {\n function sendPageInfo() {\n if (settings[id]) {\n sendPageInfoToIframe(settings[id].iframe, id)\n } else {\n stop()\n }\n }\n\n ;['scroll', 'resize'].forEach(function (evt) {\n log(id, type + evt + ' listener for sendPageInfo')\n func(window, evt, sendPageInfo)\n })\n }\n\n function stop() {\n setListener('Remove ', removeEventListener)\n }\n\n function start() {\n setListener('Add ', addEventListener)\n }\n\n var id = iframeId // Create locally scoped copy of iFrame ID\n\n start()\n\n if (settings[id]) {\n settings[id].stopPageInfo = stop\n }\n }\n\n function stopPageInfoMonitor() {\n if (settings[iframeId] && settings[iframeId].stopPageInfo) {\n settings[iframeId].stopPageInfo()\n delete settings[iframeId].stopPageInfo\n }\n }\n\n function checkIFrameExists() {\n var retBool = true\n\n if (null === messageData.iframe) {\n warn(iframeId, 'IFrame (' + messageData.id + ') not found')\n retBool = false\n }\n return retBool\n }\n\n function getElementPosition(target) {\n var iFramePosition = target.getBoundingClientRect()\n\n getPagePosition(iframeId)\n\n return {\n x: Math.floor(Number(iFramePosition.left) + Number(pagePosition.x)),\n y: Math.floor(Number(iFramePosition.top) + Number(pagePosition.y))\n }\n }\n\n function scrollRequestFromChild(addOffset) {\n /* istanbul ignore next */ // Not testable in Karma\n function reposition() {\n pagePosition = newPosition\n scrollTo()\n log(iframeId, '--')\n }\n\n function calcOffset() {\n return {\n x: Number(messageData.width) + offset.x,\n y: Number(messageData.height) + offset.y\n }\n }\n\n function scrollParent() {\n if (window.parentIFrame) {\n window.parentIFrame['scrollTo' + (addOffset ? 'Offset' : '')](\n newPosition.x,\n newPosition.y\n )\n } else {\n warn(\n iframeId,\n 'Unable to scroll to requested position, window.parentIFrame not found'\n )\n }\n }\n\n var offset = addOffset\n ? getElementPosition(messageData.iframe)\n : { x: 0, y: 0 },\n newPosition = calcOffset()\n\n log(\n iframeId,\n 'Reposition requested from iFrame (offset x:' +\n offset.x +\n ' y:' +\n offset.y +\n ')'\n )\n\n if (window.top === window.self) {\n reposition()\n } else {\n scrollParent()\n }\n }\n\n function scrollTo() {\n if (false === on('onScroll', pagePosition)) {\n unsetPagePosition()\n } else {\n setPagePosition(iframeId)\n }\n }\n\n function findTarget(location) {\n function jumpToTarget() {\n var jumpPosition = getElementPosition(target)\n\n log(\n iframeId,\n 'Moving to in page link (#' +\n hash +\n ') at x: ' +\n jumpPosition.x +\n ' y: ' +\n jumpPosition.y\n )\n pagePosition = {\n x: jumpPosition.x,\n y: jumpPosition.y\n }\n\n scrollTo()\n log(iframeId, '--')\n }\n\n function jumpToParent() {\n if (window.parentIFrame) {\n window.parentIFrame.moveToAnchor(hash)\n } else {\n log(\n iframeId,\n 'In page link #' +\n hash +\n ' not found and window.parentIFrame not found'\n )\n }\n }\n\n var hash = location.split('#')[1] || '',\n hashData = decodeURIComponent(hash),\n target =\n document.getElementById(hashData) ||\n document.getElementsByName(hashData)[0]\n\n if (target) {\n jumpToTarget()\n } else if (window.top === window.self) {\n log(iframeId, 'In page link #' + hash + ' not found')\n } else {\n jumpToParent()\n }\n }\n\n function onMouse(event) {\n var mousePos = {}\n\n if (Number(messageData.width) === 0 && Number(messageData.height) === 0) {\n var data = getMsgBody(9).split(':')\n mousePos = {\n x: data[1],\n y: data[0]\n }\n } else {\n mousePos = {\n x: messageData.width,\n y: messageData.height\n }\n }\n\n on(event, {\n iframe: messageData.iframe,\n screenX: Number(mousePos.x),\n screenY: Number(mousePos.y),\n type: messageData.type\n })\n }\n\n function on(funcName, val) {\n return chkEvent(iframeId, funcName, val)\n }\n\n function actionMsg() {\n if (settings[iframeId] && settings[iframeId].firstRun) firstRun()\n\n switch (messageData.type) {\n case 'close': {\n closeIFrame(messageData.iframe)\n break\n }\n\n case 'message': {\n forwardMsgFromIFrame(getMsgBody(6))\n break\n }\n\n case 'mouseenter': {\n onMouse('onMouseEnter')\n break\n }\n\n case 'mouseleave': {\n onMouse('onMouseLeave')\n break\n }\n\n case 'autoResize': {\n settings[iframeId].autoResize = JSON.parse(getMsgBody(9))\n break\n }\n\n case 'scrollTo': {\n scrollRequestFromChild(false)\n break\n }\n\n case 'scrollToOffset': {\n scrollRequestFromChild(true)\n break\n }\n\n case 'pageInfo': {\n sendPageInfoToIframe(\n settings[iframeId] && settings[iframeId].iframe,\n iframeId\n )\n startPageInfoMonitor()\n break\n }\n\n case 'pageInfoStop': {\n stopPageInfoMonitor()\n break\n }\n\n case 'inPageLink': {\n findTarget(getMsgBody(9))\n break\n }\n\n case 'reset': {\n resetIFrame(messageData)\n break\n }\n\n case 'init': {\n resizeIFrame()\n on('onInit', messageData.iframe)\n break\n }\n\n default: {\n if (\n Number(messageData.width) === 0 &&\n Number(messageData.height) === 0\n ) {\n warn(\n 'Unsupported message received (' +\n messageData.type +\n '), this is likely due to the iframe containing a later ' +\n 'version of iframe-resizer than the parent page'\n )\n } else {\n resizeIFrame()\n }\n }\n }\n }\n\n function hasSettings(iframeId) {\n var retBool = true\n\n if (!settings[iframeId]) {\n retBool = false\n warn(\n messageData.type +\n ' No settings for ' +\n iframeId +\n '. Message was: ' +\n msg\n )\n }\n\n return retBool\n }\n\n function iFrameReadyMsgReceived() {\n // eslint-disable-next-line no-restricted-syntax, guard-for-in\n for (var iframeId in settings) {\n trigger(\n 'iFrame requested init',\n createOutgoingMsg(iframeId),\n settings[iframeId].iframe,\n iframeId\n )\n }\n }\n\n function firstRun() {\n if (settings[iframeId]) {\n settings[iframeId].firstRun = false\n }\n }\n\n var msg = event.data,\n messageData = {},\n iframeId = null\n\n if ('[iFrameResizerChild]Ready' === msg) {\n iFrameReadyMsgReceived()\n } else if (isMessageForUs()) {\n messageData = processMsg()\n iframeId = messageData.id\n if (settings[iframeId]) {\n settings[iframeId].loaded = true\n }\n\n if (!isMessageFromMetaParent() && hasSettings(iframeId)) {\n log(iframeId, 'Received: ' + msg)\n\n if (checkIFrameExists() && isMessageFromIFrame()) {\n actionMsg()\n }\n }\n } else {\n info(iframeId, 'Ignored: ' + msg)\n }\n }\n\n function chkEvent(iframeId, funcName, val) {\n var func = null,\n retVal = null\n\n if (settings[iframeId]) {\n func = settings[iframeId][funcName]\n\n if ('function' === typeof func) {\n retVal = func(val)\n } else {\n throw new TypeError(\n funcName + ' on iFrame[' + iframeId + '] is not a function'\n )\n }\n }\n\n return retVal\n }\n\n function removeIframeListeners(iframe) {\n var iframeId = iframe.id\n delete settings[iframeId]\n }\n\n function closeIFrame(iframe) {\n var iframeId = iframe.id\n if (chkEvent(iframeId, 'onClose', iframeId) === false) {\n log(iframeId, 'Close iframe cancelled by onClose event')\n return\n }\n log(iframeId, 'Removing iFrame: ' + iframeId)\n\n try {\n // Catch race condition error with React\n if (iframe.parentNode) {\n iframe.parentNode.removeChild(iframe)\n }\n } catch (error) {\n warn(error)\n }\n\n chkEvent(iframeId, 'onClosed', iframeId)\n log(iframeId, '--')\n removeIframeListeners(iframe)\n }\n\n function getPagePosition(iframeId) {\n if (null === pagePosition) {\n pagePosition = {\n x:\n window.pageXOffset === undefined\n ? document.documentElement.scrollLeft\n : window.pageXOffset,\n y:\n window.pageYOffset === undefined\n ? document.documentElement.scrollTop\n : window.pageYOffset\n }\n log(\n iframeId,\n 'Get page position: ' + pagePosition.x + ',' + pagePosition.y\n )\n }\n }\n\n function setPagePosition(iframeId) {\n if (null !== pagePosition) {\n window.scrollTo(pagePosition.x, pagePosition.y)\n log(\n iframeId,\n 'Set page position: ' + pagePosition.x + ',' + pagePosition.y\n )\n unsetPagePosition()\n }\n }\n\n function unsetPagePosition() {\n pagePosition = null\n }\n\n function resetIFrame(messageData) {\n function reset() {\n setSize(messageData)\n trigger('reset', 'reset', messageData.iframe, messageData.id)\n }\n\n log(\n messageData.id,\n 'Size reset requested by ' +\n ('init' === messageData.type ? 'host page' : 'iFrame')\n )\n getPagePosition(messageData.id)\n syncResize(reset, messageData, 'reset')\n }\n\n function setSize(messageData) {\n function setDimension(dimension) {\n if (!messageData.id) {\n log('undefined', 'messageData id not set')\n return\n }\n messageData.iframe.style[dimension] = messageData[dimension] + 'px'\n log(\n messageData.id,\n 'IFrame (' +\n iframeId +\n ') ' +\n dimension +\n ' set to ' +\n messageData[dimension] +\n 'px'\n )\n }\n\n function chkZero(dimension) {\n // FireFox sets dimension of hidden iFrames to zero.\n // So if we detect that set up an event to check for\n // when iFrame becomes visible.\n\n /* istanbul ignore next */ // Not testable in PhantomJS\n if (!hiddenCheckEnabled && '0' === messageData[dimension]) {\n hiddenCheckEnabled = true\n log(iframeId, 'Hidden iFrame detected, creating visibility listener')\n fixHiddenIFrames()\n }\n }\n\n function processDimension(dimension) {\n setDimension(dimension)\n chkZero(dimension)\n }\n\n var iframeId = messageData.iframe.id\n\n if (settings[iframeId]) {\n if (settings[iframeId].sizeHeight) {\n processDimension('height')\n }\n if (settings[iframeId].sizeWidth) {\n processDimension('width')\n }\n }\n }\n\n function syncResize(func, messageData, doNotSync) {\n /* istanbul ignore if */ // Not testable in PhantomJS\n if (\n doNotSync !== messageData.type &&\n requestAnimationFrame &&\n // including check for jasmine because had trouble getting spy to work in unit test using requestAnimationFrame\n !window.jasmine\n ) {\n log(messageData.id, 'Requesting animation frame')\n requestAnimationFrame(func)\n } else {\n func()\n }\n }\n\n function trigger(calleeMsg, msg, iframe, id, noResponseWarning) {\n function postMessageToIFrame() {\n var target = settings[id] && settings[id].targetOrigin\n log(\n id,\n '[' +\n calleeMsg +\n '] Sending msg to iframe[' +\n id +\n '] (' +\n msg +\n ') targetOrigin: ' +\n target\n )\n iframe.contentWindow.postMessage(msgId + msg, target)\n }\n\n function iFrameNotFound() {\n warn(id, '[' + calleeMsg + '] IFrame(' + id + ') not found')\n }\n\n function chkAndSend() {\n if (\n iframe &&\n 'contentWindow' in iframe &&\n null !== iframe.contentWindow\n ) {\n // Null test for PhantomJS\n postMessageToIFrame()\n } else {\n iFrameNotFound()\n }\n }\n\n function warnOnNoResponse() {\n function warning() {\n if (settings[id] && !settings[id].loaded && !errorShown) {\n errorShown = true\n warn(\n id,\n 'IFrame has not responded within ' +\n settings[id].warningTimeout / 1000 +\n ' 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.'\n )\n }\n }\n\n if (\n !!noResponseWarning &&\n settings[id] &&\n !!settings[id].warningTimeout\n ) {\n settings[id].msgTimeout = setTimeout(\n warning,\n settings[id].warningTimeout\n )\n }\n }\n\n var errorShown = false\n\n id = id || iframe.id\n\n if (settings[id]) {\n chkAndSend()\n warnOnNoResponse()\n }\n }\n\n function createOutgoingMsg(iframeId) {\n return (\n iframeId +\n ':' +\n settings[iframeId].bodyMarginV1 +\n ':' +\n settings[iframeId].sizeWidth +\n ':' +\n settings[iframeId].log +\n ':' +\n settings[iframeId].interval +\n ':' +\n settings[iframeId].enablePublicMethods +\n ':' +\n settings[iframeId].autoResize +\n ':' +\n settings[iframeId].bodyMargin +\n ':' +\n settings[iframeId].heightCalculationMethod +\n ':' +\n settings[iframeId].bodyBackground +\n ':' +\n settings[iframeId].bodyPadding +\n ':' +\n settings[iframeId].tolerance +\n ':' +\n settings[iframeId].inPageLinks +\n ':' +\n settings[iframeId].resizeFrom +\n ':' +\n settings[iframeId].widthCalculationMethod +\n ':' +\n settings[iframeId].mouseEvents\n )\n }\n\n function isNumber(value) {\n return typeof value === 'number'\n }\n\n function setupIFrame(iframe, options) {\n function setLimits() {\n function addStyle(style) {\n var styleValue = settings[iframeId][style]\n if (Infinity !== styleValue && 0 !== styleValue) {\n iframe.style[style] = isNumber(styleValue)\n ? styleValue + 'px'\n : styleValue\n log(iframeId, 'Set ' + style + ' = ' + iframe.style[style])\n }\n }\n\n function chkMinMax(dimension) {\n if (\n settings[iframeId]['min' + dimension] >\n settings[iframeId]['max' + dimension]\n ) {\n throw new Error(\n 'Value for min' +\n dimension +\n ' can not be greater than max' +\n dimension\n )\n }\n }\n\n chkMinMax('Height')\n chkMinMax('Width')\n\n addStyle('maxHeight')\n addStyle('minHeight')\n addStyle('maxWidth')\n addStyle('minWidth')\n }\n\n function newId() {\n var id = (options && options.id) || defaults.id + count++\n if (null !== document.getElementById(id)) {\n id += count++\n }\n return id\n }\n\n function ensureHasId(iframeId) {\n if (typeof iframeId !== 'string') {\n throw new TypeError('Invaild id for iFrame. Expected String')\n }\n\n if ('' === iframeId) {\n // eslint-disable-next-line no-multi-assign\n iframe.id = iframeId = newId()\n logEnabled = (options || {}).log\n log(\n iframeId,\n 'Added missing iframe ID: ' + iframeId + ' (' + iframe.src + ')'\n )\n }\n\n return iframeId\n }\n\n function setScrolling() {\n log(\n iframeId,\n 'IFrame scrolling ' +\n (settings[iframeId] && settings[iframeId].scrolling\n ? 'enabled'\n : 'disabled') +\n ' for ' +\n iframeId\n )\n iframe.style.overflow =\n false === (settings[iframeId] && settings[iframeId].scrolling)\n ? 'hidden'\n : 'auto'\n switch (settings[iframeId] && settings[iframeId].scrolling) {\n case 'omit': {\n break\n }\n\n case true: {\n iframe.scrolling = 'yes'\n break\n }\n\n case false: {\n iframe.scrolling = 'no'\n break\n }\n\n default: {\n iframe.scrolling = settings[iframeId]\n ? settings[iframeId].scrolling\n : 'no'\n }\n }\n }\n\n // The V1 iFrame script expects an int, where as in V2 expects a CSS\n // string value such as '1px 3em', so if we have an int for V2, set V1=V2\n // and then convert V2 to a string PX value.\n function setupBodyMarginValues() {\n if (\n 'number' ===\n typeof (settings[iframeId] && settings[iframeId].bodyMargin) ||\n '0' === (settings[iframeId] && settings[iframeId].bodyMargin)\n ) {\n settings[iframeId].bodyMarginV1 = settings[iframeId].bodyMargin\n settings[iframeId].bodyMargin =\n '' + settings[iframeId].bodyMargin + 'px'\n }\n }\n\n function checkReset() {\n // Reduce scope of firstRun to function, because IE8's JS execution\n // context stack is borked and this value gets externally\n // changed midway through running this function!!!\n var firstRun = settings[iframeId] && settings[iframeId].firstRun,\n resetRequertMethod =\n settings[iframeId] &&\n settings[iframeId].heightCalculationMethod in resetRequiredMethods\n\n if (!firstRun && resetRequertMethod) {\n resetIFrame({ iframe: iframe, height: 0, width: 0, type: 'init' })\n }\n }\n\n function setupIFrameObject() {\n if (settings[iframeId]) {\n settings[iframeId].iframe.iFrameResizer = {\n close: closeIFrame.bind(null, settings[iframeId].iframe),\n\n removeListeners: removeIframeListeners.bind(\n null,\n settings[iframeId].iframe\n ),\n\n resize: trigger.bind(\n null,\n 'Window resize',\n 'resize',\n settings[iframeId].iframe\n ),\n\n moveToAnchor: function (anchor) {\n trigger(\n 'Move to anchor',\n 'moveToAnchor:' + anchor,\n settings[iframeId].iframe,\n iframeId\n )\n },\n\n sendMessage: function (message) {\n message = JSON.stringify(message)\n trigger(\n 'Send Message',\n 'message:' + message,\n settings[iframeId].iframe,\n iframeId\n )\n }\n }\n }\n }\n\n // We have to call trigger twice, as we can not be sure if all\n // iframes have completed loading when this code runs. The\n // event listener also catches the page changing in the iFrame.\n function init(msg) {\n function iFrameLoaded() {\n trigger('iFrame.onload', msg, iframe, undefined, true)\n checkReset()\n }\n\n function createDestroyObserver(MutationObserver) {\n if (!iframe.parentNode) {\n return\n }\n\n var destroyObserver = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n var removedNodes = Array.prototype.slice.call(mutation.removedNodes) // Transform NodeList into an Array\n removedNodes.forEach(function (removedNode) {\n if (removedNode === iframe) {\n closeIFrame(iframe)\n }\n })\n })\n })\n destroyObserver.observe(iframe.parentNode, {\n childList: true\n })\n }\n\n var MutationObserver = getMutationObserver()\n if (MutationObserver) {\n createDestroyObserver(MutationObserver)\n }\n\n addEventListener(iframe, 'load', iFrameLoaded)\n trigger('init', msg, iframe, undefined, true)\n }\n\n function checkOptions(options) {\n if ('object' !== typeof options) {\n throw new TypeError('Options is not an object')\n }\n }\n\n function copyOptions(options) {\n // eslint-disable-next-line no-restricted-syntax\n for (var option in defaults) {\n if (Object.prototype.hasOwnProperty.call(defaults, option)) {\n settings[iframeId][option] = Object.prototype.hasOwnProperty.call(\n options,\n option\n )\n ? options[option]\n : defaults[option]\n }\n }\n }\n\n function getTargetOrigin(remoteHost) {\n return '' === remoteHost ||\n null !== remoteHost.match(/^(about:blank|javascript:|file:\\/\\/)/)\n ? '*'\n : remoteHost\n }\n\n function depricate(key) {\n var splitName = key.split('Callback')\n\n if (splitName.length === 2) {\n var name =\n 'on' + splitName[0].charAt(0).toUpperCase() + splitName[0].slice(1)\n this[name] = this[key]\n delete this[key]\n warn(\n iframeId,\n \"Deprecated: '\" +\n key +\n \"' has been renamed '\" +\n name +\n \"'. The old method will be removed in the next major version.\"\n )\n }\n }\n\n function processOptions(options) {\n options = options || {}\n\n settings[iframeId] = Object.create(null) // Protect against prototype attacks\n settings[iframeId].iframe = iframe\n settings[iframeId].firstRun = true\n settings[iframeId].remoteHost =\n iframe.src && iframe.src.split('/').slice(0, 3).join('/')\n\n checkOptions(options)\n Object.keys(options).forEach(depricate, options)\n copyOptions(options)\n\n if (settings[iframeId]) {\n settings[iframeId].targetOrigin =\n true === settings[iframeId].checkOrigin\n ? getTargetOrigin(settings[iframeId].remoteHost)\n : '*'\n }\n }\n\n function beenHere() {\n return iframeId in settings && 'iFrameResizer' in iframe\n }\n\n var iframeId = ensureHasId(iframe.id)\n\n if (beenHere()) {\n warn(iframeId, 'Ignored iFrame, already setup.')\n } else {\n processOptions(options)\n setScrolling()\n setLimits()\n setupBodyMarginValues()\n init(createOutgoingMsg(iframeId))\n setupIFrameObject()\n }\n }\n\n function debouce(fn, time) {\n if (null === timer) {\n timer = setTimeout(function () {\n timer = null\n fn()\n }, time)\n }\n }\n\n var frameTimer = {}\n function debounceFrameEvents(fn, time, frameId) {\n if (!frameTimer[frameId]) {\n frameTimer[frameId] = setTimeout(function () {\n frameTimer[frameId] = null\n fn()\n }, time)\n }\n }\n\n // Not testable in PhantomJS\n /* istanbul ignore next */\n\n function fixHiddenIFrames() {\n function checkIFrames() {\n function checkIFrame(settingId) {\n function chkDimension(dimension) {\n return (\n '0px' ===\n (settings[settingId] && settings[settingId].iframe.style[dimension])\n )\n }\n\n function isVisible(el) {\n return null !== el.offsetParent\n }\n\n if (\n settings[settingId] &&\n isVisible(settings[settingId].iframe) &&\n (chkDimension('height') || chkDimension('width'))\n ) {\n trigger(\n 'Visibility change',\n 'resize',\n settings[settingId].iframe,\n settingId\n )\n }\n }\n\n Object.keys(settings).forEach(function (key) {\n checkIFrame(key)\n })\n }\n\n function mutationObserved(mutations) {\n log(\n 'window',\n 'Mutation observed: ' + mutations[0].target + ' ' + mutations[0].type\n )\n debouce(checkIFrames, 16)\n }\n\n function createMutationObserver() {\n var target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n },\n observer = new MutationObserver(mutationObserved)\n\n observer.observe(target, config)\n }\n\n var MutationObserver = getMutationObserver()\n if (MutationObserver) {\n createMutationObserver()\n }\n }\n\n function resizeIFrames(event) {\n function resize() {\n sendTriggerMsg('Window ' + event, 'resize')\n }\n\n log('window', 'Trigger event: ' + event)\n debouce(resize, 16)\n }\n\n // Not testable in PhantomJS\n /* istanbul ignore next */\n function tabVisible() {\n function resize() {\n sendTriggerMsg('Tab Visible', 'resize')\n }\n\n if ('hidden' !== document.visibilityState) {\n log('document', 'Trigger event: Visibility change')\n debouce(resize, 16)\n }\n }\n\n function sendTriggerMsg(eventName, event) {\n function isIFrameResizeEnabled(iframeId) {\n return (\n settings[iframeId] &&\n 'parent' === settings[iframeId].resizeFrom &&\n settings[iframeId].autoResize &&\n !settings[iframeId].firstRun\n )\n }\n\n Object.keys(settings).forEach(function (iframeId) {\n if (isIFrameResizeEnabled(iframeId)) {\n trigger(eventName, event, settings[iframeId].iframe, iframeId)\n }\n })\n }\n\n function setupEventListeners() {\n addEventListener(window, 'message', iFrameListener)\n\n addEventListener(window, 'resize', function () {\n resizeIFrames('resize')\n })\n\n addEventListener(document, 'visibilitychange', tabVisible)\n\n addEventListener(document, '-webkit-visibilitychange', tabVisible)\n }\n\n function factory() {\n function init(options, element) {\n function chkType() {\n if (!element.tagName) {\n throw new TypeError('Object is not a valid DOM element')\n } else if ('IFRAME' !== element.tagName.toUpperCase()) {\n throw new TypeError(\n 'Expected <IFRAME> tag, found <' + element.tagName + '>'\n )\n }\n }\n\n if (element) {\n chkType()\n setupIFrame(element, options)\n iFrames.push(element)\n }\n }\n\n function warnDeprecatedOptions(options) {\n if (options && options.enablePublicMethods) {\n warn(\n 'enablePublicMethods option has been removed, public methods are now always available in the iFrame'\n )\n }\n }\n\n var iFrames\n\n setupRequestAnimationFrame()\n setupEventListeners()\n\n return function iFrameResizeF(options, target) {\n iFrames = [] // Only return iFrames past in on this call\n\n warnDeprecatedOptions(options)\n\n switch (typeof target) {\n case 'undefined':\n case 'string': {\n Array.prototype.forEach.call(\n document.querySelectorAll(target || 'iframe'),\n init.bind(undefined, options)\n )\n break\n }\n\n case 'object': {\n init(options, target)\n break\n }\n\n default: {\n throw new TypeError('Unexpected data type (' + typeof target + ')')\n }\n }\n\n return iFrames\n }\n }\n\n function createJQueryPublicMethod($) {\n if (!$.fn) {\n info('', 'Unable to bind to jQuery, it is not fully loaded.')\n } else if (!$.fn.iFrameResize) {\n $.fn.iFrameResize = function $iFrameResizeF(options) {\n function init(index, element) {\n setupIFrame(element, options)\n }\n\n return this.filter('iframe').each(init).end()\n }\n }\n }\n\n if (window.jQuery !== undefined) {\n createJQueryPublicMethod(window.jQuery)\n }\n\n if (typeof define === 'function' && define.amd) {\n define([], factory)\n } else if (typeof module === 'object' && typeof module.exports === 'object') {\n // Node for browserfy\n module.exports = factory()\n }\n window.iFrameResize = window.iFrameResize || factory()\n})()\n","export const MessageEventType = {\n card: {\n ready: 'justifi.card.ready',\n tokenize: 'justifi.card.tokenize',\n validate: 'justifi.card.validate',\n resize: 'justifi.card.resize',\n styleOverrides: 'justifi.card.styleOverrides',\n },\n bankAccount: {\n ready: 'justifi.bankAccount.ready',\n tokenize: 'justifi.bankAccount.tokenize',\n validate: 'justifi.bankAccount.validate',\n resize: 'justifi.bankAccount.resize',\n styleOverrides: 'justifi.bankAccount.styleOverrides',\n },\n};\n","import { Theme } from './theme';\n\nconst getComputedTheme = () => {\n const computedStyles = getComputedStyle(document.body);\n\n const computedTheme: Theme = {\n loadGoogleFont: computedStyles.getPropertyValue('--jfi-load-google-font'),\n layout: {\n fontFamily: computedStyles.getPropertyValue('--jfi-layout-font-family'),\n padding: computedStyles.getPropertyValue('--jfi-layout-padding'),\n formControlSpacingHorizontal: computedStyles.getPropertyValue('--jfi-layout-form-control-spacing-x'),\n formControlSpacingVertical: computedStyles.getPropertyValue('--jfi-layout-form-control-spacing-y'),\n },\n formControl: {\n backgroundColor: computedStyles.getPropertyValue('--jfi-form-control-background-color'),\n borderColor: computedStyles.getPropertyValue('--jfi-form-control-border-color'),\n borderColorFocus: computedStyles.getPropertyValue('--jfi-form-control-border-color-focus'),\n borderColorError: computedStyles.getPropertyValue('--jfi-form-control-border-color-error'),\n borderWidth: computedStyles.getPropertyValue('--jfi-form-control-border-width'),\n borderBottomWidth: computedStyles.getPropertyValue('--jfi-form-control-border-bottom-width'),\n borderLeftWidth: computedStyles.getPropertyValue('--jfi-form-control-border-left-width'),\n borderRightWidth: computedStyles.getPropertyValue('--jfi-form-control-border-right-width'),\n borderTopWidth: computedStyles.getPropertyValue('--jfi-form-control-border-top-width'),\n borderRadius: computedStyles.getPropertyValue('--jfi-form-control-border-radius'),\n borderStyle: computedStyles.getPropertyValue('--jfi-form-control-border-style'),\n boxShadow: computedStyles.getPropertyValue('--jfi-form-control-box-shadow'),\n boxShadowError: computedStyles.getPropertyValue('--jfi-form-control-box-shadow-error'),\n boxShadowErrorFocus: computedStyles.getPropertyValue('--jfi-form-control-box-shadow-error-focus'),\n boxShadowFocus: computedStyles.getPropertyValue('--jfi-form-control-box-shadow-focus'),\n color: computedStyles.getPropertyValue('--jfi-form-control-color'),\n colorFocus: computedStyles.getPropertyValue('--jfi-form-control-color-focus'),\n fontSize: computedStyles.getPropertyValue('--jfi-form-control-font-size'),\n fontWeight: computedStyles.getPropertyValue('--jfi-form-control-font-weight'),\n lineHeight: computedStyles.getPropertyValue('--jfi-form-control-line-height'),\n margin: computedStyles.getPropertyValue('--jfi-form-control-margin'),\n padding: computedStyles.getPropertyValue('--jfi-form-control-padding'),\n },\n formLabel: {\n color: computedStyles.getPropertyValue('--jfi-form-label-color'),\n fontFamily: computedStyles.getPropertyValue('--jfi-form-label-font-family'),\n fontSize: computedStyles.getPropertyValue('--jfi-form-label-font-size'),\n fontWeight: computedStyles.getPropertyValue('--jfi-form-label-font-weight'),\n margin: computedStyles.getPropertyValue('--jfi-form-label-margin'),\n },\n errorMessage: {\n color: computedStyles.getPropertyValue('--jfi-error-message-color'),\n margin: computedStyles.getPropertyValue('--jfi-error-message-margin'),\n fontSize: computedStyles.getPropertyValue('--jfi-error-message-font-size'),\n },\n };\n\n return computedTheme;\n};\n\nexport default getComputedTheme;\n",":host {\n display: block;\n}\n\njustifi-payment-method-form iframe {\n border: none;\n width: 100%;\n}\n\niframe {\n width: 1px;\n min-width: 100%;\n}\n","import { Component, Event, Host, Prop, h, EventEmitter, Method } from '@stencil/core';\nimport iFrameResize from 'iframe-resizer/js/iframeResizer';\nimport { MessageEventType } from './message-event-types';\nimport { Theme } from './theme';\nimport packageJson from '../../../package.json';\nimport getComputedTheme from './get-computed-theme';\nimport { CreatePaymentMethodResponse } from './payment-method-responses';\n\n@Component({\n tag: 'justifi-payment-method-form',\n styleUrl: 'payment-method-form.css',\n shadow: false,\n})\nexport class PaymentMethodForm {\n @Prop() paymentMethodFormType: 'card' | 'bankAccount';\n @Prop({\n mutable: true,\n })\n paymentMethodFormValidationMode: 'onChange' | 'onBlur' | 'onSubmit' | 'onTouched' | 'all';\n @Prop() iframeOrigin?: string;\n @Prop() singleLine: boolean;\n @Event({ bubbles: true }) paymentMethodFormReady: EventEmitter;\n @Event({ bubbles: true }) paymentMethodFormTokenize: EventEmitter<{ data: any }>;\n\n private computedTheme: Theme = getComputedTheme();\n\n iframeElement!: HTMLIFrameElement;\n\n connectedCallback() {\n window.addEventListener('message', this.dispatchMessageEvent.bind(this));\n }\n\n disconnectedCallback() {\n window.removeEventListener('message', this.dispatchMessageEvent.bind(this));\n }\n\n sendStyleOverrides() {\n if (this.computedTheme) {\n this.postMessage(MessageEventType[this.paymentMethodFormType].styleOverrides, { styleOverrides: this.computedTheme });\n }\n }\n\n private dispatchMessageEvent(messageEvent: MessageEvent) {\n const messagePayload = messageEvent.data;\n const messageType = messagePayload.eventType;\n const messageData = messagePayload.data;\n\n if (messageType === MessageEventType[this.paymentMethodFormType].ready) {\n this.paymentMethodFormReady.emit(messageData);\n }\n }\n\n private postMessage(eventType: string, payload?: any) {\n this.iframeElement?.contentWindow?.postMessage({ eventType: eventType, ...payload }, this.iframeOrigin || process.env.IFRAME_ORIGIN || '*');\n }\n\n @Method()\n async resize(): Promise<any> {\n this.postMessage(MessageEventType[this.paymentMethodFormType].resize);\n }\n\n private async postMessageWithResponseListener(eventType: string, payload?: any): Promise<any> {\n return new Promise(resolve => {\n const responseListener = (event: MessageEvent) => {\n if (event.data.eventType !== eventType) return;\n window.removeEventListener('message', responseListener);\n resolve(event.data.data);\n };\n window.addEventListener('message', responseListener);\n this.postMessage(eventType, payload);\n });\n }\n\n @Method()\n async tokenize(clientId: string, paymentMethodMetadata: any, account?: string): Promise<CreatePaymentMethodResponse> {\n const eventType = MessageEventType[this.paymentMethodFormType].tokenize;\n const payload = {\n clientId: clientId,\n componentVersion: packageJson.version,\n paymentMethodMetadata: paymentMethodMetadata,\n account: account,\n };\n\n return this.postMessageWithResponseListener(eventType, payload);\n }\n\n @Method()\n async validate(): Promise<any> {\n return this.postMessageWithResponseListener(MessageEventType[this.paymentMethodFormType].validate);\n }\n\n private composeQueryParams(values: string[]) {\n const queryParams = values.map(value => {\n if (value === values[0]) {\n return (value = `?${value}`);\n } else {\n return (value = `&${value}`);\n }\n });\n return queryParams.join('');\n }\n\n private getIframeSrc() {\n const iframeOrigin = this.iframeOrigin || process.env.IFRAME_ORIGIN || 'https://js.justifi.ai/v2';\n let iframeSrc = `${iframeOrigin}/${this.paymentMethodFormType}`;\n let paramsList = [];\n if (this.paymentMethodFormValidationMode) {\n paramsList.push(`validationMode=${this.paymentMethodFormValidationMode}`);\n }\n if (this.singleLine) {\n paramsList.push(`singleLine=${this.singleLine}`);\n }\n\n return iframeSrc.concat(this.composeQueryParams(paramsList));\n }\n\n render() {\n return (\n <Host>\n <iframe\n id={`justifi-payment-method-form-${this.paymentMethodFormType}`}\n src={this.getIframeSrc()}\n ref={el => {\n this.iframeElement = el as HTMLIFrameElement;\n }}\n onLoad={() => {\n iFrameResize({ log: true }, this.iframeElement);\n this.sendStyleOverrides();\n }}\n ></iframe>\n </Host>\n );\n }\n}\n"],"mappings":"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"}