@justifi/webcomponents 6.14.4-rc.1 → 6.14.4

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 (447) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/{Analytics-CLtNL7cp.js → Analytics-CMv0MKQ4.js} +3 -3
  3. package/dist/cjs/{Api-j0tZ-Tix.js → Api-ChUqJ75C.js} +2 -2
  4. package/dist/cjs/{Plaid-CbaU5Arm.js → Plaid-B2o4c_Ej.js} +2 -0
  5. package/dist/cjs/additional-questions-form-step_15.cjs.entry.js +9 -9
  6. package/dist/cjs/{additional-questions_5.cjs.entry.js → additional-questions_4.cjs.entry.js} +0 -16
  7. package/dist/cjs/additional-statement_8.cjs.entry.js +8 -8
  8. package/dist/cjs/bank-account-billing-form-simple_4.cjs.entry.js +2 -2
  9. package/dist/cjs/bank-account-document-form-inputs.cjs.entry.js +3 -3
  10. package/dist/cjs/bank-account-form.cjs.entry.js +77 -27
  11. package/dist/cjs/{business.service-BGTzzUHv.js → business.service-BSoN1ENP.js} +2 -2
  12. package/dist/cjs/card-form.cjs.entry.js +79 -26
  13. package/dist/cjs/{check-pkg-version-IIkBL56i.js → check-pkg-version-mt-o0WFo.js} +1 -1
  14. package/dist/cjs/{checkout-actions-Cm38ZPqN.js → checkout-actions-VCJi-q4z.js} +2 -2
  15. package/dist/cjs/{checkout.service-C6banXoZ.js → checkout.service-BDUrLWyA.js} +2 -2
  16. package/dist/cjs/{checkout.store-CZHrIuaP.js → checkout.store-DOa1-SjA.js} +18 -4
  17. package/dist/cjs/{payments-list-params-state-vGJZ6Oe2.js → checkouts-list-params-state-DDpRrUTY.js} +1 -1
  18. package/dist/cjs/{config-state-BIgGhhe9.js → config-state-C1YMiFpR.js} +1 -1
  19. package/dist/cjs/dispute-notification_2.cjs.entry.js +12 -12
  20. package/dist/cjs/{event-types-CuvC_5oJ.js → event-types-DlZRGu3q.js} +2 -2
  21. package/dist/cjs/{hidden-input_2.cjs.entry.js → form-alert_3.cjs.entry.js} +34 -12
  22. package/dist/cjs/form-control-checkbox.cjs.entry.js +2 -2
  23. package/dist/cjs/form-control-select_2.cjs.entry.js +2 -2
  24. package/dist/cjs/{get-business-B3Jf5X7U.js → get-business-BBDsPv-b.js} +2 -2
  25. package/dist/cjs/{get-payment-details-Q9lHwr8Y.js → get-payment-details-BYZeUFAB.js} +3 -3
  26. package/dist/cjs/{get-subaccounts-BPqMUWqF.js → get-subaccounts-w4iQAASi.js} +4 -4
  27. package/dist/cjs/{index-W-zoNiyM.js → index-DDrfAj-j.js} +21 -15
  28. package/dist/cjs/{insurance-state-B-XQRmMs.js → insurance-state-CHQD1ZGw.js} +1 -1
  29. package/dist/cjs/justifi-apple-pay_11.cjs.entry.js +22 -25
  30. package/dist/cjs/justifi-bank-account-billing-form-simple.cjs.entry.js +7 -7
  31. package/dist/cjs/justifi-bank-account-form.cjs.entry.js +7 -7
  32. package/dist/cjs/justifi-business-details.cjs.entry.js +10 -10
  33. package/dist/cjs/justifi-business-form.cjs.entry.js +10 -10
  34. package/dist/cjs/justifi-card-form.cjs.entry.js +7 -7
  35. package/dist/cjs/justifi-checkout-qr-code.cjs.entry.js +7 -7
  36. package/dist/cjs/justifi-checkout.cjs.entry.js +10 -15
  37. package/dist/cjs/justifi-checkouts-list-filters.cjs.entry.js +6 -6
  38. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +13 -13
  39. package/dist/cjs/justifi-config-provider.cjs.entry.js +2 -2
  40. package/dist/cjs/justifi-dispute-management.cjs.entry.js +10 -10
  41. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +8 -8
  42. package/dist/cjs/justifi-order-terminals.cjs.entry.js +11 -11
  43. package/dist/cjs/justifi-payment-details.cjs.entry.js +10 -10
  44. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +10 -10
  45. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +9 -9
  46. package/dist/cjs/justifi-payments-list-filters.cjs.entry.js +2 -2
  47. package/dist/cjs/justifi-payments-list.cjs.entry.js +10 -10
  48. package/dist/cjs/justifi-payout-details.cjs.entry.js +10 -10
  49. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +9 -9
  50. package/dist/cjs/justifi-payouts-list-filters.cjs.entry.js +4 -4
  51. package/dist/cjs/justifi-payouts-list.cjs.entry.js +12 -12
  52. package/dist/cjs/justifi-qr-terminal.cjs.entry.js +10 -10
  53. package/dist/cjs/justifi-refund-payment.cjs.entry.js +12 -12
  54. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +10 -10
  55. package/dist/cjs/justifi-terminal-orders-list-filters.cjs.entry.js +4 -4
  56. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +9 -9
  57. package/dist/cjs/justifi-terminals-list-filters.cjs.entry.js +4 -4
  58. package/dist/cjs/justifi-terminals-list.cjs.entry.js +11 -11
  59. package/dist/cjs/loader.cjs.js +1 -1
  60. package/dist/cjs/{package-D_k65Ek-.js → package-V2lnhWch.js} +1 -1
  61. package/dist/cjs/{payment-provisioning-actions-DeURi9ZW.js → payment-provisioning-actions-CIsDrh8k.js} +2 -2
  62. package/dist/cjs/{payment.service-CsRgUBpg.js → payment.service-CUuADjYH.js} +2 -2
  63. package/dist/cjs/{checkouts-list-params-state-vGJZ6Oe2.js → payments-list-params-state-DDpRrUTY.js} +1 -1
  64. package/dist/cjs/{payout.service-B9Uy-vnZ.js → payout.service-D_gucuzq.js} +2 -2
  65. package/dist/cjs/{payouts-list-params-state-vGJZ6Oe2.js → payouts-list-params-state-DDpRrUTY.js} +1 -1
  66. package/dist/cjs/{payouts-status-BKO9VMJ_.js → payouts-status-DVU5138C.js} +2 -2
  67. package/dist/cjs/{plaid.service-BO5TCVg-.js → plaid.service-DIPjzg_M.js} +2 -2
  68. package/dist/cjs/save-new-payment-method.cjs.entry.js +2 -2
  69. package/dist/cjs/table-filters-menu.cjs.entry.js +1 -1
  70. package/dist/cjs/{terminal-orders-list-params-state-vGJZ6Oe2.js → terminal-orders-list-params-state-DDpRrUTY.js} +1 -1
  71. package/dist/cjs/{terminal.service-IQgeT2S0.js → terminal.service-DVxXWBU7.js} +2 -2
  72. package/dist/cjs/terminals-list-params-state-DDpRrUTY.js +22 -0
  73. package/dist/cjs/{utils-8zgGi717.js → utils-WrOn06xB.js} +1 -1
  74. package/dist/cjs/webcomponents.cjs.js +1 -1
  75. package/dist/collection/api/ComponentError.js +2 -0
  76. package/dist/collection/collection-manifest.json +2 -2
  77. package/dist/collection/components/checkout/bank-account-form/bank-account-form-skeleton.js +1 -5
  78. package/dist/collection/components/checkout/bank-account-form/bank-account-form.js +93 -19
  79. package/dist/collection/components/checkout/card-form/card-form-skeleton.js +1 -5
  80. package/dist/collection/components/checkout/card-form/card-form.js +96 -19
  81. package/dist/collection/components/checkout/justifi-checkout.js +2 -7
  82. package/dist/collection/components/checkout/test/use-bridged-fake-timers.js +14 -0
  83. package/dist/collection/components/checkouts-list/checkouts-list-filters.js +2 -2
  84. package/dist/collection/components/checkouts-list/justifi-checkouts-list.js +2 -2
  85. package/dist/collection/components/dispute-management/dispute-notification.js +2 -2
  86. package/dist/collection/components/dispute-management/dispute-response/additional-statement.js +1 -1
  87. package/dist/collection/components/dispute-management/dispute-response/cancellation-policy.js +1 -1
  88. package/dist/collection/components/dispute-management/dispute-response/customer-details.js +1 -1
  89. package/dist/collection/components/dispute-management/dispute-response/dispute-response.js +1 -1
  90. package/dist/collection/components/dispute-management/dispute-response/duplicate-charge.js +1 -1
  91. package/dist/collection/components/dispute-management/dispute-response/electronic-evidence.js +1 -1
  92. package/dist/collection/components/dispute-management/dispute-response/product-or-service.js +1 -1
  93. package/dist/collection/components/dispute-management/dispute-response/refund-policy.js +1 -1
  94. package/dist/collection/components/dispute-management/dispute-response/shipping-details.js +1 -1
  95. package/dist/collection/components/dispute-management/justifi-dispute-management.js +1 -1
  96. package/dist/collection/components/filters/table-filters-menu.js +1 -1
  97. package/dist/collection/components/modular-checkout/justifi-modular-checkout.js +8 -5
  98. package/dist/collection/components/modular-checkout/sub-components/justifi-apple-pay.js +1 -7
  99. package/dist/collection/components/refund-payment/justifi-refund-payment.js +2 -2
  100. package/dist/collection/store/checkout.store.js +17 -3
  101. package/dist/collection/ui-components/form/form-control-checkbox.js +2 -2
  102. package/dist/collection/ui-components/form/form-control-select.js +2 -2
  103. package/dist/collection/ui-components/form/iframe-input.js +26 -3
  104. package/dist/docs.json +100 -18
  105. package/dist/esm/{Analytics-CkVFbWbI.js → Analytics-C8-CZjVs.js} +4 -4
  106. package/dist/esm/{Api-C_lKBDA2.js → Api-BmZr64rt.js} +2 -2
  107. package/dist/esm/{Business-BcNb9bVO.js → Business-DaDqgDrb.js} +1 -1
  108. package/dist/esm/{Plaid-D389VmvK.js → Plaid-DJ-4YL0_.js} +2 -0
  109. package/dist/esm/additional-questions-details_5.entry.js +2 -2
  110. package/dist/esm/additional-questions-form-step_15.entry.js +19 -19
  111. package/dist/esm/{additional-questions_5.entry.js → additional-questions_4.entry.js} +5 -20
  112. package/dist/esm/additional-statement_8.entry.js +9 -9
  113. package/dist/esm/{badge-Dlcl9qdm.js → badge-B7QMpafx.js} +1 -1
  114. package/dist/esm/bank-account-billing-form-simple_4.entry.js +8 -8
  115. package/dist/esm/bank-account-document-form-inputs.entry.js +4 -4
  116. package/dist/esm/bank-account-form.entry.js +80 -30
  117. package/dist/esm/bank-account-read-only-value.entry.js +1 -1
  118. package/dist/esm/{business-form-options-DXjZp4Rl.js → business-form-options-BxVQL9ar.js} +1 -1
  119. package/dist/esm/{business-identity-schema-CXfLi-Wi.js → business-identity-schema-BkmRlnQo.js} +3 -3
  120. package/dist/esm/{business.service-CFAfsTjM.js → business.service-BTTf2CSv.js} +3 -3
  121. package/dist/esm/{button-BvzOzV4l.js → button-CBzHAOFW.js} +1 -1
  122. package/dist/esm/card-form.entry.js +82 -29
  123. package/dist/esm/{check-pkg-version-D8eS1EP8.js → check-pkg-version-B697jYyG.js} +1 -1
  124. package/dist/esm/{checkout-actions-Bmn6v-SS.js → checkout-actions-DhL8YxrK.js} +2 -2
  125. package/dist/esm/{checkout.service-B3kWd3Cb.js → checkout.service-B3BXVtHv.js} +3 -3
  126. package/dist/esm/{checkout.store-DibfdUMm.js → checkout.store-B6amfNq_.js} +18 -4
  127. package/dist/esm/{checkouts-list-params-state-CiGfmyWW.js → checkouts-list-params-state-DfRLZrOO.js} +1 -1
  128. package/dist/esm/{config-state-kKn89dp1.js → config-state-BKOsYBXZ.js} +1 -1
  129. package/dist/esm/{country-config-CEJVOOGe.js → country-config-CJwnhkdq.js} +1 -1
  130. package/dist/esm/custom-popper_2.entry.js +1 -1
  131. package/dist/esm/dispute-notification_2.entry.js +16 -16
  132. package/dist/esm/{event-types-CWcuMhpX.js → event-types-DEIzZDtB.js} +3 -3
  133. package/dist/esm/form-address-fields_3.entry.js +4 -4
  134. package/dist/esm/{hidden-input_2.entry.js → form-alert_3.entry.js} +29 -8
  135. package/dist/esm/form-control-checkbox.entry.js +5 -5
  136. package/dist/esm/form-control-date.entry.js +2 -2
  137. package/dist/esm/{form-control-error-text-Di9QePY5.js → form-control-error-text-FyanxO4T.js} +1 -1
  138. package/dist/esm/form-control-file-v2_2.entry.js +2 -2
  139. package/dist/esm/form-control-file.entry.js +2 -2
  140. package/dist/esm/{form-control-help-text-DGMpMuAm.js → form-control-help-text-DxvEdU36.js} +1 -1
  141. package/dist/esm/form-control-monetary-provisioning.entry.js +3 -3
  142. package/dist/esm/form-control-monetary.entry.js +3 -3
  143. package/dist/esm/form-control-number_2.entry.js +7 -7
  144. package/dist/esm/form-control-radio.entry.js +1 -1
  145. package/dist/esm/form-control-select_2.entry.js +4 -4
  146. package/dist/esm/{get-business-CDr7VlTq.js → get-business-BSyOONF0.js} +3 -3
  147. package/dist/esm/{get-payment-details-CpM_upcS.js → get-payment-details-CoGzqJ6o.js} +4 -4
  148. package/dist/esm/{get-subaccounts-DX2J9fAE.js → get-subaccounts-CnKtCpiU.js} +5 -5
  149. package/dist/esm/{header-1-evYxFIGN.js → header-1-BI0o3rMW.js} +1 -1
  150. package/dist/esm/{header-3-BUDap2xY.js → header-3-DNqRk_HO.js} +1 -1
  151. package/dist/esm/{index-cDVGjRkU.js → index-3wWWWrhn.js} +21 -15
  152. package/dist/esm/{input-handlers-1lVyzImK.js → input-handlers-Dfuc6aDW.js} +1 -1
  153. package/dist/esm/{insurance-state-C5OZqDCT.js → insurance-state-DM0VaTpH.js} +2 -2
  154. package/dist/esm/internal-button.entry.js +2 -2
  155. package/dist/esm/justifi-apple-pay_11.entry.js +27 -30
  156. package/dist/esm/justifi-bank-account-billing-form-simple.entry.js +8 -8
  157. package/dist/esm/justifi-bank-account-form.entry.js +8 -8
  158. package/dist/esm/justifi-business-details.entry.js +14 -14
  159. package/dist/esm/justifi-business-form.entry.js +19 -19
  160. package/dist/esm/justifi-card-form.entry.js +8 -8
  161. package/dist/esm/justifi-checkout-qr-code.entry.js +8 -8
  162. package/dist/esm/justifi-checkout.entry.js +12 -17
  163. package/dist/esm/justifi-checkouts-list-filters.entry.js +8 -8
  164. package/dist/esm/justifi-checkouts-list.entry.js +18 -18
  165. package/dist/esm/justifi-config-provider.entry.js +2 -2
  166. package/dist/esm/justifi-details.entry.js +2 -2
  167. package/dist/esm/justifi-dispute-management.entry.js +11 -11
  168. package/dist/esm/justifi-gross-payment-chart.entry.js +12 -12
  169. package/dist/esm/justifi-order-terminals.entry.js +14 -14
  170. package/dist/esm/justifi-payment-details.entry.js +16 -16
  171. package/dist/esm/justifi-payment-provisioning.entry.js +15 -15
  172. package/dist/esm/justifi-payment-transactions-list.entry.js +13 -13
  173. package/dist/esm/justifi-payments-list-filters.entry.js +3 -3
  174. package/dist/esm/justifi-payments-list.entry.js +16 -16
  175. package/dist/esm/justifi-payout-details.entry.js +16 -16
  176. package/dist/esm/justifi-payout-transactions-list.entry.js +13 -13
  177. package/dist/esm/justifi-payouts-list-filters.entry.js +6 -6
  178. package/dist/esm/justifi-payouts-list.entry.js +17 -17
  179. package/dist/esm/justifi-qr-terminal.entry.js +11 -11
  180. package/dist/esm/justifi-refund-payment.entry.js +16 -16
  181. package/dist/esm/justifi-saved-payment-method.entry.js +1 -1
  182. package/dist/esm/justifi-season-interruption-insurance.entry.js +13 -13
  183. package/dist/esm/justifi-skeleton.entry.js +2 -2
  184. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +6 -6
  185. package/dist/esm/justifi-terminal-orders-list.entry.js +14 -14
  186. package/dist/esm/justifi-terminals-list-filters.entry.js +6 -6
  187. package/dist/esm/justifi-terminals-list.entry.js +16 -16
  188. package/dist/esm/loader.js +1 -1
  189. package/dist/esm/{package-XQGYXcNa.js → package-DlhPMNzz.js} +1 -1
  190. package/dist/esm/pagination-menu.entry.js +1 -1
  191. package/dist/esm/{parts-CPKMvyV_.js → parts-Bu7gdOaV.js} +1 -1
  192. package/dist/esm/payment-method-option.entry.js +1 -1
  193. package/dist/esm/{payment-provisioning-actions-BJYx_JgF.js → payment-provisioning-actions-DJKGndr3.js} +2 -2
  194. package/dist/esm/payment-provisioning-form-buttons_2.entry.js +3 -3
  195. package/dist/esm/{payment-provisioning-loading-Dve2xQA4.js → payment-provisioning-loading-BxHRVFDi.js} +1 -1
  196. package/dist/esm/{payment.service-DICpfY3q.js → payment.service-Ciw1eGvT.js} +3 -3
  197. package/dist/esm/{payments-list-params-state-CiGfmyWW.js → payments-list-params-state-DfRLZrOO.js} +1 -1
  198. package/dist/esm/{payments-status-BlVUt4C1.js → payments-status-If2fvwlv.js} +1 -1
  199. package/dist/esm/{payout.service-C0dmZtzu.js → payout.service-2jjZOOvC.js} +3 -3
  200. package/dist/esm/{payouts-list-params-state-CiGfmyWW.js → payouts-list-params-state-DfRLZrOO.js} +1 -1
  201. package/dist/esm/{payouts-status-BnB9006T.js → payouts-status-C0nijel1.js} +3 -3
  202. package/dist/esm/{plaid.service-CDwe-YbI.js → plaid.service-CuAL_uL3.js} +3 -3
  203. package/dist/esm/radio-list-item.entry.js +1 -1
  204. package/dist/esm/save-new-payment-method.entry.js +2 -2
  205. package/dist/esm/{schema-validations-DJilm-Nh.js → schema-validations-8dbMCACI.js} +3 -3
  206. package/dist/esm/{skeleton-BEHo2ypu.js → skeleton-dbktEkFS.js} +1 -1
  207. package/dist/esm/{spinner-DIiQZd6_.js → spinner-EZmqiSfd.js} +1 -1
  208. package/dist/esm/{table-DqGfsdys.js → table-CD17nv9n.js} +2 -2
  209. package/dist/esm/table-filters-menu.entry.js +3 -3
  210. package/dist/esm/{terminal-orders-list-params-state-CiGfmyWW.js → terminal-orders-list-params-state-DfRLZrOO.js} +1 -1
  211. package/dist/esm/terminal-quantity-selector.entry.js +1 -1
  212. package/dist/esm/{terminal.service-DIDTZ_fB.js → terminal.service-Di5Ma4sp.js} +3 -3
  213. package/dist/esm/terminals-list-params-state-DfRLZrOO.js +16 -0
  214. package/dist/esm/{utils-CX6puxwf.js → utils-BFduyAPr.js} +1 -1
  215. package/dist/esm/{utils-BdBZQD1G.js → utils-D6LKoG0M.js} +1 -1
  216. package/dist/esm/webcomponents.js +1 -1
  217. package/dist/module/Plaid.js +2 -0
  218. package/dist/module/additional-statement2.js +1 -1
  219. package/dist/module/bank-account-form2.js +84 -25
  220. package/dist/module/business-bank-account-form-step2.js +1 -1
  221. package/dist/module/business-core-info-form-step2.js +1 -1
  222. package/dist/module/business-core-info2.js +1 -1
  223. package/dist/module/business-documents-on-file2.js +1 -1
  224. package/dist/module/business-owners-form-step2.js +1 -1
  225. package/dist/module/business-representative-form-inputs2.js +1 -1
  226. package/dist/module/business-representative2.js +1 -1
  227. package/dist/module/button.js +1 -1
  228. package/dist/module/cancellation-policy2.js +1 -1
  229. package/dist/module/card-form2.js +87 -25
  230. package/dist/module/checkout.store.js +17 -3
  231. package/dist/module/customer-details2.js +1 -1
  232. package/dist/module/dispute-notification2.js +3 -3
  233. package/dist/module/dispute-response2.js +2 -2
  234. package/dist/module/document-upload-list2.js +1 -1
  235. package/dist/module/duplicate-charge2.js +1 -1
  236. package/dist/module/electronic-evidence2.js +1 -1
  237. package/dist/module/form-alert2.js +1 -1
  238. package/dist/module/form-control-checkbox2.js +3 -3
  239. package/dist/module/form-control-select2.js +2 -2
  240. package/dist/module/header-3.js +1 -1
  241. package/dist/module/iframe-input2.js +11 -4
  242. package/dist/module/index3.js +21 -15
  243. package/dist/module/justifi-apple-pay2.js +1 -7
  244. package/dist/module/justifi-bank-account-form.js +8 -2
  245. package/dist/module/justifi-card-form.js +8 -2
  246. package/dist/module/justifi-checkout.js +22 -21
  247. package/dist/module/justifi-checkouts-list-filters.js +2 -2
  248. package/dist/module/justifi-checkouts-list.js +3 -3
  249. package/dist/module/justifi-dispute-management.js +1 -1
  250. package/dist/module/justifi-modular-checkout2.js +8 -5
  251. package/dist/module/justifi-order-terminals.js +1 -1
  252. package/dist/module/justifi-payment-transactions-list.js +1 -1
  253. package/dist/module/justifi-payments-list.js +1 -1
  254. package/dist/module/justifi-payout-transactions-list.js +1 -1
  255. package/dist/module/justifi-payouts-list.js +1 -1
  256. package/dist/module/justifi-refund-payment.js +2 -2
  257. package/dist/module/justifi-terminal-orders-list.js +1 -1
  258. package/dist/module/justifi-terminals-list.js +1 -1
  259. package/dist/module/justifi-tokenize-payment-method2.js +20 -14
  260. package/dist/module/owner-form-inputs2.js +1 -1
  261. package/dist/module/owner-form2.js +1 -1
  262. package/dist/module/package.js +1 -1
  263. package/dist/module/parts.js +1 -1
  264. package/dist/module/plaid-verification2.js +1 -1
  265. package/dist/module/product-or-service2.js +1 -1
  266. package/dist/module/refund-policy2.js +1 -1
  267. package/dist/module/shipping-details2.js +1 -1
  268. package/dist/module/table-filters-menu2.js +1 -1
  269. package/dist/module/table.js +1 -1
  270. package/dist/module/terminal-quantity-selector2.js +1 -1
  271. package/dist/types/api/ComponentError.d.ts +2 -0
  272. package/dist/types/components/checkout/bank-account-form/bank-account-form-skeleton.d.ts +1 -4
  273. package/dist/types/components/checkout/bank-account-form/bank-account-form.d.ts +11 -1
  274. package/dist/types/components/checkout/card-form/card-form-skeleton.d.ts +1 -4
  275. package/dist/types/components/checkout/card-form/card-form.d.ts +12 -2
  276. package/dist/types/components/checkout/test/use-bridged-fake-timers.d.ts +1 -0
  277. package/dist/types/components/modular-checkout/justifi-modular-checkout.d.ts +1 -0
  278. package/dist/types/components/modular-checkout/sub-components/justifi-apple-pay.d.ts +0 -1
  279. package/dist/types/components.d.ts +33 -0
  280. package/dist/types/store/checkout.store.d.ts +1 -3
  281. package/dist/types/ui-components/form/iframe-input.d.ts +2 -0
  282. package/dist/webcomponents/{p-932f6c6f.entry.js → p-003cd0b9.entry.js} +1 -1
  283. package/dist/webcomponents/p-041a22dd.entry.js +1 -0
  284. package/dist/webcomponents/{p-ec6978cb.entry.js → p-0464be7b.entry.js} +1 -1
  285. package/dist/webcomponents/p-0ae95f48.entry.js +1 -0
  286. package/dist/webcomponents/p-0c2848c8.entry.js +1 -0
  287. package/dist/webcomponents/{p-a7d0cc9f.entry.js → p-11294ee2.entry.js} +1 -1
  288. package/dist/webcomponents/{p-4a5d5dbb.entry.js → p-1255176f.entry.js} +1 -1
  289. package/dist/webcomponents/{p-1cff91b7.entry.js → p-15934f30.entry.js} +1 -1
  290. package/dist/webcomponents/p-19721f28.entry.js +1 -0
  291. package/dist/webcomponents/{p-c0698710.entry.js → p-1a1591e3.entry.js} +1 -1
  292. package/dist/webcomponents/{p-0a4fcb15.entry.js → p-1cdbe8c1.entry.js} +1 -1
  293. package/dist/webcomponents/{p-debc4768.entry.js → p-2139497d.entry.js} +1 -1
  294. package/dist/webcomponents/{p-f8c2ee31.entry.js → p-34a4924b.entry.js} +1 -1
  295. package/dist/webcomponents/p-359e35b5.entry.js +1 -0
  296. package/dist/webcomponents/{p-8fd18ce2.entry.js → p-36d7033b.entry.js} +1 -1
  297. package/dist/webcomponents/{p-dc0cc4aa.entry.js → p-3ef039ec.entry.js} +1 -1
  298. package/dist/webcomponents/p-40332723.entry.js +1 -0
  299. package/dist/webcomponents/{p-65c3288f.entry.js → p-465e9e1c.entry.js} +1 -1
  300. package/dist/webcomponents/{p-b03e361e.entry.js → p-49e40ebe.entry.js} +1 -1
  301. package/dist/webcomponents/{p-5a58f606.entry.js → p-4d60d249.entry.js} +1 -1
  302. package/dist/webcomponents/p-546e5799.entry.js +1 -0
  303. package/dist/webcomponents/{p-2dfdecbb.entry.js → p-558677a7.entry.js} +1 -1
  304. package/dist/webcomponents/{p-f953fd60.entry.js → p-568b81a2.entry.js} +1 -1
  305. package/dist/webcomponents/p-5_w3jWjY.js +1 -0
  306. package/dist/webcomponents/{p-73deced9.entry.js → p-61eae8cd.entry.js} +1 -1
  307. package/dist/webcomponents/p-63ed941e.entry.js +1 -0
  308. package/dist/webcomponents/{p-a504a830.entry.js → p-661f50a9.entry.js} +1 -1
  309. package/dist/webcomponents/p-6f34fa90.entry.js +1 -0
  310. package/dist/webcomponents/{p-e020f003.entry.js → p-6f88f836.entry.js} +1 -1
  311. package/dist/webcomponents/{p-9399f4f1.entry.js → p-715df6a8.entry.js} +1 -1
  312. package/dist/webcomponents/{p-8ef24398.entry.js → p-73f97f6a.entry.js} +1 -1
  313. package/dist/webcomponents/{p-5071aaa4.entry.js → p-74de23d8.entry.js} +1 -1
  314. package/dist/webcomponents/{p-222a5422.entry.js → p-8507bd99.entry.js} +1 -1
  315. package/dist/webcomponents/p-851a5865.entry.js +1 -0
  316. package/dist/webcomponents/p-8bf07094.entry.js +1 -0
  317. package/dist/webcomponents/p-8fO8CrtQ.js +1 -0
  318. package/dist/webcomponents/p-9c506058.entry.js +1 -0
  319. package/dist/webcomponents/{p-ebbb72db.entry.js → p-9f3b1212.entry.js} +1 -1
  320. package/dist/webcomponents/p-B-Ik8b-s.js +1 -0
  321. package/dist/webcomponents/p-B4Xi-t8v.js +1 -0
  322. package/dist/webcomponents/{p-DVJaoI_m.js → p-B4vLfYnZ.js} +1 -1
  323. package/dist/webcomponents/p-BAB1lPu0.js +1 -0
  324. package/dist/webcomponents/p-BLhz_ggG.js +1 -0
  325. package/dist/webcomponents/p-BTuqVZ6O.js +1 -0
  326. package/dist/webcomponents/{p-Cu7hgXL1.js → p-Bh6Q8AqQ.js} +1 -1
  327. package/dist/webcomponents/{p-D1_eip6x.js → p-Bi_GCMx0.js} +1 -1
  328. package/dist/webcomponents/{p-CV9bTMsT.js → p-BpFSR2PV.js} +1 -1
  329. package/dist/webcomponents/{p-Da3ZlxHS.js → p-BsnuluAl.js} +1 -1
  330. package/dist/webcomponents/{p-CPKMvyV_.js → p-Bu7gdOaV.js} +1 -1
  331. package/dist/webcomponents/p-BzjgvHHT.js +1 -0
  332. package/dist/webcomponents/{p-ynzkwSZi.js → p-C1x6dkgs.js} +1 -1
  333. package/dist/webcomponents/p-CArdj6i_.js +1 -0
  334. package/dist/webcomponents/p-CGnRD4wF.js +1 -0
  335. package/dist/webcomponents/p-CLZcevBz.js +1 -0
  336. package/dist/webcomponents/p-CMvr3y5s.js +1 -0
  337. package/dist/webcomponents/{p-CHo7TfsM.js → p-CU2Dwa94.js} +1 -1
  338. package/dist/webcomponents/p-CZk3i5Tu.js +1 -0
  339. package/dist/webcomponents/p-CaLXuYmg.js +1 -0
  340. package/dist/webcomponents/{p-DPA5TKvQ.js → p-CawcnSoV.js} +1 -1
  341. package/dist/webcomponents/p-CbyGKcz_.js +1 -0
  342. package/dist/webcomponents/{p-M5r3mgPH.js → p-CfYe14W-.js} +1 -1
  343. package/dist/webcomponents/p-Chs1q3Hw.js +1 -0
  344. package/dist/webcomponents/{p-B9fbqJSf.js → p-Co3Rtlnu.js} +1 -1
  345. package/dist/webcomponents/p-CumGHL0N.js +1 -0
  346. package/dist/webcomponents/p-D1H6VUbM.js +1 -0
  347. package/dist/webcomponents/p-D437Px2O.js +1 -0
  348. package/dist/webcomponents/p-DCwSevh5.js +1 -0
  349. package/dist/webcomponents/p-DD9-ceDZ.js +1 -0
  350. package/dist/webcomponents/p-DNuxxP2B.js +1 -0
  351. package/dist/webcomponents/p-DNxN6bjU.js +1 -0
  352. package/dist/webcomponents/p-DUtecvro.js +1 -0
  353. package/dist/webcomponents/{p-BICxxa69.js → p-DZr0wLGh.js} +1 -1
  354. package/dist/webcomponents/{p-BcNb9bVO.js → p-DaDqgDrb.js} +1 -1
  355. package/dist/webcomponents/p-DgTOxu8x.js +1 -0
  356. package/dist/webcomponents/p-Dl0CAW76.js +1 -0
  357. package/dist/webcomponents/p-DlhPMNzz.js +1 -0
  358. package/dist/webcomponents/{p-DHB_XJ12.js → p-Do9dxNjh.js} +1 -1
  359. package/dist/webcomponents/{p-Tf63eN3X.js → p-DwLofzXZ.js} +1 -1
  360. package/dist/webcomponents/{p-CHw7tICr.js → p-Dz8KJn2G.js} +1 -1
  361. package/dist/webcomponents/p-MPer3Rw7.js +1 -0
  362. package/dist/webcomponents/{p-BBSnDYJw.js → p-OReJ-ZQb.js} +1 -1
  363. package/dist/webcomponents/{p-4baac05b.entry.js → p-a0515894.entry.js} +1 -1
  364. package/dist/webcomponents/{p-76ded81e.entry.js → p-a14d3d7d.entry.js} +1 -1
  365. package/dist/webcomponents/p-a6f68a03.entry.js +1 -0
  366. package/dist/webcomponents/{p-49c13952.entry.js → p-af0c6421.entry.js} +1 -1
  367. package/dist/webcomponents/p-b140a8b8.entry.js +1 -0
  368. package/dist/webcomponents/{p-528eef2d.entry.js → p-b17fabdc.entry.js} +1 -1
  369. package/dist/webcomponents/{p-db09f306.entry.js → p-b2129553.entry.js} +1 -1
  370. package/dist/webcomponents/{p-605bd107.entry.js → p-b39dd96b.entry.js} +1 -1
  371. package/dist/webcomponents/{p-b0deb260.entry.js → p-b4d216cf.entry.js} +1 -1
  372. package/dist/webcomponents/{p-e1e91bbb.entry.js → p-b8d46fc5.entry.js} +1 -1
  373. package/dist/webcomponents/{p-53d775b9.entry.js → p-b945fa49.entry.js} +1 -1
  374. package/dist/webcomponents/{p-75b5d6ac.entry.js → p-b9b5d046.entry.js} +1 -1
  375. package/dist/webcomponents/p-bc435cae.entry.js +1 -0
  376. package/dist/webcomponents/{p-43a53ae2.entry.js → p-bd46911b.entry.js} +1 -1
  377. package/dist/webcomponents/p-bf3866b3.entry.js +1 -0
  378. package/dist/webcomponents/p-c4799285.entry.js +1 -0
  379. package/dist/webcomponents/p-cb5d2198.entry.js +1 -0
  380. package/dist/webcomponents/p-cb977890.entry.js +1 -0
  381. package/dist/webcomponents/{p-58e8d646.entry.js → p-d6122124.entry.js} +1 -1
  382. package/dist/webcomponents/{p-a686ebeb.entry.js → p-db71a012.entry.js} +1 -1
  383. package/dist/webcomponents/p-dd2654f5.entry.js +1 -0
  384. package/dist/webcomponents/{p-14a03ad0.entry.js → p-de8c6cd4.entry.js} +1 -1
  385. package/dist/webcomponents/p-eBK-iWrz.js +1 -0
  386. package/dist/webcomponents/{p-ba8eae66.entry.js → p-ee78df81.entry.js} +1 -1
  387. package/dist/webcomponents/p-f0083ace.entry.js +1 -0
  388. package/dist/webcomponents/{p-eccc1fc6.entry.js → p-f6941969.entry.js} +1 -1
  389. package/dist/webcomponents/p-f9d0b34d.entry.js +1 -0
  390. package/dist/webcomponents/{p-0d0167f8.entry.js → p-fbd08a2e.entry.js} +4 -4
  391. package/dist/webcomponents/p-x2oNTAWh.js +1 -0
  392. package/dist/webcomponents/webcomponents.esm.js +1 -1
  393. package/package.json +15 -15
  394. package/dist/cjs/terminals-list-params-state-vGJZ6Oe2.js +0 -22
  395. package/dist/esm/terminals-list-params-state-CiGfmyWW.js +0 -16
  396. package/dist/webcomponents/p-02097c85.entry.js +0 -1
  397. package/dist/webcomponents/p-0da78470.entry.js +0 -1
  398. package/dist/webcomponents/p-0f2a1ac9.entry.js +0 -1
  399. package/dist/webcomponents/p-1b51dea9.entry.js +0 -1
  400. package/dist/webcomponents/p-1de248b1.entry.js +0 -1
  401. package/dist/webcomponents/p-20f07ac9.entry.js +0 -1
  402. package/dist/webcomponents/p-25215ee7.entry.js +0 -1
  403. package/dist/webcomponents/p-35a01bf7.entry.js +0 -1
  404. package/dist/webcomponents/p-3d89543a.entry.js +0 -1
  405. package/dist/webcomponents/p-64377ff6.entry.js +0 -1
  406. package/dist/webcomponents/p-6624dcf8.entry.js +0 -1
  407. package/dist/webcomponents/p-6fe329d6.entry.js +0 -1
  408. package/dist/webcomponents/p-8cb504d4.entry.js +0 -1
  409. package/dist/webcomponents/p-8fabef40.entry.js +0 -1
  410. package/dist/webcomponents/p-9525003b.entry.js +0 -1
  411. package/dist/webcomponents/p-9cc293aa.entry.js +0 -1
  412. package/dist/webcomponents/p-AMVhBsGv.js +0 -1
  413. package/dist/webcomponents/p-AyLerOda.js +0 -1
  414. package/dist/webcomponents/p-B5gBiARs.js +0 -1
  415. package/dist/webcomponents/p-BPTtWj7E.js +0 -1
  416. package/dist/webcomponents/p-BwPS3971.js +0 -1
  417. package/dist/webcomponents/p-C-Jgmek8.js +0 -1
  418. package/dist/webcomponents/p-C6o0liMT.js +0 -1
  419. package/dist/webcomponents/p-CXIRxyAr.js +0 -1
  420. package/dist/webcomponents/p-CXZRiaUw.js +0 -1
  421. package/dist/webcomponents/p-CYH0JCan.js +0 -1
  422. package/dist/webcomponents/p-CZTtbCDg.js +0 -1
  423. package/dist/webcomponents/p-Ce_W43gc.js +0 -1
  424. package/dist/webcomponents/p-CmmWlVnF.js +0 -1
  425. package/dist/webcomponents/p-CpGEMRkH.js +0 -1
  426. package/dist/webcomponents/p-CqiVXthx.js +0 -1
  427. package/dist/webcomponents/p-D8GTwl9v.js +0 -1
  428. package/dist/webcomponents/p-DMB1dln7.js +0 -1
  429. package/dist/webcomponents/p-DSclFZ32.js +0 -1
  430. package/dist/webcomponents/p-DYHjzFnJ.js +0 -1
  431. package/dist/webcomponents/p-Dm07nLGs.js +0 -1
  432. package/dist/webcomponents/p-DnaE803u.js +0 -1
  433. package/dist/webcomponents/p-Dsm1jN-a.js +0 -1
  434. package/dist/webcomponents/p-Dw63wyhO.js +0 -1
  435. package/dist/webcomponents/p-DyPk4BJt.js +0 -1
  436. package/dist/webcomponents/p-IcPtYL88.js +0 -1
  437. package/dist/webcomponents/p-XQGYXcNa.js +0 -1
  438. package/dist/webcomponents/p-b36bdd5e.entry.js +0 -1
  439. package/dist/webcomponents/p-b6c45aa2.entry.js +0 -1
  440. package/dist/webcomponents/p-bpbC1knu.js +0 -1
  441. package/dist/webcomponents/p-c902503d.entry.js +0 -1
  442. package/dist/webcomponents/p-e3021e22.entry.js +0 -1
  443. package/dist/webcomponents/p-e7cfee5a.entry.js +0 -1
  444. package/dist/webcomponents/p-f3977cfe.entry.js +0 -1
  445. package/dist/webcomponents/p-jIDKmNHy.js +0 -1
  446. package/dist/webcomponents/p-rpFC83GL.js +0 -1
  447. package/dist/webcomponents/p-uZ5KAseb.js +0 -1
@@ -1,16 +1,16 @@
1
1
  import { r as registerInstance, h, H as Host } from './index-CV0Pyo1O.js';
2
2
  import { c as create$3, F as FormController } from './index.esm-KCSohgHx.js';
3
- import { z as postalValidation, A as stateValidation, h as cityValidation, l as lineTwoValidation, j as lineOneValidation, v as identityNameValidation, B as checkoutBillingStateOptions } from './schema-validations-DJilm-Nh.js';
4
- import { al as billingForm } from './parts-CPKMvyV_.js';
5
- import { c as checkoutStore, o as onChange } from './checkout.store-DibfdUMm.js';
3
+ import { z as postalValidation, A as stateValidation, h as cityValidation, l as lineTwoValidation, j as lineOneValidation, v as identityNameValidation, B as checkoutBillingStateOptions } from './schema-validations-8dbMCACI.js';
4
+ import { ak as billingForm } from './parts-Bu7gdOaV.js';
5
+ import { c as checkoutStore, o as onChange } from './checkout.store-B6amfNq_.js';
6
6
  import { P as PAYMENT_METHODS } from './index-DkoufM1t.js';
7
- import { H as Header3 } from './header-3-BUDap2xY.js';
7
+ import { H as Header3 } from './header-3-DNqRk_HO.js';
8
8
  import './event-types-CZfYo5-1.js';
9
9
  import './_commonjsHelpers-BFTU3MAI.js';
10
- import './country-config-CEJVOOGe.js';
11
- import './Business-BcNb9bVO.js';
12
- import './business-form-options-DXjZp4Rl.js';
13
- import './index-cDVGjRkU.js';
10
+ import './country-config-CJwnhkdq.js';
11
+ import './Business-DaDqgDrb.js';
12
+ import './business-form-options-BxVQL9ar.js';
13
+ import './index-3wWWWrhn.js';
14
14
 
15
15
  const fullBillingSchema = () => create$3({
16
16
  name: identityNameValidation.required('Enter full name'),
@@ -1,10 +1,10 @@
1
1
  import { r as registerInstance, h } from './index-CV0Pyo1O.js';
2
- import './config-state-kKn89dp1.js';
2
+ import './config-state-BKOsYBXZ.js';
3
3
  import './dinero-HXpYMWUU.js';
4
- import { E as EntityDocumentType } from './Plaid-D389VmvK.js';
4
+ import { E as EntityDocumentType } from './Plaid-DJ-4YL0_.js';
5
5
  import './Pagination-CLHwhyvu.js';
6
- import './Business-BcNb9bVO.js';
7
- import './index-cDVGjRkU.js';
6
+ import './Business-DaDqgDrb.js';
7
+ import './index-3wWWWrhn.js';
8
8
  import './utils-D8J8OvxY.js';
9
9
 
10
10
  const BankAccountDocumentFormInputs = class {
@@ -1,28 +1,35 @@
1
- import { h, r as registerInstance } from './index-CV0Pyo1O.js';
2
- import { S as Skeleton } from './skeleton-BEHo2ypu.js';
3
- import { w as waitForConfig, c as configState } from './config-state-kKn89dp1.js';
1
+ import { h, r as registerInstance, c as createEvent } from './index-CV0Pyo1O.js';
2
+ import { S as Skeleton } from './skeleton-dbktEkFS.js';
3
+ import { w as waitForConfig, c as configState } from './config-state-BKOsYBXZ.js';
4
4
  import { e as generateTabId } from './utils-D8J8OvxY.js';
5
- import { c as checkPkgVersion } from './check-pkg-version-D8eS1EP8.js';
6
- import { c as checkoutStore } from './checkout.store-DibfdUMm.js';
7
- import './parts-CPKMvyV_.js';
8
- import './index-cDVGjRkU.js';
5
+ import { c as checkPkgVersion } from './check-pkg-version-B697jYyG.js';
6
+ import { c as checkoutStore } from './checkout.store-B6amfNq_.js';
7
+ import { C as ComponentErrorSeverity, c as ComponentErrorMessages, b as ComponentErrorCodes } from './Plaid-DJ-4YL0_.js';
8
+ import './Pagination-CLHwhyvu.js';
9
+ import './Business-DaDqgDrb.js';
10
+ import { B as Button } from './button-CBzHAOFW.js';
11
+ import './event-types-CZfYo5-1.js';
12
+ import './parts-Bu7gdOaV.js';
13
+ import './index-3wWWWrhn.js';
9
14
  import './dinero-HXpYMWUU.js';
10
- import './package-XQGYXcNa.js';
15
+ import './package-DlhPMNzz.js';
11
16
  import './index-DkoufM1t.js';
12
17
 
13
- const BankAccountFormSkeleton = (props) => {
14
- const { isReady } = props;
15
- if (isReady) {
16
- return null;
17
- }
18
+ const BankAccountFormSkeleton = () => {
18
19
  return (h("div", { class: "container-fluid p-0" }, h("div", { class: "row mb-3" }, h("div", { class: "col-12 align-content-end" }, h(Skeleton, { height: "18px", width: "120px" }), h(Skeleton, { height: "36px" }))), h("div", { class: "row" }, h("div", { class: "col-12 align-content-end" }, h(Skeleton, { height: "18px", width: "110px" }), h(Skeleton, { height: "36px" })))));
19
20
  };
20
21
 
21
22
  const BankAccountForm = class {
22
23
  constructor(hostRef) {
23
24
  registerInstance(this, hostRef);
24
- this.isReady = false;
25
+ this.errorEvent = createEvent(this, "error-event", 7);
26
+ this.iframeState = 'loading';
25
27
  this.hasLoggedAchDisabledWarning = false;
28
+ this.reloadIframes = () => {
29
+ this.iframeState = 'loading';
30
+ this.iframeElements.forEach((element) => element.reload());
31
+ this.watchIframesLoad();
32
+ };
26
33
  }
27
34
  async componentWillLoad() {
28
35
  await waitForConfig();
@@ -31,23 +38,14 @@ const BankAccountForm = class {
31
38
  checkPkgVersion();
32
39
  }
33
40
  componentDidRender() {
34
- if (this.isAchDisabledForCheckout()) {
41
+ if (this.loadAbortController || !this.iframeElements.every(Boolean)) {
35
42
  return;
36
43
  }
37
- const elements = [
38
- this.accountNumberIframeElement,
39
- this.routingNumberIframeElement,
40
- ];
41
- if (!elements.every(Boolean)) {
42
- return;
43
- }
44
- Promise.all(elements.map((element) => {
45
- return new Promise((resolve) => {
46
- element.addEventListener('iframeLoaded', () => { resolve(); });
47
- });
48
- })).then(() => {
49
- this.isReady = true;
50
- });
44
+ this.watchIframesLoad();
45
+ }
46
+ disconnectedCallback() {
47
+ var _a;
48
+ (_a = this.loadAbortController) === null || _a === void 0 ? void 0 : _a.abort();
51
49
  }
52
50
  isAchDisabledForCheckout() {
53
51
  return (checkoutStore.checkoutLoaded && !checkoutStore.achPaymentsEnabled);
@@ -71,6 +69,58 @@ const BankAccountForm = class {
71
69
  const result = await this.accountNumberIframeElement.tokenize(clientId, paymentMethodMetadata, account);
72
70
  return result;
73
71
  }
72
+ get isReady() {
73
+ return this.iframeState === 'ready';
74
+ }
75
+ get iframeElements() {
76
+ return [
77
+ this.accountNumberIframeElement,
78
+ this.routingNumberIframeElement,
79
+ ];
80
+ }
81
+ watchIframesLoad() {
82
+ var _a;
83
+ (_a = this.loadAbortController) === null || _a === void 0 ? void 0 : _a.abort();
84
+ const { signal } = (this.loadAbortController = new AbortController());
85
+ const pending = new Set(this.iframeElements.map((element) => element.inputId));
86
+ const loaded = Promise.all(this.iframeElements.map((element) => (new Promise((resolve) => {
87
+ element.addEventListener('iframeLoaded', () => {
88
+ pending.delete(element.inputId);
89
+ resolve();
90
+ }, { once: true, signal });
91
+ }))));
92
+ const deadline = new Promise((_resolve, reject) => {
93
+ const timeoutId = window.setTimeout(() => reject(new Error(`Iframes failed to load: ${Array.from(pending).join(', ')}`)), 10000);
94
+ signal.addEventListener('abort', () => {
95
+ window.clearTimeout(timeoutId);
96
+ reject(new Error('iframe load watch aborted'));
97
+ }, { once: true });
98
+ });
99
+ Promise.race([loaded, deadline]).then(() => {
100
+ var _a;
101
+ if (signal.aborted)
102
+ return;
103
+ this.iframeState = 'ready';
104
+ (_a = this.loadAbortController) === null || _a === void 0 ? void 0 : _a.abort();
105
+ }).catch((e) => {
106
+ var _a;
107
+ if (signal.aborted)
108
+ return;
109
+ this.iframeState = 'error';
110
+ (_a = this.loadAbortController) === null || _a === void 0 ? void 0 : _a.abort();
111
+ this.errorEvent.emit({
112
+ errorCode: ComponentErrorCodes.IFRAME_LOAD_ERROR,
113
+ message: ComponentErrorMessages.IFRAME_LOAD_ERROR,
114
+ severity: ComponentErrorSeverity.ERROR,
115
+ data: {
116
+ errorMessage: e.message,
117
+ },
118
+ });
119
+ });
120
+ }
121
+ renderIframeError() {
122
+ return (h("div", null, h("form-alert", { text: ComponentErrorMessages.IFRAME_LOAD_ERROR, hideAlert: false }), h(Button, { variant: "link", clickHandler: this.reloadIframes, "aria-label": "Reload bank account form", type: "button" }, "Try again")));
123
+ }
74
124
  render() {
75
125
  if (this.isAchDisabledForCheckout()) {
76
126
  if (!this.hasLoggedAchDisabledWarning) {
@@ -79,7 +129,7 @@ const BankAccountForm = class {
79
129
  }
80
130
  return null;
81
131
  }
82
- return (h("div", null, h(BankAccountFormSkeleton, { isReady: this.isReady }), h("hidden-input", null), h("div", { class: "container-fluid p-0", style: {
132
+ return (h("div", null, this.iframeState === 'loading' && h(BankAccountFormSkeleton, null), this.iframeState === 'error' && this.renderIframeError(), h("hidden-input", null), h("div", { class: "container-fluid p-0", style: {
83
133
  opacity: this.isReady ? '1' : '0',
84
134
  height: this.isReady ? 'auto' : '0',
85
135
  } }, h("div", { class: "row mb-3" }, h("iframe-input", { inputId: "accountNumber", ref: (el) => (this.accountNumberIframeElement = el), label: "Account Number", iframeOrigin: `${this.iframeOrigin}/v2/accountNumber?tabId=${this.tabId}` })), h("div", { class: "row" }, h("iframe-input", { inputId: "routingNumber", ref: (el) => (this.routingNumberIframeElement = el), label: "Routing Number", iframeOrigin: `${this.iframeOrigin}/v2/routingNumber?tabId=${this.tabId}` })))));
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h } from './index-CV0Pyo1O.js';
2
- import { t as text } from './parts-CPKMvyV_.js';
2
+ import { t as text } from './parts-Bu7gdOaV.js';
3
3
 
4
4
  const BankAccountReadOnlyValue = class {
5
5
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { a as BusinessClassification } from './Business-BcNb9bVO.js';
1
+ import { a as BusinessClassification } from './Business-DaDqgDrb.js';
2
2
 
3
3
  const businessClassificationOptions = [
4
4
  {
@@ -1,7 +1,7 @@
1
1
  import { c as create$3, a as create$6 } from './index.esm-KCSohgHx.js';
2
- import { m as makeTaxIdValidation, d as dateOfIncorporationValidation, i as industryValidation, b as businessClassificationValidation, a as doingBusinessAsValidation, p as phoneValidation, e as emailValidation, w as websiteUrlValidation, c as businessNameValidation, t as taxIdValidation, o as otherPaymentDetailsValidation, f as whenServiceReceivedValidation, r as revenueValidation, g as paymentVolumeValidation, h as cityValidation, l as lineTwoValidation, j as lineOneValidation, k as makePostalValidation, n as ownershipPercentageValidation, s as ssnValidation, q as dobValidation, u as identityTitleValidation, v as identityNameValidation, x as makeOwnershipPercentageValidation, y as makeIdentityNumberValidation } from './schema-validations-DJilm-Nh.js';
3
- import { C as CountryCode } from './Business-BcNb9bVO.js';
4
- import { c as countryLabels } from './country-config-CEJVOOGe.js';
2
+ import { m as makeTaxIdValidation, d as dateOfIncorporationValidation, i as industryValidation, b as businessClassificationValidation, a as doingBusinessAsValidation, p as phoneValidation, e as emailValidation, w as websiteUrlValidation, c as businessNameValidation, t as taxIdValidation, o as otherPaymentDetailsValidation, f as whenServiceReceivedValidation, r as revenueValidation, g as paymentVolumeValidation, h as cityValidation, l as lineTwoValidation, j as lineOneValidation, k as makePostalValidation, n as ownershipPercentageValidation, s as ssnValidation, q as dobValidation, u as identityTitleValidation, v as identityNameValidation, x as makeOwnershipPercentageValidation, y as makeIdentityNumberValidation } from './schema-validations-8dbMCACI.js';
3
+ import { C as CountryCode } from './Business-DaDqgDrb.js';
4
+ import { c as countryLabels } from './country-config-CJwnhkdq.js';
5
5
 
6
6
  // Base schema (no country-specific rules for classification/tax id)
7
7
  const baseBusinessCoreInfoSchema = (allowOptionalFields) => {
@@ -1,7 +1,7 @@
1
- import { A as Api } from './Api-C_lKBDA2.js';
2
- import './Plaid-D389VmvK.js';
1
+ import { A as Api } from './Api-BmZr64rt.js';
2
+ import './Plaid-DJ-4YL0_.js';
3
3
  import './Pagination-CLHwhyvu.js';
4
- import './Business-BcNb9bVO.js';
4
+ import './Business-DaDqgDrb.js';
5
5
 
6
6
  const api = Api();
7
7
  class BusinessService {
@@ -1,5 +1,5 @@
1
1
  import { h } from './index-CV0Pyo1O.js';
2
- import { U as buttonOutlineSecondary, V as buttonOutlinePrimary, C as buttonLink, W as buttonDark, X as buttonLight, Y as buttonInfo, Z as buttonWarning, _ as buttonDanger, $ as buttonSuccess, a0 as buttonSecondary, a1 as buttonPrimary, a2 as buttonLoading } from './parts-CPKMvyV_.js';
2
+ import { U as buttonOutlineSecondary, V as buttonOutlinePrimary, C as buttonLink, W as buttonDark, X as buttonLight, Y as buttonInfo, Z as buttonWarning, _ as buttonDanger, $ as buttonSuccess, a0 as buttonSecondary, a1 as buttonPrimary, a2 as buttonLoading } from './parts-Bu7gdOaV.js';
3
3
 
4
4
  const ButtonSpinner = () => (h("div", { class: "spinner-border spinner-border-sm", role: "status", part: "button-spinner" }, h("span", { class: "visually-hidden" }, "Loading...")));
5
5
 
@@ -1,25 +1,32 @@
1
- import { h, r as registerInstance } from './index-CV0Pyo1O.js';
2
- import { S as Skeleton } from './skeleton-BEHo2ypu.js';
3
- import { w as waitForConfig, c as configState } from './config-state-kKn89dp1.js';
1
+ import { h, r as registerInstance, c as createEvent } from './index-CV0Pyo1O.js';
2
+ import { S as Skeleton } from './skeleton-dbktEkFS.js';
3
+ import { w as waitForConfig, c as configState } from './config-state-BKOsYBXZ.js';
4
4
  import { e as generateTabId } from './utils-D8J8OvxY.js';
5
- import { c as checkPkgVersion } from './check-pkg-version-D8eS1EP8.js';
6
- import './parts-CPKMvyV_.js';
7
- import './index-cDVGjRkU.js';
5
+ import { c as checkPkgVersion } from './check-pkg-version-B697jYyG.js';
6
+ import { C as ComponentErrorSeverity, c as ComponentErrorMessages, b as ComponentErrorCodes } from './Plaid-DJ-4YL0_.js';
7
+ import './Pagination-CLHwhyvu.js';
8
+ import './Business-DaDqgDrb.js';
9
+ import { B as Button } from './button-CBzHAOFW.js';
10
+ import './event-types-CZfYo5-1.js';
11
+ import './parts-Bu7gdOaV.js';
12
+ import './index-3wWWWrhn.js';
8
13
  import './dinero-HXpYMWUU.js';
9
- import './package-XQGYXcNa.js';
14
+ import './package-DlhPMNzz.js';
10
15
 
11
- const CardFormSkeleton = (props) => {
12
- const { isReady } = props;
13
- if (isReady) {
14
- return null;
15
- }
16
+ const CardFormSkeleton = () => {
16
17
  return (h("div", { class: "container-fluid p-0" }, h("div", { class: "mb-3" }, h(Skeleton, { height: "18px", width: "100px" }), h(Skeleton, { height: "36px" })), h("div", { class: "row" }, h("div", { class: "col-4 align-content-end" }, h(Skeleton, { height: "18px", width: "80px" }), h(Skeleton, { height: "36px" })), h("div", { class: "col-4 align-content-end" }, h(Skeleton, { height: "36px" })), h("div", { class: "col-4 align-content-end" }, h(Skeleton, { height: "18px", width: "30px" }), h(Skeleton, { height: "36px" })))));
17
18
  };
18
19
 
19
20
  const CardForm = class {
20
21
  constructor(hostRef) {
21
22
  registerInstance(this, hostRef);
22
- this.isReady = false;
23
+ this.errorEvent = createEvent(this, "error-event", 7);
24
+ this.iframeState = 'loading';
25
+ this.reloadIframes = () => {
26
+ this.iframeState = 'loading';
27
+ this.iframeElements.forEach((element) => element.reload());
28
+ this.watchIframesLoad();
29
+ };
23
30
  }
24
31
  async componentWillLoad() {
25
32
  await waitForConfig();
@@ -27,20 +34,12 @@ const CardForm = class {
27
34
  this.tabId = generateTabId();
28
35
  checkPkgVersion();
29
36
  }
30
- componentDidRender() {
31
- const elements = [
32
- this.cardNumberIframeElement,
33
- this.expirationMonthIframeElement,
34
- this.expirationYearIframeElement,
35
- this.cvvIframeElement,
36
- ];
37
- Promise.all(elements.map((element) => {
38
- return new Promise((resolve) => {
39
- element.addEventListener('iframeLoaded', () => { resolve(); });
40
- });
41
- })).then(() => {
42
- this.isReady = true;
43
- });
37
+ componentDidLoad() {
38
+ this.watchIframesLoad();
39
+ }
40
+ disconnectedCallback() {
41
+ var _a;
42
+ (_a = this.loadAbortController) === null || _a === void 0 ? void 0 : _a.abort();
44
43
  }
45
44
  async validate() {
46
45
  const cardNumberIsValid = await this.cardNumberIframeElement.validate();
@@ -53,11 +52,65 @@ const CardForm = class {
53
52
  const result = await this.cardNumberIframeElement.tokenize(clientId, paymentMethodMetadata, account);
54
53
  return result;
55
54
  }
55
+ get isReady() {
56
+ return this.iframeState === 'ready';
57
+ }
58
+ get iframeElements() {
59
+ return [
60
+ this.cardNumberIframeElement,
61
+ this.expirationMonthIframeElement,
62
+ this.expirationYearIframeElement,
63
+ this.cvvIframeElement,
64
+ ];
65
+ }
66
+ watchIframesLoad() {
67
+ var _a;
68
+ (_a = this.loadAbortController) === null || _a === void 0 ? void 0 : _a.abort();
69
+ const { signal } = (this.loadAbortController = new AbortController());
70
+ const pending = new Set(this.iframeElements.map((element) => element.inputId));
71
+ const loaded = Promise.all(this.iframeElements.map((element) => (new Promise((resolve) => {
72
+ element.addEventListener('iframeLoaded', () => {
73
+ pending.delete(element.inputId);
74
+ resolve();
75
+ }, { once: true, signal });
76
+ }))));
77
+ const deadline = new Promise((_resolve, reject) => {
78
+ const timeoutId = window.setTimeout(() => reject(new Error(`Iframes failed to load: ${Array.from(pending).join(', ')}`)), 10000);
79
+ signal.addEventListener('abort', () => {
80
+ window.clearTimeout(timeoutId);
81
+ reject(new Error('iframe load watch aborted'));
82
+ }, { once: true });
83
+ });
84
+ Promise.race([loaded, deadline]).then(() => {
85
+ var _a;
86
+ if (signal.aborted)
87
+ return;
88
+ this.iframeState = 'ready';
89
+ (_a = this.loadAbortController) === null || _a === void 0 ? void 0 : _a.abort();
90
+ }).catch((e) => {
91
+ var _a;
92
+ if (signal.aborted)
93
+ return;
94
+ this.iframeState = 'error';
95
+ (_a = this.loadAbortController) === null || _a === void 0 ? void 0 : _a.abort();
96
+ this.errorEvent.emit({
97
+ errorCode: ComponentErrorCodes.IFRAME_LOAD_ERROR,
98
+ message: ComponentErrorMessages.IFRAME_LOAD_ERROR,
99
+ severity: ComponentErrorSeverity.ERROR,
100
+ data: {
101
+ errorMessage: e.message,
102
+ },
103
+ });
104
+ });
105
+ }
106
+ renderIframeError() {
107
+ return (h("div", null, h("form-alert", { text: ComponentErrorMessages.IFRAME_LOAD_ERROR, hideAlert: false }), h(Button, { variant: "link", clickHandler: this.reloadIframes, "aria-label": "Reload payment form", type: "button" }, "Try again")));
108
+ }
56
109
  render() {
57
- return (h("div", { key: 'd3cb1fca6595f60e5f5f122b73d3d6c11a826423' }, h(CardFormSkeleton, { key: 'f83dcbbc214d460bb21c015ec051436ed5cf6670', isReady: this.isReady }), h("hidden-input", { key: '5fad0d06303d0ddb55c30c2cd94014255f2a8cec' }), h("div", { key: '68440756a1aad69b5c95245e7a2a5feb16899dca', class: "container-fluid p-0", style: {
110
+ return (h("div", { key: 'e6250721d89b25d536a5c40743decb7c2f0e9037' }, this.iframeState === 'loading' && h(CardFormSkeleton, { key: 'd3885015e28ade3f1d166d3a3ea91c212e4c08f9' }), this.iframeState === 'error' && this.renderIframeError(), h("hidden-input", { key: '083b462140adf1907e4c796ec99ce72f68a3dcef' }), h("div", { key: 'd20f7dccc152cb16bd216eb5886c7eee46cbd4f1', class: "container-fluid p-0", style: {
58
111
  opacity: this.isReady ? '1' : '0',
59
112
  height: this.isReady ? 'auto' : '0',
60
- } }, h("div", { key: 'b39eab56c79463935f1a1bb15cc867997f026e7b', class: "mb-3" }, h("iframe-input", { key: '25a2390a8c3c92d5e6eceafe6b821202ecb22d76', inputId: "cardNumber", ref: (el) => (this.cardNumberIframeElement = el), label: "Card Number", iframeOrigin: `${this.iframeOrigin}/v2/cardNumber?tabId=${this.tabId}` })), h("div", { key: '68766798d954a0b3d093ae13c3c2955f819da4f2', class: "row" }, h("div", { key: '05539f1ac8ebb0397574d55b4b76d7acdb7d2dca', class: "col-4 align-content-end" }, h("iframe-input", { key: '4c437a4384e6c301e18824d799784c1133e70ee3', inputId: "expirationMonth", ref: (el) => (this.expirationMonthIframeElement = el), label: "Expiration", iframeOrigin: `${this.iframeOrigin}/v2/expirationMonth?tabId=${this.tabId}` })), h("div", { key: 'b9a5b8b5dda1d8ab6305c9dc1ef9b655eb02fb3d', class: "col-4 align-content-end" }, h("iframe-input", { key: 'c1a412c20e75d21c1084a4b93f22362c367c1907', inputId: "expirationYear", ref: (el) => (this.expirationYearIframeElement = el), label: "", iframeOrigin: `${this.iframeOrigin}/v2/expirationYear?tabId=${this.tabId}` })), h("div", { key: 'abdfdbd7eb784871011397a7c5fdf371e3c6baf0', class: "col-4 align-content-end" }, h("iframe-input", { key: '08dff072e785846d7543018c194b4df6ce5b343e', inputId: "CVV", ref: (el) => (this.cvvIframeElement = el), label: "CVV", iframeOrigin: `${this.iframeOrigin}/v2/CVV?tabId=${this.tabId}` }))))));
113
+ } }, h("div", { key: 'd06fa0c936dc7963caf3e27ab4cbfee804822bc3', class: "mb-3" }, h("iframe-input", { key: '1050720e0aec9b5e38b7a97fce95229faf490b6f', inputId: "cardNumber", ref: (el) => (this.cardNumberIframeElement = el), label: "Card Number", iframeOrigin: `${this.iframeOrigin}/v2/cardNumber?tabId=${this.tabId}` })), h("div", { key: '5a37f9da6509890bc3b6e5e5d3061fef82ac8650', class: "row" }, h("div", { key: '249456011e5dca659243dc68495da16fdff5a183', class: "col-4 align-content-end" }, h("iframe-input", { key: '49f3a8baa14867708a9f1dad7f61830d86847473', inputId: "expirationMonth", ref: (el) => (this.expirationMonthIframeElement = el), label: "Expiration", iframeOrigin: `${this.iframeOrigin}/v2/expirationMonth?tabId=${this.tabId}` })), h("div", { key: 'e7fd325d2f39c7c293789931fda9de2f76faa4d4', class: "col-4 align-content-end" }, h("iframe-input", { key: '10beda8d2bfacdcf8ab3b17ffae858306312a06f', inputId: "expirationYear", ref: (el) => (this.expirationYearIframeElement = el), label: "", iframeOrigin: `${this.iframeOrigin}/v2/expirationYear?tabId=${this.tabId}` })), h("div", { key: 'de4a844a20da09910f710567e62d2b06f144abe7', class: "col-4 align-content-end" }, h("iframe-input", { key: '555a6c96fadb9e5466c76ea259c5d001e16468d6', inputId: "CVV", ref: (el) => (this.cvvIframeElement = el), label: "CVV", iframeOrigin: `${this.iframeOrigin}/v2/CVV?tabId=${this.tabId}` }))))));
61
114
  }
62
115
  };
63
116
 
@@ -1,4 +1,4 @@
1
- import { p as packageJson } from './package-XQGYXcNa.js';
1
+ import { p as packageJson } from './package-DlhPMNzz.js';
2
2
 
3
3
  const JUSTIFI_VERSION_KEY = '__JUSTIFI_WC_VERSION__';
4
4
  const detectDuplicateVersion = () => {
@@ -1,5 +1,5 @@
1
- import { C as ComponentErrorSeverity } from './Plaid-D389VmvK.js';
2
- import { g as getErrorCode, a as getErrorMessage } from './utils-BdBZQD1G.js';
1
+ import { C as ComponentErrorSeverity } from './Plaid-DJ-4YL0_.js';
2
+ import { g as getErrorCode, a as getErrorMessage } from './utils-D6LKoG0M.js';
3
3
 
4
4
  const makeGetCheckout = ({ authToken, checkoutId, service }) => async ({ onSuccess, onError }) => {
5
5
  var _a;
@@ -1,7 +1,7 @@
1
- import { A as Api } from './Api-C_lKBDA2.js';
2
- import './Plaid-D389VmvK.js';
1
+ import { A as Api } from './Api-BmZr64rt.js';
2
+ import './Plaid-DJ-4YL0_.js';
3
3
  import './Pagination-CLHwhyvu.js';
4
- import './Business-BcNb9bVO.js';
4
+ import './Business-DaDqgDrb.js';
5
5
 
6
6
  const api = Api();
7
7
  class CheckoutService {
@@ -1,4 +1,4 @@
1
- import { c as createStore } from './index-cDVGjRkU.js';
1
+ import { c as createStore } from './index-3wWWWrhn.js';
2
2
  import { P as PAYMENT_METHODS } from './index-DkoufM1t.js';
3
3
 
4
4
  const initialState = {
@@ -104,10 +104,24 @@ function getCheckoutState() {
104
104
  };
105
105
  }
106
106
  function onAnyChange(callback) {
107
- Object.keys(initialState).forEach((key) => {
108
- // @ts-ignore - onChange is generically typed by stencil/store but not exported here
109
- onChange(key, (newValue) => callback(key, newValue));
107
+ let pending = false;
108
+ let active = true;
109
+ const unsubscribe = Object.keys(initialState).map((key) => {
110
+ return onChange(key, () => {
111
+ if (pending || !active)
112
+ return;
113
+ pending = true;
114
+ queueMicrotask(() => {
115
+ pending = false;
116
+ if (active)
117
+ callback();
118
+ });
119
+ });
110
120
  });
121
+ return () => {
122
+ active = false;
123
+ unsubscribe.forEach((off) => off());
124
+ };
111
125
  }
112
126
 
113
127
  export { onAnyChange as a, getCheckoutState as b, checkoutStore as c, getAvailablePaymentMethodTypes as g, onChange as o };
@@ -1,4 +1,4 @@
1
- import { c as createStore } from './index-cDVGjRkU.js';
1
+ import { c as createStore } from './index-3wWWWrhn.js';
2
2
 
3
3
  const filterParamsInitialState = {};
4
4
  const propsParamsInitialState = {};
@@ -1,4 +1,4 @@
1
- import { c as createStore } from './index-cDVGjRkU.js';
1
+ import { c as createStore } from './index-3wWWWrhn.js';
2
2
 
3
3
  const initialState = {
4
4
  apiOrigin: "https://wc-proxy.justifi.ai",
@@ -1,4 +1,4 @@
1
- import { S as StateOptions } from './Business-BcNb9bVO.js';
1
+ import { S as StateOptions } from './Business-DaDqgDrb.js';
2
2
 
3
3
  const ProvinceOptions = [
4
4
  {
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index-CV0Pyo1O.js';
2
- import { an as tooltip, ao as tooltipInner, ap as tooltipIcon } from './parts-CPKMvyV_.js';
2
+ import { an as tooltip, ao as tooltipInner, ap as tooltipIcon } from './parts-Bu7gdOaV.js';
3
3
 
4
4
  var top = 'top';
5
5
  var bottom = 'bottom';
@@ -1,21 +1,21 @@
1
1
  import { r as registerInstance, c as createEvent, h } from './index-CV0Pyo1O.js';
2
2
  import { f as formatCurrency } from './utils-D8J8OvxY.js';
3
- import { t as text, a8 as heading4 } from './parts-CPKMvyV_.js';
4
- import { B as Button } from './button-BvzOzV4l.js';
5
- import { S as Skeleton } from './skeleton-BEHo2ypu.js';
3
+ import { t as text, a8 as heading4 } from './parts-Bu7gdOaV.js';
4
+ import { B as Button } from './button-CBzHAOFW.js';
5
+ import { S as Skeleton } from './skeleton-dbktEkFS.js';
6
6
  import './event-types-CZfYo5-1.js';
7
- import { C as ComponentErrorSeverity, b as ComponentErrorCodes } from './Plaid-D389VmvK.js';
8
- import { g as getErrorCode, a as getErrorMessage } from './utils-BdBZQD1G.js';
9
- import { D as DisputeManagementClickActions, a as DisputeService } from './event-types-CWcuMhpX.js';
10
- import { c as checkPkgVersion } from './check-pkg-version-D8eS1EP8.js';
11
- import { J as JustifiAnalytics } from './Analytics-CkVFbWbI.js';
7
+ import { C as ComponentErrorSeverity, b as ComponentErrorCodes } from './Plaid-DJ-4YL0_.js';
8
+ import { g as getErrorCode, a as getErrorMessage } from './utils-D6LKoG0M.js';
9
+ import { D as DisputeManagementClickActions, a as DisputeService } from './event-types-DEIzZDtB.js';
10
+ import { c as checkPkgVersion } from './check-pkg-version-B697jYyG.js';
11
+ import { J as JustifiAnalytics } from './Analytics-C8-CZjVs.js';
12
12
  import './dinero-HXpYMWUU.js';
13
- import './Api-C_lKBDA2.js';
14
- import './config-state-kKn89dp1.js';
15
- import './index-cDVGjRkU.js';
16
- import './package-XQGYXcNa.js';
13
+ import './Api-BmZr64rt.js';
14
+ import './config-state-BKOsYBXZ.js';
15
+ import './index-3wWWWrhn.js';
16
+ import './package-DlhPMNzz.js';
17
17
  import './Pagination-CLHwhyvu.js';
18
- import './Business-BcNb9bVO.js';
18
+ import './Business-DaDqgDrb.js';
19
19
 
20
20
  const makeUpdateDisputeResponse = ({ authToken, disputeId, service }) => async ({ payload, onSuccess, onError, final = () => { } }) => {
21
21
  var _a;
@@ -150,8 +150,8 @@ const DisputeNotification = class {
150
150
  }
151
151
  render() {
152
152
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
153
- return (h("div", { key: '325018c414e82b5c1bc7d9c5aa444b5a9d4e83d6', class: "dispute-notification-root" }, this.isLoading && (h("div", { key: 'deffb8ef248e32962aca084a564e83aa5f222b0a', style: { marginBottom: '8px' } }, h(Skeleton, { key: '6f6c630b3122b1b2fd480470f5df7683f19de612', height: '28px', width: '70%', styles: { marginBottom: '16px' } }), h(Skeleton, { key: '11f46711fed1094496c64551f084351c08f598be', height: '18px', styles: { marginBottom: '8px' } }), h(Skeleton, { key: 'fc7e2eac76e1cbc329147f3da39a8c28c51a7b6a', height: '18px', styles: { marginBottom: '8px' } }))), ((_a = this.dispute) === null || _a === void 0 ? void 0 : _a.needsResponse) && this.isDueDatePassed() && (h("div", { key: '0ef159acf9fe5b12dc0dcddab6b7583e5fc9a799', part: text }, h("h1", { key: 'db263006990c5b4cf178f7f81650ad7602765532', class: "h4", part: heading4 }, "The due date (", (_b = this.dispute) === null || _b === void 0 ? void 0 :
154
- _b.due_date, ") for this dispute has passed"), h("p", { key: '185c6f952ef46e3aec625cab73c943b3046ef6b4' }, "You can no longer submit evidence to counter this dispute."))), ((_c = this.dispute) === null || _c === void 0 ? void 0 : _c.needsResponse) && !this.isDueDatePassed() && (h("div", { key: 'd4536104addc500277fbde990b7b33ba8ff54c7e', part: text }, h("h1", { key: '198138cc6541c0aeeae458e2de1e3ae0c695328d', class: "h4", part: heading4 }, "This payment is disputed"), h("p", { key: '6902ce5e3e94ab7f71ee6d0c6a7604ef97f0e740' }, "The cardholder is disputing this payment. You may accept this dispute, or proceed to provide evidence in a counter dispute."), h("h2", { key: 'f49d1ac855365480edc61e0af117230e2f3dbe1f', class: "h5" }, "Dispute details"), h("div", { key: 'f3868a098dbc4a613d676b8580c053527f9d5fad', class: "d-table gap-2" }, h("div", { key: '7699bc619b652ffe1c77cf6e5e0dac967679b1e6', class: "d-table-row gap-2" }, h("span", { key: '9de67b45877120f54f724f1efe7b3f4d4b035d30', part: "detail-section-item-title", class: "fw-bold d-table-cell pe-4" }, "Amount"), h("span", { key: 'bfd79f86b5b81daf2a34f5874fcff03a05d1e64d', part: "detail-section-item-data", class: "flex-1 d-table-cell text-wrap" }, formatCurrency((_d = this.dispute) === null || _d === void 0 ? void 0 : _d.amount))), h("div", { key: '0e57d56172859eb5857a1930cb837569157026d9', class: "d-table-row gap-2" }, h("span", { key: '0b615bd8f9a9add7d18d50be4f4f644707576de2', part: "detail-section-item-title", class: "fw-bold d-table-cell pe-4" }, "Reason"), h("span", { key: '46288c67be32fe2d95fea88f5b0148f22552a2c9', part: "detail-section-item-data", class: "flex-1 d-table-cell text-wrap" }, (_e = this.dispute) === null || _e === void 0 ? void 0 : _e.reason)), h("div", { key: 'c68280b0f36280804fb6231236d942174c189456', class: "d-table-row gap-2" }, h("span", { key: 'ed3f145aa0f2c949b80d7033e4ecb818a4a4fa68', part: "detail-section-item-title", class: "fw-bold d-table-cell pe-4" }, "Due Date"), h("span", { key: '4c4530acbc570fb13b5f53947714bd250ff99cab', part: "detail-section-item-data", class: "flex-1 d-table-cell text-wrap" }, (_f = this.dispute) === null || _f === void 0 ? void 0 : _f.due_date))), h("div", { key: '3244bb6bdbed2b4e28c479c2d4db2d0ae152f2f0', class: "d-flex gap-2 mt-4 justify-content-end" }, h(Button, { key: '3716a28cec93e70690ad96bfc0c5f3b7b56f8ecb', variant: "secondary", onClick: () => this.acceptDispute() }, "Accept dispute"), h(Button, { key: '7f326ed6f298c9f1091b160c63e386864329190e', variant: "primary", onClick: () => this.initiateRespondToDispute() }, "Counter dispute")))), ((_g = this.dispute) === null || _g === void 0 ? void 0 : _g.underReview) && (h("div", { key: 'd705ae48c1f30b904ac31bbdbab9e955868f51e1', part: text }, h("h1", { key: '712cebef3699a8c2a97bcb69ae68e0b491090c88', class: "h4", part: heading4 }, "This payment is disputed and under review"), h("p", { key: 'ca95b2c8bdc6083a3fbb1dd63c6bdaa4699ae2a7' }, "The cardholder is disputing this payment. A counter dispute has been submitted and is under review."))), ((_h = this.dispute) === null || _h === void 0 ? void 0 : _h.won) && (h("div", { key: 'c0cb4c8342aa4f022d76e95123a047b7b707f562', part: text }, h("h1", { key: '797966d237d4b46eb1b880deb7fa21746f5b3b1e', class: "h4", part: heading4 }, "This payment was disputed"), h("p", { key: '2f9eed1a5f34f772206112488af22aa8b35c07b6' }, "The cardholder disputed this payment and the card issuer has settled it in your favor."))), ((_j = this.dispute) === null || _j === void 0 ? void 0 : _j.lost) && (h("div", { key: '9a90af51218ed921e27519363995f12e29713bfd', part: text }, h("h1", { key: '736ee5cf8f65d780d4812e24ea9050dcc0d109a4', class: "h4", part: heading4 }, "This payment was disputed"), h("p", { key: '9ca83087b028e1078bcc2cd0b552e8f5379932d1' }, "The cardholder disputed this payment and the card issuer has settled it in their favor.")))));
153
+ return (h("div", { key: '55685c8b421d48fb041862b2ae2ff0605a3a0b7f', class: "dispute-notification-root" }, this.isLoading && (h("div", { key: '93fba7164eea0a00231f2f762a1370fe2ba4ca52', style: { marginBottom: '8px' } }, h(Skeleton, { key: 'db8ca80547c4e022ee9cbb59b51cf1d199a65f0c', height: '28px', width: '70%', styles: { marginBottom: '16px' } }), h(Skeleton, { key: '15c884a6bbfcab6e89d9eb36cfcdc14a0505c25a', height: '18px', styles: { marginBottom: '8px' } }), h(Skeleton, { key: '61474f21b3f82c1cff6455c7d87c0474a4c5ebdd', height: '18px', styles: { marginBottom: '8px' } }))), ((_a = this.dispute) === null || _a === void 0 ? void 0 : _a.needsResponse) && this.isDueDatePassed() && (h("div", { key: '724f8896f7985469d457d5dea5936dc8ef0b30c0', part: text }, h("h1", { key: 'd4e86227300211d8ab792e8ae128912166957b02', class: "h4", part: heading4 }, "The due date (", (_b = this.dispute) === null || _b === void 0 ? void 0 :
154
+ _b.due_date, ") for this dispute has passed"), h("p", { key: '40e2fff6dadd6426d847cbc7164a72bb137ee44d' }, "You can no longer submit evidence to counter this dispute."))), ((_c = this.dispute) === null || _c === void 0 ? void 0 : _c.needsResponse) && !this.isDueDatePassed() && (h("div", { key: '1efebe3baa295271c793faaba07b9d62a7f19e93', part: text }, h("h1", { key: 'a6e10b6d4e8f01aacefb8d3cd5244eecbbb251e6', class: "h4", part: heading4 }, "This payment is disputed"), h("p", { key: 'fb99d2061fcae2a6b59a1121340bb141f8a2bcb2' }, "The cardholder is disputing this payment. You may accept this dispute, or proceed to provide evidence in a counter dispute."), h("h2", { key: '5e6a34864d24df666ab69291e98dc569946933ad', class: "h5" }, "Dispute details"), h("div", { key: '6a189bf2c84fad8024d60da7c6972917e8768fa9', class: "d-table gap-2" }, h("div", { key: '1d76955da64391406f2cf082d473fac4da8f6be9', class: "d-table-row gap-2" }, h("span", { key: '7dcc2947c8e2ba7e388dde66ec426b9d95e87938', part: "detail-section-item-title", class: "fw-bold d-table-cell pe-4" }, "Amount"), h("span", { key: 'b45cdeebd1ee9f0b6e4a023a41e496c28c265c64', part: "detail-section-item-data", class: "flex-1 d-table-cell text-wrap" }, formatCurrency((_d = this.dispute) === null || _d === void 0 ? void 0 : _d.amount))), h("div", { key: 'd33fd1331385a3b8bad3f44bb8d0d92c7d9fb3eb', class: "d-table-row gap-2" }, h("span", { key: 'd4a5c2fae926b736c6516522b32965c1f55d7623', part: "detail-section-item-title", class: "fw-bold d-table-cell pe-4" }, "Reason"), h("span", { key: '034868aa10b8179e485f2cc497adcf9caaca123d', part: "detail-section-item-data", class: "flex-1 d-table-cell text-wrap" }, (_e = this.dispute) === null || _e === void 0 ? void 0 : _e.reason)), h("div", { key: '8b56d8237d8039f90ec9141cc94e0147bc0e49bd', class: "d-table-row gap-2" }, h("span", { key: 'f301c07b7ceb2f54f642e764a61b359445962d17', part: "detail-section-item-title", class: "fw-bold d-table-cell pe-4" }, "Due Date"), h("span", { key: '3c7478dd78c2cd58b9eee3a3b30b0816ab8011bc', part: "detail-section-item-data", class: "flex-1 d-table-cell text-wrap" }, (_f = this.dispute) === null || _f === void 0 ? void 0 : _f.due_date))), h("div", { key: '1c912ca4428f444d4dd4f27584a8a64099524539', class: "d-flex gap-2 mt-4 justify-content-end" }, h(Button, { key: 'd15adbc5be96fbfe0545e87c57e1fe34449d4c8f', variant: "secondary", onClick: () => this.acceptDispute() }, "Accept dispute"), h(Button, { key: '0d7b4a74b52210106929114bb8d7db76eeadedd6', variant: "primary", onClick: () => this.initiateRespondToDispute() }, "Counter dispute")))), ((_g = this.dispute) === null || _g === void 0 ? void 0 : _g.underReview) && (h("div", { key: '8f1e958c5601d937d71da120e908acdb9b303367', part: text }, h("h1", { key: '67012e992b666b145bff9cf70011a0de88452e1e', class: "h4", part: heading4 }, "This payment is disputed and under review"), h("p", { key: 'fda8d98bffac5daf67574aabc854e58b5a754de0' }, "The cardholder is disputing this payment. A counter dispute has been submitted and is under review."))), ((_h = this.dispute) === null || _h === void 0 ? void 0 : _h.won) && (h("div", { key: '8c3699f761f941114b4fa91cad166c78def3dc00', part: text }, h("h1", { key: '411280747b719b85240bde3ab052ba4bd43437e3', class: "h4", part: heading4 }, "This payment was disputed"), h("p", { key: '82edec3d96009d23454f6ac63651b6763b4b22a4' }, "The cardholder disputed this payment and the card issuer has settled it in your favor."))), ((_j = this.dispute) === null || _j === void 0 ? void 0 : _j.lost) && (h("div", { key: '68416771d44d09201b630d7b25952894ce4a096c', part: text }, h("h1", { key: 'dcaf92df776e75aa78762c07fdbb750f1933311a', class: "h4", part: heading4 }, "This payment was disputed"), h("p", { key: '811fcf0b3a9f38fcf857998a672286e5c5ae0a9a' }, "The cardholder disputed this payment and the card issuer has settled it in their favor.")))));
155
155
  }
156
156
  };
157
157
 
@@ -352,7 +352,7 @@ const DisputeResponse = class {
352
352
  return this.currentStep === 0;
353
353
  }
354
354
  render() {
355
- return (h("div", { key: '7f9c8d56cfb86cea73ab2f299b83ff0de28f5c3e', class: "dispute-response-root" }, h("div", { key: 'a805bf54df79453127557bf651c3d776a381241f', class: "row gy-3" }, h("div", { key: '2e6bc9cbe369e0ea5d200bc0934b4cad50f3c76f', class: "col-12" }, h("h1", { key: '9876e9c87c6dfb405e7bad46d64fdb40ad048142', class: "h4", part: heading4 }, "Counter dispute")), h("div", { key: '045028232da5331c7041ad222c4e98364674ace3', class: "col-12" }, this.currentStepComponent), h("div", { key: '0455c4856a44340ce25c1c4c8f776abb197f919f', class: "col-12" }, h("div", { key: '5b990cc1d41b3a7152d727c941e9758ed70f75a1', class: "d-flex gap-2 mt-4 justify-content-end" }, this.isFirstStep ? (h(Button, { variant: "secondary", onClick: () => this.onCancel(), disabled: this.isLoading, isLoading: this.isLoading }, "Cancel")) : (h(Button, { variant: "secondary", onClick: () => this.onBack(), disabled: this.isLoading, isLoading: this.isLoading }, "Back")), this.isLastStep ? (h(Button, { variant: "primary", onClick: () => this.onSubmit(), disabled: this.isLoading, isLoading: this.isLoading }, "Submit Counter Dispute")) : (h(Button, { variant: "primary", onClick: () => this.onNext(), disabled: this.isLoading, isLoading: this.isLoading }, "Next")))))));
355
+ return (h("div", { key: '50c96cb107115c27ff993ed7288a58cd801ef936', class: "dispute-response-root" }, h("div", { key: '0ebe2541c4245c6371d3aa8cdfb58b3f92f2d96e', class: "row gy-3" }, h("div", { key: '78feb00f6f5b8fb96ceacba2e7bcda1342f8a244', class: "col-12" }, h("h1", { key: 'a86ab0cd63ebb945a69982ea05607ae4eadc1cf8', class: "h4", part: heading4 }, "Counter dispute")), h("div", { key: 'f9a5e9cad90d03ae773aaeb2e72049b453d05472', class: "col-12" }, this.currentStepComponent), h("div", { key: '838c642fdf957bf0e3fd8d4ef4c4abc79c2d6f61', class: "col-12" }, h("div", { key: '6b8af6fa4face4debee72950e86e3bc9461406da', class: "d-flex gap-2 mt-4 justify-content-end" }, this.isFirstStep ? (h(Button, { variant: "secondary", onClick: () => this.onCancel(), disabled: this.isLoading, isLoading: this.isLoading }, "Cancel")) : (h(Button, { variant: "secondary", onClick: () => this.onBack(), disabled: this.isLoading, isLoading: this.isLoading }, "Back")), this.isLastStep ? (h(Button, { variant: "primary", onClick: () => this.onSubmit(), disabled: this.isLoading, isLoading: this.isLoading }, "Submit Counter Dispute")) : (h(Button, { variant: "primary", onClick: () => this.onNext(), disabled: this.isLoading, isLoading: this.isLoading }, "Next")))))));
356
356
  }
357
357
  static get watchers() { return {
358
358
  "disputeId": ["propChanged"],
@@ -1,7 +1,7 @@
1
- import { A as Api } from './Api-C_lKBDA2.js';
2
- import './Plaid-D389VmvK.js';
1
+ import { A as Api } from './Api-BmZr64rt.js';
2
+ import './Plaid-DJ-4YL0_.js';
3
3
  import './Pagination-CLHwhyvu.js';
4
- import './Business-BcNb9bVO.js';
4
+ import './Business-DaDqgDrb.js';
5
5
 
6
6
  const api = Api();
7
7
  class DisputeService {
@@ -1,10 +1,10 @@
1
1
  import { r as registerInstance, h, H as Host, c as createEvent } from './index-CV0Pyo1O.js';
2
- import { C as CountryCode } from './Business-BcNb9bVO.js';
2
+ import { C as CountryCode } from './Business-DaDqgDrb.js';
3
3
  import { n as numberOnlyHandler } from './utils-BnjCmwMr.js';
4
- import { b as countryOptions, c as countryLabels } from './country-config-CEJVOOGe.js';
4
+ import { b as countryOptions, c as countryLabels } from './country-config-CJwnhkdq.js';
5
5
  import { I as IMask } from './index-Ce_F4E0f.js';
6
- import { q as inputInvalid, u as inputDisabled, v as inputFocused, w as input, x as label } from './parts-CPKMvyV_.js';
7
- import { F as FormControlErrorText } from './form-control-error-text-Di9QePY5.js';
6
+ import { q as inputInvalid, u as inputDisabled, v as inputFocused, w as input, x as label } from './parts-Bu7gdOaV.js';
7
+ import { F as FormControlErrorText } from './form-control-error-text-FyanxO4T.js';
8
8
  import './event-types-CZfYo5-1.js';
9
9
 
10
10
  const FormAddressFields = class {