@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,21 @@
1
- import { h, proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
1
+ import { h, proxyCustomElement, HTMLElement, createEvent } from '@stencil/core/internal/client';
2
2
  import { S as Skeleton } from './skeleton.js';
3
3
  import { w as waitForConfig, c as configState } from './config-state.js';
4
4
  import { d as generateTabId } from './utils2.js';
5
5
  import { c as checkPkgVersion } from './check-pkg-version.js';
6
+ import { C as ComponentErrorSeverity, d as ComponentErrorMessages, c as ComponentErrorCodes } from './Plaid.js';
7
+ import './Pagination.js';
8
+ import './Business.js';
9
+ import './ApplePay.js';
10
+ import { B as Button } from './button.js';
11
+ import './justifi-details2.js';
12
+ import './event-types.js';
13
+ import './justifi-radio-list-item2.js';
14
+ import { d as defineCustomElement$3 } from './form-alert2.js';
6
15
  import { d as defineCustomElement$2 } from './hidden-input2.js';
7
16
  import { d as defineCustomElement$1 } from './iframe-input2.js';
8
17
 
9
- const CardFormSkeleton = (props) => {
10
- const { isReady } = props;
11
- if (isReady) {
12
- return null;
13
- }
18
+ const CardFormSkeleton = () => {
14
19
  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" })))));
15
20
  };
16
21
 
@@ -20,7 +25,13 @@ const CardForm = /*@__PURE__*/ proxyCustomElement(class CardForm extends HTMLEle
20
25
  if (registerHost !== false) {
21
26
  this.__registerHost();
22
27
  }
23
- this.isReady = false;
28
+ this.errorEvent = createEvent(this, "error-event", 7);
29
+ this.iframeState = 'loading';
30
+ this.reloadIframes = () => {
31
+ this.iframeState = 'loading';
32
+ this.iframeElements.forEach((element) => element.reload());
33
+ this.watchIframesLoad();
34
+ };
24
35
  }
25
36
  async componentWillLoad() {
26
37
  await waitForConfig();
@@ -28,20 +39,12 @@ const CardForm = /*@__PURE__*/ proxyCustomElement(class CardForm extends HTMLEle
28
39
  this.tabId = generateTabId();
29
40
  checkPkgVersion();
30
41
  }
31
- componentDidRender() {
32
- const elements = [
33
- this.cardNumberIframeElement,
34
- this.expirationMonthIframeElement,
35
- this.expirationYearIframeElement,
36
- this.cvvIframeElement,
37
- ];
38
- Promise.all(elements.map((element) => {
39
- return new Promise((resolve) => {
40
- element.addEventListener('iframeLoaded', () => { resolve(); });
41
- });
42
- })).then(() => {
43
- this.isReady = true;
44
- });
42
+ componentDidLoad() {
43
+ this.watchIframesLoad();
44
+ }
45
+ disconnectedCallback() {
46
+ var _a;
47
+ (_a = this.loadAbortController) === null || _a === void 0 ? void 0 : _a.abort();
45
48
  }
46
49
  async validate() {
47
50
  const cardNumberIsValid = await this.cardNumberIframeElement.validate();
@@ -54,16 +57,70 @@ const CardForm = /*@__PURE__*/ proxyCustomElement(class CardForm extends HTMLEle
54
57
  const result = await this.cardNumberIframeElement.tokenize(clientId, paymentMethodMetadata, account);
55
58
  return result;
56
59
  }
60
+ get isReady() {
61
+ return this.iframeState === 'ready';
62
+ }
63
+ get iframeElements() {
64
+ return [
65
+ this.cardNumberIframeElement,
66
+ this.expirationMonthIframeElement,
67
+ this.expirationYearIframeElement,
68
+ this.cvvIframeElement,
69
+ ];
70
+ }
71
+ watchIframesLoad() {
72
+ var _a;
73
+ (_a = this.loadAbortController) === null || _a === void 0 ? void 0 : _a.abort();
74
+ const { signal } = (this.loadAbortController = new AbortController());
75
+ const pending = new Set(this.iframeElements.map((element) => element.inputId));
76
+ const loaded = Promise.all(this.iframeElements.map((element) => (new Promise((resolve) => {
77
+ element.addEventListener('iframeLoaded', () => {
78
+ pending.delete(element.inputId);
79
+ resolve();
80
+ }, { once: true, signal });
81
+ }))));
82
+ const deadline = new Promise((_resolve, reject) => {
83
+ const timeoutId = window.setTimeout(() => reject(new Error(`Iframes failed to load: ${Array.from(pending).join(', ')}`)), 10000);
84
+ signal.addEventListener('abort', () => {
85
+ window.clearTimeout(timeoutId);
86
+ reject(new Error('iframe load watch aborted'));
87
+ }, { once: true });
88
+ });
89
+ Promise.race([loaded, deadline]).then(() => {
90
+ var _a;
91
+ if (signal.aborted)
92
+ return;
93
+ this.iframeState = 'ready';
94
+ (_a = this.loadAbortController) === null || _a === void 0 ? void 0 : _a.abort();
95
+ }).catch((e) => {
96
+ var _a;
97
+ if (signal.aborted)
98
+ return;
99
+ this.iframeState = 'error';
100
+ (_a = this.loadAbortController) === null || _a === void 0 ? void 0 : _a.abort();
101
+ this.errorEvent.emit({
102
+ errorCode: ComponentErrorCodes.IFRAME_LOAD_ERROR,
103
+ message: ComponentErrorMessages.IFRAME_LOAD_ERROR,
104
+ severity: ComponentErrorSeverity.ERROR,
105
+ data: {
106
+ errorMessage: e.message,
107
+ },
108
+ });
109
+ });
110
+ }
111
+ renderIframeError() {
112
+ 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")));
113
+ }
57
114
  render() {
58
- 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: {
115
+ 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: {
59
116
  opacity: this.isReady ? '1' : '0',
60
117
  height: this.isReady ? 'auto' : '0',
61
- } }, 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}` }))))));
118
+ } }, 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}` }))))));
62
119
  }
63
120
  }, [256, "card-form", {
64
- "isReady": [32],
65
121
  "iframeOrigin": [32],
66
122
  "tabId": [32],
123
+ "iframeState": [32],
67
124
  "validate": [64],
68
125
  "tokenize": [64]
69
126
  }]);
@@ -71,13 +128,18 @@ function defineCustomElement() {
71
128
  if (typeof customElements === "undefined") {
72
129
  return;
73
130
  }
74
- const components = ["card-form", "hidden-input", "iframe-input"];
131
+ const components = ["card-form", "form-alert", "hidden-input", "iframe-input"];
75
132
  components.forEach(tagName => { switch (tagName) {
76
133
  case "card-form":
77
134
  if (!customElements.get(tagName)) {
78
135
  customElements.define(tagName, CardForm);
79
136
  }
80
137
  break;
138
+ case "form-alert":
139
+ if (!customElements.get(tagName)) {
140
+ defineCustomElement$3();
141
+ }
142
+ break;
81
143
  case "hidden-input":
82
144
  if (!customElements.get(tagName)) {
83
145
  defineCustomElement$2();
@@ -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 };
@@ -43,7 +43,7 @@ const CustomerDetails = /*@__PURE__*/ proxyCustomElement(class CustomerDetails e
43
43
  }
44
44
  render() {
45
45
  var _a, _b, _c, _d, _e;
46
- return (h("div", { key: '91b627ab79cff98fc4bb2b76e9e9159b99bcdc44' }, h("div", { key: 'ddb074202926fca96c40fba3724b1a603ef29bf8', class: "row gy-3" }, h("div", { key: '680d03bb31e19a1ab7aa560195a802dc2a7f1bcf', class: "col-12" }, h("h2", { key: 'b9e47dc34c931a18373053384dac93ccd45e4823', class: "h5", part: heading5 }, "Customer Details")), h("div", { key: '286716947b073de829fe525eb855864f51d72234', class: "col-12" }, h("form-control-text", { key: '2b9369bfbb55fa87ee8448324f6ff8480679ba58', label: "Full Name", name: "customer_name", defaultValue: (_a = this.disputeResponse) === null || _a === void 0 ? void 0 : _a.customer_name, inputHandler: this.inputHandler, errorText: this.errors.customer_name })), h("div", { key: '89f384a11dcac912a189b4909586a3e1db603f25', class: "col-12" }, h("form-control-text", { key: 'c6dfbeb68b117d840a39bfe4e96be7d18d5395b7', label: "Email", name: "customer_email_address", defaultValue: (_b = this.disputeResponse) === null || _b === void 0 ? void 0 : _b.customer_email_address, inputHandler: this.inputHandler, errorText: this.errors.customer_email_address })), h("div", { key: '29c2e48fabafe27b878294e3267a9ec04a91a2a4', class: "col-12" }, h("form-control-textarea", { key: 'ec734cbef65f6263e462b86332be24c92a1173ad', label: "Billing Address", name: "customer_billing_address", defaultValue: (_c = this.disputeResponse) === null || _c === void 0 ? void 0 : _c.customer_billing_address, inputHandler: this.inputHandler, errorText: this.errors.customer_billing_address })), h("div", { key: 'f944aca1e6594cdcc20bb69bd1aa625536d05ac0', class: "col-12" }, h("form-control-file-v2", { key: 'f227a8b81e6b8409152f61ae6906319577663dd3', label: "Customer Signature", name: "customer_signature", onChange: (e) => fileInputHandler(e, this.documents), errorText: (_d = this.documentErrors) === null || _d === void 0 ? void 0 : _d.customer_signature })), h("div", { key: '4804ef68cc6f5d0006568aca8bc57086243af4de', class: "col-12" }, h("form-control-file-v2", { key: 'a0dba5cfa046de4bca065d7bb20ec2a5abd57fc9', label: "Customer Communication", name: "customer_communication", onChange: (e) => fileInputHandler(e, this.documents), errorText: (_e = this.documentErrors) === null || _e === void 0 ? void 0 : _e.customer_communication })))));
46
+ return (h("div", { key: 'e4f028d0369b88c270aa610ab457921ee729f1cb' }, h("div", { key: 'ba4d130e343603baa3c1b3d8141b981f97cb7133', class: "row gy-3" }, h("div", { key: 'a21d574e6fbd3daef4960b39aba9568060a79ebd', class: "col-12" }, h("h2", { key: 'a87274deacfdb31ae769252f7418416152528d43', class: "h5", part: heading5 }, "Customer Details")), h("div", { key: '2aa05a739cc38a95860b255dab7142fd1a7932d3', class: "col-12" }, h("form-control-text", { key: 'b4fa7ef3c75d3c2ddc83292c2a13c80ee2a6a4cf', label: "Full Name", name: "customer_name", defaultValue: (_a = this.disputeResponse) === null || _a === void 0 ? void 0 : _a.customer_name, inputHandler: this.inputHandler, errorText: this.errors.customer_name })), h("div", { key: 'b8a6851094599ed3683f3c14f18305ff0a8ed557', class: "col-12" }, h("form-control-text", { key: '4c8d73b3001a36502c6e6083eafdc8e06af86d23', label: "Email", name: "customer_email_address", defaultValue: (_b = this.disputeResponse) === null || _b === void 0 ? void 0 : _b.customer_email_address, inputHandler: this.inputHandler, errorText: this.errors.customer_email_address })), h("div", { key: '45d406392c4ba199d77583f18874797f4b7c125e', class: "col-12" }, h("form-control-textarea", { key: '757de489531e8e28beb052403842d191e2a45be1', label: "Billing Address", name: "customer_billing_address", defaultValue: (_c = this.disputeResponse) === null || _c === void 0 ? void 0 : _c.customer_billing_address, inputHandler: this.inputHandler, errorText: this.errors.customer_billing_address })), h("div", { key: '3e339e0f275e1ab8e195d77973b60af364d5cdc6', class: "col-12" }, h("form-control-file-v2", { key: '64175687470e62ce55d62163b8d231c481fce2a6', label: "Customer Signature", name: "customer_signature", onChange: (e) => fileInputHandler(e, this.documents), errorText: (_d = this.documentErrors) === null || _d === void 0 ? void 0 : _d.customer_signature })), h("div", { key: '27d1ac884a8986c8e9a23c92296e2f8871ec0f45', class: "col-12" }, h("form-control-file-v2", { key: 'f7169172d91f4ea785d1532bb4a442cba8cc1c9e', label: "Customer Communication", name: "customer_communication", onChange: (e) => fileInputHandler(e, this.documents), errorText: (_e = this.documentErrors) === null || _e === void 0 ? void 0 : _e.customer_communication })))));
47
47
  }
48
48
  }, [256, "customer-details", {
49
49
  "disputeResponse": [8, "dispute-response"],
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
2
  import { b as formatCurrency } from './utils2.js';
3
- import { j as text, L as heading4 } from './parts.js';
3
+ import { j as text, M as heading4 } from './parts.js';
4
4
  import { B as Button } from './button.js';
5
5
  import { S as Skeleton } from './skeleton.js';
6
6
  import './justifi-details2.js';
@@ -56,8 +56,8 @@ const DisputeNotification = /*@__PURE__*/ proxyCustomElement(class DisputeNotifi
56
56
  }
57
57
  render() {
58
58
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
59
- 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 :
60
- _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.")))));
59
+ 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 :
60
+ _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.")))));
61
61
  }
62
62
  }, [256, "dispute-notification", {
63
63
  "dispute": [16],
@@ -3,7 +3,7 @@ import { c as checkPkgVersion } from './check-pkg-version.js';
3
3
  import { D as DisputeManagementClickActions, b as makeUpdateDisputeResponse, c as makeCreateDisputeEvidence, m as makeSubmitDisputeResponse, a as DisputeService } from './event-types3.js';
4
4
  import { J as JustifiAnalytics } from './Analytics.js';
5
5
  import { C as ComponentErrorSeverity, c as ComponentErrorCodes } from './Plaid.js';
6
- import { L as heading4 } from './parts.js';
6
+ import { M as heading4 } from './parts.js';
7
7
  import { B as Button } from './button.js';
8
8
  import { d as defineCustomElement$f } from './additional-statement2.js';
9
9
  import { d as defineCustomElement$e } from './cancellation-policy2.js';
@@ -221,7 +221,7 @@ const DisputeResponse = /*@__PURE__*/ proxyCustomElement(class DisputeResponse e
221
221
  return this.currentStep === 0;
222
222
  }
223
223
  render() {
224
- 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")))))));
224
+ 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")))))));
225
225
  }
226
226
  static get watchers() { return {
227
227
  "disputeId": ["propChanged"],
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
- import { B as card, h as heading2, C as table, D as tableHeadCell, E as tableCell } from './parts.js';
2
+ import { C as card, h as heading2, D as table, E as tableHeadCell, F as tableCell } from './parts.js';
3
3
 
4
4
  const DocumentUploadList = /*@__PURE__*/ proxyCustomElement(class DocumentUploadList extends HTMLElement {
5
5
  constructor(registerHost) {
@@ -42,7 +42,7 @@ const DuplicateCharge = /*@__PURE__*/ proxyCustomElement(class DuplicateCharge e
42
42
  }
43
43
  render() {
44
44
  var _a, _b, _c;
45
- return (h("div", { key: 'ec4cfa15f2830ec56dfd9184728c1badeb9e1dfd' }, h("div", { key: '0e107461e759478735aecabea93baf060169dd14', class: "row gy-3" }, h("div", { key: '22b9223c3e92d2183d65d9125a3ebefd341c140f', class: "col-12" }, h("h2", { key: 'cf386e687b18a4f232b935a847270d8ad463db32', class: "h5", part: heading5 }, "Duplicate Charge")), h("div", { key: 'dd8cc52b7b6cfe955a09e29c145f70761db87068', class: "col-12" }, h("form-control-text", { key: 'ff024fd4e90adc3a991036eb535258bad98ab199', label: "Original Payment ID", name: "duplicate_charge_original_payment_id", defaultValue: (_a = this.disputeResponse) === null || _a === void 0 ? void 0 : _a.duplicate_charge_original_payment_id, inputHandler: this.inputHandler, errorText: this.errors.duplicate_charge_original_payment_id })), h("div", { key: '0df77b3c8d8a8a777c8258cd0ca075df73552ee4', class: "col-12" }, h("form-control-textarea", { key: '27bfe00c3bdab393b35f3ca26360db65f487d789', label: "Duplicate Charge Explanation", name: "duplicate_charge_explanation", defaultValue: (_b = this.disputeResponse) === null || _b === void 0 ? void 0 : _b.duplicate_charge_explanation, inputHandler: this.inputHandler, errorText: this.errors.duplicate_charge_explanation })), h("div", { key: '8420318e367111cb73c1235c363973d7f34aa25c', class: "col-12" }, h("form-control-file-v2", { key: '71717a0c8d02e2c8198b365f61b1a6727a619e6b', label: "Duplicate Charge Documentation", name: "duplicate_charge_documentation", onChange: (e) => fileInputHandler(e, this.documents), errorText: (_c = this.documentErrors) === null || _c === void 0 ? void 0 : _c.duplicate_charge_documentation })))));
45
+ return (h("div", { key: 'a4be51ca28d0558a06a96429c9f6967de65f7687' }, h("div", { key: 'e240189e3a8d31963667e6779a9497ab8258f983', class: "row gy-3" }, h("div", { key: 'c22af27a5e94810c4daa4105d30b69a9bac3ea84', class: "col-12" }, h("h2", { key: '6b09237bb4a404c03a20f1dd3687b1b2b6c02f72', class: "h5", part: heading5 }, "Duplicate Charge")), h("div", { key: '91cca8f6bfe938aad35d57f1360cea9c8a46b89b', class: "col-12" }, h("form-control-text", { key: '88cd9fad95f55f1302cf8b638eee372279c0b601', label: "Original Payment ID", name: "duplicate_charge_original_payment_id", defaultValue: (_a = this.disputeResponse) === null || _a === void 0 ? void 0 : _a.duplicate_charge_original_payment_id, inputHandler: this.inputHandler, errorText: this.errors.duplicate_charge_original_payment_id })), h("div", { key: '930ddf5ae0d1f22e87f40d422cc7cc3cf202cf78', class: "col-12" }, h("form-control-textarea", { key: 'ab6764a1f982f6be6dd0fc94d5f6630b54fca654', label: "Duplicate Charge Explanation", name: "duplicate_charge_explanation", defaultValue: (_b = this.disputeResponse) === null || _b === void 0 ? void 0 : _b.duplicate_charge_explanation, inputHandler: this.inputHandler, errorText: this.errors.duplicate_charge_explanation })), h("div", { key: '8ca0a2a0b69d577022bd82d7f04fe8205ee66e7f', class: "col-12" }, h("form-control-file-v2", { key: '9a5e4ac52a949a8a7b4bcabd397f8b38edbff159', label: "Duplicate Charge Documentation", name: "duplicate_charge_documentation", onChange: (e) => fileInputHandler(e, this.documents), errorText: (_c = this.documentErrors) === null || _c === void 0 ? void 0 : _c.duplicate_charge_documentation })))));
46
46
  }
47
47
  }, [256, "duplicate-charge", {
48
48
  "disputeResponse": [8, "dispute-response"],
@@ -39,7 +39,7 @@ const ElectronicEvidence = /*@__PURE__*/ proxyCustomElement(class ElectronicEvid
39
39
  }
40
40
  render() {
41
41
  var _a, _b;
42
- return (h("div", { key: 'cf4615613589be984c7d5b6b50f0b5239895d81d' }, h("div", { key: '1f96c50146d009cc4d0d0ccbee41c31144e7f746', class: "row gy-3" }, h("div", { key: '3a671ff5c959efaee8dc57dda073de113489f0a6', class: "col-12" }, h("h2", { key: '3b73879b357d3465c6c76b27db17b6dbdce7c538', class: "h5", part: heading5 }, "Electronic Evidence")), h("div", { key: '35c0ff43bc1dcdba8916b51da636347395c98901', class: "col-12" }, h("form-control-text", { key: 'cdabf70034babf41ba227f66936f8b340f104ca3', label: "Purchase IP Address", name: "customer_purchase_ip_address", helpText: "The IP address used by the customer during the purchase.", defaultValue: (_a = this.disputeResponse) === null || _a === void 0 ? void 0 : _a.customer_purchase_ip_address, inputHandler: this.inputHandler, errorText: this.errors.customer_purchase_ip_address })), h("div", { key: 'd9920bf1548e14c6adadbc63dc41a1a90cc1a3cc', class: "col-12" }, h("form-control-file-v2", { key: '8eec5b79872eeeda77702d9f4cc9003a627e6682', label: "Activity Logs", name: "activity_log", helpText: "Any server or activity logs that provide evidence of the customer's access to or download of the purchased digital product. This information should encompass IP addresses, relevant timestamps, and any detailed records of activity.", onChange: (e) => fileInputHandler(e, this.documents), errorText: (_b = this.documentErrors) === null || _b === void 0 ? void 0 : _b.activity_log })))));
42
+ return (h("div", { key: 'edbcd0fd94da7a6fb25403bca804133cd20be070' }, h("div", { key: '82263da6e6a92b478366025bf648fce4f3f91db6', class: "row gy-3" }, h("div", { key: 'f6435773410b5561ead0e4a20637a57b785b8c50', class: "col-12" }, h("h2", { key: 'c911fb7238d292f9d11627e13729cf613192cb13', class: "h5", part: heading5 }, "Electronic Evidence")), h("div", { key: 'ae43f664aa254449df9cf2c6e851e2e9c532c90e', class: "col-12" }, h("form-control-text", { key: 'a7781046a1ef45514831affa9c650b7849100817', label: "Purchase IP Address", name: "customer_purchase_ip_address", helpText: "The IP address used by the customer during the purchase.", defaultValue: (_a = this.disputeResponse) === null || _a === void 0 ? void 0 : _a.customer_purchase_ip_address, inputHandler: this.inputHandler, errorText: this.errors.customer_purchase_ip_address })), h("div", { key: '47ba5795dde01a4d62fbdeae9e5b7b29cd538cc5', class: "col-12" }, h("form-control-file-v2", { key: 'a44528a479ec5fa2d60e357aa577b1a44f81a074', label: "Activity Logs", name: "activity_log", helpText: "Any server or activity logs that provide evidence of the customer's access to or download of the purchased digital product. This information should encompass IP addresses, relevant timestamps, and any detailed records of activity.", onChange: (e) => fileInputHandler(e, this.documents), errorText: (_b = this.documentErrors) === null || _b === void 0 ? void 0 : _b.activity_log })))));
43
43
  }
44
44
  }, [256, "electronic-evidence", {
45
45
  "disputeResponse": [8, "dispute-response"],
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
- import { M as alertDanger } from './parts.js';
2
+ import { y as alertDanger } from './parts.js';
3
3
 
4
4
  const FormAlert = /*@__PURE__*/ proxyCustomElement(class FormAlert extends HTMLElement {
5
5
  constructor(registerHost) {
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { G as inputCheckboxInvalid, H as inputCheckboxCheckedFocused, I as inputCheckboxFocused, J as inputCheckboxChecked, K as inputCheckbox, l as label } from './parts.js';
2
+ import { H as inputCheckboxInvalid, I as inputCheckboxCheckedFocused, J as inputCheckboxFocused, K as inputCheckboxChecked, L as inputCheckbox, l as label } from './parts.js';
3
3
  import { F as FormControlHelpText } from './form-control-help-text2.js';
4
4
  import { F as FormControlErrorText } from './form-control-error-text.js';
5
5
  import './justifi-details2.js';
@@ -45,10 +45,10 @@ const FormControlCheckbox = /*@__PURE__*/ proxyCustomElement(class FormControlCh
45
45
  return inputCheckbox;
46
46
  }
47
47
  render() {
48
- return (h(Host, { key: 'dc2fdbd7fd92a0205b15e4b302458d8f0d775b35' }, h("div", { key: 'f32f7d5cb559282cece071f3623bdab80998bc04', class: 'form-group d-flex flex-column' }, h("div", { key: '5481439484b97ad733a0051f1722a5c3ed45778d', class: "form-check" }, h("input", { key: '9e96a563e5b0b1a9589dff7eb4f3eb3038d4918b', ref: el => (this.checkboxElement = el), type: "checkbox", id: this.name, name: this.name, onFocus: () => this.isFocused = true, onBlur: () => {
48
+ return (h(Host, { key: 'c125c58c5883ba06b2a671551340b0ee316308af' }, h("div", { key: 'fd4b904ef4f20c357ef3aa9ce8b69b452f62bc0e', class: 'form-group d-flex flex-column' }, h("div", { key: 'b787782fcd23cbb044df6ea95a441fd71045815a', class: "form-check" }, h("input", { key: '72e4b3bed060f8b93fa53b254f6d492082270e62', ref: el => (this.checkboxElement = el), type: "checkbox", id: this.name, name: this.name, onFocus: () => this.isFocused = true, onBlur: () => {
49
49
  this.isFocused = false;
50
50
  this.formControlBlur.emit();
51
- }, onInput: this.handleFormControlInput, part: this.part, class: this.errorText ? 'form-check-input is-invalid' : 'form-check-input', disabled: this.disabled, checked: this.checked }), h("label", { key: '11a27a415d7741d8a29dde8d1fd029c2e143f235', class: "form-check-label", htmlFor: this.name, part: label }, this.label)), h(FormControlHelpText, { key: '3e0ef15182200a48d3cf3142c3511a0ad8095db3', helpText: this.helpText, name: this.name }), h(FormControlErrorText, { key: 'e85175ea76f6073d7ee813a3f2d8eaecc044601a', errorText: this.errorText, name: this.name }))));
51
+ }, onInput: this.handleFormControlInput, part: this.part, class: this.errorText ? 'form-check-input is-invalid' : 'form-check-input', disabled: this.disabled, checked: this.checked }), h("label", { key: '8a17ab6e5144bb06486c1e74035576b5ce473621', class: "form-check-label", htmlFor: this.name, part: label }, this.label)), h(FormControlHelpText, { key: 'd0be5c8bf0cd51bf2251a5d780538d2e053163cb', helpText: this.helpText, name: this.name }), h(FormControlErrorText, { key: 'ebffb11e0e2fa1dd2846d389604856fc04943b55', errorText: this.errorText, name: this.name }))));
52
52
  }
53
53
  }, [256, "form-control-checkbox", {
54
54
  "label": [1],
@@ -47,10 +47,10 @@ const FormControlSelect = /*@__PURE__*/ proxyCustomElement(class FormControlSele
47
47
  }
48
48
  render() {
49
49
  var _a;
50
- return (h(Host, { key: 'bf6556107b1f272aa6bc4f89cb0f2a889f8b9d1d' }, h("div", { key: 'be1644d78987676c9af452831e25c3effc31a67c', class: "form-group d-flex flex-column" }, h("div", { key: '62eaea4bdbee959d6e785c00c4f41f642c0a16af', class: "d-flex align-items-start gap-2" }, h("label", { key: '641ada798c78ca0c649ec76029c157069636838b', part: label, class: "form-label", htmlFor: this.name }, this.label), h("form-control-tooltip", { key: '3a04fe21799a54e402e8afead34b60898c804af4', helpText: this.helpText })), h("select", { key: '54188864be36aed540647275cd84eae738eb633f', ref: el => (this.selectElement = el), id: this.name, name: this.name, onFocus: () => this.isFocused = true, onBlur: () => {
50
+ return (h(Host, { key: '181f9882efa122d1158475b03c5d91b6a596a029' }, h("div", { key: 'ab62345c08da6d3d33fa110937c936758e065eb3', class: "form-group d-flex flex-column" }, h("div", { key: 'a4cd1468d4c57b63ee25f25cca6f42ea08b70ef4', class: "d-flex align-items-start gap-2" }, h("label", { key: 'ebb6e16b2e11a3623c3152eb8e1b51412fa4d1ae', part: label, class: "form-label", htmlFor: this.name }, this.label), h("form-control-tooltip", { key: '5d5d414a90927659661b6a2e167056c938e9c5a7', helpText: this.helpText })), h("select", { key: '8105c889f7fdb9376848c6057ccd58b9c62841a4', ref: el => (this.selectElement = el), id: this.name, name: this.name, onFocus: () => this.isFocused = true, onBlur: () => {
51
51
  this.isFocused = false;
52
52
  this.formControlBlur.emit();
53
- }, onInput: this.handleFormControlInput, part: this.part, class: this.errorText ? 'form-select is-invalid' : 'form-select', disabled: this.disabled }, (_a = this.options) === null || _a === void 0 ? void 0 : _a.map(option => (h("option", { value: option.value }, option.label)))), h(FormControlErrorText, { key: '387753bf79494f44a91858175af74d48a9e9c051', errorText: this.errorText, name: this.name }))));
53
+ }, onInput: this.handleFormControlInput, part: this.part, class: this.errorText ? 'form-select is-invalid' : 'form-select', disabled: this.disabled }, (_a = this.options) === null || _a === void 0 ? void 0 : _a.map(option => (h("option", { value: option.value }, option.label)))), h(FormControlErrorText, { key: '061a26387560f0b8085e83e1c373a43340146469', errorText: this.errorText, name: this.name }))));
54
54
  }
55
55
  static get watchers() { return {
56
56
  "defaultValue": ["handleDefaultValueChange"]
@@ -1,5 +1,5 @@
1
1
  import { h } from '@stencil/core/internal/client';
2
- import { y as heading3 } from './parts.js';
2
+ import { z as heading3 } from './parts.js';
3
3
 
4
4
  const Header3 = (props) => {
5
5
  return h("h3", { class: `header-3 ${props === null || props === void 0 ? void 0 : props.class}`, part: heading3 }, props.text);
@@ -1583,6 +1583,9 @@ const IframeInput = /*@__PURE__*/ proxyCustomElement(class IframeInput extends H
1583
1583
  componentVersion: webcomponentsPackageJson.version,
1584
1584
  });
1585
1585
  }
1586
+ async reload() {
1587
+ this.iframeElement.src = this.iframeSrc;
1588
+ }
1586
1589
  initializeFrameCommunicationService() {
1587
1590
  var _a;
1588
1591
  this.frameService = new FrameCommunicationService(this.iframeElement, this.iframeOrigin);
@@ -1618,11 +1621,14 @@ const IframeInput = /*@__PURE__*/ proxyCustomElement(class IframeInput extends H
1618
1621
  const params = new URLSearchParams(encodedObject).toString();
1619
1622
  return params;
1620
1623
  }
1624
+ get iframeSrc() {
1625
+ return `${this.iframeOrigin}?${this.urlParams}`;
1626
+ }
1621
1627
  render() {
1622
- return (h(Host, { key: '60e76f1a33ddd4ea5b89cd31a1b6906ff53c5ddb', class: "form-group d-flex flex-column" }, h("div", { key: '5fdef33ae8deb616929478d06fddc01b97233f0a', style: {
1628
+ return (h(Host, { key: 'ec85f26f88845957744034690b1ab0342009485c', class: "form-group d-flex flex-column" }, h("div", { key: 'e4b29dedfa037218b984bbcd00d3aed3bf6987bd', style: {
1623
1629
  visibility: this.iframeLoaded ? 'visible' : 'hidden',
1624
1630
  height: this.iframeLoaded ? 'auto' : '0',
1625
- } }, h("label", { key: 'e37adecf5024d4c77561d3ca269f49c398fc8fd7', class: "form-label", htmlFor: "", part: label }, this.label || ''), h("div", { key: '206a703cd84d713155aa754576410f495b4329fe', class: `p-0 d-flex form-control ${this.isValid ? '' : 'is-invalid'}`, part: this.part, style: Object.assign(Object.assign({}, this.style), { overflow: 'hidden' }) }, h("iframe", { key: '214ecd5b4fa9d075b91ea73b9edd09fdfa0cdf12', id: this.inputId, name: this.inputId, src: `${this.iframeOrigin}?${this.urlParams}`, ref: el => {
1631
+ } }, h("label", { key: '9e9539cc47e48b835dac8a0510899e6a2a25b46b', class: "form-label", htmlFor: "", part: label }, this.label || ''), h("div", { key: '45b0ef6167e59c542b7e72e9dbdb76c9d29bcfb1', class: `p-0 d-flex form-control ${this.isValid ? '' : 'is-invalid'}`, part: this.part, style: Object.assign(Object.assign({}, this.style), { overflow: 'hidden' }) }, h("iframe", { key: 'f52a24114c2e6de9cb110b20db28782125f3db9f', id: this.inputId, name: this.inputId, src: this.iframeSrc, ref: el => {
1626
1632
  this.iframeElement = el;
1627
1633
  this.initializeFrameCommunicationService();
1628
1634
  }, width: "100%", onLoad: () => {
@@ -1632,7 +1638,7 @@ const IframeInput = /*@__PURE__*/ proxyCustomElement(class IframeInput extends H
1632
1638
  this.iframeLoaded.emit();
1633
1639
  }
1634
1640
  }, this.iframeElement);
1635
- } })), h(FormControlErrorText, { key: 'bec41e86a063eacb8f1f741b446c64db540d9e4d', errorText: this.errorText, name: this.inputId }))));
1641
+ } })), h(FormControlErrorText, { key: '6cec57e9a2d5ef4901302087e270255248cde0f1', errorText: this.errorText, name: this.inputId }))));
1636
1642
  }
1637
1643
  get el() { return this; }
1638
1644
  }, [256, "iframe-input", {
@@ -1643,7 +1649,8 @@ const IframeInput = /*@__PURE__*/ proxyCustomElement(class IframeInput extends H
1643
1649
  "isValid": [32],
1644
1650
  "errorText": [32],
1645
1651
  "validate": [64],
1646
- "tokenize": [64]
1652
+ "tokenize": [64],
1653
+ "reload": [64]
1647
1654
  }]);
1648
1655
  function defineCustomElement() {
1649
1656
  if (typeof customElements === "undefined") {
@@ -1,14 +1,17 @@
1
1
  import * as StencilCore from '@stencil/core/internal/client';
2
2
 
3
- const appendToMap = (map, propName, value) => {
3
+ const appendToMap = (map, refsByValue, propName, value) => {
4
+ let ref = refsByValue.get(value);
5
+ if (!ref) {
6
+ ref = new WeakRef(value);
7
+ refsByValue.set(value, ref);
8
+ }
4
9
  let refs = map.get(propName);
5
10
  if (!refs) {
6
- refs = [];
11
+ refs = new Set();
7
12
  map.set(propName, refs);
8
13
  }
9
- if (!refs.some((ref) => ref.deref() === value)) {
10
- refs.push(new WeakRef(value));
11
- }
14
+ refs.add(ref);
12
15
  };
13
16
  const debounce = (fn, ms) => {
14
17
  let timeoutId;
@@ -34,13 +37,15 @@ const debounce = (fn, ms) => {
34
37
  */
35
38
  const isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;
36
39
  const cleanupElements = debounce((map) => {
37
- for (let key of map.keys()) {
38
- const refs = map.get(key).filter((ref) => {
40
+ map.forEach((refs, key) => {
41
+ const nextRefs = new Set();
42
+ refs.forEach((ref) => {
39
43
  const elm = ref.deref();
40
- return elm && isConnected(elm);
44
+ if (elm && isConnected(elm))
45
+ nextRefs.add(ref);
41
46
  });
42
- map.set(key, refs);
43
- }
47
+ map.set(key, nextRefs);
48
+ });
44
49
  }, 2_000);
45
50
  const core = StencilCore;
46
51
  const forceUpdate = core.forceUpdate;
@@ -53,23 +58,24 @@ const stencilSubscription = () => {
53
58
  }
54
59
  const ensureForceUpdate = forceUpdate;
55
60
  const ensureGetRenderingRef = getRenderingRef;
61
+ const refsByElement = new WeakMap();
56
62
  const elmsToUpdate = new Map();
57
63
  return {
58
64
  dispose: () => elmsToUpdate.clear(),
59
65
  get: (propName) => {
60
66
  const elm = ensureGetRenderingRef();
61
67
  if (elm) {
62
- appendToMap(elmsToUpdate, propName, elm);
68
+ appendToMap(elmsToUpdate, refsByElement, propName, elm);
63
69
  }
64
70
  },
65
71
  set: (propName) => {
66
72
  const refs = elmsToUpdate.get(propName);
67
73
  if (refs) {
68
- const nextRefs = refs.filter((ref) => {
74
+ const nextRefs = new Set();
75
+ refs.forEach((ref) => {
69
76
  const elm = ref.deref();
70
- if (!elm)
71
- return false;
72
- return ensureForceUpdate(elm);
77
+ if (elm && ensureForceUpdate(elm))
78
+ nextRefs.add(ref);
73
79
  });
74
80
  elmsToUpdate.set(propName, nextRefs);
75
81
  }
@@ -539,7 +539,7 @@ const JustifiApplePay = /*@__PURE__*/ proxyCustomElement(class JustifiApplePay e
539
539
  this.error = null;
540
540
  this.applePayStarted.emit();
541
541
  const paymentRequest = {
542
- countryCode: this.countryCodeForCurrency(checkoutStore.paymentCurrency),
542
+ countryCode: this.countryCode,
543
543
  currencyCode: checkoutStore.paymentCurrency,
544
544
  merchantCapabilities: [
545
545
  ApplePayMerchantCapability.SUPPORTS_3DS,
@@ -603,12 +603,6 @@ const JustifiApplePay = /*@__PURE__*/ proxyCustomElement(class JustifiApplePay e
603
603
  });
604
604
  }
605
605
  }
606
- countryCodeForCurrency(currency) {
607
- if (currency.toLowerCase() == "cad") {
608
- return "CA";
609
- }
610
- return "US";
611
- }
612
606
  loadApplePaySDK() {
613
607
  if (this.sdkLoaded)
614
608
  return;
@@ -6,7 +6,8 @@ import { S as StyledHost } from './styled-host.js';
6
6
  import './justifi-details2.js';
7
7
  import './event-types.js';
8
8
  import './justifi-radio-list-item2.js';
9
- import { d as defineCustomElement$4 } from './bank-account-form2.js';
9
+ import { d as defineCustomElement$5 } from './bank-account-form2.js';
10
+ import { d as defineCustomElement$4 } from './form-alert2.js';
10
11
  import { d as defineCustomElement$3 } from './hidden-input2.js';
11
12
  import { d as defineCustomElement$2 } from './iframe-input2.js';
12
13
 
@@ -54,7 +55,7 @@ function defineCustomElement$1() {
54
55
  if (typeof customElements === "undefined") {
55
56
  return;
56
57
  }
57
- const components = ["justifi-bank-account-form", "bank-account-form", "hidden-input", "iframe-input"];
58
+ const components = ["justifi-bank-account-form", "bank-account-form", "form-alert", "hidden-input", "iframe-input"];
58
59
  components.forEach(tagName => { switch (tagName) {
59
60
  case "justifi-bank-account-form":
60
61
  if (!customElements.get(tagName)) {
@@ -62,6 +63,11 @@ function defineCustomElement$1() {
62
63
  }
63
64
  break;
64
65
  case "bank-account-form":
66
+ if (!customElements.get(tagName)) {
67
+ defineCustomElement$5();
68
+ }
69
+ break;
70
+ case "form-alert":
65
71
  if (!customElements.get(tagName)) {
66
72
  defineCustomElement$4();
67
73
  }
@@ -6,7 +6,8 @@ import { S as StyledHost } from './styled-host.js';
6
6
  import './justifi-details2.js';
7
7
  import './event-types.js';
8
8
  import './justifi-radio-list-item2.js';
9
- import { d as defineCustomElement$4 } from './card-form2.js';
9
+ import { d as defineCustomElement$5 } from './card-form2.js';
10
+ import { d as defineCustomElement$4 } from './form-alert2.js';
10
11
  import { d as defineCustomElement$3 } from './hidden-input2.js';
11
12
  import { d as defineCustomElement$2 } from './iframe-input2.js';
12
13
 
@@ -44,7 +45,7 @@ function defineCustomElement$1() {
44
45
  if (typeof customElements === "undefined") {
45
46
  return;
46
47
  }
47
- const components = ["justifi-card-form", "card-form", "hidden-input", "iframe-input"];
48
+ const components = ["justifi-card-form", "card-form", "form-alert", "hidden-input", "iframe-input"];
48
49
  components.forEach(tagName => { switch (tagName) {
49
50
  case "justifi-card-form":
50
51
  if (!customElements.get(tagName)) {
@@ -52,6 +53,11 @@ function defineCustomElement$1() {
52
53
  }
53
54
  break;
54
55
  case "card-form":
56
+ if (!customElements.get(tagName)) {
57
+ defineCustomElement$5();
58
+ }
59
+ break;
60
+ case "form-alert":
55
61
  if (!customElements.get(tagName)) {
56
62
  defineCustomElement$4();
57
63
  }