@justifi/webcomponents 6.5.1-rc.5 → 6.7.0

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 (742) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/{Api-BeSnjEuW.js → Api-QUTWjGTy.js} +1 -1
  3. package/dist/cjs/{Refund-Blquw3jZ.js → GooglePay-BwiJ_80p.js} +416 -1
  4. package/dist/cjs/additional-questions-details_5.cjs.entry.js +3 -3
  5. package/dist/cjs/{badge-_nY1l5Rq.js → badge-Cc87HAsf.js} +1 -1
  6. package/dist/cjs/bank-account-document-form-inputs_8.cjs.entry.js +207 -0
  7. package/dist/cjs/bank-account-form.cjs.entry.js +5 -5
  8. package/dist/cjs/{business-additional-questions-schema-CE-z5qrr.js → business-additional-questions-schema-Y1mXnwUT.js} +1 -7
  9. package/dist/cjs/business-details-core.cjs.entry.js +3 -3
  10. package/dist/cjs/{business-identity-schema-rMMiHyPz.js → business-identity-schema-D_OO0Suf.js} +1 -1
  11. package/dist/cjs/{business.service-DrBmfEbR.js → business.service-q93NsTG_.js} +2 -2
  12. package/dist/cjs/{button-CARQPDm-.js → button-fUPGXjU_.js} +1 -1
  13. package/dist/cjs/card-form.cjs.entry.js +5 -5
  14. package/dist/cjs/{check-pkg-version-T54BeR4n.js → check-pkg-version-nSgWWvdw.js} +3 -3
  15. package/dist/cjs/{checkout.service-BEU6CI0t.js → checkout.service-CwelwhrT.js} +2 -2
  16. package/dist/cjs/checkouts-list-core.cjs.entry.js +9 -8
  17. package/dist/cjs/{checkouts-table-2fOlhkc4.js → checkouts-table-BBtqxG2F.js} +3 -3
  18. package/dist/cjs/{custom-popper.cjs.entry.js → custom-popper_2.cjs.entry.js} +22 -2
  19. package/dist/cjs/{dispute.service-c0CZxPpe.js → dispute.service-q5ha39uN.js} +2 -2
  20. package/dist/cjs/form-alert_5.cjs.entry.js +7 -7
  21. package/dist/cjs/form-control-checkbox.cjs.entry.js +5 -5
  22. package/dist/cjs/form-control-date.cjs.entry.js +4 -4
  23. package/dist/cjs/{form-control-error-text-mhOq2Edp.js → form-control-error-text-Dg_65HGK.js} +1 -1
  24. package/dist/cjs/form-control-file-v2_2.cjs.entry.js +5 -5
  25. package/dist/cjs/{form-control-help-text-BoRpAoX6.js → form-control-help-text-tB5u1-5M.js} +1 -1
  26. package/dist/cjs/form-control-monetary-provisioning.cjs.entry.js +5 -5
  27. package/dist/cjs/form-control-monetary.cjs.entry.js +6 -6
  28. package/dist/cjs/form-control-number-masked_3.cjs.entry.js +6 -6
  29. package/dist/cjs/form-control-number.cjs.entry.js +5 -5
  30. package/dist/cjs/form-control-radio.cjs.entry.js +3 -3
  31. package/dist/cjs/{form-control-select_3.cjs.entry.js → form-control-select_2.cjs.entry.js} +6 -25
  32. package/dist/cjs/{get-payment-details-D8UQRtX1.js → get-payment-details-DidIAK2i.js} +2 -2
  33. package/dist/cjs/{get-subaccounts-fKcKqvrx.js → get-subaccounts-BE_wcfM7.js} +3 -3
  34. package/dist/cjs/gross-payment-chart-core.cjs.entry.js +5 -5
  35. package/dist/cjs/{header-1-CBO8uDuZ.js → header-1-Bqejh9no.js} +1 -1
  36. package/dist/cjs/{header-3-CPWtI1t0.js → header-3-DQ649Me2.js} +1 -1
  37. package/dist/cjs/hidden-input_2.cjs.entry.js +7 -7
  38. package/dist/cjs/{index-C2ITzalN.js → index-CajjbB9t.js} +1 -0
  39. package/dist/cjs/index.cjs.js +1 -1
  40. package/dist/cjs/{insurance-state-BMHITXoD.js → insurance-state-DsGnIHMM.js} +1 -1
  41. package/dist/cjs/internal-tokenize-payment-method_7.cjs.entry.js +28 -29
  42. package/dist/cjs/justifi-additional-questions-form-step_9.cjs.entry.js +862 -29
  43. package/dist/cjs/justifi-additional-statement_8.cjs.entry.js +9 -9
  44. package/dist/cjs/{justifi-apple-pay_7.cjs.entry.js → justifi-apple-pay_8.cjs.entry.js} +906 -260
  45. package/dist/cjs/justifi-bank-account-billing-form-simple_3.cjs.entry.js +5 -5
  46. package/dist/cjs/justifi-business-details.cjs.entry.js +9 -8
  47. package/dist/cjs/justifi-business-form.cjs.entry.js +14 -13
  48. package/dist/cjs/justifi-checkout.cjs.entry.js +17 -18
  49. package/dist/cjs/justifi-checkouts-list-filters.cjs.entry.js +26 -12
  50. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +13 -12
  51. package/dist/cjs/justifi-details.cjs.entry.js +3 -3
  52. package/dist/cjs/justifi-dispute-management-core.cjs.entry.js +1 -1
  53. package/dist/cjs/justifi-dispute-management.cjs.entry.js +8 -7
  54. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +14 -13
  55. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +8 -7
  56. package/dist/cjs/justifi-order-terminals.cjs.entry.js +14 -13
  57. package/dist/cjs/justifi-payment-details.cjs.entry.js +10 -9
  58. package/dist/cjs/justifi-payment-provisioning-core.cjs.entry.js +3 -3
  59. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +8 -7
  60. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +12 -11
  61. package/dist/cjs/justifi-payments-list-filters.cjs.entry.js +4 -4
  62. package/dist/cjs/justifi-payments-list.cjs.entry.js +13 -12
  63. package/dist/cjs/justifi-payout-details.cjs.entry.js +10 -9
  64. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +12 -11
  65. package/dist/cjs/justifi-payouts-list-filters.cjs.entry.js +4 -4
  66. package/dist/cjs/justifi-payouts-list.cjs.entry.js +14 -13
  67. package/dist/cjs/justifi-refund-payment.cjs.entry.js +15 -14
  68. package/dist/cjs/justifi-saved-payment-method.cjs.entry.js +2 -2
  69. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +12 -13
  70. package/dist/cjs/justifi-skeleton.cjs.entry.js +3 -3
  71. package/dist/cjs/justifi-terminal-orders-list-filters.cjs.entry.js +14 -13
  72. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +11 -10
  73. package/dist/cjs/justifi-terminals-list-filters.cjs.entry.js +10 -9
  74. package/dist/cjs/justifi-terminals-list.cjs.entry.js +13 -12
  75. package/dist/cjs/justifi-tokenize-payment-method.cjs.entry.js +1 -1
  76. package/dist/cjs/loader.cjs.js +1 -1
  77. package/dist/cjs/{justifi-owner-form_3.cjs.entry.js → owner-form-core_2.cjs.entry.js} +7 -61
  78. package/dist/cjs/{package-JstJdxIu.js → package-B8gOzTFM.js} +1 -1
  79. package/dist/cjs/pagination-menu.cjs.entry.js +4 -4
  80. package/dist/cjs/{parts-Pb06tUMp.js → parts-BVbaniVM.js} +6 -0
  81. package/dist/cjs/payment-details-core.cjs.entry.js +17 -16
  82. package/dist/cjs/payment-method-option.cjs.entry.js +2 -2
  83. package/dist/cjs/{payment.service-DXbR13Kq.js → payment.service-CyHFdJ7n.js} +2 -2
  84. package/dist/cjs/payments-list-core.cjs.entry.js +10 -9
  85. package/dist/cjs/{payments-status-t4fVj8f9.js → payments-status-BP4u31jU.js} +1 -1
  86. package/dist/cjs/{payments-table-C6SCvqLD.js → payments-table-CWXVhECV.js} +3 -3
  87. package/dist/cjs/payout-details-core.cjs.entry.js +10 -10
  88. package/dist/cjs/{payout.service-D0U6kzXJ.js → payout.service-Half-hdB.js} +2 -2
  89. package/dist/cjs/payouts-list-core.cjs.entry.js +10 -9
  90. package/dist/cjs/{payouts-status-pIO9qZG6.js → payouts-status-CM5Zy-0J.js} +1 -1
  91. package/dist/cjs/{payouts-table-CEnUtKNR.js → payouts-table-ZLTcfkUm.js} +3 -3
  92. package/dist/cjs/{schema-validations-BOiGVUHM.js → schema-validations-Bf2mk2xU.js} +0 -16
  93. package/dist/cjs/{skeleton-BF3HGL9X.js → skeleton-B8dzxFFr.js} +1 -1
  94. package/dist/cjs/{spinner-BBdv3Iq1.js → spinner-jHyLNCGO.js} +1 -1
  95. package/dist/cjs/{table-CfBpaApw.js → table-CrtpRwGN.js} +2 -2
  96. package/dist/cjs/table-filters-menu.cjs.entry.js +3 -3
  97. package/dist/cjs/terminal-orders-list-core.cjs.entry.js +9 -8
  98. package/dist/cjs/{terminal-orders-table-BByfBAEK.js → terminal-orders-table-DT53anT3.js} +6 -6
  99. package/dist/cjs/terminal-quantity-selector.cjs.entry.js +2 -2
  100. package/dist/cjs/{terminal.service-BqXeiERV.js → terminal.service-CFt55QNO.js} +2 -2
  101. package/dist/cjs/terminals-list-core.cjs.entry.js +9 -8
  102. package/dist/cjs/{terminals-table-EeeLeuDN.js → terminals-table-DahpSz98.js} +3 -3
  103. package/dist/cjs/{utils-Cjq3ZCad.js → utils-CMiA4X7s.js} +1 -1
  104. package/dist/cjs/{utils-Bab-tddY.js → utils-D4WPxuzW.js} +0 -7
  105. package/dist/cjs/webcomponents.cjs.js +1 -1
  106. package/dist/collection/api/GooglePay.js +181 -0
  107. package/dist/collection/api/index.js +2 -0
  108. package/dist/collection/api/services/google-pay.service.js +240 -0
  109. package/dist/collection/collection-manifest.json +2 -7
  110. package/dist/collection/components/business-forms/business-form/additional-questions/additional-questions.js +6 -7
  111. package/dist/collection/components/business-forms/business-form/business-core-info/business-core-info.js +2 -2
  112. package/dist/collection/components/business-forms/business-form/business-representative/business-representative.js +7 -8
  113. package/dist/collection/components/business-forms/business-form/legal-address-form/legal-address-form.js +6 -7
  114. package/dist/collection/components/business-forms/owner-form/identity-address/identity-address-form.js +1 -1
  115. package/dist/collection/components/business-forms/owner-form/owner-form-core.js +1 -1
  116. package/dist/collection/components/business-forms/owner-form/owner-form-inputs.js +7 -8
  117. package/dist/collection/components/business-forms/owner-form/owner-form.js +1 -1
  118. package/dist/collection/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step.js +132 -3
  119. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-document-inputs.js +1 -1
  120. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-form-inputs-canada.js +1 -1
  121. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-form-inputs.js +1 -1
  122. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-read-only-value.js +1 -1
  123. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step.js +335 -3
  124. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-documents-on-file.js +2 -2
  125. package/dist/collection/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step.js +133 -3
  126. package/dist/collection/components/business-forms/payment-provisioning/business-owners/business-owners-form-step.js +186 -3
  127. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-inputs.js +2 -2
  128. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.js +129 -3
  129. package/dist/collection/components/business-forms/payment-provisioning/form-address-fields/form-address-fields.js +1 -1
  130. package/dist/collection/components/business-forms/payment-provisioning/form-control-monetary-provisioning.js +2 -2
  131. package/dist/collection/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step.js +122 -3
  132. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-core.js +1 -1
  133. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-buttons.js +1 -1
  134. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-steps.js +1 -1
  135. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning.js +1 -1
  136. package/dist/collection/components/business-forms/payment-provisioning/terms-and-conditions/business-terms-conditions-form-step.js +1 -1
  137. package/dist/collection/components/business-forms/schemas/business-additional-questions-schema.js +1 -7
  138. package/dist/collection/components/business-forms/schemas/schema-validations.js +1 -14
  139. package/dist/collection/components/checkout/bank-account-form/bank-account-form.js +2 -2
  140. package/dist/collection/components/checkout/card-form/card-form.js +2 -2
  141. package/dist/collection/components/checkout/checkout.js +2 -2
  142. package/dist/collection/components/checkout/save-new-payment-method.js +1 -1
  143. package/dist/collection/components/checkout/saved-payment-method.js +1 -1
  144. package/dist/collection/components/checkouts-list/checkouts-list-core.js +1 -1
  145. package/dist/collection/components/checkouts-list/checkouts-list-filters.js +72 -2
  146. package/dist/collection/components/checkouts-list/checkouts-list.js +1 -1
  147. package/dist/collection/components/dispute-management/dispute-management-core.js +1 -1
  148. package/dist/collection/components/dispute-management/dispute-management.js +1 -1
  149. package/dist/collection/components/dispute-management/dispute-notification.js +2 -2
  150. package/dist/collection/components/dispute-management/dispute-response/additional-statement.js +1 -1
  151. package/dist/collection/components/dispute-management/dispute-response/cancellation-policy.js +1 -1
  152. package/dist/collection/components/dispute-management/dispute-response/customer-details.js +1 -1
  153. package/dist/collection/components/dispute-management/dispute-response/dispute-response-core.js +1 -1
  154. package/dist/collection/components/dispute-management/dispute-response/dispute-response.js +1 -1
  155. package/dist/collection/components/dispute-management/dispute-response/duplicate-charge.js +1 -1
  156. package/dist/collection/components/dispute-management/dispute-response/electronic-evidence.js +1 -1
  157. package/dist/collection/components/dispute-management/dispute-response/product-or-service.js +1 -1
  158. package/dist/collection/components/dispute-management/dispute-response/refund-policy.js +1 -1
  159. package/dist/collection/components/dispute-management/dispute-response/shipping-details.js +1 -1
  160. package/dist/collection/components/filters/table-filters-menu.js +1 -1
  161. package/dist/collection/components/gross-payment-chart/gross-payment-chart-core.js +1 -1
  162. package/dist/collection/components/modular-checkout/ModularCheckout.js +1 -0
  163. package/dist/collection/components/modular-checkout/modular-checkout.js +47 -8
  164. package/dist/collection/components/modular-checkout/sub-components/bank-account-billing-form-simple.js +1 -1
  165. package/dist/collection/components/modular-checkout/sub-components/bank-account.js +2 -2
  166. package/dist/collection/components/modular-checkout/sub-components/card-billing-form-simple.js +1 -1
  167. package/dist/collection/components/modular-checkout/sub-components/card-form.js +2 -2
  168. package/dist/collection/components/modular-checkout/sub-components/google-pay-skeleton.js +10 -0
  169. package/dist/collection/components/modular-checkout/sub-components/google-pay.js +609 -0
  170. package/dist/collection/components/modular-checkout/sub-components/payment-method-option.js +1 -1
  171. package/dist/collection/components/modular-checkout/sub-components/summary.js +1 -1
  172. package/dist/collection/components/order-terminals/order-terminals.js +1 -1
  173. package/dist/collection/components/order-terminals/terminal-quantity-selector/terminal-quantity-selector.js +1 -1
  174. package/dist/collection/components/payment-details/payment-details-core.js +8 -8
  175. package/dist/collection/components/payment-transactions-list/payment-transactions-list.js +1 -1
  176. package/dist/collection/components/payments-list/payments-list-core.js +1 -1
  177. package/dist/collection/components/payments-list/payments-list-filters.js +2 -2
  178. package/dist/collection/components/payments-list/payments-list.js +1 -1
  179. package/dist/collection/components/payout-details/payout-details-core.js +3 -3
  180. package/dist/collection/components/payout-transactions-list/payout-transactions-list.js +1 -1
  181. package/dist/collection/components/payouts-list/payouts-list-core.js +1 -1
  182. package/dist/collection/components/payouts-list/payouts-list-filters.js +2 -2
  183. package/dist/collection/components/payouts-list/payouts-list.js +1 -1
  184. package/dist/collection/components/terminal-orders-list/terminal-orders-list-core.js +1 -1
  185. package/dist/collection/components/terminal-orders-list/terminal-orders-list-filters.js +2 -2
  186. package/dist/collection/components/terminal-orders-list/terminal-orders-list.js +1 -1
  187. package/dist/collection/components/terminals-list/terminals-list-core.js +1 -1
  188. package/dist/collection/components/terminals-list/terminals-list-filters.js +1 -1
  189. package/dist/collection/components/terminals-list/terminals-list.js +1 -1
  190. package/dist/collection/components/tokenize-payment-method/internal-tokenize-payment-method.js +4 -3
  191. package/dist/collection/components/tokenize-payment-method/tokenize-payment-method.js +10 -5
  192. package/dist/collection/store/checkout.store.js +4 -0
  193. package/dist/collection/styles/parts.js +3 -0
  194. package/dist/collection/ui-components/custom-popper/custom-popper.js +2 -2
  195. package/dist/collection/ui-components/details/details.js +1 -1
  196. package/dist/collection/ui-components/form/form-control-checkbox.js +2 -2
  197. package/dist/collection/ui-components/form/form-control-date.js +2 -2
  198. package/dist/collection/ui-components/form/form-control-file-v2.js +1 -1
  199. package/dist/collection/ui-components/form/form-control-file.js +2 -2
  200. package/dist/collection/ui-components/form/form-control-monetary.js +2 -2
  201. package/dist/collection/ui-components/form/form-control-number-masked.js +2 -2
  202. package/dist/collection/ui-components/form/form-control-number.js +2 -2
  203. package/dist/collection/ui-components/form/form-control-radio.js +2 -2
  204. package/dist/collection/ui-components/form/form-control-select.js +2 -2
  205. package/dist/collection/ui-components/form/form-control-text.js +2 -2
  206. package/dist/collection/ui-components/form/form-control-textarea.js +2 -2
  207. package/dist/collection/ui-components/form/hidden-input.js +1 -1
  208. package/dist/collection/ui-components/form/iframe-input.js +3 -3
  209. package/dist/collection/ui-components/google-pay-button.js +251 -0
  210. package/dist/collection/ui-components/pagination-menu/pagination-menu.js +3 -3
  211. package/dist/collection/ui-components/shadow-dom-components/justifi-button.js +1 -1
  212. package/dist/collection/ui-components/shadow-dom-components/justifi-header.js +1 -1
  213. package/dist/collection/ui-components/shadow-dom-components/justifi-radio-list-item.js +1 -1
  214. package/dist/collection/ui-components/shadow-dom-components/justifi-skeleton.js +1 -1
  215. package/dist/docs.json +3039 -3797
  216. package/dist/esm/{Api-DX-IWyBw.js → Api-Dln8a6No.js} +1 -1
  217. package/dist/esm/{Refund-BugCdfRo.js → GooglePay-NNHE-OLJ.js} +406 -2
  218. package/dist/esm/additional-questions-details_5.entry.js +3 -3
  219. package/dist/esm/{badge-Bgosx-DC.js → badge-DtrH25ss.js} +1 -1
  220. package/dist/esm/bank-account-document-form-inputs_8.entry.js +198 -0
  221. package/dist/esm/bank-account-form.entry.js +5 -5
  222. package/dist/esm/{business-additional-questions-schema-QFJEOHF5.js → business-additional-questions-schema-woG5-pgK.js} +1 -7
  223. package/dist/esm/business-details-core.entry.js +3 -3
  224. package/dist/esm/{business-identity-schema-DB_Hhjld.js → business-identity-schema-B7VTDF4j.js} +2 -2
  225. package/dist/esm/{business.service-pWcc3kfX.js → business.service-BrUSam2T.js} +2 -2
  226. package/dist/esm/{button-DBmjN7Ra.js → button-Bpf3VX8Q.js} +1 -1
  227. package/dist/esm/card-form.entry.js +5 -5
  228. package/dist/esm/{check-pkg-version-C8hgGLFx.js → check-pkg-version-CmkUoEAo.js} +3 -3
  229. package/dist/esm/{checkout.service-B4xSV2-X.js → checkout.service-Bxt1qPaY.js} +2 -2
  230. package/dist/esm/checkouts-list-core.entry.js +9 -8
  231. package/dist/esm/{checkouts-table-lgbZpF1o.js → checkouts-table-CB4GdlcZ.js} +3 -3
  232. package/dist/esm/{custom-popper.entry.js → custom-popper_2.entry.js} +22 -3
  233. package/dist/esm/{dispute.service-3Kbbh1J9.js → dispute.service-DYRYxxaT.js} +2 -2
  234. package/dist/esm/form-alert_5.entry.js +7 -7
  235. package/dist/esm/form-control-checkbox.entry.js +5 -5
  236. package/dist/esm/form-control-date.entry.js +4 -4
  237. package/dist/esm/{form-control-error-text-B5LSdUXI.js → form-control-error-text-BZYykCDp.js} +1 -1
  238. package/dist/esm/form-control-file-v2_2.entry.js +5 -5
  239. package/dist/esm/{form-control-help-text-BK9RNOf-.js → form-control-help-text-D-p66Yxr.js} +1 -1
  240. package/dist/esm/form-control-monetary-provisioning.entry.js +5 -5
  241. package/dist/esm/form-control-monetary.entry.js +6 -6
  242. package/dist/esm/form-control-number-masked_3.entry.js +6 -6
  243. package/dist/esm/form-control-number.entry.js +5 -5
  244. package/dist/esm/form-control-radio.entry.js +3 -3
  245. package/dist/esm/{form-control-select_3.entry.js → form-control-select_2.entry.js} +7 -25
  246. package/dist/esm/{get-payment-details-CakzKvOr.js → get-payment-details-BJ1PLhJZ.js} +1 -1
  247. package/dist/esm/{get-subaccounts-Cw1Adtmo.js → get-subaccounts-CzGHjlUF.js} +2 -2
  248. package/dist/esm/gross-payment-chart-core.entry.js +5 -5
  249. package/dist/esm/{header-1-CPF3S2CC.js → header-1-WwkF5F9y.js} +1 -1
  250. package/dist/esm/{header-3-Cah707hu.js → header-3-C5jS39cE.js} +1 -1
  251. package/dist/esm/hidden-input_2.entry.js +7 -7
  252. package/dist/esm/{index-DCIW8z1f.js → index-DkoufM1t.js} +1 -0
  253. package/dist/esm/index.js +1 -1
  254. package/dist/esm/{insurance-state-DRe0g_wf.js → insurance-state-C11WKZU6.js} +1 -1
  255. package/dist/esm/internal-tokenize-payment-method_7.entry.js +17 -18
  256. package/dist/esm/justifi-additional-questions-form-step_9.entry.js +863 -30
  257. package/dist/esm/justifi-additional-statement_8.entry.js +9 -9
  258. package/dist/esm/{justifi-apple-pay_7.entry.js → justifi-apple-pay_8.entry.js} +789 -144
  259. package/dist/esm/justifi-bank-account-billing-form-simple_3.entry.js +5 -5
  260. package/dist/esm/justifi-business-details.entry.js +9 -8
  261. package/dist/esm/justifi-business-form.entry.js +14 -13
  262. package/dist/esm/justifi-checkout.entry.js +10 -11
  263. package/dist/esm/justifi-checkouts-list-filters.entry.js +19 -5
  264. package/dist/esm/justifi-checkouts-list.entry.js +12 -11
  265. package/dist/esm/justifi-details.entry.js +3 -3
  266. package/dist/esm/justifi-dispute-management-core.entry.js +1 -1
  267. package/dist/esm/justifi-dispute-management.entry.js +8 -7
  268. package/dist/esm/justifi-dispute-notification_3.entry.js +14 -13
  269. package/dist/esm/justifi-gross-payment-chart.entry.js +8 -7
  270. package/dist/esm/justifi-order-terminals.entry.js +11 -10
  271. package/dist/esm/justifi-payment-details.entry.js +10 -9
  272. package/dist/esm/justifi-payment-provisioning-core.entry.js +3 -3
  273. package/dist/esm/justifi-payment-provisioning.entry.js +8 -7
  274. package/dist/esm/justifi-payment-transactions-list.entry.js +11 -10
  275. package/dist/esm/justifi-payments-list-filters.entry.js +4 -4
  276. package/dist/esm/justifi-payments-list.entry.js +12 -11
  277. package/dist/esm/justifi-payout-details.entry.js +9 -8
  278. package/dist/esm/justifi-payout-transactions-list.entry.js +11 -10
  279. package/dist/esm/justifi-payouts-list-filters.entry.js +4 -4
  280. package/dist/esm/justifi-payouts-list.entry.js +13 -12
  281. package/dist/esm/justifi-refund-payment.entry.js +11 -10
  282. package/dist/esm/justifi-saved-payment-method.entry.js +2 -2
  283. package/dist/esm/justifi-season-interruption-insurance.entry.js +9 -10
  284. package/dist/esm/justifi-skeleton.entry.js +3 -3
  285. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +6 -5
  286. package/dist/esm/justifi-terminal-orders-list.entry.js +10 -9
  287. package/dist/esm/justifi-terminals-list-filters.entry.js +5 -4
  288. package/dist/esm/justifi-terminals-list.entry.js +12 -11
  289. package/dist/esm/justifi-tokenize-payment-method.entry.js +1 -1
  290. package/dist/esm/loader.js +1 -1
  291. package/dist/esm/{justifi-owner-form_3.entry.js → owner-form-core_2.entry.js} +8 -61
  292. package/dist/esm/{package-DEhd71m_.js → package-CsRppqXL.js} +1 -1
  293. package/dist/esm/pagination-menu.entry.js +4 -4
  294. package/dist/esm/{parts-wtuY7MT2.js → parts-sA8HBfkI.js} +4 -1
  295. package/dist/esm/payment-details-core.entry.js +16 -15
  296. package/dist/esm/payment-method-option.entry.js +2 -2
  297. package/dist/esm/{payment.service-nExZY_sU.js → payment.service-BoGemgMw.js} +2 -2
  298. package/dist/esm/payments-list-core.entry.js +10 -9
  299. package/dist/esm/{payments-status-Dypl6WFL.js → payments-status-CADg1cD0.js} +1 -1
  300. package/dist/esm/{payments-table-CK9BRZEz.js → payments-table-C6zHWwGO.js} +3 -3
  301. package/dist/esm/payout-details-core.entry.js +10 -10
  302. package/dist/esm/{payout.service-B9-JQqU6.js → payout.service-BSG50wqN.js} +2 -2
  303. package/dist/esm/payouts-list-core.entry.js +10 -9
  304. package/dist/esm/{payouts-status-hTCBgpLW.js → payouts-status-4VDQvaYV.js} +1 -1
  305. package/dist/esm/{payouts-table-Dd8IDBBX.js → payouts-table-BU5XbzB9.js} +3 -3
  306. package/dist/esm/{schema-validations-B5sfox_4.js → schema-validations-iamDi5JD.js} +2 -15
  307. package/dist/esm/{skeleton-BmRZRW5K.js → skeleton-Dtt56Fl3.js} +1 -1
  308. package/dist/esm/{spinner-tU4D9iak.js → spinner-DikooWuI.js} +1 -1
  309. package/dist/esm/{table-Cjq1A6mO.js → table-1hqe6s5m.js} +2 -2
  310. package/dist/esm/table-filters-menu.entry.js +3 -3
  311. package/dist/esm/terminal-orders-list-core.entry.js +9 -8
  312. package/dist/esm/{terminal-orders-table-DsrpmD9F.js → terminal-orders-table-BsVBelxB.js} +4 -4
  313. package/dist/esm/terminal-quantity-selector.entry.js +2 -2
  314. package/dist/esm/{terminal.service-DvFiKAKV.js → terminal.service-YKfi6Mr9.js} +2 -2
  315. package/dist/esm/terminals-list-core.entry.js +9 -8
  316. package/dist/esm/{terminals-table-D9okETJr.js → terminals-table-CXJTn-0I.js} +3 -3
  317. package/dist/esm/{utils-CIaHqjQt.js → utils-CDaVtz_6.js} +1 -7
  318. package/dist/esm/{utils-BX7Rjm1M.js → utils-CgFsPVsv.js} +1 -1
  319. package/dist/esm/webcomponents.js +1 -1
  320. package/dist/module/Analytics.js +2 -0
  321. package/dist/module/ApplePay.js +121 -0
  322. package/dist/module/GooglePay.js +184 -0
  323. package/dist/module/ModularCheckout.js +1 -0
  324. package/dist/module/additional-questions.js +2 -2
  325. package/dist/module/additional-statement.js +1 -1
  326. package/dist/module/apple-pay.js +1 -120
  327. package/dist/module/bank-account-billing-form-simple.js +1 -1
  328. package/dist/module/bank-account-document-inputs.js +3 -1
  329. package/dist/module/bank-account-form-inputs-canada2.js +1 -1
  330. package/dist/module/bank-account-form-inputs2.js +1 -1
  331. package/dist/module/bank-account-form.js +3 -3
  332. package/dist/module/bank-account-read-only-value2.js +1 -1
  333. package/dist/module/bank-account.js +2 -2
  334. package/dist/module/business-additional-questions-form-step.js +107 -20
  335. package/dist/module/business-additional-questions-schema.js +1 -7
  336. package/dist/module/business-address-schema.js +1 -1
  337. package/dist/module/business-bank-account-form-step.js +445 -33
  338. package/dist/module/business-core-info-form-step.js +108 -20
  339. package/dist/module/business-core-info-schema.js +1 -1
  340. package/dist/module/business-core-info.js +2 -2
  341. package/dist/module/business-documents-on-file2.js +2 -2
  342. package/dist/module/business-identity-schema.js +1 -1
  343. package/dist/module/business-owners-form-step.js +137 -23
  344. package/dist/module/business-representative-form-inputs.js +2 -2
  345. package/dist/module/business-representative-form-step.js +106 -22
  346. package/dist/module/business-representative.js +3 -3
  347. package/dist/module/business-terms-conditions-form-step.js +3 -1
  348. package/dist/module/business.service.js +2 -0
  349. package/dist/module/cancellation-policy.js +1 -1
  350. package/dist/module/card-billing-form-simple.js +1 -1
  351. package/dist/module/card-form.js +3 -3
  352. package/dist/module/card-form2.js +2 -2
  353. package/dist/module/checkout.service.js +2 -0
  354. package/dist/module/checkout.store.js +4 -0
  355. package/dist/module/checkouts-list-core2.js +5 -3
  356. package/dist/module/custom-popper2.js +2 -2
  357. package/dist/module/customer-details.js +1 -1
  358. package/dist/module/details.js +1 -1
  359. package/dist/module/dispute-management-core.js +1 -1
  360. package/dist/module/dispute-notification.js +2 -2
  361. package/dist/module/dispute-response-actions.js +2 -0
  362. package/dist/module/dispute-response-core.js +1 -1
  363. package/dist/module/dispute-response.js +1 -1
  364. package/dist/module/duplicate-charge.js +1 -1
  365. package/dist/module/electronic-evidence.js +1 -1
  366. package/dist/module/form-address-fields.js +1 -1
  367. package/dist/module/form-control-checkbox2.js +2 -2
  368. package/dist/module/form-control-date2.js +2 -2
  369. package/dist/module/form-control-file-v22.js +1 -1
  370. package/dist/module/form-control-file2.js +2 -2
  371. package/dist/module/form-control-monetary-provisioning2.js +2 -2
  372. package/dist/module/form-control-monetary2.js +2 -2
  373. package/dist/module/form-control-number-masked2.js +2 -2
  374. package/dist/module/form-control-number.js +2 -2
  375. package/dist/module/form-control-radio2.js +2 -2
  376. package/dist/module/form-control-select2.js +2 -2
  377. package/dist/module/form-control-text2.js +2 -2
  378. package/dist/module/form-control-textarea2.js +2 -2
  379. package/dist/module/get-payment-details.js +2 -0
  380. package/dist/module/get-subaccounts.js +2 -0
  381. package/dist/module/google-pay.js +781 -0
  382. package/dist/module/gross-payment-chart-core2.js +2 -2
  383. package/dist/module/hidden-input2.js +1 -1
  384. package/dist/module/identity-address-form.js +1 -1
  385. package/dist/module/iframe-input2.js +3 -3
  386. package/dist/module/internal-tokenize-payment-method2.js +3 -1
  387. package/dist/module/justifi-business-form.js +2 -0
  388. package/dist/module/justifi-button2.js +1 -1
  389. package/dist/module/justifi-checkout.js +46 -40
  390. package/dist/module/justifi-checkouts-list-filters.js +37 -8
  391. package/dist/module/justifi-checkouts-list.js +3 -1
  392. package/dist/module/justifi-dispute-management.js +1 -1
  393. package/dist/module/justifi-google-pay.d.ts +11 -0
  394. package/dist/module/justifi-google-pay.js +6 -0
  395. package/dist/module/justifi-gross-payment-chart.js +2 -0
  396. package/dist/module/justifi-header2.js +1 -1
  397. package/dist/module/justifi-order-terminals.js +4 -2
  398. package/dist/module/justifi-payment-provisioning.js +51 -85
  399. package/dist/module/justifi-payment-transactions-list.js +4 -2
  400. package/dist/module/justifi-payments-list-filters.js +4 -4
  401. package/dist/module/justifi-payments-list.js +3 -1
  402. package/dist/module/justifi-payout-details.js +2 -0
  403. package/dist/module/justifi-payout-transactions-list.js +4 -2
  404. package/dist/module/justifi-payouts-list-filters.js +4 -4
  405. package/dist/module/justifi-payouts-list.js +3 -1
  406. package/dist/module/justifi-radio-list-item2.js +1 -1
  407. package/dist/module/justifi-refund-payment.js +2 -0
  408. package/dist/module/justifi-saved-payment-method.js +1 -1
  409. package/dist/module/justifi-season-interruption-insurance.js +3 -1
  410. package/dist/module/justifi-skeleton.js +1 -1
  411. package/dist/module/justifi-terminal-orders-list-filters.js +6 -4
  412. package/dist/module/justifi-terminal-orders-list.js +3 -1
  413. package/dist/module/justifi-terminals-list-filters.js +4 -2
  414. package/dist/module/justifi-terminals-list.js +3 -1
  415. package/dist/module/justifi-tokenize-payment-method.js +1 -1
  416. package/dist/module/legal-address-form-step.js +95 -18
  417. package/dist/module/legal-address-form.js +2 -2
  418. package/dist/module/modular-checkout.js +46 -6
  419. package/dist/module/owner-form-core2.js +1 -1
  420. package/dist/module/owner-form-inputs2.js +3 -3
  421. package/dist/module/owner-form.js +2 -2
  422. package/dist/module/package.js +1 -1
  423. package/dist/module/pagination-menu2.js +3 -3
  424. package/dist/module/parts.js +4 -1
  425. package/dist/module/payment-details-core2.js +11 -9
  426. package/dist/module/payment-method-option.js +1 -1
  427. package/dist/module/payment-provisioning-actions.js +1 -1
  428. package/dist/module/payment-provisioning-core.js +49 -85
  429. package/dist/module/payment-provisioning-form-buttons.js +1 -1
  430. package/dist/module/payment-provisioning-form-steps.js +49 -85
  431. package/dist/module/payment.service.js +2 -0
  432. package/dist/module/payments-list-core2.js +4 -2
  433. package/dist/module/payout-details-core2.js +4 -4
  434. package/dist/module/payout.service.js +2 -0
  435. package/dist/module/payouts-list-core2.js +4 -2
  436. package/dist/module/plaid.service.js +2 -0
  437. package/dist/module/product-or-service.js +1 -1
  438. package/dist/module/refund-policy.js +1 -1
  439. package/dist/module/save-new-payment-method.js +1 -1
  440. package/dist/module/schema-validations.js +2 -15
  441. package/dist/module/shipping-details.js +1 -1
  442. package/dist/module/summary.js +1 -1
  443. package/dist/module/table-filters-menu2.js +2 -2
  444. package/dist/module/table.js +1 -1
  445. package/dist/module/terminal-orders-list-core2.js +4 -2
  446. package/dist/module/terminal-quantity-selector2.js +1 -1
  447. package/dist/module/terminal.service.js +2 -0
  448. package/dist/module/terminals-list-core2.js +5 -3
  449. package/dist/module/utils2.js +1 -7
  450. package/dist/types/api/Checkout.d.ts +5 -0
  451. package/dist/types/api/GooglePay.d.ts +271 -0
  452. package/dist/types/api/index.d.ts +2 -0
  453. package/dist/types/api/services/google-pay.service.d.ts +60 -0
  454. package/dist/types/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step.d.ts +26 -2
  455. package/dist/types/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step.d.ts +42 -2
  456. package/dist/types/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step.d.ts +25 -2
  457. package/dist/types/components/business-forms/payment-provisioning/business-owners/business-owners-form-step.d.ts +21 -2
  458. package/dist/types/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.d.ts +37 -2
  459. package/dist/types/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step.d.ts +24 -2
  460. package/dist/types/components/business-forms/schemas/business-additional-questions-schema.d.ts +0 -6
  461. package/dist/types/components/business-forms/schemas/business-form-schema.d.ts +3 -21
  462. package/dist/types/components/business-forms/schemas/schema-validations.d.ts +0 -3
  463. package/dist/types/components/checkout/checkout.d.ts +1 -0
  464. package/dist/types/components/checkouts-list/checkouts-list-filters.d.ts +5 -0
  465. package/dist/types/components/modular-checkout/ModularCheckout.d.ts +2 -1
  466. package/dist/types/components/modular-checkout/modular-checkout.d.ts +5 -0
  467. package/dist/types/components/modular-checkout/sub-components/google-pay-skeleton.d.ts +6 -0
  468. package/dist/types/components/modular-checkout/sub-components/google-pay.d.ts +59 -0
  469. package/dist/types/components/tokenize-payment-method/tokenize-payment-method.d.ts +1 -1
  470. package/dist/types/components.d.ts +194 -282
  471. package/dist/types/store/checkout.store.d.ts +1 -0
  472. package/dist/types/styles/parts.d.ts +3 -0
  473. package/dist/types/ui-components/google-pay-button.d.ts +18 -0
  474. package/dist/webcomponents/index.esm.js +1 -1
  475. package/dist/webcomponents/p-016b3e4c.entry.js +1 -0
  476. package/dist/webcomponents/p-04ec17bb.entry.js +1 -0
  477. package/dist/webcomponents/p-06cae9e2.entry.js +1 -0
  478. package/dist/webcomponents/p-06f81525.entry.js +1 -0
  479. package/dist/webcomponents/p-095cedc5.entry.js +1 -0
  480. package/dist/webcomponents/p-0b7c4ed5.entry.js +1 -0
  481. package/dist/webcomponents/p-0bb616fc.entry.js +1 -0
  482. package/dist/webcomponents/p-0e981c28.entry.js +1 -0
  483. package/dist/webcomponents/p-1575ca68.entry.js +1 -0
  484. package/dist/webcomponents/p-15ceeea7.entry.js +1 -0
  485. package/dist/webcomponents/{p-0ce046fd.entry.js → p-1a327b0e.entry.js} +1 -1
  486. package/dist/webcomponents/p-1e761d96.entry.js +1 -0
  487. package/dist/webcomponents/{p-1edec396.entry.js → p-20e85114.entry.js} +1 -1
  488. package/dist/webcomponents/p-368b37ad.entry.js +1 -0
  489. package/dist/webcomponents/p-36a0af30.entry.js +1 -0
  490. package/dist/webcomponents/p-3a3935a3.entry.js +1 -0
  491. package/dist/webcomponents/p-4d2589b2.entry.js +1 -0
  492. package/dist/webcomponents/{p-de35abb6.entry.js → p-50400c5e.entry.js} +1 -1
  493. package/dist/webcomponents/{p-fe862786.entry.js → p-511e80a4.entry.js} +1 -1
  494. package/dist/webcomponents/p-5996879d.entry.js +1 -0
  495. package/dist/webcomponents/p-5a748e49.entry.js +1 -0
  496. package/dist/webcomponents/p-6454626a.entry.js +1 -0
  497. package/dist/webcomponents/p-66713269.entry.js +1 -0
  498. package/dist/webcomponents/p-679b36b5.entry.js +1 -0
  499. package/dist/webcomponents/{p-cd10cd05.entry.js → p-725319f3.entry.js} +1 -1
  500. package/dist/webcomponents/p-74fea39c.entry.js +1 -0
  501. package/dist/webcomponents/p-77754a65.entry.js +1 -0
  502. package/dist/webcomponents/p-87988b4d.entry.js +1 -0
  503. package/dist/webcomponents/p-88a8741b.entry.js +1 -0
  504. package/dist/webcomponents/{p-4e23116c.entry.js → p-897b794b.entry.js} +3 -3
  505. package/dist/webcomponents/p-899b981b.entry.js +1 -0
  506. package/dist/webcomponents/p-8c4b502d.entry.js +1 -0
  507. package/dist/webcomponents/p-8df30672.entry.js +1 -0
  508. package/dist/webcomponents/p-911b3d63.entry.js +1 -0
  509. package/dist/webcomponents/p-97b8bf5c.entry.js +1 -0
  510. package/dist/webcomponents/p-9b74a642.entry.js +1 -0
  511. package/dist/webcomponents/p-9b8aee30.entry.js +1 -0
  512. package/dist/webcomponents/p-9c1aa22d.entry.js +1 -0
  513. package/dist/webcomponents/p-9e94c9ef.entry.js +1 -0
  514. package/dist/webcomponents/{p-BS7OgSQe.js → p-B09GVew-.js} +1 -1
  515. package/dist/webcomponents/{p-CFevTCAJ.js → p-B4xdk4mG.js} +1 -1
  516. package/dist/webcomponents/{p-BTzt8N0l.js → p-BMJe4lzg.js} +1 -1
  517. package/dist/webcomponents/{p-nrZ9yHcl.js → p-BhqSAzpT.js} +1 -1
  518. package/dist/webcomponents/p-BrRsgB8S.js +1 -0
  519. package/dist/webcomponents/{p-bolTb61p.js → p-C2Senazf.js} +1 -1
  520. package/dist/webcomponents/p-C9VmfRis.js +1 -0
  521. package/dist/webcomponents/{p-CkN7DFFn.js → p-CBbwdoSa.js} +1 -1
  522. package/dist/webcomponents/{p-MQxr_LMC.js → p-CCxsFwC4.js} +1 -1
  523. package/dist/webcomponents/p-CK_XkZku.js +1 -0
  524. package/dist/webcomponents/p-CQGIjIgZ.js +1 -0
  525. package/dist/webcomponents/{p-DkOiS6Zr.js → p-CV8xqdt6.js} +1 -1
  526. package/dist/webcomponents/p-CZ3F1ZAT.js +1 -0
  527. package/dist/webcomponents/p-CgiDds_u.js +1 -0
  528. package/dist/webcomponents/p-CsRppqXL.js +1 -0
  529. package/dist/webcomponents/p-CsgUIrv8.js +1 -0
  530. package/dist/webcomponents/p-D032AB34.js +1 -0
  531. package/dist/webcomponents/{p-KPmnq8xf.js → p-D6bKoyRc.js} +1 -1
  532. package/dist/webcomponents/p-DATDsXcA.js +1 -0
  533. package/dist/webcomponents/{p-C8QOezo8.js → p-DGGjRqDa.js} +1 -1
  534. package/dist/webcomponents/{p-C6wS5-M7.js → p-DISrhs4v.js} +1 -1
  535. package/dist/webcomponents/{p-D1WQG4I7.js → p-DOcRWTul.js} +1 -1
  536. package/dist/webcomponents/{p-BNqo3kt0.js → p-DUmUUj9r.js} +1 -1
  537. package/dist/webcomponents/p-DY_3dcgR.js +1 -0
  538. package/dist/webcomponents/{p-D_IJC4HG.js → p-Dit3fZpU.js} +1 -1
  539. package/dist/webcomponents/p-DkoufM1t.js +1 -0
  540. package/dist/webcomponents/{p-BCPutgAi.js → p-Dlrq1iZf.js} +1 -1
  541. package/dist/webcomponents/p-DmdEjScI.js +1 -0
  542. package/dist/webcomponents/{p-BitGlMSc.js → p-RTAZ4tdd.js} +1 -1
  543. package/dist/webcomponents/p-Ty7R7tsw.js +1 -0
  544. package/dist/webcomponents/{p-DOLBAxYf.js → p-U3nU15el.js} +1 -1
  545. package/dist/webcomponents/p-VRubcA-q.js +1 -0
  546. package/dist/webcomponents/{p-BydKIJVC.js → p-W9WWoLzT.js} +1 -1
  547. package/dist/webcomponents/p-a0b4c42b.entry.js +1 -0
  548. package/dist/webcomponents/p-aa145996.entry.js +1 -0
  549. package/dist/webcomponents/p-b0f0d53c.entry.js +1 -0
  550. package/dist/webcomponents/p-b2a0cbad.entry.js +1 -0
  551. package/dist/webcomponents/p-b5b49e86.entry.js +1 -0
  552. package/dist/webcomponents/p-c0bd4e9a.entry.js +1 -0
  553. package/dist/webcomponents/p-c4585b68.entry.js +1 -0
  554. package/dist/webcomponents/p-c920dc54.entry.js +1 -0
  555. package/dist/webcomponents/p-cdf1e61c.entry.js +1 -0
  556. package/dist/webcomponents/{p-0082f428.entry.js → p-d0c4b0ea.entry.js} +1 -1
  557. package/dist/webcomponents/p-d2981754.entry.js +1 -0
  558. package/dist/webcomponents/p-d9cdd873.entry.js +1 -0
  559. package/dist/webcomponents/p-e4335938.entry.js +1 -0
  560. package/dist/webcomponents/{p-c8f40375.entry.js → p-e805b011.entry.js} +1 -1
  561. package/dist/webcomponents/p-eada0422.entry.js +1 -0
  562. package/dist/webcomponents/p-ef04f334.entry.js +1 -0
  563. package/dist/webcomponents/p-f23428da.entry.js +1 -0
  564. package/dist/webcomponents/p-f30c939f.entry.js +1 -0
  565. package/dist/webcomponents/p-f5dd3fa4.entry.js +1 -0
  566. package/dist/webcomponents/{p-af48a6bb.entry.js → p-f99403d8.entry.js} +1 -1
  567. package/dist/webcomponents/p-fb644da6.entry.js +1 -0
  568. package/dist/webcomponents/p-fc4b27ec.entry.js +1 -0
  569. package/dist/webcomponents/p-fc8f55d7.entry.js +1 -0
  570. package/dist/webcomponents/p-fe43449c.entry.js +1 -0
  571. package/dist/webcomponents/p-fe73b09b.entry.js +1 -0
  572. package/dist/webcomponents/p-ff5981fb.entry.js +1 -0
  573. package/dist/webcomponents/p-giyZ3C4E.js +1 -0
  574. package/dist/webcomponents/p-sA8HBfkI.js +1 -0
  575. package/dist/webcomponents/{p-C8yN3uBj.js → p-yyedWKWX.js} +1 -1
  576. package/dist/webcomponents/webcomponents.esm.js +1 -1
  577. package/package.json +17 -32
  578. package/dist/cjs/bank-account-document-form-inputs_6.cjs.entry.js +0 -132
  579. package/dist/cjs/checkout.store-BA6h-dp2.js +0 -107
  580. package/dist/cjs/justifi-additional-questions-form-step-core_6.cjs.entry.js +0 -874
  581. package/dist/cjs/justifi-business-representative-form-inputs.cjs.entry.js +0 -34
  582. package/dist/collection/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step-core.js +0 -265
  583. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step-core.js +0 -466
  584. package/dist/collection/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step-core.js +0 -307
  585. package/dist/collection/components/business-forms/payment-provisioning/business-owners/business-owners-form-step-core.js +0 -380
  586. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-step-core.js +0 -270
  587. package/dist/collection/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step-core.js +0 -276
  588. package/dist/esm/bank-account-document-form-inputs_6.entry.js +0 -125
  589. package/dist/esm/checkout.store-CaS_htQd.js +0 -101
  590. package/dist/esm/justifi-additional-questions-form-step-core_6.entry.js +0 -867
  591. package/dist/esm/justifi-business-representative-form-inputs.entry.js +0 -32
  592. package/dist/module/business-additional-questions-form-step-core.js +0 -167
  593. package/dist/module/business-bank-account-form-step-core.js +0 -456
  594. package/dist/module/business-core-info-form-step-core.js +0 -173
  595. package/dist/module/business-owners-form-step-core.js +0 -231
  596. package/dist/module/business-representative-form-step-core.js +0 -171
  597. package/dist/module/justifi-additional-questions-form-step-core.d.ts +0 -11
  598. package/dist/module/justifi-additional-questions-form-step-core.js +0 -6
  599. package/dist/module/justifi-business-bank-account-form-step-core.d.ts +0 -11
  600. package/dist/module/justifi-business-bank-account-form-step-core.js +0 -6
  601. package/dist/module/justifi-business-core-info-form-step-core.d.ts +0 -11
  602. package/dist/module/justifi-business-core-info-form-step-core.js +0 -6
  603. package/dist/module/justifi-business-owners-form-step-core.d.ts +0 -11
  604. package/dist/module/justifi-business-owners-form-step-core.js +0 -6
  605. package/dist/module/justifi-business-representative-form-step-core.d.ts +0 -11
  606. package/dist/module/justifi-business-representative-form-step-core.js +0 -6
  607. package/dist/module/justifi-legal-address-form-step-core.d.ts +0 -11
  608. package/dist/module/justifi-legal-address-form-step-core.js +0 -6
  609. package/dist/module/legal-address-form-step-core.js +0 -154
  610. package/dist/types/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step-core.d.ts +0 -38
  611. package/dist/types/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step-core.d.ts +0 -52
  612. package/dist/types/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step-core.d.ts +0 -40
  613. package/dist/types/components/business-forms/payment-provisioning/business-owners/business-owners-form-step-core.d.ts +0 -37
  614. package/dist/types/components/business-forms/payment-provisioning/business-representative/business-representative-form-step-core.d.ts +0 -50
  615. package/dist/types/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step-core.d.ts +0 -38
  616. package/dist/webcomponents/p-04b23547.entry.js +0 -1
  617. package/dist/webcomponents/p-04ed045b.entry.js +0 -1
  618. package/dist/webcomponents/p-1193a1ac.entry.js +0 -1
  619. package/dist/webcomponents/p-159d8ae7.entry.js +0 -1
  620. package/dist/webcomponents/p-20608f0c.entry.js +0 -1
  621. package/dist/webcomponents/p-266a9aee.entry.js +0 -1
  622. package/dist/webcomponents/p-2bafa257.entry.js +0 -1
  623. package/dist/webcomponents/p-30f61f44.entry.js +0 -1
  624. package/dist/webcomponents/p-3101565c.entry.js +0 -1
  625. package/dist/webcomponents/p-34aa9298.entry.js +0 -1
  626. package/dist/webcomponents/p-3c38cec5.entry.js +0 -1
  627. package/dist/webcomponents/p-3c40eefe.entry.js +0 -1
  628. package/dist/webcomponents/p-42c3bda4.entry.js +0 -1
  629. package/dist/webcomponents/p-44a94dac.entry.js +0 -1
  630. package/dist/webcomponents/p-48d1bc83.entry.js +0 -1
  631. package/dist/webcomponents/p-4dcbc0af.entry.js +0 -1
  632. package/dist/webcomponents/p-58ae4f9e.entry.js +0 -1
  633. package/dist/webcomponents/p-5a3687bf.entry.js +0 -1
  634. package/dist/webcomponents/p-5c8c88c6.entry.js +0 -1
  635. package/dist/webcomponents/p-614b0adc.entry.js +0 -1
  636. package/dist/webcomponents/p-7081eb35.entry.js +0 -1
  637. package/dist/webcomponents/p-7128920a.entry.js +0 -1
  638. package/dist/webcomponents/p-7218c312.entry.js +0 -1
  639. package/dist/webcomponents/p-73388c68.entry.js +0 -1
  640. package/dist/webcomponents/p-77b76007.entry.js +0 -1
  641. package/dist/webcomponents/p-77bd4fb0.entry.js +0 -1
  642. package/dist/webcomponents/p-7a3d9c24.entry.js +0 -1
  643. package/dist/webcomponents/p-8b6b7e20.entry.js +0 -1
  644. package/dist/webcomponents/p-8c07d9f0.entry.js +0 -1
  645. package/dist/webcomponents/p-8cfda6c1.entry.js +0 -1
  646. package/dist/webcomponents/p-8fcd277c.entry.js +0 -1
  647. package/dist/webcomponents/p-90de8098.entry.js +0 -1
  648. package/dist/webcomponents/p-98b8028e.entry.js +0 -1
  649. package/dist/webcomponents/p-9efd1bce.entry.js +0 -1
  650. package/dist/webcomponents/p-9fef2496.entry.js +0 -1
  651. package/dist/webcomponents/p-B-0a8Xqm.js +0 -1
  652. package/dist/webcomponents/p-B4ZUYyNh.js +0 -1
  653. package/dist/webcomponents/p-Bli6WznP.js +0 -1
  654. package/dist/webcomponents/p-BojLBYsY.js +0 -1
  655. package/dist/webcomponents/p-BpaE8q5f.js +0 -1
  656. package/dist/webcomponents/p-Bqlcv3ZV.js +0 -1
  657. package/dist/webcomponents/p-BuCKkdLM.js +0 -1
  658. package/dist/webcomponents/p-C-2kW6Al.js +0 -1
  659. package/dist/webcomponents/p-CPtsjcdm.js +0 -1
  660. package/dist/webcomponents/p-Ch9cTPyq.js +0 -1
  661. package/dist/webcomponents/p-DCIW8z1f.js +0 -1
  662. package/dist/webcomponents/p-DEhd71m_.js +0 -1
  663. package/dist/webcomponents/p-DU8dqq9U.js +0 -1
  664. package/dist/webcomponents/p-a54b8901.entry.js +0 -1
  665. package/dist/webcomponents/p-a655b996.entry.js +0 -1
  666. package/dist/webcomponents/p-a7f8cacb.entry.js +0 -1
  667. package/dist/webcomponents/p-a9bd4e27.entry.js +0 -1
  668. package/dist/webcomponents/p-aec9185f.entry.js +0 -1
  669. package/dist/webcomponents/p-avgjSJ1d.js +0 -1
  670. package/dist/webcomponents/p-b24a2971.entry.js +0 -1
  671. package/dist/webcomponents/p-bf8cf72d.entry.js +0 -1
  672. package/dist/webcomponents/p-c364c76d.entry.js +0 -1
  673. package/dist/webcomponents/p-c3b71a1f.entry.js +0 -1
  674. package/dist/webcomponents/p-c7MCfTgE.js +0 -1
  675. package/dist/webcomponents/p-cfd858be.entry.js +0 -1
  676. package/dist/webcomponents/p-d1951301.entry.js +0 -1
  677. package/dist/webcomponents/p-d39598e4.entry.js +0 -1
  678. package/dist/webcomponents/p-dc0d3484.entry.js +0 -1
  679. package/dist/webcomponents/p-dgG_o6wN.js +0 -1
  680. package/dist/webcomponents/p-e47a2592.entry.js +0 -1
  681. package/dist/webcomponents/p-e6507b93.entry.js +0 -1
  682. package/dist/webcomponents/p-eb56ba9b.entry.js +0 -1
  683. package/dist/webcomponents/p-ed55d333.entry.js +0 -1
  684. package/dist/webcomponents/p-edcb84bf.entry.js +0 -1
  685. package/dist/webcomponents/p-f0957fca.entry.js +0 -1
  686. package/dist/webcomponents/p-f0fc86ce.entry.js +0 -1
  687. package/dist/webcomponents/p-f223fabb.entry.js +0 -1
  688. package/dist/webcomponents/p-f26db2e6.entry.js +0 -1
  689. package/dist/webcomponents/p-fab28b02.entry.js +0 -1
  690. package/dist/webcomponents/p-wtuY7MT2.js +0 -1
  691. package/dist/webcomponents/p-zNSPsvs3.js +0 -1
  692. package/docs/.eslintrc.cjs +0 -17
  693. package/docs/changelog/index.mdx +0 -17
  694. package/docs/entities/businessdetails/index.mdx +0 -158
  695. package/docs/entities/businessform/index.mdx +0 -241
  696. package/docs/entities/index.mdx +0 -19
  697. package/docs/entities/payment-provisioning/index.mdx +0 -131
  698. package/docs/frameworks/angular/index.mdx +0 -112
  699. package/docs/frameworks/index.mdx +0 -18
  700. package/docs/frameworks/react/index.mdx +0 -125
  701. package/docs/frameworks/vue/index.mdx +0 -102
  702. package/docs/helpers/PartsTable.js +0 -50
  703. package/docs/helpers/PartsTable.ts +0 -55
  704. package/docs/helpers/PropsTable.js +0 -56
  705. package/docs/helpers/PropsTable.ts +0 -63
  706. package/docs/helpers/index.js +0 -4
  707. package/docs/helpers/index.ts +0 -3
  708. package/docs/helpers/version.js +0 -32
  709. package/docs/helpers/version.ts +0 -32
  710. package/docs/introduction/index.mdx +0 -125
  711. package/docs/merchant-tools/checkouts-list/index.mdx +0 -107
  712. package/docs/merchant-tools/gross-payments-chart/index.mdx +0 -81
  713. package/docs/merchant-tools/index.mdx +0 -25
  714. package/docs/merchant-tools/order-terminals/index.mdx +0 -84
  715. package/docs/merchant-tools/payment-details/index.mdx +0 -130
  716. package/docs/merchant-tools/payment-transactions-list/index.mdx +0 -85
  717. package/docs/merchant-tools/payments-list/index.mdx +0 -111
  718. package/docs/merchant-tools/payout-details/index.mdx +0 -90
  719. package/docs/merchant-tools/payout-transactions-list/index.mdx +0 -84
  720. package/docs/merchant-tools/payouts-list/index.mdx +0 -94
  721. package/docs/merchant-tools/terminal-orders-list/index.mdx +0 -85
  722. package/docs/merchant-tools/terminals-list/index.mdx +0 -93
  723. package/docs/modular-checkout/complete-examples/index.mdx +0 -20
  724. package/docs/modular-checkout/docs/index.mdx +0 -32
  725. package/docs/modular-checkout/example/index.mdx +0 -25
  726. package/docs/modular-checkout/index.mdx +0 -25
  727. package/docs/modular-checkout/introduction/index.mdx +0 -100
  728. package/docs/modular-checkout/sub-components/apple-pay.mdx +0 -96
  729. package/docs/modular-checkout/sub-components/bank-account-form.mdx +0 -162
  730. package/docs/modular-checkout/sub-components/card-form.mdx +0 -177
  731. package/docs/modular-checkout/sub-components/index.mdx +0 -23
  732. package/docs/modular-checkout/sub-components/payment-method-options.mdx +0 -85
  733. package/docs/modular-checkout/sub-components/plaid-payment-method.mdx +0 -175
  734. package/docs/modular-checkout/sub-components/saved-payment-methods.mdx +0 -177
  735. package/docs/modular-checkout/sub-components/season-interruption-insurance.mdx +0 -219
  736. package/docs/modular-checkout/sub-components/sezzle-payment-method.mdx +0 -183
  737. package/docs/modular-checkout/sub-components/summary.mdx +0 -107
  738. package/docs/payment-facilitation/dispute-management/index.mdx +0 -98
  739. package/docs/payment-facilitation/index.mdx +0 -21
  740. package/docs/payment-facilitation/refund-payment/index.mdx +0 -229
  741. package/docs/payment-facilitation/tokenize-payment-method/index.mdx +0 -361
  742. package/docs/payment-facilitation/unified-fintech-checkout/342/204/242/index.mdx +0 -164
@@ -1,16 +1,183 @@
1
1
  import { h } from "@stencil/core";
2
- import { ComponentErrorCodes, ComponentErrorSeverity } from "../../../../api";
2
+ import { ComponentErrorCodes, ComponentErrorSeverity, BankAccount, EntityDocument, EntityDocumentStorage } from "../../../../api";
3
3
  import { makeGetBusiness, makePostBankAccount, makePostDocumentRecord } from "../payment-provisioning-actions";
4
4
  import { BusinessService, BusinessBankAccountService, DocumentRecordService } from "../../../../api/services/business.service";
5
+ import { CountryCode } from "../../../../utils/country-codes";
6
+ import { bankAccountSchemaByCountry } from "../../schemas/business-bank-account-schema";
7
+ import { FormController } from "../../../../ui-components/form/form";
8
+ import { BusinessFormStep } from "../../utils";
9
+ import { heading2, buttonSecondary } from "../../../../styles/parts";
10
+ import { PaymentProvisioningLoading } from "../payment-provisioning-loading";
11
+ import { Button } from "../../../../ui-components";
5
12
  export class BusinessBankAccountFormStep {
13
+ constructor() {
14
+ this.errors = {};
15
+ this.bankAccount = {};
16
+ this.existingDocuments = [];
17
+ this.documentData = new EntityDocumentStorage();
18
+ this.isLoading = false;
19
+ this.isAddingNewBankAccount = true;
20
+ this.getSchema = () => {
21
+ const schema = bankAccountSchemaByCountry[this.country];
22
+ return schema(this.allowOptionalFields, this.existingDocuments);
23
+ };
24
+ this.initializeFormController = () => {
25
+ this.formController = new FormController(this.getSchema());
26
+ if (this.isAddingNewBankAccount) {
27
+ // Clear form when adding a new bank account
28
+ this.formController.setInitialValues({ business_id: this.businessId });
29
+ }
30
+ else {
31
+ this.formController.setInitialValues(Object.assign({}, this.bankAccount));
32
+ }
33
+ this.formController.errors.subscribe(errors => {
34
+ this.errors = Object.assign({}, errors);
35
+ });
36
+ };
37
+ this.inputHandler = (name, value) => {
38
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { [name]: value }));
39
+ };
40
+ this.storeFiles = (e) => {
41
+ const fileList = Array.from(e.detail.fileList);
42
+ const docType = e.detail.document_type;
43
+ const documentList = fileList.map(file => new EntityDocument({ file, document_type: docType }, this.businessId));
44
+ this.documentData[docType] = documentList;
45
+ };
46
+ this.getData = () => {
47
+ this.isLoading = true;
48
+ this.getBusiness({
49
+ onSuccess: (response) => {
50
+ if (response.data.bank_accounts.length > 0) {
51
+ // Get the latest bank account (last in array)
52
+ const bankAccounts = response.data.bank_accounts;
53
+ const latestBankAccount = bankAccounts[bankAccounts.length - 1];
54
+ this.bankAccount = new BankAccount(latestBankAccount);
55
+ this.isAddingNewBankAccount = false;
56
+ }
57
+ else {
58
+ this.bankAccount = new BankAccount({});
59
+ this.bankAccount.business_id = this.businessId;
60
+ }
61
+ this.existingDocuments = response.data.documents;
62
+ },
63
+ onError: ({ error, code, severity }) => {
64
+ this.errorEvent.emit({
65
+ message: error,
66
+ errorCode: code,
67
+ severity: severity
68
+ });
69
+ },
70
+ final: () => {
71
+ this.initializeFormController();
72
+ this.isLoading = false;
73
+ }
74
+ });
75
+ };
76
+ this.handleChangeBankAccount = () => {
77
+ this.isAddingNewBankAccount = true;
78
+ this.documentData = new EntityDocumentStorage();
79
+ this.initializeFormController();
80
+ };
81
+ this.handleCancel = () => {
82
+ this.isAddingNewBankAccount = false;
83
+ this.documentData = new EntityDocumentStorage();
84
+ this.initializeFormController();
85
+ };
86
+ this.handleSaveBankAccount = async () => {
87
+ this.formController.validateAndSubmit(() => {
88
+ this.sendData(() => {
89
+ // Success callback - form will refresh automatically
90
+ });
91
+ });
92
+ };
93
+ this.postDocumentRecordData = async (docData) => {
94
+ this.isLoading = true;
95
+ const payload = docData.record_data;
96
+ return new Promise((resolve) => {
97
+ this.postDocumentRecord({
98
+ payload,
99
+ onSuccess: (response) => {
100
+ resolve(this.handleDocRecordResponse(docData, response));
101
+ },
102
+ onError: ({ error, code, severity }) => {
103
+ this.errorEvent.emit({
104
+ message: error,
105
+ errorCode: code,
106
+ severity: severity
107
+ });
108
+ resolve(false);
109
+ },
110
+ });
111
+ });
112
+ };
113
+ this.handleDocRecordResponse = (docData, response) => {
114
+ if (response.error) {
115
+ this.errorEvent.emit({
116
+ errorCode: ComponentErrorCodes.POST_ERROR,
117
+ message: response.error.message,
118
+ severity: ComponentErrorSeverity.ERROR,
119
+ data: response.error,
120
+ });
121
+ return false;
122
+ }
123
+ else {
124
+ docData.setPresignedUrl(response.data.presigned_url);
125
+ return true;
126
+ }
127
+ };
128
+ this.uploadDocument = async (docData) => {
129
+ if (!docData.presigned_url) {
130
+ throw new Error('Presigned URL is not set');
131
+ }
132
+ const fileData = await docData.getFileData();
133
+ const response = await fetch(docData.presigned_url, {
134
+ method: 'PUT',
135
+ body: fileData
136
+ });
137
+ return this.handleUploadResponse(response);
138
+ };
139
+ this.handleUploadResponse = (response) => {
140
+ if (response.error) {
141
+ this.errorEvent.emit({
142
+ errorCode: ComponentErrorCodes.POST_ERROR,
143
+ message: response.error.message,
144
+ severity: ComponentErrorSeverity.ERROR,
145
+ data: response.error,
146
+ });
147
+ return false;
148
+ }
149
+ else {
150
+ return true;
151
+ }
152
+ };
153
+ }
6
154
  propChanged() {
7
155
  this.initializeApi();
8
156
  }
157
+ watchHandler(newValue) {
158
+ this.formLoading.emit(newValue);
159
+ }
9
160
  async validateAndSubmit({ onSuccess }) {
10
- this.coreComponent.validateAndSubmit({ onSuccess });
161
+ if (this.existingBankAccount && !this.isAddingNewBankAccount) {
162
+ // If a bank account already exists and we're not adding a new one, skip bank account posting; proceed directly to document upload
163
+ this.sendData(onSuccess);
164
+ }
165
+ else {
166
+ // If bank account is new, validate form inputs (bank account fields), then proceed
167
+ this.formController.validateAndSubmit(() => this.sendData(onSuccess));
168
+ }
11
169
  }
12
170
  componentWillLoad() {
13
171
  this.initializeApi();
172
+ if (this.getBusiness) {
173
+ this.getData();
174
+ }
175
+ this.formController = new FormController(this.getSchema());
176
+ }
177
+ componentDidLoad() {
178
+ this.formController.errors.subscribe(errors => {
179
+ this.errors = Object.assign({}, errors);
180
+ });
14
181
  }
15
182
  initializeApi() {
16
183
  if (this.authToken && this.businessId) {
@@ -36,8 +203,127 @@ export class BusinessBankAccountFormStep {
36
203
  });
37
204
  }
38
205
  }
206
+ get postPayload() {
207
+ const values = this.formController.values.getValue();
208
+ const formValues = new BankAccount(values).payload;
209
+ return formValues;
210
+ }
211
+ get existingBankAccount() {
212
+ var _a;
213
+ return !!((_a = this.bankAccount) === null || _a === void 0 ? void 0 : _a.id);
214
+ }
215
+ get showReadOnlyView() {
216
+ return this.existingBankAccount && !this.isAddingNewBankAccount;
217
+ }
218
+ async sendData(onSuccess) {
219
+ try {
220
+ // Post bank account data if we're adding a new bank account
221
+ const bankAccountPosted = this.isAddingNewBankAccount ? await this.postBankAccountData() : true;
222
+ if (!bankAccountPosted) {
223
+ return;
224
+ }
225
+ // Post documents only after bank account was successfully created
226
+ const documentsUploaded = await this.postBusinessDocuments();
227
+ if (!documentsUploaded) {
228
+ return;
229
+ }
230
+ // Refresh bank account data after successful save
231
+ if (this.isAddingNewBankAccount) {
232
+ this.isAddingNewBankAccount = false;
233
+ await this.refreshBankAccountData();
234
+ }
235
+ onSuccess();
236
+ }
237
+ catch (error) {
238
+ this.errorEvent.emit({
239
+ message: error,
240
+ errorCode: ComponentErrorCodes.POST_ERROR,
241
+ severity: ComponentErrorSeverity.ERROR
242
+ });
243
+ }
244
+ }
245
+ async postBankAccountData() {
246
+ let submittedData;
247
+ this.isLoading = true;
248
+ return new Promise((resolve) => {
249
+ let success = false;
250
+ this.postBankAccount({
251
+ payload: this.postPayload,
252
+ onSuccess: (response) => {
253
+ submittedData = response;
254
+ success = true;
255
+ },
256
+ onError: ({ error, code, severity }) => {
257
+ success = false;
258
+ this.errorEvent.emit({
259
+ message: error,
260
+ errorCode: code,
261
+ severity: severity
262
+ });
263
+ },
264
+ final: () => {
265
+ this.stepCompleteEvent.emit({ response: submittedData, formStep: BusinessFormStep.bankAccount });
266
+ this.isLoading = false;
267
+ resolve(success);
268
+ }
269
+ });
270
+ });
271
+ }
272
+ async refreshBankAccountData() {
273
+ return new Promise((resolve) => {
274
+ this.isLoading = true;
275
+ this.getBusiness({
276
+ onSuccess: (response) => {
277
+ if (response.data.bank_accounts.length > 0) {
278
+ // Get the latest bank account (last in array)
279
+ const bankAccounts = response.data.bank_accounts;
280
+ const latestBankAccount = bankAccounts[bankAccounts.length - 1];
281
+ this.bankAccount = new BankAccount(latestBankAccount);
282
+ }
283
+ this.existingDocuments = response.data.documents;
284
+ this.initializeFormController();
285
+ },
286
+ onError: ({ error, code, severity }) => {
287
+ this.errorEvent.emit({
288
+ message: error,
289
+ errorCode: code,
290
+ severity: severity
291
+ });
292
+ },
293
+ final: () => {
294
+ this.isLoading = false;
295
+ resolve();
296
+ }
297
+ });
298
+ });
299
+ }
300
+ async postBusinessDocuments() {
301
+ this.isLoading = true;
302
+ try {
303
+ const docArray = Object.values(this.documentData).flat();
304
+ if (!docArray.length) {
305
+ return true;
306
+ }
307
+ const recordsCreated = await Promise.all(docArray.map((docData) => this.postDocumentRecordData(docData))); // Create document records
308
+ if (recordsCreated.includes(false)) {
309
+ return false;
310
+ } // Exit if document record creation fails
311
+ const uploadsCompleted = await Promise.all(docArray.map((docData) => this.uploadDocument(docData))); // Upload documents to AWS presigned URLs
312
+ if (uploadsCompleted.includes(false)) {
313
+ return false;
314
+ } // Exit if any upload fails
315
+ return true;
316
+ }
317
+ finally {
318
+ this.isLoading = false;
319
+ }
320
+ }
39
321
  render() {
40
- return (h("justifi-business-bank-account-form-step-core", { key: 'f4e4c31d04884510d5b432b7cced5eea2b618bcd', businessId: this.businessId, getBusiness: this.getBusiness, postBankAccount: this.postBankAccount, postDocumentRecord: this.postDocumentRecord, allowOptionalFields: this.allowOptionalFields, country: this.country, ref: el => this.coreComponent = el }));
322
+ const bankAccountDefaultValue = this.formController.getInitialValues();
323
+ if (this.isLoading) {
324
+ return h(PaymentProvisioningLoading, null);
325
+ }
326
+ return (h("form", null, h("fieldset", { class: "mb-4" }, h("div", { class: "d-flex align-items-center gap-2" }, h("legend", { class: "mb-0", part: heading2 }, "Bank Account Info"), h("form-control-tooltip", { helpText: "This direct deposit account is the designated bank account where incoming funds will be deposited. The name of this account must match the registered business name exactly. We are not able to accept personal accounts unless your business is a registered sole proprietorship." })), h("hr", { class: "mt-2" }), this.country === CountryCode.CAN ? (h("bank-account-form-inputs-canada", { defaultValue: bankAccountDefaultValue, errors: this.errors, inputHandler: this.inputHandler, formDisabled: this.showReadOnlyView })) : (h("bank-account-form-inputs", { defaultValue: bankAccountDefaultValue, errors: this.errors, inputHandler: this.inputHandler, formDisabled: this.showReadOnlyView })), this.showReadOnlyView && (h("div", { class: "mt-3" }, h(Button, { variant: "secondary", type: "button", onClick: this.handleChangeBankAccount, disabled: this.isLoading, part: buttonSecondary }, "Change Bank Account"))), (!this.existingBankAccount || this.isAddingNewBankAccount) && (h("div", { class: "mt-3 d-flex gap-2" }, this.isAddingNewBankAccount && (h(Button, { variant: "secondary", type: "button", onClick: this.handleCancel, disabled: this.isLoading, part: buttonSecondary }, "Cancel")), h(Button, { variant: "primary", type: "button", onClick: this.handleSaveBankAccount, disabled: this.isLoading, isLoading: this.isLoading }, "Save Bank Account")))), h("fieldset", { class: "mt-4" }, h("div", { class: "d-flex align-items-center gap-2" }, h("legend", { class: "mb-0", part: heading2 }, "Document Uploads"), h("form-control-tooltip", { helpText: "One document (voided check or bank statement) is required for underwriting purposes. It needs to visibly show the name tied to the account and the account number. Various file formats such as PDF, DOC, DOCX, JPEG are accepted. Multiple files can be uploaded for each document category." })), h("hr", { class: "mt-2" }), h("business-documents-on-file", { documents: this.existingDocuments, isLoading: this.isLoading }), h("bank-account-document-form-inputs", { inputHandler: this.inputHandler, errors: this.errors, storeFiles: this.storeFiles }))));
41
327
  }
42
328
  static get is() { return "justifi-business-bank-account-form-step"; }
43
329
  static get properties() {
@@ -128,6 +414,13 @@ export class BusinessBankAccountFormStep {
128
414
  }
129
415
  static get states() {
130
416
  return {
417
+ "formController": {},
418
+ "errors": {},
419
+ "bankAccount": {},
420
+ "existingDocuments": {},
421
+ "documentData": {},
422
+ "isLoading": {},
423
+ "isAddingNewBankAccount": {},
131
424
  "getBusiness": {},
132
425
  "postBankAccount": {},
133
426
  "postDocumentRecord": {},
@@ -156,6 +449,42 @@ export class BusinessBankAccountFormStep {
156
449
  }
157
450
  }
158
451
  }
452
+ }, {
453
+ "method": "stepCompleteEvent",
454
+ "name": "complete-form-step-event",
455
+ "bubbles": true,
456
+ "cancelable": true,
457
+ "composed": true,
458
+ "docs": {
459
+ "tags": [],
460
+ "text": ""
461
+ },
462
+ "complexType": {
463
+ "original": "ComponentFormStepCompleteEvent",
464
+ "resolved": "ComponentFormStepCompleteEvent",
465
+ "references": {
466
+ "ComponentFormStepCompleteEvent": {
467
+ "location": "import",
468
+ "path": "../../../../api",
469
+ "id": "src/api/index.ts::ComponentFormStepCompleteEvent"
470
+ }
471
+ }
472
+ }
473
+ }, {
474
+ "method": "formLoading",
475
+ "name": "formLoading",
476
+ "bubbles": true,
477
+ "cancelable": true,
478
+ "composed": true,
479
+ "docs": {
480
+ "tags": [],
481
+ "text": ""
482
+ },
483
+ "complexType": {
484
+ "original": "boolean",
485
+ "resolved": "boolean",
486
+ "references": {}
487
+ }
159
488
  }];
160
489
  }
161
490
  static get methods() {
@@ -190,6 +519,9 @@ export class BusinessBankAccountFormStep {
190
519
  }, {
191
520
  "propName": "businessId",
192
521
  "methodName": "propChanged"
522
+ }, {
523
+ "propName": "isLoading",
524
+ "methodName": "watchHandler"
193
525
  }];
194
526
  }
195
527
  }
@@ -1,5 +1,5 @@
1
1
  import { h, Host } from "@stencil/core";
2
- import { formatDate, formatTimeSeconds, snakeCaseToHumanReadable } from "../../../../utils/utils";
2
+ import { formatDate, formatTime, snakeCaseToHumanReadable } from "../../../../utils/utils";
3
3
  import { card, heading2, table, tableCell, tableHeadCell } from "../../../../styles/parts";
4
4
  import { Skeleton } from "../../../../ui-components";
5
5
  export class BusinessDocumentsOnFile {
@@ -16,7 +16,7 @@ export class BusinessDocumentsOnFile {
16
16
  }
17
17
  return (h(Host, null, h("div", { class: "card", part: card }, h("div", { class: "card-body" }, h("h5", { class: "card-title", part: heading2 }, "Documents Already on File"), h("div", { class: "table-responsive" }, h("table", { class: "table table-sm table-borderless", part: table }, h("thead", null, h("tr", null, h("th", { style: { width: "25%" }, part: tableHeadCell, scope: "col" }, "File Name"), h("th", { style: { width: "25%" }, part: tableHeadCell, scope: "col" }, "File Type"), h("th", { style: { width: "25%" }, part: tableHeadCell, scope: "col" }, "Document Type"), h("th", { style: { width: "25%" }, part: tableHeadCell, scope: "col" }, "Date Uploaded"))), h("tbody", null, this.documents.sort((a, b) => a.document_type.localeCompare(b.document_type))
18
18
  .map((document, index) => {
19
- return (h("tr", { class: index === 0 ? "border-bottom border-top" : "border-bottom" }, h("td", { part: tableCell }, document.file_name), h("td", { part: tableCell }, document.file_type), h("td", { part: tableCell }, snakeCaseToHumanReadable(document.document_type)), h("td", { part: tableCell }, `${formatDate(document.created_at)} - ${formatTimeSeconds(document.created_at)}`)));
19
+ return (h("tr", { class: index === 0 ? "border-bottom border-top" : "border-bottom" }, h("td", { part: tableCell }, document.file_name), h("td", { part: tableCell }, document.file_type), h("td", { part: tableCell }, snakeCaseToHumanReadable(document.document_type)), h("td", { part: tableCell }, `${formatDate(document.created_at)} - ${formatTime(document.created_at)}`)));
20
20
  })))))), h("hr", null)));
21
21
  }
22
22
  static get is() { return "business-documents-on-file"; }
@@ -2,15 +2,95 @@ import { h } from "@stencil/core";
2
2
  import { ComponentErrorCodes, ComponentErrorSeverity } from "../../../../api/ComponentError";
3
3
  import { makeGetBusiness, makePatchBusiness } from "../payment-provisioning-actions";
4
4
  import { BusinessService } from "../../../../api/services/business.service";
5
+ import { CountryCode } from "../../../../utils/country-codes";
6
+ import { businessCoreInfoSchemaUSA, businessCoreInfoSchemaCAN } from "../../schemas/business-core-info-schema";
7
+ import { FormController } from "../../../../ui-components/form/form";
8
+ import { CoreBusinessInfo } from "../../../../api/Business";
9
+ import { BusinessFormStep, businessClassificationOptions } from "../../utils";
10
+ import { PHONE_MASKS } from "../../../../utils/form-input-masks";
11
+ import { heading2, label, inputDisabled, buttonSecondary } from "../../../../styles/parts";
12
+ import { PaymentProvisioningLoading } from "../payment-provisioning-loading";
13
+ import { countryLabels } from "../../utils/country-config";
5
14
  export class BusinessCoreInfoFormStep {
15
+ constructor() {
16
+ this.errors = {};
17
+ this.coreInfo = {};
18
+ this.isLoading = false;
19
+ this.isEditingTaxId = false;
20
+ this.getData = () => {
21
+ if (!this.getBusiness)
22
+ return;
23
+ this.formLoading.emit(true);
24
+ this.isLoading = true;
25
+ this.getBusiness({
26
+ onSuccess: (response) => {
27
+ this.coreInfo = new CoreBusinessInfo(response.data);
28
+ this.formController.setInitialValues(Object.assign({}, this.coreInfo));
29
+ },
30
+ onError: ({ error, code, severity }) => {
31
+ this.errorEvent.emit({
32
+ message: error,
33
+ errorCode: code,
34
+ severity: severity
35
+ });
36
+ },
37
+ final: () => {
38
+ this.formLoading.emit(false);
39
+ this.isLoading = false;
40
+ }
41
+ });
42
+ };
43
+ this.sendData = (onSuccess) => {
44
+ let submittedData;
45
+ this.formLoading.emit(true);
46
+ this.patchBusiness({
47
+ payload: this.patchPayload,
48
+ onSuccess: (response) => {
49
+ submittedData = response;
50
+ onSuccess();
51
+ // after successful patch, revert back to read-only for tax id
52
+ this.isEditingTaxId = false;
53
+ },
54
+ onError: ({ error, code, severity }) => {
55
+ submittedData = error;
56
+ this.errorEvent.emit({
57
+ message: error,
58
+ errorCode: code,
59
+ severity: severity
60
+ });
61
+ },
62
+ final: () => {
63
+ this.stepCompleteEvent.emit({ response: submittedData, formStep: BusinessFormStep.businessInfo });
64
+ this.formLoading.emit(false);
65
+ }
66
+ });
67
+ };
68
+ this.inputHandler = (name, value) => {
69
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { [name]: value }));
70
+ };
71
+ }
6
72
  propChanged() {
7
73
  this.initializeApi();
8
74
  }
9
75
  async validateAndSubmit({ onSuccess }) {
10
- this.coreComponent.validateAndSubmit({ onSuccess });
76
+ this.formController.validateAndSubmit(() => this.sendData(onSuccess));
77
+ }
78
+ get patchPayload() {
79
+ let formValues = new CoreBusinessInfo(this.formController.values.getValue()).payload;
80
+ return formValues;
11
81
  }
12
82
  componentWillLoad() {
13
83
  this.initializeApi();
84
+ const schema = (this.country === CountryCode.CAN)
85
+ ? businessCoreInfoSchemaCAN(this.allowOptionalFields)
86
+ : businessCoreInfoSchemaUSA(this.allowOptionalFields);
87
+ this.formController = new FormController(schema);
88
+ this.getData();
89
+ }
90
+ componentDidLoad() {
91
+ this.formController.errors.subscribe(errors => {
92
+ this.errors = Object.assign({}, errors);
93
+ });
14
94
  }
15
95
  initializeApi() {
16
96
  if (this.authToken && this.businessId) {
@@ -34,7 +114,16 @@ export class BusinessCoreInfoFormStep {
34
114
  }
35
115
  }
36
116
  render() {
37
- return (h("justifi-business-core-info-form-step-core", { key: '1aeaeae1d432883c1e242c066881cabc37097032', businessId: this.businessId, getBusiness: this.getBusiness, patchBusiness: this.patchBusiness, allowOptionalFields: this.allowOptionalFields, country: this.country, ref: el => this.coreComponent = el }));
117
+ var _a, _b;
118
+ const coreInfoDefaultValue = this.formController.getInitialValues();
119
+ if (this.isLoading) {
120
+ return h(PaymentProvisioningLoading, null);
121
+ }
122
+ return (h("form", null, h("fieldset", null, h("div", { class: "d-flex align-items-center gap-2" }, h("legend", { class: "mb-0", part: heading2 }, "Business Information")), h("hr", { class: "mt-2" }), h("div", { class: "row gy-3" }, h("div", { class: "col-12" }, h("form-control-text", { name: "legal_name", label: "Business Name", defaultValue: coreInfoDefaultValue.legal_name, errorText: this.errors.legal_name, inputHandler: this.inputHandler, helpText: "Enter this exactly as it appears on your tax records (don't use acronyms or abbreviations unless you registered that way)." })), h("div", { class: "col-12" }, h("form-control-text", { name: "doing_business_as", label: "Doing Business As (DBA)", defaultValue: coreInfoDefaultValue.doing_business_as, errorText: this.errors.doing_business_as, inputHandler: this.inputHandler, helpText: "Enter this exactly as it appears on your tax records (leave blank if you don't have a registered DBA/trade name)" })), h("div", { class: "col-12 col-md-8" }, h("form-control-select", { name: "classification", label: "Business Classification", options: businessClassificationOptions, defaultValue: coreInfoDefaultValue.classification, errorText: this.errors.classification, inputHandler: this.inputHandler })), h("div", { class: "col-12 col-md-4" }, h("form-control-date", { name: "date_of_incorporation", label: "Date of Registration", defaultValue: coreInfoDefaultValue.date_of_incorporation, errorText: this.errors.date_of_incorporation, inputHandler: this.inputHandler })), h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "industry", label: "Industry", defaultValue: coreInfoDefaultValue.industry, errorText: this.errors.industry, inputHandler: this.inputHandler, helpText: "Describe what you sell" })), h("div", { class: "col-12 col-md-6" }, (!((_a = this.coreInfo) === null || _a === void 0 ? void 0 : _a.tax_id_last4) || this.isEditingTaxId) ? (h("form-control-number-masked", { name: "tax_id", label: countryLabels[this.country].taxIdLabel, defaultValue: this.isEditingTaxId ? '' : coreInfoDefaultValue.tax_id, errorText: this.errors.tax_id, inputHandler: this.inputHandler, mask: '000000000', helpText: countryLabels[this.country].taxIdHelpText })) : (h("div", null, h("label", { class: "form-label", part: label }, countryLabels[this.country].taxIdLabel), h("div", { class: "input-group mb-3" }, h("input", { type: "text", class: "form-control", part: inputDisabled, value: `****${(_b = this.coreInfo) === null || _b === void 0 ? void 0 : _b.tax_id_last4}`, disabled: true }), h("button", { class: "btn btn-secondary", type: "button", part: buttonSecondary, onClick: () => {
123
+ this.isEditingTaxId = true;
124
+ // Clear last4-equivalent and current value if any future conditional validation depends on it
125
+ this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { tax_id: '', tax_id_last4: null }));
126
+ } }, "Change"))))), h("div", { class: "col-12" }, h("form-control-text", { name: "website_url", label: "Business Website URL", defaultValue: coreInfoDefaultValue.website_url, errorText: this.errors.website_url, inputHandler: this.inputHandler, helpText: "Don't have a live website? You can use your social media business page, app store link, or staging site URL." })), h("div", { class: "col-12 col-md-6" }, h("form-control-text", { name: "email", label: "Business Email Address", defaultValue: coreInfoDefaultValue.email, errorText: this.errors.email, inputHandler: this.inputHandler })), h("div", { class: "col-12 col-md-6" }, h("form-control-number-masked", { name: "phone", label: "Business Phone Number", defaultValue: coreInfoDefaultValue.phone, errorText: this.errors.phone, inputHandler: this.inputHandler, mask: PHONE_MASKS.US }))))));
38
127
  }
39
128
  static get is() { return "justifi-business-core-info-form-step"; }
40
129
  static get properties() {
@@ -126,7 +215,12 @@ export class BusinessCoreInfoFormStep {
126
215
  static get states() {
127
216
  return {
128
217
  "getBusiness": {},
129
- "patchBusiness": {}
218
+ "patchBusiness": {},
219
+ "formController": {},
220
+ "errors": {},
221
+ "coreInfo": {},
222
+ "isLoading": {},
223
+ "isEditingTaxId": {}
130
224
  };
131
225
  }
132
226
  static get events() {
@@ -151,6 +245,42 @@ export class BusinessCoreInfoFormStep {
151
245
  }
152
246
  }
153
247
  }
248
+ }, {
249
+ "method": "stepCompleteEvent",
250
+ "name": "complete-form-step-event",
251
+ "bubbles": true,
252
+ "cancelable": true,
253
+ "composed": true,
254
+ "docs": {
255
+ "tags": [],
256
+ "text": ""
257
+ },
258
+ "complexType": {
259
+ "original": "ComponentFormStepCompleteEvent",
260
+ "resolved": "ComponentFormStepCompleteEvent",
261
+ "references": {
262
+ "ComponentFormStepCompleteEvent": {
263
+ "location": "import",
264
+ "path": "../../../../api/ComponentEvents",
265
+ "id": "src/api/ComponentEvents.ts::ComponentFormStepCompleteEvent"
266
+ }
267
+ }
268
+ }
269
+ }, {
270
+ "method": "formLoading",
271
+ "name": "formLoading",
272
+ "bubbles": true,
273
+ "cancelable": true,
274
+ "composed": true,
275
+ "docs": {
276
+ "tags": [],
277
+ "text": ""
278
+ },
279
+ "complexType": {
280
+ "original": "boolean",
281
+ "resolved": "boolean",
282
+ "references": {}
283
+ }
154
284
  }];
155
285
  }
156
286
  static get methods() {