@justifi/webcomponents 6.0.0-rc.8 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (637) hide show
  1. package/dist/cjs/{Api-y2G49jOh.js → Api-CwTLkFY4.js} +2 -2
  2. package/dist/cjs/{Refund-BVZHsa6Z.js → Refund-BPSBtjQC.js} +3 -1
  3. package/dist/cjs/additional-questions-details_5.cjs.entry.js +3 -3
  4. package/dist/cjs/{badge-CcJ9H85-.js → badge-BmOSt4gS.js} +1 -1
  5. package/dist/cjs/bank-account-document-form-inputs_4.cjs.entry.js +9 -9
  6. package/dist/cjs/bank-account-form.cjs.entry.js +10 -15
  7. package/dist/cjs/business-details-core.cjs.entry.js +6 -21
  8. package/dist/cjs/{business.service-D5IhSyRJ.js → business.service-Dkhqyggm.js} +2 -2
  9. package/dist/cjs/{button-DsHDMHaa.js → button-7c2RN2yp.js} +2 -3
  10. package/dist/cjs/card-form.cjs.entry.js +10 -19
  11. package/dist/cjs/{check-pkg-version-BJaFyEGj.js → check-pkg-version-7FBAUhHw.js} +3 -3
  12. package/dist/cjs/{checkout.service-4aS641tN.js → checkout.service-LwZVVgP5.js} +2 -2
  13. package/dist/cjs/checkout.store-C3f3E24L.js +84 -0
  14. package/dist/cjs/checkouts-list-core.cjs.entry.js +11 -11
  15. package/dist/cjs/{payments-list-params-state-Cewmin_p.js → checkouts-list-params-state-C4c8UZtP.js} +1 -1
  16. package/dist/cjs/{checkouts-table-B_gpjGhs.js → checkouts-table-BQUhZZd_.js} +4 -6
  17. package/dist/cjs/{config-state-BBOZIS8x.js → config-state-B_gyIchD.js} +1 -1
  18. package/dist/cjs/custom-popper_2.cjs.entry.js +3 -3
  19. package/dist/cjs/{dispute.service-64ciJH0r.js → dispute.service-927Gzb0N.js} +2 -2
  20. package/dist/cjs/form-alert_5.cjs.entry.js +1 -1
  21. package/dist/cjs/form-control-checkbox.cjs.entry.js +5 -5
  22. package/dist/cjs/form-control-date.cjs.entry.js +4 -4
  23. package/dist/cjs/{form-control-error-text-B-P5UDhm.js → form-control-error-text-DD0dHGu8.js} +1 -1
  24. package/dist/cjs/form-control-file-v2_2.cjs.entry.js +5 -5
  25. package/dist/cjs/{form-control-help-text-JoZjhb9m.js → form-control-help-text-2QwKi78M.js} +1 -1
  26. package/dist/cjs/form-control-help-text.cjs.entry.js +1 -1
  27. package/dist/cjs/form-control-monetary-provisioning.cjs.entry.js +3 -3
  28. package/dist/cjs/form-control-monetary.cjs.entry.js +6 -6
  29. package/dist/cjs/form-control-number-masked_2.cjs.entry.js +4 -4
  30. package/dist/cjs/form-control-number.cjs.entry.js +5 -5
  31. package/dist/cjs/form-control-radio.cjs.entry.js +3 -3
  32. package/dist/cjs/form-control-select_2.cjs.entry.js +6 -6
  33. package/dist/cjs/{get-payment-details-DE5xUUpt.js → get-payment-details-BSxp1HX0.js} +2 -2
  34. package/dist/cjs/{get-subaccounts-CH477rHs.js → get-subaccounts-B31f95PR.js} +3 -3
  35. package/dist/cjs/gross-payment-chart-core.cjs.entry.js +5 -5
  36. package/dist/cjs/{header-1-DRA3f4Jh.js → header-1-DMsp0XM7.js} +1 -1
  37. package/dist/cjs/{header-3-sOdOpfx3.js → header-3-BSvFq_IF.js} +1 -1
  38. package/dist/cjs/hidden-input_2.cjs.entry.js +8 -8
  39. package/dist/cjs/{checkout.store-MSwLBCby.js → index-C2ITzalN.js} +29 -41
  40. package/dist/cjs/{index-B32W0A3m.js → index-D1Ba20gi.js} +1 -1
  41. package/dist/cjs/{index-C9hBD-32.js → index-Dyzl8Hn6.js} +8 -2
  42. package/dist/cjs/index.cjs.js +8 -0
  43. package/dist/cjs/{insurance-state-d2thhXUX.js → insurance-state-uWOl6jJN.js} +2 -2
  44. package/dist/cjs/justifi-additional-questions-form-step-core_6.cjs.entry.js +9 -24
  45. package/dist/cjs/justifi-additional-questions-form-step_9.cjs.entry.js +8 -8
  46. package/dist/cjs/justifi-additional-statement_8.cjs.entry.js +9 -9
  47. package/dist/cjs/justifi-apple-pay.cjs.entry.js +177 -86
  48. package/dist/cjs/justifi-bank-account-billing-form-simple_9.cjs.entry.js +24 -42
  49. package/dist/cjs/justifi-business-details.cjs.entry.js +10 -10
  50. package/dist/cjs/justifi-business-form.cjs.entry.js +15 -30
  51. package/dist/cjs/justifi-business-representative-form-inputs.cjs.entry.js +1 -1
  52. package/dist/cjs/justifi-checkout-summary_7.cjs.entry.js +196 -164
  53. package/dist/cjs/justifi-checkout.cjs.entry.js +19 -11
  54. package/dist/cjs/justifi-checkouts-list-filters.cjs.entry.js +8 -8
  55. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +14 -14
  56. package/dist/cjs/justifi-config-provider.cjs.entry.js +3 -3
  57. package/dist/cjs/justifi-details.cjs.entry.js +2 -2
  58. package/dist/cjs/justifi-dispute-management-core.cjs.entry.js +2 -2
  59. package/dist/cjs/justifi-dispute-management.cjs.entry.js +10 -10
  60. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +15 -15
  61. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +9 -9
  62. package/dist/cjs/justifi-order-terminals.cjs.entry.js +16 -44
  63. package/dist/cjs/justifi-owner-form_3.cjs.entry.js +8 -8
  64. package/dist/cjs/justifi-payment-details.cjs.entry.js +11 -11
  65. package/dist/cjs/justifi-payment-provisioning-core.cjs.entry.js +3 -3
  66. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +9 -9
  67. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +14 -16
  68. package/dist/cjs/justifi-payments-list-filters.cjs.entry.js +7 -7
  69. package/dist/cjs/justifi-payments-list.cjs.entry.js +14 -14
  70. package/dist/cjs/justifi-payout-details.cjs.entry.js +10 -10
  71. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +16 -22
  72. package/dist/cjs/justifi-payouts-list-filters.cjs.entry.js +7 -7
  73. package/dist/cjs/justifi-payouts-list.cjs.entry.js +15 -15
  74. package/dist/cjs/justifi-refund-payment.cjs.entry.js +15 -21
  75. package/dist/cjs/justifi-saved-payment-method.cjs.entry.js +1 -1
  76. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +14 -25
  77. package/dist/cjs/justifi-skeleton.cjs.entry.js +4 -4
  78. package/dist/cjs/justifi-terminal-orders-list-filters.cjs.entry.js +9 -9
  79. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +12 -12
  80. package/dist/cjs/justifi-terminals-list-filters.cjs.entry.js +8 -8
  81. package/dist/cjs/justifi-terminals-list.cjs.entry.js +14 -14
  82. package/dist/cjs/loader.cjs.js +2 -2
  83. package/dist/cjs/{package-DqvfEWsE.js → package-BNN5fdIc.js} +1 -1
  84. package/dist/cjs/pagination-menu.cjs.entry.js +1 -1
  85. package/dist/cjs/payment-details-core.cjs.entry.js +16 -28
  86. package/dist/cjs/payment-method-option.cjs.entry.js +3 -3
  87. package/dist/cjs/{payment.service--kzMop3L.js → payment.service-DUq-W7tS.js} +2 -2
  88. package/dist/cjs/payments-list-core.cjs.entry.js +12 -12
  89. package/dist/cjs/{payouts-list-params-state-Cewmin_p.js → payments-list-params-state-C4c8UZtP.js} +1 -1
  90. package/dist/cjs/{payments-status-DXRh_ekP.js → payments-status-3iIQkoov.js} +2 -2
  91. package/dist/cjs/{payments-table-DFRtk-T9.js → payments-table-BSHUQhM-.js} +4 -6
  92. package/dist/cjs/payout-details-core.cjs.entry.js +12 -24
  93. package/dist/cjs/{payout.service-D3omzNG_.js → payout.service-DoKMr8Xw.js} +2 -2
  94. package/dist/cjs/payouts-list-core.cjs.entry.js +12 -12
  95. package/dist/cjs/{terminal-orders-list-params-state-Cewmin_p.js → payouts-list-params-state-C4c8UZtP.js} +1 -1
  96. package/dist/cjs/{payouts-status-DxTQZv3i.js → payouts-status-DoQbxIms.js} +2 -2
  97. package/dist/cjs/{payouts-table-DE3t0x93.js → payouts-table-BD_Fhz_j.js} +5 -7
  98. package/dist/cjs/{skeleton-C7DQRD6r.js → skeleton-CuIMC98G.js} +1 -1
  99. package/dist/cjs/spinner-CMZXdrPe.js +10 -0
  100. package/dist/cjs/{styled-host-BfVJlAsJ.js → styled-host-2KXbjOFw.js} +2 -4
  101. package/dist/cjs/{table-Ccdrt0v_.js → table-DlQCUVag.js} +5 -11
  102. package/dist/cjs/table-filters-menu.cjs.entry.js +3 -3
  103. package/dist/cjs/terminal-orders-list-core.cjs.entry.js +11 -11
  104. package/dist/cjs/{checkouts-list-params-state-Cewmin_p.js → terminal-orders-list-params-state-C4c8UZtP.js} +1 -1
  105. package/dist/cjs/{terminal-orders-table-B1LJitwE.js → terminal-orders-table-t6XxNy_K.js} +7 -11
  106. package/dist/cjs/terminal-quantity-selector.cjs.entry.js +2 -2
  107. package/dist/cjs/{terminal.service-BOvYfpQW.js → terminal.service-Iyje71vN.js} +2 -2
  108. package/dist/cjs/terminals-list-core.cjs.entry.js +11 -11
  109. package/dist/cjs/terminals-list-params-state-C4c8UZtP.js +22 -0
  110. package/dist/cjs/{terminals-table-DYt7exFQ.js → terminals-table-BTdKRiBN.js} +3 -3
  111. package/dist/cjs/{utils-BaGF9XIe.js → utils-ChCUZgUy.js} +6 -0
  112. package/dist/cjs/utils-FFP5ZHyE.js +18 -0
  113. package/dist/cjs/webcomponents.cjs.js +3 -3
  114. package/dist/collection/api/Payment.js +2 -0
  115. package/dist/collection/api/index.js +1 -2
  116. package/dist/collection/api/services/apple-pay.service.js +95 -8
  117. package/dist/collection/collection-manifest.json +2 -2
  118. package/dist/collection/components/checkout/bank-account-form/bank-account-form.js +6 -3
  119. package/dist/collection/components/checkout/card-form/card-form.js +6 -3
  120. package/dist/collection/components/checkout/checkout.js +16 -1
  121. package/dist/collection/components/checkout/save-new-payment-method.js +26 -1
  122. package/dist/collection/components/checkouts-list/checkouts-list-core.js +1 -1
  123. package/dist/collection/components/checkouts-list/checkouts-list-filters.js +1 -1
  124. package/dist/collection/components/checkouts-list/checkouts-list.js +1 -1
  125. package/dist/collection/components/dispute-management/dispute-management-core.js +1 -1
  126. package/dist/collection/components/dispute-management/dispute-management.js +1 -1
  127. package/dist/collection/components/dispute-management/dispute-notification.js +1 -1
  128. package/dist/collection/components/dispute-management/dispute-response/additional-statement.js +1 -1
  129. package/dist/collection/components/dispute-management/dispute-response/cancellation-policy.js +1 -1
  130. package/dist/collection/components/dispute-management/dispute-response/customer-details.js +1 -1
  131. package/dist/collection/components/dispute-management/dispute-response/dispute-response-core.js +1 -1
  132. package/dist/collection/components/dispute-management/dispute-response/dispute-response.js +1 -1
  133. package/dist/collection/components/dispute-management/dispute-response/duplicate-charge.js +1 -1
  134. package/dist/collection/components/dispute-management/dispute-response/electronic-evidence.js +1 -1
  135. package/dist/collection/components/dispute-management/dispute-response/product-or-service.js +1 -1
  136. package/dist/collection/components/dispute-management/dispute-response/refund-policy.js +1 -1
  137. package/dist/collection/components/dispute-management/dispute-response/shipping-details.js +1 -1
  138. package/dist/collection/components/filters/table-filters-menu.js +1 -1
  139. package/dist/collection/components/gross-payment-chart/gross-payment-chart-core.js +1 -1
  140. package/dist/collection/components/modular-checkout/ModularCheckout.js +27 -0
  141. package/dist/collection/components/modular-checkout/modular-checkout.js +130 -66
  142. package/dist/collection/components/modular-checkout/sub-components/apple-pay-skeleton.js +2 -2
  143. package/dist/collection/components/modular-checkout/sub-components/apple-pay.js +72 -70
  144. package/dist/collection/components/modular-checkout/sub-components/bank-account.js +2 -2
  145. package/dist/collection/components/modular-checkout/sub-components/card-form.js +2 -2
  146. package/dist/collection/components/modular-checkout/sub-components/payment-method-option.js +1 -1
  147. package/dist/collection/components/modular-checkout/sub-components/plaid-payment-method.js +57 -65
  148. package/dist/collection/components/modular-checkout/sub-components/plaid-payment-method.test.js +8 -6
  149. package/dist/collection/components/modular-checkout/sub-components/saved-payment-methods.js +8 -10
  150. package/dist/collection/components/modular-checkout/sub-components/sezzle-payment-method.js +22 -7
  151. package/dist/collection/components/modular-checkout/sub-components/summary.js +1 -1
  152. package/dist/collection/components/order-terminals/order-terminals.js +1 -1
  153. package/dist/collection/components/order-terminals/terminal-quantity-selector/terminal-quantity-selector.js +1 -1
  154. package/dist/collection/components/payment-details/payment-details-core.js +8 -8
  155. package/dist/collection/components/payment-transactions-list/payment-transactions-list.js +1 -1
  156. package/dist/collection/components/payments-list/payments-list-core.js +1 -1
  157. package/dist/collection/components/payments-list/payments-list-filters.js +2 -2
  158. package/dist/collection/components/payments-list/payments-list.js +1 -1
  159. package/dist/collection/components/payout-details/payout-details-core.js +3 -3
  160. package/dist/collection/components/payout-transactions-list/payout-transactions-list.js +1 -1
  161. package/dist/collection/components/payouts-list/payouts-list-core.js +1 -1
  162. package/dist/collection/components/payouts-list/payouts-list-filters.js +2 -2
  163. package/dist/collection/components/payouts-list/payouts-list.js +1 -1
  164. package/dist/collection/components/terminal-orders-list/terminal-orders-list-core.js +1 -1
  165. package/dist/collection/components/terminal-orders-list/terminal-orders-list-filters.js +2 -2
  166. package/dist/collection/components/terminal-orders-list/terminal-orders-list.js +1 -1
  167. package/dist/collection/components/terminals-list/terminals-list-core.js +1 -1
  168. package/dist/collection/components/terminals-list/terminals-list-filters.js +1 -1
  169. package/dist/collection/components/terminals-list/terminals-list.js +1 -1
  170. package/dist/collection/components/tokenize-payment-method/tokenize-payment-method.js +29 -10
  171. package/dist/collection/index.js +1 -0
  172. package/dist/collection/store/checkout.store.js +46 -3
  173. package/dist/collection/ui-components/custom-popper/custom-popper.js +2 -2
  174. package/dist/collection/ui-components/form/form-control-checkbox.js +2 -2
  175. package/dist/collection/ui-components/form/form-control-date.js +2 -2
  176. package/dist/collection/ui-components/form/form-control-file-v2.js +1 -1
  177. package/dist/collection/ui-components/form/form-control-file.js +2 -2
  178. package/dist/collection/ui-components/form/form-control-monetary.js +2 -2
  179. package/dist/collection/ui-components/form/form-control-number-masked.js +2 -2
  180. package/dist/collection/ui-components/form/form-control-number.js +2 -2
  181. package/dist/collection/ui-components/form/form-control-radio.js +5 -5
  182. package/dist/collection/ui-components/form/form-control-select.js +2 -2
  183. package/dist/collection/ui-components/form/form-control-text.js +2 -2
  184. package/dist/collection/ui-components/form/form-control-textarea.js +2 -2
  185. package/dist/collection/ui-components/form/hidden-input.js +1 -1
  186. package/dist/collection/ui-components/form/iframe-input.js +3 -3
  187. package/dist/collection/ui-components/shadow-dom-components/justifi-button.js +1 -1
  188. package/dist/collection/ui-components/shadow-dom-components/justifi-header.js +1 -1
  189. package/dist/collection/ui-components/shadow-dom-components/justifi-radio-list-item.js +4 -4
  190. package/dist/collection/ui-components/shadow-dom-components/justifi-skeleton.js +1 -1
  191. package/dist/collection/utils/utils.js +5 -0
  192. package/dist/docs.json +186 -86
  193. package/dist/esm/{Api-C1I68Tfr.js → Api-D4tj-h4P.js} +2 -2
  194. package/dist/esm/{Refund-kKW8S1h6.js → Refund-Bc5By0lb.js} +3 -1
  195. package/dist/esm/additional-questions-details_5.entry.js +3 -3
  196. package/dist/esm/{badge-DSYSJcRy.js → badge-ChwzCNAF.js} +1 -1
  197. package/dist/esm/bank-account-document-form-inputs_4.entry.js +9 -9
  198. package/dist/esm/bank-account-form.entry.js +10 -15
  199. package/dist/esm/business-details-core.entry.js +6 -21
  200. package/dist/esm/{business.service-B3wlBl1x.js → business.service-CsbtEDNi.js} +2 -2
  201. package/dist/esm/{button-CpllL0At.js → button-SAIS_5os.js} +2 -3
  202. package/dist/esm/card-form.entry.js +10 -19
  203. package/dist/esm/{check-pkg-version-ucd96eu6.js → check-pkg-version-BUkwdVdm.js} +3 -3
  204. package/dist/esm/{checkout.service-KDp7tISm.js → checkout.service-BCkQ9pOA.js} +2 -2
  205. package/dist/esm/checkout.store-DBvS7cVB.js +79 -0
  206. package/dist/esm/checkouts-list-core.entry.js +11 -11
  207. package/dist/esm/{checkouts-list-params-state-D8tzsGR_.js → checkouts-list-params-state-C2_GlMKR.js} +1 -1
  208. package/dist/esm/{checkouts-table-QOdiLpak.js → checkouts-table-CItEo0DU.js} +4 -6
  209. package/dist/esm/{config-state-DZeVYerv.js → config-state-Blo0ywwc.js} +1 -1
  210. package/dist/esm/custom-popper_2.entry.js +3 -3
  211. package/dist/esm/{dispute.service-DEZEPwn-.js → dispute.service-CyLtJREK.js} +2 -2
  212. package/dist/esm/form-alert_5.entry.js +1 -1
  213. package/dist/esm/form-control-checkbox.entry.js +5 -5
  214. package/dist/esm/form-control-date.entry.js +4 -4
  215. package/dist/esm/{form-control-error-text-R7U07nTg.js → form-control-error-text-IXJJ4JpV.js} +1 -1
  216. package/dist/esm/form-control-file-v2_2.entry.js +5 -5
  217. package/dist/esm/{form-control-help-text-CRLH-2f7.js → form-control-help-text-CuhIsM3v.js} +1 -1
  218. package/dist/esm/form-control-help-text.entry.js +1 -1
  219. package/dist/esm/form-control-monetary-provisioning.entry.js +3 -3
  220. package/dist/esm/form-control-monetary.entry.js +6 -6
  221. package/dist/esm/form-control-number-masked_2.entry.js +4 -4
  222. package/dist/esm/form-control-number.entry.js +5 -5
  223. package/dist/esm/form-control-radio.entry.js +3 -3
  224. package/dist/esm/form-control-select_2.entry.js +6 -6
  225. package/dist/esm/{get-payment-details-CYASKLT7.js → get-payment-details-BuT0QNOo.js} +2 -2
  226. package/dist/esm/{get-subaccounts-E0PYy_pc.js → get-subaccounts-VjY6-x_9.js} +3 -3
  227. package/dist/esm/gross-payment-chart-core.entry.js +5 -5
  228. package/dist/esm/{header-1-3M9If0gM.js → header-1-zXsamUS3.js} +1 -1
  229. package/dist/esm/{header-3-CWa41YWq.js → header-3-DVtaUAlf.js} +1 -1
  230. package/dist/esm/hidden-input_2.entry.js +8 -8
  231. package/dist/esm/{checkout.store-UMe84fjY.js → index-DCIW8z1f.js} +27 -38
  232. package/dist/esm/{index-B_KxSZIF.js → index-ZfXl6Xrm.js} +1 -1
  233. package/dist/esm/{index-Bn7inNWG.js → index-qipqIMyC.js} +8 -2
  234. package/dist/esm/index.js +1 -1
  235. package/dist/esm/{insurance-state-CTalqbNa.js → insurance-state-Dh9f36Qh.js} +2 -2
  236. package/dist/esm/justifi-additional-questions-form-step-core_6.entry.js +9 -24
  237. package/dist/esm/justifi-additional-questions-form-step_9.entry.js +8 -8
  238. package/dist/esm/justifi-additional-statement_8.entry.js +9 -9
  239. package/dist/esm/justifi-apple-pay.entry.js +177 -86
  240. package/dist/esm/justifi-bank-account-billing-form-simple_9.entry.js +24 -42
  241. package/dist/esm/justifi-business-details.entry.js +10 -10
  242. package/dist/esm/justifi-business-form.entry.js +15 -30
  243. package/dist/esm/justifi-business-representative-form-inputs.entry.js +1 -1
  244. package/dist/esm/justifi-checkout-summary_7.entry.js +189 -157
  245. package/dist/esm/justifi-checkout.entry.js +19 -11
  246. package/dist/esm/justifi-checkouts-list-filters.entry.js +8 -8
  247. package/dist/esm/justifi-checkouts-list.entry.js +14 -14
  248. package/dist/esm/justifi-config-provider.entry.js +3 -3
  249. package/dist/esm/justifi-details.entry.js +2 -2
  250. package/dist/esm/justifi-dispute-management-core.entry.js +2 -2
  251. package/dist/esm/justifi-dispute-management.entry.js +10 -10
  252. package/dist/esm/justifi-dispute-notification_3.entry.js +15 -15
  253. package/dist/esm/justifi-gross-payment-chart.entry.js +9 -9
  254. package/dist/esm/justifi-order-terminals.entry.js +16 -44
  255. package/dist/esm/justifi-owner-form_3.entry.js +8 -8
  256. package/dist/esm/justifi-payment-details.entry.js +11 -11
  257. package/dist/esm/justifi-payment-provisioning-core.entry.js +3 -3
  258. package/dist/esm/justifi-payment-provisioning.entry.js +9 -9
  259. package/dist/esm/justifi-payment-transactions-list.entry.js +14 -16
  260. package/dist/esm/justifi-payments-list-filters.entry.js +7 -7
  261. package/dist/esm/justifi-payments-list.entry.js +14 -14
  262. package/dist/esm/justifi-payout-details.entry.js +10 -10
  263. package/dist/esm/justifi-payout-transactions-list.entry.js +16 -22
  264. package/dist/esm/justifi-payouts-list-filters.entry.js +7 -7
  265. package/dist/esm/justifi-payouts-list.entry.js +15 -15
  266. package/dist/esm/justifi-refund-payment.entry.js +15 -21
  267. package/dist/esm/justifi-saved-payment-method.entry.js +1 -1
  268. package/dist/esm/justifi-season-interruption-insurance.entry.js +14 -25
  269. package/dist/esm/justifi-skeleton.entry.js +4 -4
  270. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +9 -9
  271. package/dist/esm/justifi-terminal-orders-list.entry.js +12 -12
  272. package/dist/esm/justifi-terminals-list-filters.entry.js +8 -8
  273. package/dist/esm/justifi-terminals-list.entry.js +14 -14
  274. package/dist/esm/loader.js +3 -3
  275. package/dist/esm/{package-D51QuD44.js → package-BBpkkt2-.js} +1 -1
  276. package/dist/esm/pagination-menu.entry.js +1 -1
  277. package/dist/esm/payment-details-core.entry.js +16 -28
  278. package/dist/esm/payment-method-option.entry.js +3 -3
  279. package/dist/esm/{payment.service-uJpJaX2Z.js → payment.service-QJEmd6Nl.js} +2 -2
  280. package/dist/esm/payments-list-core.entry.js +12 -12
  281. package/dist/esm/{payments-list-params-state-D8tzsGR_.js → payments-list-params-state-C2_GlMKR.js} +1 -1
  282. package/dist/esm/{payments-status-5orNU2Rd.js → payments-status-DDafc8Yr.js} +2 -2
  283. package/dist/esm/{payments-table-B0uyodyJ.js → payments-table-De3Jb6rY.js} +4 -6
  284. package/dist/esm/payout-details-core.entry.js +12 -24
  285. package/dist/esm/{payout.service-ClUgtbbb.js → payout.service-XxyEr0rj.js} +2 -2
  286. package/dist/esm/payouts-list-core.entry.js +12 -12
  287. package/dist/esm/{payouts-list-params-state-D8tzsGR_.js → payouts-list-params-state-C2_GlMKR.js} +1 -1
  288. package/dist/esm/{payouts-status-CZPwa2AE.js → payouts-status-u1eSRz3Q.js} +2 -2
  289. package/dist/esm/{payouts-table-CaCSX_0q.js → payouts-table-BO-MCzXj.js} +5 -7
  290. package/dist/esm/{skeleton-qMb0_Cjy.js → skeleton-DtpkgjZ6.js} +1 -1
  291. package/dist/esm/spinner-CIXUVK4F.js +8 -0
  292. package/dist/esm/{styled-host-CTAGIN84.js → styled-host-CbizlfAU.js} +2 -4
  293. package/dist/esm/{table-Br3n9Xu-.js → table-DcRHK_sm.js} +5 -11
  294. package/dist/esm/table-filters-menu.entry.js +3 -3
  295. package/dist/esm/terminal-orders-list-core.entry.js +11 -11
  296. package/dist/esm/{terminal-orders-list-params-state-D8tzsGR_.js → terminal-orders-list-params-state-C2_GlMKR.js} +1 -1
  297. package/dist/esm/{terminal-orders-table-DPtof5Zb.js → terminal-orders-table-9nsnrAq8.js} +7 -11
  298. package/dist/esm/terminal-quantity-selector.entry.js +2 -2
  299. package/dist/esm/{terminal.service-ClNtE3e-.js → terminal.service-D2oETGnk.js} +2 -2
  300. package/dist/esm/terminals-list-core.entry.js +11 -11
  301. package/dist/esm/terminals-list-params-state-C2_GlMKR.js +16 -0
  302. package/dist/esm/{terminals-table-ClkR_jrC.js → terminals-table-C6NO2m-t.js} +3 -3
  303. package/dist/esm/{utils-lb8p1Exq.js → utils-BscIVFn8.js} +6 -1
  304. package/dist/esm/utils-_ckvHjSW.js +11 -0
  305. package/dist/esm/webcomponents.js +4 -4
  306. package/dist/module/ModularCheckout.js +57 -0
  307. package/dist/module/Refund.js +2 -0
  308. package/dist/module/additional-questions-details2.js +4 -2
  309. package/dist/module/additional-questions.js +4 -2
  310. package/dist/module/additional-statement.js +5 -3
  311. package/dist/module/bank-account-billing-form-simple.js +4 -2
  312. package/dist/module/bank-account-document-inputs.js +4 -2
  313. package/dist/module/bank-account-form-inputs2.js +4 -2
  314. package/dist/module/bank-account-form.js +10 -13
  315. package/dist/module/bank-account.js +7 -13
  316. package/dist/module/billing-form-full.js +4 -2
  317. package/dist/module/billing-form.js +4 -2
  318. package/dist/module/business-additional-questions-form-step-core.js +4 -2
  319. package/dist/module/business-additional-questions-form-step.js +4 -2
  320. package/dist/module/business-bank-account-form-step-core.js +4 -2
  321. package/dist/module/business-bank-account-form-step.js +4 -2
  322. package/dist/module/business-core-info-form-step-core.js +4 -2
  323. package/dist/module/business-core-info-form-step.js +4 -2
  324. package/dist/module/business-core-info.js +4 -2
  325. package/dist/module/business-details-core2.js +6 -19
  326. package/dist/module/business-documents-on-file2.js +4 -2
  327. package/dist/module/business-owners-form-step-core.js +4 -2
  328. package/dist/module/business-owners-form-step.js +4 -2
  329. package/dist/module/business-representative-form-inputs.js +4 -2
  330. package/dist/module/business-representative-form-step-core.js +4 -2
  331. package/dist/module/business-representative-form-step.js +4 -2
  332. package/dist/module/business-representative.js +4 -2
  333. package/dist/module/business-terms-conditions-form-step.js +4 -2
  334. package/dist/module/button.js +1 -2
  335. package/dist/module/cancellation-policy.js +5 -3
  336. package/dist/module/card-billing-form-simple.js +4 -2
  337. package/dist/module/card-form.js +10 -17
  338. package/dist/module/card-form2.js +7 -17
  339. package/dist/module/checkout.store.js +42 -31
  340. package/dist/module/checkouts-list-core2.js +6 -6
  341. package/dist/module/core-info-details2.js +4 -2
  342. package/dist/module/custom-popper2.js +6 -4
  343. package/dist/module/customer-details.js +5 -3
  344. package/dist/module/details.js +4 -2
  345. package/dist/module/dispute-management-core.js +5 -3
  346. package/dist/module/dispute-notification.js +5 -3
  347. package/dist/module/dispute-response-core.js +5 -3
  348. package/dist/module/dispute-response.js +5 -3
  349. package/dist/module/duplicate-charge.js +5 -3
  350. package/dist/module/electronic-evidence.js +5 -3
  351. package/dist/module/form-alert2.js +4 -2
  352. package/dist/module/form-control-checkbox2.js +6 -4
  353. package/dist/module/form-control-date2.js +6 -4
  354. package/dist/module/form-control-file-v22.js +5 -3
  355. package/dist/module/form-control-file2.js +6 -4
  356. package/dist/module/form-control-help-text2.js +4 -2
  357. package/dist/module/form-control-monetary-provisioning2.js +4 -2
  358. package/dist/module/form-control-monetary2.js +6 -4
  359. package/dist/module/form-control-number-masked2.js +6 -4
  360. package/dist/module/form-control-number.js +6 -4
  361. package/dist/module/form-control-radio2.js +7 -5
  362. package/dist/module/form-control-select2.js +6 -4
  363. package/dist/module/form-control-text2.js +6 -4
  364. package/dist/module/form-control-textarea2.js +6 -4
  365. package/dist/module/form-control-tooltip2.js +4 -2
  366. package/dist/module/gross-payment-chart-core2.js +6 -4
  367. package/dist/module/hidden-input2.js +5 -3
  368. package/dist/module/identity-address-form.js +4 -2
  369. package/dist/module/iframe-input2.js +7 -5
  370. package/dist/module/index.js +1 -0
  371. package/dist/module/justifi-apple-pay.js +174 -86
  372. package/dist/module/justifi-business-details.js +4 -2
  373. package/dist/module/justifi-business-form.js +6 -19
  374. package/dist/module/justifi-button2.js +5 -3
  375. package/dist/module/justifi-checkout.js +15 -4
  376. package/dist/module/justifi-checkouts-list-filters.js +5 -3
  377. package/dist/module/justifi-checkouts-list.js +5 -3
  378. package/dist/module/justifi-config-provider.js +4 -2
  379. package/dist/module/justifi-dispute-management.js +5 -3
  380. package/dist/module/justifi-gross-payment-chart.js +4 -2
  381. package/dist/module/justifi-header2.js +5 -3
  382. package/dist/module/justifi-order-terminals.js +9 -35
  383. package/dist/module/justifi-payment-details.js +4 -2
  384. package/dist/module/justifi-payment-provisioning.js +4 -2
  385. package/dist/module/justifi-payment-transactions-list.js +6 -6
  386. package/dist/module/justifi-payments-list-filters.js +6 -4
  387. package/dist/module/justifi-payments-list.js +5 -3
  388. package/dist/module/justifi-payout-details.js +4 -2
  389. package/dist/module/justifi-payout-transactions-list.js +8 -12
  390. package/dist/module/justifi-payouts-list-filters.js +6 -4
  391. package/dist/module/justifi-payouts-list.js +5 -3
  392. package/dist/module/justifi-radio-list-item2.js +6 -4
  393. package/dist/module/justifi-refund-payment.js +6 -10
  394. package/dist/module/justifi-saved-payment-method.js +4 -2
  395. package/dist/module/justifi-season-interruption-insurance.js +6 -16
  396. package/dist/module/justifi-skeleton.js +5 -3
  397. package/dist/module/justifi-terminal-orders-list-filters.js +6 -4
  398. package/dist/module/justifi-terminal-orders-list.js +5 -3
  399. package/dist/module/justifi-terminals-list-filters.js +5 -3
  400. package/dist/module/justifi-terminals-list.js +5 -3
  401. package/dist/module/legal-address-details2.js +4 -2
  402. package/dist/module/legal-address-form-step-core.js +4 -2
  403. package/dist/module/legal-address-form-step.js +4 -2
  404. package/dist/module/legal-address-form.js +4 -2
  405. package/dist/module/modular-checkout.js +99 -39
  406. package/dist/module/owner-details2.js +4 -2
  407. package/dist/module/owner-form-core2.js +4 -2
  408. package/dist/module/owner-form-inputs2.js +4 -2
  409. package/dist/module/owner-form.js +4 -2
  410. package/dist/module/package.js +1 -1
  411. package/dist/module/pagination-menu2.js +4 -2
  412. package/dist/module/payment-details-core2.js +13 -23
  413. package/dist/module/payment-method-option.js +5 -3
  414. package/dist/module/payment-provisioning-core.js +4 -2
  415. package/dist/module/payment-provisioning-form-buttons.js +4 -2
  416. package/dist/module/payment-provisioning-form-steps.js +4 -2
  417. package/dist/module/payment-provisioning-loading.js +2 -17
  418. package/dist/module/payments-list-core2.js +6 -6
  419. package/dist/module/payout-details-core2.js +8 -18
  420. package/dist/module/payouts-list-core2.js +7 -7
  421. package/dist/module/plaid-payment-method.js +49 -104
  422. package/dist/module/plaid.service.js +26 -0
  423. package/dist/module/product-or-service.js +5 -3
  424. package/dist/module/refund-policy.js +5 -3
  425. package/dist/module/representative-details2.js +4 -2
  426. package/dist/module/save-new-payment-method.js +7 -3
  427. package/dist/module/saved-payment-methods.js +13 -12
  428. package/dist/module/sezzle-payment-method.js +14 -24
  429. package/dist/module/shipping-details.js +5 -3
  430. package/dist/module/spinner.js +1 -3
  431. package/dist/module/styled-host.js +1 -3
  432. package/dist/module/summary.js +5 -3
  433. package/dist/module/table-filters-menu2.js +5 -3
  434. package/dist/module/table.js +3 -9
  435. package/dist/module/terminal-orders-list-core2.js +7 -9
  436. package/dist/module/terminal-quantity-selector2.js +5 -3
  437. package/dist/module/terminals-list-core2.js +6 -4
  438. package/dist/module/tokenize-payment-method.js +16 -12
  439. package/dist/module/utils.js +5 -16
  440. package/dist/module/utils2.js +6 -1
  441. package/dist/types/api/Checkout.d.ts +7 -15
  442. package/dist/types/api/Payment.d.ts +3 -1
  443. package/dist/types/api/index.d.ts +2 -2
  444. package/dist/types/api/services/apple-pay.service.d.ts +7 -0
  445. package/dist/types/components/checkout/bank-account-form/bank-account-form.d.ts +1 -0
  446. package/dist/types/components/checkout/card-form/card-form.d.ts +1 -0
  447. package/dist/types/components/checkout/checkout.d.ts +5 -0
  448. package/dist/types/components/checkout/save-new-payment-method.d.ts +1 -0
  449. package/dist/types/components/modular-checkout/ModularCheckout.d.ts +41 -0
  450. package/dist/types/components/modular-checkout/modular-checkout.d.ts +5 -3
  451. package/dist/types/components/modular-checkout/sub-components/apple-pay-skeleton.d.ts +1 -1
  452. package/dist/types/components/modular-checkout/sub-components/apple-pay.d.ts +9 -3
  453. package/dist/types/components/modular-checkout/sub-components/plaid-payment-method.d.ts +1 -2
  454. package/dist/types/components/modular-checkout/sub-components/saved-payment-methods.d.ts +3 -3
  455. package/dist/types/components/modular-checkout/sub-components/sezzle-payment-method.d.ts +1 -1
  456. package/dist/types/components/tokenize-payment-method/tokenize-payment-method.d.ts +2 -1
  457. package/dist/types/components.d.ts +23 -16
  458. package/dist/types/index.d.ts +4 -0
  459. package/dist/types/stencil-public-runtime.d.ts +21 -0
  460. package/dist/types/store/checkout.store.d.ts +12 -5
  461. package/dist/types/ui-components/form/form-control-radio.d.ts +1 -1
  462. package/dist/types/ui-components/shadow-dom-components/justifi-radio-list-item.d.ts +1 -1
  463. package/dist/types/utils/utils.d.ts +1 -0
  464. package/dist/webcomponents/index.esm.js +1 -0
  465. package/dist/webcomponents/p-005efe51.entry.js +1 -0
  466. package/dist/webcomponents/p-0142114f.entry.js +1 -0
  467. package/dist/webcomponents/{p-54ca3070.entry.js → p-0801324e.entry.js} +1 -1
  468. package/dist/webcomponents/{p-ed7dfcf3.entry.js → p-0d8fe5f2.entry.js} +1 -1
  469. package/dist/webcomponents/{p-613421d4.entry.js → p-146de253.entry.js} +1 -1
  470. package/dist/webcomponents/p-17f7590c.entry.js +1 -0
  471. package/dist/webcomponents/{p-9846b23d.entry.js → p-1b7926f6.entry.js} +1 -1
  472. package/dist/webcomponents/{p-44450a94.entry.js → p-20f036cc.entry.js} +1 -1
  473. package/dist/webcomponents/{p-f13ae573.entry.js → p-2246aa69.entry.js} +1 -1
  474. package/dist/webcomponents/p-246ef4ff.entry.js +1 -0
  475. package/dist/webcomponents/{p-bcb1d661.entry.js → p-25484e99.entry.js} +1 -1
  476. package/dist/webcomponents/{p-053c183b.entry.js → p-265d0a1d.entry.js} +1 -1
  477. package/dist/webcomponents/{p-4213d10e.entry.js → p-27fc3ef0.entry.js} +3 -3
  478. package/dist/webcomponents/{p-9b0f0f53.entry.js → p-2a43e77f.entry.js} +1 -1
  479. package/dist/webcomponents/p-30c414b5.entry.js +1 -0
  480. package/dist/webcomponents/{p-8d891445.entry.js → p-3152c84f.entry.js} +1 -1
  481. package/dist/webcomponents/p-3546a5aa.entry.js +1 -0
  482. package/dist/webcomponents/p-3621a429.entry.js +1 -0
  483. package/dist/webcomponents/p-3906296f.entry.js +1 -0
  484. package/dist/webcomponents/{p-f1cba43c.entry.js → p-3d37045d.entry.js} +1 -1
  485. package/dist/webcomponents/p-3e320c0d.entry.js +1 -0
  486. package/dist/webcomponents/p-406ba650.entry.js +1 -0
  487. package/dist/webcomponents/p-44d1341c.entry.js +1 -0
  488. package/dist/webcomponents/{p-6255c685.entry.js → p-44e32f85.entry.js} +1 -1
  489. package/dist/webcomponents/p-4ea83bfd.entry.js +1 -0
  490. package/dist/webcomponents/p-558f7967.entry.js +1 -0
  491. package/dist/webcomponents/p-5c3d8de5.entry.js +1 -0
  492. package/dist/webcomponents/p-5c477f08.entry.js +1 -0
  493. package/dist/webcomponents/p-68329f16.entry.js +1 -0
  494. package/dist/webcomponents/p-6fdc03bc.entry.js +1 -0
  495. package/dist/webcomponents/p-6fe79f16.entry.js +1 -0
  496. package/dist/webcomponents/p-7aeb20d2.entry.js +1 -0
  497. package/dist/webcomponents/p-7b103dad.entry.js +1 -0
  498. package/dist/webcomponents/{p-28618e6f.entry.js → p-7c5cd118.entry.js} +1 -1
  499. package/dist/webcomponents/{p-17896a6d.entry.js → p-7cb6cc9f.entry.js} +1 -1
  500. package/dist/webcomponents/p-7e04d5af.entry.js +1 -0
  501. package/dist/webcomponents/p-82781411.entry.js +1 -0
  502. package/dist/webcomponents/p-84043580.entry.js +1 -0
  503. package/dist/webcomponents/p-8467851a.entry.js +1 -0
  504. package/dist/webcomponents/{p-95cbb655.entry.js → p-8d3f5638.entry.js} +1 -1
  505. package/dist/webcomponents/p-906fdf0c.entry.js +1 -0
  506. package/dist/webcomponents/{p-9a2c044f.entry.js → p-90e43440.entry.js} +1 -1
  507. package/dist/webcomponents/p-95348ff6.entry.js +1 -0
  508. package/dist/webcomponents/{p-15705e8a.entry.js → p-9c4079cc.entry.js} +1 -1
  509. package/dist/webcomponents/{p-f04c79f2.entry.js → p-9d7b5d07.entry.js} +1 -1
  510. package/dist/webcomponents/p-9fc464eb.entry.js +1 -0
  511. package/dist/webcomponents/{p-0mMX1Zv4.js → p-B4idKqyn.js} +1 -1
  512. package/dist/webcomponents/p-BBpkkt2-.js +1 -0
  513. package/dist/webcomponents/{p-zdIeCUeh.js → p-BHf9IqGw.js} +1 -1
  514. package/dist/webcomponents/{p-DNo0OPOP.js → p-BIPdn2VU.js} +1 -1
  515. package/dist/webcomponents/{p-BPtcGAzB.js → p-BUa0YOaw.js} +1 -1
  516. package/dist/webcomponents/{p-B8iBcmNu.js → p-BY2p6Sxk.js} +1 -1
  517. package/dist/webcomponents/{p-CB0mCq1M.js → p-BZ7C9duj.js} +1 -1
  518. package/dist/webcomponents/{p-DGmp4ErD.js → p-BdLLGV9t.js} +1 -1
  519. package/dist/webcomponents/p-BguBT6Hn.js +1 -0
  520. package/dist/webcomponents/{p-DhGNCW2f.js → p-Bp_QFeog.js} +1 -1
  521. package/dist/webcomponents/{p-B71k50jz.js → p-Bvp7uul3.js} +1 -1
  522. package/dist/webcomponents/{p-CvG-itHC.js → p-C1xGBPma.js} +1 -1
  523. package/dist/webcomponents/p-C3n7-tlg.js +1 -0
  524. package/dist/webcomponents/{p-DxqCFDtF.js → p-CLQx9p9q.js} +1 -1
  525. package/dist/webcomponents/{p-b21ncS7l.js → p-CPVN4dXS.js} +1 -1
  526. package/dist/webcomponents/p-CQeex56P.js +1 -0
  527. package/dist/webcomponents/p-CU4XQ3fO.js +1 -0
  528. package/dist/webcomponents/{p-Bb-6bNcq.js → p-C_3N7nqh.js} +1 -1
  529. package/dist/webcomponents/{p-BRLwUSZk.js → p-CaxjN6Uo.js} +1 -1
  530. package/dist/webcomponents/p-CpKvg1ok.js +1 -0
  531. package/dist/webcomponents/p-CrQgyTRz.js +1 -0
  532. package/dist/webcomponents/{p-Bu1jU017.js → p-CxzFvTgf.js} +1 -1
  533. package/dist/webcomponents/{p-DVBbk00Z.js → p-CzPUMw00.js} +1 -1
  534. package/dist/webcomponents/{p-DDUmOl3v.js → p-D--yCspA.js} +1 -1
  535. package/dist/webcomponents/{p-qWQmu-fb.js → p-D-JYHdJ7.js} +1 -1
  536. package/dist/webcomponents/p-D6XirF21.js +1 -0
  537. package/dist/webcomponents/p-DCIW8z1f.js +1 -0
  538. package/dist/webcomponents/{p-BfM6X7lF.js → p-DCMrHeJI.js} +1 -1
  539. package/dist/webcomponents/{p-tkZEz3MG.js → p-D_5McRD_.js} +1 -1
  540. package/dist/webcomponents/p-DbX0g1WF.js +1 -0
  541. package/dist/webcomponents/p-De8UloOS.js +1 -0
  542. package/dist/webcomponents/p-DsAwPf2y.js +1 -0
  543. package/dist/webcomponents/p-DvZcI6pC.js +1 -0
  544. package/dist/webcomponents/p-DyDHaG6n.js +1 -0
  545. package/dist/webcomponents/{p-D2_iJUrZ.js → p-DyOgQlh2.js} +1 -1
  546. package/dist/webcomponents/p-IG_KR8zP.js +1 -0
  547. package/dist/webcomponents/p-Xv8DuU3Y.js +1 -0
  548. package/dist/webcomponents/{p-d46dbb83.entry.js → p-a71a5e64.entry.js} +1 -1
  549. package/dist/webcomponents/{p-a0cc3d92.entry.js → p-a7e40e91.entry.js} +1 -1
  550. package/dist/webcomponents/{p-72dda22b.entry.js → p-a90b8b93.entry.js} +1 -1
  551. package/dist/webcomponents/{p-70f51444.entry.js → p-a928c6fb.entry.js} +1 -1
  552. package/dist/webcomponents/p-b90999af.entry.js +1 -0
  553. package/dist/webcomponents/{p-d277cc68.entry.js → p-bc3cdc7b.entry.js} +1 -1
  554. package/dist/webcomponents/p-c16c0cbc.entry.js +1 -0
  555. package/dist/webcomponents/p-c262d10f.entry.js +1 -0
  556. package/dist/webcomponents/p-c4Mh3ZZ_.js +1 -0
  557. package/dist/webcomponents/{p-2a3c59d4.entry.js → p-c70e1aac.entry.js} +1 -1
  558. package/dist/webcomponents/{p-f680e617.entry.js → p-cecb65c4.entry.js} +1 -1
  559. package/dist/webcomponents/p-d7555ff1.entry.js +1 -0
  560. package/dist/webcomponents/{p-8ff839a4.entry.js → p-df329742.entry.js} +1 -1
  561. package/dist/webcomponents/{p-3e667b07.entry.js → p-e2a38ad0.entry.js} +1 -1
  562. package/dist/webcomponents/p-e6516014.entry.js +1 -0
  563. package/dist/webcomponents/{p-97c0dde4.entry.js → p-e6e96be2.entry.js} +1 -1
  564. package/dist/webcomponents/p-e79338f9.entry.js +1 -0
  565. package/dist/webcomponents/p-ea2a9a81.entry.js +1 -0
  566. package/dist/webcomponents/p-f5c3f489.entry.js +1 -0
  567. package/dist/webcomponents/p-f6fbd43d.entry.js +1 -0
  568. package/dist/webcomponents/{p-00a845e5.entry.js → p-f7690165.entry.js} +1 -1
  569. package/dist/webcomponents/{p-7cf87637.entry.js → p-f8cbcbe9.entry.js} +1 -1
  570. package/dist/webcomponents/p-f99e4566.entry.js +1 -0
  571. package/dist/webcomponents/{p-C5id7s_l.js → p-fUtq2xDs.js} +1 -1
  572. package/dist/webcomponents/{p-Dgflaz6J.js → p-oGKW57R8.js} +1 -1
  573. package/dist/webcomponents/p-qipqIMyC.js +2 -0
  574. package/dist/webcomponents/p-xY5RkFuA.js +1 -0
  575. package/dist/webcomponents/webcomponents.esm.js +1 -1
  576. package/package.json +2 -2
  577. package/dist/cjs/spinner-jmeA44Ee.js +0 -12
  578. package/dist/cjs/terminals-list-params-state-Cewmin_p.js +0 -22
  579. package/dist/cjs/utils-Bzyj4qWe.js +0 -29
  580. package/dist/esm/spinner-DUzyWLhj.js +0 -10
  581. package/dist/esm/terminals-list-params-state-D8tzsGR_.js +0 -16
  582. package/dist/esm/utils-Dg6gMUTv.js +0 -22
  583. package/dist/webcomponents/p-040e8524.entry.js +0 -1
  584. package/dist/webcomponents/p-0f42c89d.entry.js +0 -1
  585. package/dist/webcomponents/p-1288fda5.entry.js +0 -1
  586. package/dist/webcomponents/p-14ff3155.entry.js +0 -1
  587. package/dist/webcomponents/p-2b5da0dc.entry.js +0 -1
  588. package/dist/webcomponents/p-3aecd2cd.entry.js +0 -1
  589. package/dist/webcomponents/p-3bf63d1e.entry.js +0 -1
  590. package/dist/webcomponents/p-5580e6ca.entry.js +0 -1
  591. package/dist/webcomponents/p-57dde36e.entry.js +0 -1
  592. package/dist/webcomponents/p-5bc6f5ca.entry.js +0 -1
  593. package/dist/webcomponents/p-5f87add5.entry.js +0 -1
  594. package/dist/webcomponents/p-60206d9c.entry.js +0 -1
  595. package/dist/webcomponents/p-7089fb85.entry.js +0 -1
  596. package/dist/webcomponents/p-724e57e1.entry.js +0 -1
  597. package/dist/webcomponents/p-72f3bbfc.entry.js +0 -1
  598. package/dist/webcomponents/p-84d2025d.entry.js +0 -1
  599. package/dist/webcomponents/p-851a418e.entry.js +0 -1
  600. package/dist/webcomponents/p-87884ca5.entry.js +0 -1
  601. package/dist/webcomponents/p-88905a54.entry.js +0 -1
  602. package/dist/webcomponents/p-8990707a.entry.js +0 -1
  603. package/dist/webcomponents/p-8b7cbdbf.entry.js +0 -1
  604. package/dist/webcomponents/p-8cca8903.entry.js +0 -1
  605. package/dist/webcomponents/p-98cffba9.entry.js +0 -1
  606. package/dist/webcomponents/p-9f5c9e41.entry.js +0 -1
  607. package/dist/webcomponents/p-B5Rc83j1.js +0 -1
  608. package/dist/webcomponents/p-BEPUC3Po.js +0 -1
  609. package/dist/webcomponents/p-BP7op0vq.js +0 -1
  610. package/dist/webcomponents/p-BQ2TIFoY.js +0 -1
  611. package/dist/webcomponents/p-BSt6p1oq.js +0 -1
  612. package/dist/webcomponents/p-BY1mRAvj.js +0 -1
  613. package/dist/webcomponents/p-BbZwa5UI.js +0 -1
  614. package/dist/webcomponents/p-Bn7inNWG.js +0 -2
  615. package/dist/webcomponents/p-C6c6Q0E7.js +0 -1
  616. package/dist/webcomponents/p-CaAVuW6B.js +0 -1
  617. package/dist/webcomponents/p-CpaS1Lex.js +0 -1
  618. package/dist/webcomponents/p-D51QuD44.js +0 -1
  619. package/dist/webcomponents/p-DD0Mvpeu.js +0 -1
  620. package/dist/webcomponents/p-DIDloHpm.js +0 -1
  621. package/dist/webcomponents/p-Dc1CS9Mi.js +0 -1
  622. package/dist/webcomponents/p-DsZZxRXY.js +0 -1
  623. package/dist/webcomponents/p-a1d3bb81.entry.js +0 -1
  624. package/dist/webcomponents/p-a9957ca5.entry.js +0 -1
  625. package/dist/webcomponents/p-abbf14b5.entry.js +0 -1
  626. package/dist/webcomponents/p-c44325f8.entry.js +0 -1
  627. package/dist/webcomponents/p-c65bcc0c.entry.js +0 -1
  628. package/dist/webcomponents/p-c874ca2b.entry.js +0 -1
  629. package/dist/webcomponents/p-caac63bf.entry.js +0 -1
  630. package/dist/webcomponents/p-d17e2531.entry.js +0 -1
  631. package/dist/webcomponents/p-d72e8541.entry.js +0 -1
  632. package/dist/webcomponents/p-eP3fmhta.js +0 -1
  633. package/dist/webcomponents/p-ef353e3d.entry.js +0 -1
  634. package/dist/webcomponents/p-fa1aba4e.entry.js +0 -1
  635. package/dist/webcomponents/p-fb16d889.entry.js +0 -1
  636. package/dist/webcomponents/p-fd4ffaa2.entry.js +0 -1
  637. package/dist/webcomponents/p-sw5RO19U.js +0 -1
@@ -4,7 +4,7 @@ import { ApplePayButtonType, ApplePayButtonStyle, ApplePayHelpers, } from "../..
4
4
  import { StyledHost } from "../../../ui-components";
5
5
  import ApplePaySkeleton from "./apple-pay-skeleton";
6
6
  import { ApplePayButton } from "../../../ui-components/apple-pay-button";
7
- import { checkoutStore, onChange } from "../../../store/checkout.store";
7
+ import { checkoutStore } from "../../../store/checkout.store";
8
8
  export class ApplePay {
9
9
  constructor() {
10
10
  this.countryCode = "US";
@@ -19,9 +19,10 @@ export class ApplePay {
19
19
  this.isProcessing = false;
20
20
  this.isAvailable = false;
21
21
  this.canMakePayments = false;
22
+ this.isConfigValid = true;
22
23
  this.error = null;
23
24
  this.handleApplePayClick = async () => {
24
- var _a;
25
+ var _a, _b;
25
26
  if (this.isProcessing || this.disabled || !this.isAvailable) {
26
27
  return;
27
28
  }
@@ -29,6 +30,14 @@ export class ApplePay {
29
30
  this.isProcessing = true;
30
31
  this.error = null;
31
32
  this.applePayStarted.emit();
33
+ console.groupCollapsed('[ApplePay Component] handleApplePayClick');
34
+ console.log('[ApplePay Component] click context:', {
35
+ isProcessing: this.isProcessing,
36
+ disabled: this.disabled,
37
+ isAvailable: this.isAvailable,
38
+ canMakePayments: this.canMakePayments,
39
+ hasService: Boolean(this.applePayService),
40
+ });
32
41
  const paymentRequest = {
33
42
  countryCode: this.countryCode,
34
43
  currencyCode: checkoutStore.paymentCurrency,
@@ -36,7 +45,13 @@ export class ApplePay {
36
45
  supportedNetworks: ApplePayHelpers.getDefaultSupportedNetworks(),
37
46
  total: ApplePayHelpers.createLineItem(checkoutStore.paymentDescription, checkoutStore.paymentAmount),
38
47
  };
48
+ console.log("[ApplePay Component] paymentRequest", paymentRequest);
49
+ console.log('[ApplePay Component] identifiers snapshot:', {
50
+ authTokenLength: checkoutStore.authToken ? String(checkoutStore.authToken).length : 0,
51
+ accountId: checkoutStore.accountId,
52
+ });
39
53
  const result = await this.applePayService.startPaymentSession(paymentRequest, checkoutStore.authToken, checkoutStore.accountId);
54
+ console.log("[ApplePay Component] startPaymentSession result", result);
40
55
  if (result.success) {
41
56
  this.applePayCompleted.emit({
42
57
  success: true,
@@ -51,14 +66,14 @@ export class ApplePay {
51
66
  });
52
67
  this.applePayError.emit({
53
68
  error: ((_a = result.error) === null || _a === void 0 ? void 0 : _a.message) || "Payment failed",
69
+ code: ((_b = result.error) === null || _b === void 0 ? void 0 : _b.code) || ApplePay.ErrorCode.PAYMENT_FAILED,
54
70
  });
55
71
  }
56
72
  }
57
73
  catch (error) {
58
- console.error("Apple Pay payment error:", error);
59
74
  const errorMessage = error instanceof Error ? error.message : "Payment failed";
60
75
  this.error = errorMessage;
61
- this.applePayError.emit({ error: errorMessage });
76
+ this.applePayError.emit({ error: errorMessage, code: ApplePay.ErrorCode.PAYMENT_FAILED });
62
77
  this.applePayCompleted.emit({
63
78
  success: false,
64
79
  error: errorMessage,
@@ -66,43 +81,60 @@ export class ApplePay {
66
81
  }
67
82
  finally {
68
83
  this.isProcessing = false;
84
+ console.groupEnd();
69
85
  }
70
86
  };
71
87
  }
72
- componentWillLoad() {
73
- this.applePayService = new ApplePayService();
74
- this.initializeApplePay();
75
- }
76
- componentDidLoad() {
77
- onChange("paymentAmount", () => {
78
- this.initializeApplePay();
79
- });
80
- onChange("authToken", () => {
81
- this.initializeApplePay();
82
- });
83
- }
84
- watchPropsChange() {
85
- this.initializeApplePay();
86
- }
87
88
  async initializeApplePay() {
88
89
  try {
89
90
  this.isLoading = true;
90
91
  this.error = null;
91
- if (!checkoutStore.paymentAmount) {
92
+ this.isConfigValid = true;
93
+ console.groupCollapsed('[ApplePay Component] initializeApplePay');
94
+ console.log('[ApplePay Component] checkout state snapshot:', {
95
+ paymentAmount: checkoutStore.paymentAmount,
96
+ paymentCurrency: checkoutStore.paymentCurrency,
97
+ hasAuthToken: Boolean(checkoutStore.authToken),
98
+ accountId: checkoutStore.accountId,
99
+ });
100
+ const hasRequiredConfig = Boolean(checkoutStore.paymentAmount) &&
101
+ Boolean(checkoutStore.paymentCurrency) &&
102
+ Boolean(checkoutStore.authToken);
103
+ if (!hasRequiredConfig) {
92
104
  this.error = "Missing required Apple Pay configuration";
105
+ this.isConfigValid = false;
106
+ console.error("Apple Pay config error: missing required values", {
107
+ paymentAmount: checkoutStore.paymentAmount,
108
+ paymentCurrency: checkoutStore.paymentCurrency,
109
+ hasAuthToken: Boolean(checkoutStore.authToken),
110
+ accountId: checkoutStore.accountId,
111
+ });
112
+ this.applePayError.emit({ error: this.error, code: ApplePay.ErrorCode.CONFIG_ERROR });
93
113
  this.isLoading = false;
114
+ console.groupEnd();
94
115
  return;
95
116
  }
96
117
  this.isAvailable = ApplePayHelpers.isApplePaySupported();
97
118
  this.canMakePayments = ApplePayHelpers.canMakePayments();
119
+ console.log('[ApplePay Component] support check:', {
120
+ isAvailable: this.isAvailable,
121
+ canMakePayments: this.canMakePayments,
122
+ hasApplePaySessionOnWindow: typeof window !== 'undefined' && 'ApplePaySession' in window,
123
+ });
98
124
  if (!this.isAvailable) {
99
125
  this.error = "Apple Pay is not supported on this device";
126
+ console.error(this.error);
127
+ this.applePayError.emit({ error: this.error, code: ApplePay.ErrorCode.NOT_SUPPORTED });
100
128
  this.isLoading = false;
129
+ console.groupEnd();
101
130
  return;
102
131
  }
103
132
  if (!this.canMakePayments) {
104
133
  this.error = "Apple Pay is not available";
134
+ console.error(this.error);
135
+ this.applePayError.emit({ error: this.error, code: ApplePay.ErrorCode.NOT_AVAILABLE });
105
136
  this.isLoading = false;
137
+ console.groupEnd();
106
138
  return;
107
139
  }
108
140
  const applePayConfig = {
@@ -113,6 +145,8 @@ export class ApplePay {
113
145
  buttonType: this.buttonType,
114
146
  buttonStyle: this.buttonStyle,
115
147
  };
148
+ console.log('[ApplePay Component] initializing service with config:', applePayConfig);
149
+ this.applePayService = new ApplePayService();
116
150
  this.applePayService.initialize(applePayConfig);
117
151
  const hasActiveCard = await this.applePayService.canMakePaymentsWithActiveCard();
118
152
  if (!hasActiveCard) {
@@ -125,9 +159,11 @@ export class ApplePay {
125
159
  error instanceof Error
126
160
  ? error.message
127
161
  : "Failed to initialize Apple Pay";
162
+ this.applePayError.emit({ error: this.error, code: ApplePay.ErrorCode.INITIALIZATION_ERROR });
128
163
  }
129
164
  finally {
130
165
  this.isLoading = false;
166
+ console.groupEnd();
131
167
  }
132
168
  }
133
169
  async isSupported() {
@@ -148,42 +184,14 @@ export class ApplePay {
148
184
  const isReady = !this.isLoading &&
149
185
  this.isAvailable &&
150
186
  this.canMakePayments &&
151
- !this.error;
152
- return (h(StyledHost, { key: 'd07bd5b228a761fe021830823b410805b44c6829' }, h("script", { key: '59ca72df49c6210c3122df6328e3b9798ff3440f', async: true, src: 'https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js' }), h("div", { key: '69010db6e3e59ffb1ad9d7cc5af0680934c61207', class: 'apple-pay-container' }, h(ApplePaySkeleton, { key: 'f25d2ae58d6730c9dbf9a02ac14cf5800e3ca6ed', isReady: isReady }), !this.isLoading && this.error && (h("div", { key: '0460b10f967df69f04984c17b6b1641db3dfd582', class: 'apple-pay-error', role: 'alert' }, h("span", { key: 'a194317367175498c098c522cc2ee77ae0848e25', class: 'error-icon' }, "\u26A0\uFE0F"), h("span", { key: '8eb5cb96fb00f2deb9b76796d09979d488f5d922', class: 'error-message' }, this.error))), !this.isLoading && !this.error && !this.isAvailable && (h("div", { key: '97fd0863a893a98b01b9886dc94a088cb87419e4', class: 'apple-pay-unavailable' }, h("span", { key: 'fde1d32be78fc35024bea1c4f81b02a9d792b41e', class: 'unavailable-message' }, "Apple Pay is not available on this device"))), !this.isLoading &&
153
- !this.error &&
154
- this.isAvailable &&
155
- this.canMakePayments && (h(ApplePayButton, { key: '1e445d7b72f378f7bac6f62e069a526f1d9ae9ba', buttonType: this.buttonType, buttonStyle: this.buttonStyle, disabled: this.disabled, isProcessing: this.isProcessing, isAvailable: this.isAvailable, clickHandler: this.handleApplePayClick }))), h("style", { key: 'd552fd4b0726a63ed9a242b3b2204dc6339ef590' }, `
187
+ this.isConfigValid;
188
+ return (h(StyledHost, { key: '0610b810bc458f7382bb78ebe155e38cd39d7023' }, checkoutStore.checkoutLoaded && (h("script", { key: '036ba823079bb6daa62e72a8ee76cdc32dab60f0', async: true, src: 'https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js', onLoad: () => {
189
+ console.log('[ApplePay Component] Apple Pay SDK script loaded');
190
+ this.initializeApplePay();
191
+ } })), h("div", { key: 'f5211ca2212306b7ee99dc1f6f06f56a9aa08643', class: 'apple-pay-container' }, h(ApplePaySkeleton, { key: 'bb4680ed4760d378237d36dd60e76d2db9cf0dd4', isLoading: this.isLoading }), isReady && (h(ApplePayButton, { key: '6c984f15b8ef2e629325253428c8243935328050', buttonType: this.buttonType, buttonStyle: this.buttonStyle, disabled: this.disabled, isProcessing: this.isProcessing, isAvailable: this.isAvailable, clickHandler: this.handleApplePayClick }))), h("style", { key: '670fcfa28ea2405f772238add126525ecb14841b' }, `
156
192
  .apple-pay-container {
157
193
  width: 100%;
158
194
  }
159
-
160
- .apple-pay-error {
161
- display: flex;
162
- align-items: center;
163
- gap: 8px;
164
- padding: 12px;
165
- background: #fef2f2;
166
- border: 1px solid #fecaca;
167
- border-radius: 8px;
168
- color: #dc2626;
169
- font-size: 14px;
170
- }
171
-
172
- .apple-pay-unavailable {
173
- display: flex;
174
- align-items: center;
175
- justify-content: center;
176
- padding: 12px;
177
- background: #f9fafb;
178
- border: 1px solid #e5e7eb;
179
- border-radius: 8px;
180
- color: #6b7280;
181
- font-size: 14px;
182
- }
183
-
184
- .error-icon {
185
- font-size: 16px;
186
- }
187
195
  `)));
188
196
  }
189
197
  static get is() { return "justifi-apple-pay"; }
@@ -370,6 +378,7 @@ export class ApplePay {
370
378
  "isProcessing": {},
371
379
  "isAvailable": {},
372
380
  "canMakePayments": {},
381
+ "isConfigValid": {},
373
382
  "error": {}
374
383
  };
375
384
  }
@@ -436,8 +445,8 @@ export class ApplePay {
436
445
  "text": ""
437
446
  },
438
447
  "complexType": {
439
- "original": "{ error: string }",
440
- "resolved": "{ error: string; }",
448
+ "original": "{ error: string, code: string }",
449
+ "resolved": "{ error: string; code: string; }",
441
450
  "references": {}
442
451
  }
443
452
  }];
@@ -497,19 +506,12 @@ export class ApplePay {
497
506
  }
498
507
  };
499
508
  }
500
- static get watchers() {
501
- return [{
502
- "propName": "merchantIdentifier",
503
- "methodName": "watchPropsChange"
504
- }, {
505
- "propName": "buttonType",
506
- "methodName": "watchPropsChange"
507
- }, {
508
- "propName": "buttonStyle",
509
- "methodName": "watchPropsChange"
510
- }, {
511
- "propName": "disabled",
512
- "methodName": "watchPropsChange"
513
- }];
514
- }
515
509
  }
510
+ // Centralized error codes for the Apple Pay component layer
511
+ ApplePay.ErrorCode = {
512
+ CONFIG_ERROR: 'CONFIG_ERROR',
513
+ NOT_SUPPORTED: 'NOT_SUPPORTED',
514
+ NOT_AVAILABLE: 'NOT_AVAILABLE',
515
+ INITIALIZATION_ERROR: 'INITIALIZATION_ERROR',
516
+ PAYMENT_FAILED: 'PAYMENT_FAILED',
517
+ };
@@ -40,10 +40,10 @@ export class BankAccountForm {
40
40
  return this.accountNumberIframeElement.tokenize(clientId, paymentMethodMetadata, account);
41
41
  }
42
42
  render() {
43
- return (h(StyledHost, { key: 'f7b088f8dd8a977f3843183fb444f28862644fb3' }, h(BankAccountFormSkeleton, { key: '63179b2a1616ac98e9647bc8a6cf8f32cf159c24', isReady: this.isReady }), h("hidden-input", { key: 'bc2427c6ae7ca231f444cac83789682c5b7f252b' }), h("div", { key: 'd7b8ad011f441f35130a8836d5a9998aeed5ef6f', class: "container-fluid p-0", style: {
43
+ return (h(StyledHost, { key: '99ccb5aa2afbf79e5bf40d59ca15eb217180349a' }, h(BankAccountFormSkeleton, { key: 'a26a6f4391a5e5b7923f36b05bdfe57491b31d8a', isReady: this.isReady }), h("hidden-input", { key: '7555fe1bbf38a1525e7c11fe7182e264752435c9' }), h("div", { key: 'd1d7141ee75a644d4ae67d23b353dc6293306371', class: "container-fluid p-0", style: {
44
44
  opacity: this.isReady ? '1' : '0',
45
45
  height: this.isReady ? 'auto' : '0',
46
- } }, h("div", { key: '87c14b39416411432109fa477a45905824986a5d', class: "row mb-3" }, h("iframe-input", { key: 'aa63db40e7dcff302c804b6f772a8903ac53a588', inputId: "accountNumber", ref: (el) => (this.accountNumberIframeElement = el), label: "Account Number", iframeOrigin: `${this.iframeOrigin}/v2/accountNumber` })), h("div", { key: '683ff288ff835321c364b4af64524dbf183da030', class: "row" }, h("iframe-input", { key: '46653b74876dfc02916b7d2842ab793b8658e8b2', inputId: "routingNumber", ref: (el) => (this.routingNumberIframeElement = el), label: "Routing Number", iframeOrigin: `${this.iframeOrigin}/v2/routingNumber` })))));
46
+ } }, h("div", { key: 'db0d578ccb3647e049b5ef958bef0273a8945448', class: "row mb-3" }, h("iframe-input", { key: '58311d94a8f5f023f05de260afbaf6bc707a0d57', inputId: "accountNumber", ref: (el) => (this.accountNumberIframeElement = el), label: "Account Number", iframeOrigin: `${this.iframeOrigin}/v2/accountNumber` })), h("div", { key: '92e4b77f012a414ac88b8faf721b5a10f2c5a3a4', class: "row" }, h("iframe-input", { key: '5163f7e8cff8fb82bb009f615ef7ab2e231deb52', inputId: "routingNumber", ref: (el) => (this.routingNumberIframeElement = el), label: "Routing Number", iframeOrigin: `${this.iframeOrigin}/v2/routingNumber` })))));
47
47
  }
48
48
  static get is() { return "justifi-bank-account-form"; }
49
49
  static get encapsulation() { return "shadow"; }
@@ -44,10 +44,10 @@ export class JustifiCardForm {
44
44
  return this.cardNumberIframeElement.tokenize(clientId, paymentMethodMetadata, account);
45
45
  }
46
46
  render() {
47
- return (h(StyledHost, { key: '75938c15dce1b5b078773f28c689c8f7d4ad5059' }, h(CardFormSkeleton, { key: 'fa27e1cb7262b012e69c6c88580bfa432edb13f0', isReady: this.isReady }), h("hidden-input", { key: '305afc644870ea4c5e11ade42e6f8b5504b0a299' }), h("div", { key: 'fc87adbea2130fd4334f2f7a8dbc666ad9b84f76', class: "container-fluid p-0", style: {
47
+ return (h(StyledHost, { key: '46991f66161e4118fdf135bf18eb757435e26457' }, h(CardFormSkeleton, { key: 'aacb7f467a10debc809997a67172fe4f23a2ca76', isReady: this.isReady }), h("hidden-input", { key: '3e9bd9b7ff0aba356d9f8fd07428cbaedcb223b1' }), h("div", { key: '8fcf6d92703491fe6a0be076a5965c09c800f262', class: "container-fluid p-0", style: {
48
48
  opacity: this.isReady ? '1' : '0',
49
49
  height: this.isReady ? 'auto' : '0',
50
- } }, h("div", { key: 'b426b711813d401e181c833c06f440adc2998f4a', class: "mb-3" }, h("iframe-input", { key: '1c81cac902a472ffe841340de40c8aa80688d908', inputId: "cardNumber", ref: (el) => (this.cardNumberIframeElement = el), label: "Card Number", iframeOrigin: `${this.iframeOrigin}/v2/cardNumber` })), h("div", { key: '370fb4bd7951ea6948b57923141842da07575bd3', class: "row" }, h("div", { key: '7912c07831d685c0f30d103537933c4ec0e41726', class: "col-4 align-content-end" }, h("iframe-input", { key: 'a892fead0333523eecd1a6e02fb6cd3807e1b0ad', inputId: "expirationMonth", ref: (el) => (this.expirationMonthIframeElement = el), label: "Expiration", iframeOrigin: `${this.iframeOrigin}/v2/expirationMonth` })), h("div", { key: '699f614dcada9748525afe53cd461a5dd4f96847', class: "col-4 align-content-end" }, h("iframe-input", { key: '0c65a7fbb4bf1fa35fc645de62723f8d130217de', inputId: "expirationYear", ref: (el) => (this.expirationYearIframeElement = el), label: "", iframeOrigin: `${this.iframeOrigin}/v2/expirationYear` })), h("div", { key: 'b25d6322892f5a3313db2592193552f34e364103', class: "col-4 align-content-end" }, h("iframe-input", { key: '279646b3bfa68f8e03d0118e2de86668471f5821', inputId: "CVV", ref: (el) => (this.cvvIframeElement = el), label: "CVV", iframeOrigin: `${this.iframeOrigin}/v2/CVV` }))))));
50
+ } }, h("div", { key: '8dea63dc69d7c7cfbcded0a07bfbcf9c7d7a41fa', class: "mb-3" }, h("iframe-input", { key: 'ffd4de932414b206ea5936c21349c522b762f8a4', inputId: "cardNumber", ref: (el) => (this.cardNumberIframeElement = el), label: "Card Number", iframeOrigin: `${this.iframeOrigin}/v2/cardNumber` })), h("div", { key: '3e56350822761119dbb7ff49e3cc56bec7f361ca', class: "row" }, h("div", { key: 'ab13b6b20573fbec961164a415ccaf21b663eb4b', class: "col-4 align-content-end" }, h("iframe-input", { key: 'e12d56f2c1dd12ae5eff7619204d9f746e1b6a43', inputId: "expirationMonth", ref: (el) => (this.expirationMonthIframeElement = el), label: "Expiration", iframeOrigin: `${this.iframeOrigin}/v2/expirationMonth` })), h("div", { key: '62e4808ee208aec7cf3e1d7a99fd65f3d9a5e615', class: "col-4 align-content-end" }, h("iframe-input", { key: 'c8e3945b466e61e8b21fbb13f71c0631740ca1a3', inputId: "expirationYear", ref: (el) => (this.expirationYearIframeElement = el), label: "", iframeOrigin: `${this.iframeOrigin}/v2/expirationYear` })), h("div", { key: '979929e29abb54f8837f71b1cdb7261df97a58df', class: "col-4 align-content-end" }, h("iframe-input", { key: '2c25868c5fd7e6c2d34722b39f22c2062248cdf6', inputId: "CVV", ref: (el) => (this.cvvIframeElement = el), label: "CVV", iframeOrigin: `${this.iframeOrigin}/v2/CVV` }))))));
51
51
  }
52
52
  static get is() { return "justifi-card-form"; }
53
53
  static get encapsulation() { return "shadow"; }
@@ -3,7 +3,7 @@ import { radioListItem } from "../../../styles/parts";
3
3
  import { StyledHost } from "../../../ui-components";
4
4
  export class PaymentMethodOption {
5
5
  render() {
6
- return (h(StyledHost, { key: '2348e1f435417c0d5379133d3a648760637cbf41', class: "payment-method" }, h("div", { key: '7fbc5c47891a86bead7e62b8df3fad972b91b3f0', class: "radio-list-item p-3", part: radioListItem, onClick: this.clickHandler, hidden: this.radioButtonHidden }, h("form-control-radio", { key: 'de7b2236e04dc2b8a0dc7e0434c4de66f612366a', name: "paymentMethodType", value: this.paymentMethodOptionId, checked: this.isSelected, label: this.label }))));
6
+ return (h(StyledHost, { key: '276e7685b6f5b7430fdac887fa5f270245011f6d', class: "payment-method" }, h("div", { key: '032431a1a0e3e97077c84f02288e3e0d1334e230', class: "radio-list-item p-3", part: radioListItem, onClick: this.clickHandler, hidden: this.radioButtonHidden }, h("form-control-radio", { key: '33a53344736a2a5d8546cbec24cc6c4aaebf7629', name: "paymentMethodType", value: this.paymentMethodOptionId, checked: this.isSelected, label: this.label }))));
7
7
  }
8
8
  static get is() { return "payment-method-option"; }
9
9
  static get encapsulation() { return "shadow"; }
@@ -1,5 +1,4 @@
1
1
  import { h } from "@stencil/core";
2
- import { radioListItem } from "../../../styles/parts";
3
2
  import { checkoutStore, onChange } from "../../../store/checkout.store";
4
3
  import { StyledHost } from "../../../ui-components";
5
4
  import plaidLogoSvg from "../../../assets/plaid-icon.svg";
@@ -84,25 +83,6 @@ export class PlaidPaymentMethod {
84
83
  }, 100);
85
84
  }
86
85
  };
87
- this.onPaymentMethodOptionClick = (e) => {
88
- e.preventDefault();
89
- // Update local selection state
90
- this.isSelected = true;
91
- // Update store selection
92
- checkoutStore.selectedPaymentMethod = PAYMENT_METHODS.PLAID;
93
- // Emit selection event
94
- this.paymentMethodOptionSelected.emit(PAYMENT_METHODS.PLAID);
95
- // If there's an error, clear it and try to initialize again
96
- if (this.error) {
97
- this.clearError();
98
- this.waitForStoreAndInitialize();
99
- return;
100
- }
101
- // If Plaid Link is ready and no public token exists, open Plaid Link
102
- if (this.plaidLink && !this.publicToken && !this.isAuthenticating) {
103
- this.openPlaidLink();
104
- }
105
- };
106
86
  this.initializePlaidLink = async () => {
107
87
  try {
108
88
  // Check if Plaid is available globally
@@ -185,6 +165,9 @@ export class PlaidPaymentMethod {
185
165
  this.linkToken = response.data.link_token;
186
166
  // Try to capture link token id if present in envelope
187
167
  this.linkTokenId = (response === null || response === void 0 ? void 0 : response.id) || ((_a = response === null || response === void 0 ? void 0 : response.data) === null || _a === void 0 ? void 0 : _a.id) || null;
168
+ if (this.linkTokenId) {
169
+ checkoutStore.plaidLinkTokenId = this.linkTokenId;
170
+ }
188
171
  }
189
172
  catch (error) {
190
173
  // Clear timeout
@@ -256,7 +239,7 @@ export class PlaidPaymentMethod {
256
239
  // Ensure the component remains selected after successful authentication
257
240
  if (!this.isSelected) {
258
241
  this.isSelected = true;
259
- checkoutStore.selectedPaymentMethod = PAYMENT_METHODS.PLAID;
242
+ checkoutStore.selectedPaymentMethod = { type: PAYMENT_METHODS.PLAID };
260
243
  }
261
244
  // Emit success event for parent components
262
245
  this.plaidErrorRecovered.emit({
@@ -264,41 +247,10 @@ export class PlaidPaymentMethod {
264
247
  message: 'Bank account connected successfully',
265
248
  severity: ComponentErrorSeverity.INFO
266
249
  });
267
- // Immediately exchange the public token for a payment method token via backend
268
- this.exchangePublicTokenForPaymentMethod();
269
- };
270
- this.exchangePublicTokenForPaymentMethod = async () => {
271
- var _a;
272
- if (!this.publicToken) {
273
- console.error('[PlaidPaymentMethod] exchange: missing publicToken');
274
- return;
275
- }
276
- if (!checkoutStore.authToken || !checkoutStore.accountId) {
277
- console.error('[PlaidPaymentMethod] exchange: missing auth/account context');
278
- return;
279
- }
280
- try {
281
- const response = await this.plaidService.tokenizeBankAccount(checkoutStore.authToken, checkoutStore.accountId, this.publicToken, this.linkTokenId || undefined, checkoutStore.savePaymentMethod ? checkoutStore.paymentMethodGroupId : undefined);
282
- if (response === null || response === void 0 ? void 0 : response.error) {
283
- console.error('[PlaidPaymentMethod] exchange: backend error', response.error);
284
- return;
285
- }
286
- // Extract token from payment method response
287
- const paymentMethod = response === null || response === void 0 ? void 0 : response.data;
288
- const token = ((_a = paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.bank_account) === null || _a === void 0 ? void 0 : _a.token) || (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.token) || (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id);
289
- if (!token) {
290
- console.error('[PlaidPaymentMethod] exchange: no token in response');
291
- return;
292
- }
293
- // Save for downstream submit flows
294
- checkoutStore.paymentToken = token;
295
- }
296
- catch (err) {
297
- console.error('[PlaidPaymentMethod] exchange: exception', {
298
- message: (err === null || err === void 0 ? void 0 : err.message) || String(err),
299
- });
300
- }
250
+ // Store public token in checkout store; exchange will be handled on submit
251
+ checkoutStore.plaidPublicToken = publicToken;
301
252
  };
253
+ // Exchange logic moved to Modular Checkout submit flow.
302
254
  this.handlePlaidExit = (err, _metadata) => {
303
255
  this.isAuthenticating = false;
304
256
  if (err) {
@@ -454,16 +406,26 @@ export class PlaidPaymentMethod {
454
406
  };
455
407
  // Watch for store changes to sync component state
456
408
  this.syncWithStore = () => {
457
- const shouldBeSelected = checkoutStore.selectedPaymentMethod === PAYMENT_METHODS.PLAID;
409
+ var _a;
410
+ const shouldBeSelected = ((_a = checkoutStore.selectedPaymentMethod) === null || _a === void 0 ? void 0 : _a.type) === PAYMENT_METHODS.PLAID;
458
411
  if (this.isSelected !== shouldBeSelected) {
459
412
  this.isSelected = shouldBeSelected;
460
413
  }
461
414
  };
462
415
  }
463
416
  onSelectionChange(newValue) {
417
+ var _a;
464
418
  // Ensure store is updated when component selection changes
465
- if (newValue && checkoutStore.selectedPaymentMethod !== PAYMENT_METHODS.PLAID) {
466
- checkoutStore.selectedPaymentMethod = PAYMENT_METHODS.PLAID;
419
+ if (newValue && ((_a = checkoutStore.selectedPaymentMethod) === null || _a === void 0 ? void 0 : _a.type) !== PAYMENT_METHODS.PLAID) {
420
+ checkoutStore.selectedPaymentMethod = { type: PAYMENT_METHODS.PLAID };
421
+ }
422
+ // Auto-start Plaid flow when selected and ready
423
+ if (newValue &&
424
+ this.plaidLink &&
425
+ !this.publicToken &&
426
+ !this.isAuthenticating &&
427
+ !this.error) {
428
+ this.openPlaidLink();
467
429
  }
468
430
  }
469
431
  componentDidRender() {
@@ -485,8 +447,9 @@ export class PlaidPaymentMethod {
485
447
  };
486
448
  }
487
449
  componentWillLoad() {
450
+ var _a;
488
451
  // Initialize selection state based on store
489
- this.isSelected = checkoutStore.selectedPaymentMethod === PAYMENT_METHODS.PLAID;
452
+ this.isSelected = ((_a = checkoutStore.selectedPaymentMethod) === null || _a === void 0 ? void 0 : _a.type) === PAYMENT_METHODS.PLAID;
490
453
  }
491
454
  async resolvePaymentMethod() {
492
455
  if (!this.publicToken) {
@@ -503,17 +466,29 @@ export class PlaidPaymentMethod {
503
466
  // Returns a usable payment method token for checkout completion.
504
467
  // Will perform the backend exchange if the token is not yet present in the store.
505
468
  async getPaymentToken() {
506
- if (checkoutStore.paymentToken) {
507
- return checkoutStore.paymentToken;
508
- }
509
- await this.exchangePublicTokenForPaymentMethod();
510
469
  return checkoutStore.paymentToken;
511
470
  }
471
+ async handleSelectionClick() {
472
+ // Update local selection state
473
+ this.isSelected = true;
474
+ // Update store selection
475
+ checkoutStore.selectedPaymentMethod = { type: PAYMENT_METHODS.PLAID };
476
+ // If there's an error, clear it and try to initialize again
477
+ if (this.error) {
478
+ this.clearError();
479
+ this.waitForStoreAndInitialize();
480
+ return;
481
+ }
482
+ // If Plaid Link is ready and no public token exists, open Plaid Link
483
+ if (this.plaidLink && !this.publicToken && !this.isAuthenticating) {
484
+ this.openPlaidLink();
485
+ }
486
+ }
512
487
  // Method to handle external selection changes (e.g., from other payment methods)
513
488
  async setSelected(selected) {
514
489
  this.isSelected = selected;
515
490
  if (selected) {
516
- checkoutStore.selectedPaymentMethod = PAYMENT_METHODS.PLAID;
491
+ checkoutStore.selectedPaymentMethod = { type: PAYMENT_METHODS.PLAID };
517
492
  }
518
493
  }
519
494
  // Method to check if component is currently selected
@@ -620,7 +595,7 @@ export class PlaidPaymentMethod {
620
595
  }
621
596
  return null;
622
597
  };
623
- return (h(StyledHost, { class: "payment-method" }, h("script", { src: "https://cdn.plaid.com/link/v2/stable/link-initialize.js", async: true, ref: (el) => (this.scriptRef = el) }), h("div", { class: "radio-list-item p-3", part: radioListItem, onClick: this.onPaymentMethodOptionClick, title: "Pay with Plaid" }, h("form-control-radio", { name: "paymentMethodType", value: PAYMENT_METHODS.PLAID, checked: this.isSelected, label: h("div", null, h("div", null, "Pay with Bank Account ", plaidLogo, " "), renderErrorState(), renderStatusState()) }))));
598
+ return (h(StyledHost, { class: "payment-method" }, h("script", { src: "https://cdn.plaid.com/link/v2/stable/link-initialize.js", async: true, ref: (el) => (this.scriptRef = el) }), h("div", { title: "Pay with Plaid" }, h("div", { onClick: (event) => { event.preventDefault(); this.handleSelectionClick(); } }, "Pay with Bank Account ", plaidLogo, " "), renderErrorState(), renderStatusState())));
624
599
  }
625
600
  static get is() { return "justifi-plaid-payment-method"; }
626
601
  static get encapsulation() { return "shadow"; }
@@ -726,6 +701,23 @@ export class PlaidPaymentMethod {
726
701
  "tags": []
727
702
  }
728
703
  },
704
+ "handleSelectionClick": {
705
+ "complexType": {
706
+ "signature": "() => Promise<void>",
707
+ "parameters": [],
708
+ "references": {
709
+ "Promise": {
710
+ "location": "global",
711
+ "id": "global::Promise"
712
+ }
713
+ },
714
+ "return": "Promise<void>"
715
+ },
716
+ "docs": {
717
+ "text": "",
718
+ "tags": []
719
+ }
720
+ },
729
721
  "setSelected": {
730
722
  "complexType": {
731
723
  "signature": "(selected: boolean) => Promise<void>",
@@ -34,6 +34,7 @@ jest.mock('../../../api/services/plaid.service', () => {
34
34
  });
35
35
  import { newSpecPage } from "@stencil/core/testing";
36
36
  import { PlaidPaymentMethod } from "./plaid-payment-method";
37
+ import { PAYMENT_METHODS } from "../ModularCheckout";
37
38
  describe('PlaidPaymentMethod', () => {
38
39
  let component;
39
40
  let page;
@@ -75,7 +76,7 @@ describe('PlaidPaymentMethod', () => {
75
76
  describe('Store Integration', () => {
76
77
  it('should initialize selection state from store', () => {
77
78
  // Set store value before creating component
78
- mockCheckoutStore.selectedPaymentMethod = 'plaid';
79
+ mockCheckoutStore.selectedPaymentMethod = { type: PAYMENT_METHODS.PLAID };
79
80
  // Recreate component to test initialization
80
81
  return newSpecPage({
81
82
  components: [PlaidPaymentMethod],
@@ -106,18 +107,19 @@ describe('PlaidPaymentMethod', () => {
106
107
  expect(component.isAuthenticating).toBe(false);
107
108
  });
108
109
  });
109
- describe('Plaid exchange flow', () => {
110
- it('exchanges public token and saves payment token to store', async () => {
110
+ describe('Plaid success flow', () => {
111
+ it('stores public token in store and does not set payment token', async () => {
111
112
  // Arrange
112
- mockCheckoutStore.selectedPaymentMethod = 'plaid';
113
+ mockCheckoutStore.selectedPaymentMethod = { type: PAYMENT_METHODS.PLAID };
113
114
  const instance = page.rootInstance;
114
115
  // Act: simulate Plaid success
115
116
  instance.handlePlaidSuccess('public-sandbox-xyz', {});
116
117
  await page.waitForChanges();
117
- // Allow any async exchange to complete
118
+ // Allow any async handlers to complete
118
119
  await new Promise((r) => setTimeout(r, 0));
119
120
  // Assert
120
- expect(mockCheckoutStore.paymentToken).toBe('tok_pm_456');
121
+ expect(mockCheckoutStore.plaidPublicToken).toBe('public-sandbox-xyz');
122
+ expect(mockCheckoutStore.paymentToken).toBeUndefined();
121
123
  });
122
124
  });
123
125
  });
@@ -3,23 +3,21 @@ import { StyledHost } from "../../../ui-components";
3
3
  import { checkoutStore } from "../../../store/checkout.store";
4
4
  import { radioListItem } from "../../../styles/parts";
5
5
  import { CardBrandLabels } from "../../checkout/payment-method-option-utils";
6
- import { PAYMENT_METHOD_TYPES, PAYMENT_METHODS } from "../ModularCheckout";
6
+ import { PAYMENT_METHODS } from "../ModularCheckout";
7
7
  export class SavedPaymentMethods {
8
8
  constructor() {
9
9
  this.onPaymentMethodOptionClick = (paymentMethod) => (e) => {
10
10
  e.preventDefault();
11
- const SELECTED_PAYMENT_METHODS = {
12
- [PAYMENT_METHOD_TYPES.CARD]: PAYMENT_METHODS.SAVED_CARD,
13
- [PAYMENT_METHOD_TYPES.BANK_ACCOUNT]: PAYMENT_METHODS.SAVED_BANK_ACCOUNT,
14
- };
15
- checkoutStore.selectedPaymentMethod = SELECTED_PAYMENT_METHODS[paymentMethod.type];
11
+ checkoutStore.selectedPaymentMethod = { id: paymentMethod.id, type: paymentMethod.type };
16
12
  checkoutStore.paymentToken = paymentMethod.id;
17
13
  };
18
- this.isAllowedPaymentMethod = (paymentMethod) => {
19
- if (paymentMethod.type === PAYMENT_METHOD_TYPES.CARD && checkoutStore.disableCreditCard) {
14
+ this.isAllowedPaymentMethod = (paymentMethodType) => {
15
+ const isCard = paymentMethodType === PAYMENT_METHODS.SAVED_CARD;
16
+ const isBankAccount = paymentMethodType === PAYMENT_METHODS.SAVED_BANK_ACCOUNT;
17
+ if (isCard && checkoutStore.disableCreditCard) {
20
18
  return false;
21
19
  }
22
- if (paymentMethod.type === PAYMENT_METHOD_TYPES.BANK_ACCOUNT && checkoutStore.disableBankAccount) {
20
+ if (isBankAccount && checkoutStore.disableBankAccount) {
23
21
  return false;
24
22
  }
25
23
  return true;
@@ -38,7 +36,7 @@ export class SavedPaymentMethods {
38
36
  return null;
39
37
  }
40
38
  return (h(StyledHost, null, h("div", { class: "saved-payment-methods" }, checkoutStore.paymentMethods.length ? checkoutStore.paymentMethods
41
- .filter(this.isAllowedPaymentMethod)
39
+ .filter((paymentMethod) => this.isAllowedPaymentMethod(paymentMethod.type))
42
40
  .map((paymentMethod) => (h("div", { class: "radio-list-item p-3", part: radioListItem, onClick: this.onPaymentMethodOptionClick(paymentMethod) }, h("form-control-radio", { name: "paymentMethodType", value: paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id, checked: checkoutStore.paymentToken === (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id), label: `${CardBrandLabels[paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.brand] || ''} *${paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.acct_last_four}` })))) : null)));
43
41
  }
44
42
  static get is() { return "justifi-saved-payment-methods"; }