@justifi/webcomponents 6.14.5 → 6.15.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/dist/cjs/{Analytics-BVHauOC2.js → Analytics-VQGAbMVS.js} +3 -3
  2. package/dist/cjs/{Api-BzB0rppJ.js → Api--EGkA-pT.js} +1 -1
  3. package/dist/cjs/{Plaid-B2o4c_Ej.js → Plaid-D85oV9FN.js} +5 -0
  4. package/dist/cjs/additional-questions-form-step_15.cjs.entry.js +7 -7
  5. package/dist/cjs/additional-statement_8.cjs.entry.js +8 -8
  6. package/dist/cjs/bank-account-billing-form-simple_4.cjs.entry.js +4 -4
  7. package/dist/cjs/bank-account-document-form-inputs.cjs.entry.js +1 -1
  8. package/dist/cjs/bank-account-form.cjs.entry.js +5 -5
  9. package/dist/cjs/{business.service-j_VDzA2-.js → business.service-B51fjG_j.js} +2 -2
  10. package/dist/cjs/card-form.cjs.entry.js +5 -5
  11. package/dist/cjs/{check-pkg-version-JMiLuNXu.js → check-pkg-version-RMsgKzFc.js} +1 -1
  12. package/dist/cjs/{checkout-actions-VCJi-q4z.js → checkout-actions-BRQFQ6n-.js} +2 -2
  13. package/dist/cjs/{checkout.service-0vHtBDZY.js → checkout.service-BsOwkSNp.js} +2 -2
  14. package/dist/cjs/{checkout.store-DOa1-SjA.js → checkout.store-DaV9lvEQ.js} +6 -1
  15. package/dist/cjs/custom-popper_2.cjs.entry.js +2 -2
  16. package/dist/cjs/dispute-notification_2.cjs.entry.js +10 -10
  17. package/dist/cjs/{event-types-CMpeGHw8.js → event-types-C_LP6UcW.js} +2 -2
  18. package/dist/cjs/form-address-fields_3.cjs.entry.js +2 -2
  19. package/dist/cjs/form-alert_3.cjs.entry.js +5 -5
  20. package/dist/cjs/form-control-checkbox.cjs.entry.js +2 -2
  21. package/dist/cjs/form-control-date.cjs.entry.js +2 -2
  22. package/dist/cjs/form-control-file-v2_2.cjs.entry.js +3 -3
  23. package/dist/cjs/form-control-file.cjs.entry.js +2 -2
  24. package/dist/cjs/form-control-monetary.cjs.entry.js +2 -2
  25. package/dist/cjs/form-control-number_2.cjs.entry.js +2 -2
  26. package/dist/cjs/form-control-radio.cjs.entry.js +2 -2
  27. package/dist/cjs/form-control-select_2.cjs.entry.js +4 -4
  28. package/dist/cjs/{get-business-BBDsPv-b.js → get-business-BpaRbn5S.js} +2 -2
  29. package/dist/cjs/{get-payment-details-BYZeUFAB.js → get-payment-details-Cmg8gWvo.js} +2 -2
  30. package/dist/cjs/{get-subaccounts-B7e8Eovg.js → get-subaccounts-d4CUegsn.js} +3 -3
  31. package/dist/cjs/{index-CajjbB9t.js → index-DDa1jd08.js} +4 -0
  32. package/dist/cjs/index.cjs.js +1 -1
  33. package/dist/cjs/internal-button.cjs.entry.js +1 -1
  34. package/dist/cjs/{justifi-apple-pay_11.cjs.entry.js → justifi-apple-pay_12.cjs.entry.js} +283 -26
  35. package/dist/cjs/justifi-bank-account-billing-form-simple.cjs.entry.js +6 -6
  36. package/dist/cjs/justifi-bank-account-form.cjs.entry.js +6 -6
  37. package/dist/cjs/justifi-billing-form-full.cjs.entry.js +1 -1
  38. package/dist/cjs/justifi-billing-form.cjs.entry.js +1 -1
  39. package/dist/cjs/justifi-business-details.cjs.entry.js +8 -8
  40. package/dist/cjs/justifi-business-form.cjs.entry.js +8 -8
  41. package/dist/cjs/justifi-card-billing-form-simple.cjs.entry.js +1 -1
  42. package/dist/cjs/justifi-card-form.cjs.entry.js +6 -6
  43. package/dist/cjs/justifi-checkout-qr-code.cjs.entry.js +5 -5
  44. package/dist/cjs/justifi-checkout.cjs.entry.js +8 -8
  45. package/dist/cjs/justifi-checkouts-list-filters.cjs.entry.js +3 -3
  46. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +10 -10
  47. package/dist/cjs/justifi-dispute-management.cjs.entry.js +8 -8
  48. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +6 -6
  49. package/dist/cjs/justifi-order-terminals.cjs.entry.js +10 -10
  50. package/dist/cjs/justifi-payment-details.cjs.entry.js +16 -16
  51. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +8 -8
  52. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +8 -8
  53. package/dist/cjs/justifi-payments-list-filters.cjs.entry.js +2 -2
  54. package/dist/cjs/justifi-payments-list.cjs.entry.js +8 -8
  55. package/dist/cjs/justifi-payout-details.cjs.entry.js +11 -11
  56. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +8 -8
  57. package/dist/cjs/justifi-payouts-list-filters.cjs.entry.js +3 -3
  58. package/dist/cjs/justifi-payouts-list.cjs.entry.js +10 -10
  59. package/dist/cjs/justifi-qr-terminal.cjs.entry.js +8 -8
  60. package/dist/cjs/justifi-refund-payment.cjs.entry.js +8 -8
  61. package/dist/cjs/justifi-save-new-payment-method.cjs.entry.js +1 -1
  62. package/dist/cjs/justifi-saved-payment-method.cjs.entry.js +1 -1
  63. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +8 -8
  64. package/dist/cjs/justifi-skeleton.cjs.entry.js +1 -1
  65. package/dist/cjs/justifi-terminal-orders-list-filters.cjs.entry.js +4 -4
  66. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +8 -8
  67. package/dist/cjs/justifi-terminals-list-filters.cjs.entry.js +2 -2
  68. package/dist/cjs/justifi-terminals-list.cjs.entry.js +9 -9
  69. package/dist/cjs/loader.cjs.js +1 -1
  70. package/dist/cjs/{package-DfdMLmz7.js → package-DfwuePUh.js} +1 -1
  71. package/dist/cjs/payment-method-option.cjs.entry.js +1 -1
  72. package/dist/cjs/{payment-provisioning-actions-CIsDrh8k.js → payment-provisioning-actions-DDooZhhk.js} +2 -2
  73. package/dist/cjs/{payment.service-Bs3HJ4Kv.js → payment.service-Vy_JnuSA.js} +2 -2
  74. package/dist/cjs/{payout.service-DNWZxt3R.js → payout.service-BEPglFXf.js} +2 -2
  75. package/dist/cjs/{payouts-status-DVU5138C.js → payouts-status-1IUtW-UQ.js} +2 -2
  76. package/dist/cjs/{plaid.service-B_YQGBoC.js → plaid.service-DXQ7q51E.js} +2 -2
  77. package/dist/cjs/radio-list-item.cjs.entry.js +1 -1
  78. package/dist/cjs/save-new-payment-method.cjs.entry.js +3 -3
  79. package/dist/cjs/table-filters-menu.cjs.entry.js +1 -1
  80. package/dist/cjs/terminal-quantity-selector.cjs.entry.js +1 -1
  81. package/dist/cjs/{terminal.service-CvFZEemr.js → terminal.service-BP2YecQ_.js} +2 -2
  82. package/dist/cjs/{utils-WrOn06xB.js → utils-CBriZzRC.js} +1 -1
  83. package/dist/cjs/webcomponents.cjs.js +1 -1
  84. package/dist/collection/api/Checkout.js +5 -0
  85. package/dist/collection/api/Paypal.js +1 -0
  86. package/dist/collection/api/index.js +1 -0
  87. package/dist/collection/api/services/paypal.service.js +9 -0
  88. package/dist/collection/collection-manifest.json +1 -0
  89. package/dist/collection/components/checkout/billing-form/bank-account-billing-form-simple.js +1 -1
  90. package/dist/collection/components/checkout/billing-form/card-billing-form-simple.js +1 -1
  91. package/dist/collection/components/checkout/billing-form/justifi-billing-form.js +1 -1
  92. package/dist/collection/components/checkout/card-form/card-form.js +2 -2
  93. package/dist/collection/components/checkout/justifi-checkout.js +1 -1
  94. package/dist/collection/components/checkout/justifi-saved-payment-method.js +1 -1
  95. package/dist/collection/components/checkout/save-new-payment-method/justifi-save-new-payment-method.js +1 -1
  96. package/dist/collection/components/checkout/save-new-payment-method/save-new-payment-method.js +1 -1
  97. package/dist/collection/components/checkouts-list/checkouts-list-filters.js +3 -3
  98. package/dist/collection/components/checkouts-list/justifi-checkouts-list.js +2 -2
  99. package/dist/collection/components/dispute-management/dispute-notification.js +2 -2
  100. package/dist/collection/components/dispute-management/dispute-response/additional-statement.js +1 -1
  101. package/dist/collection/components/dispute-management/dispute-response/cancellation-policy.js +1 -1
  102. package/dist/collection/components/dispute-management/dispute-response/customer-details.js +1 -1
  103. package/dist/collection/components/dispute-management/dispute-response/dispute-response.js +1 -1
  104. package/dist/collection/components/dispute-management/dispute-response/duplicate-charge.js +1 -1
  105. package/dist/collection/components/dispute-management/dispute-response/electronic-evidence.js +1 -1
  106. package/dist/collection/components/dispute-management/dispute-response/product-or-service.js +1 -1
  107. package/dist/collection/components/dispute-management/dispute-response/refund-policy.js +1 -1
  108. package/dist/collection/components/dispute-management/dispute-response/shipping-details.js +1 -1
  109. package/dist/collection/components/dispute-management/justifi-dispute-management.js +1 -1
  110. package/dist/collection/components/filters/table-filters-menu.js +1 -1
  111. package/dist/collection/components/modular-checkout/ModularCheckout.js +4 -0
  112. package/dist/collection/components/modular-checkout/justifi-modular-checkout.js +75 -11
  113. package/dist/collection/components/modular-checkout/sub-components/justifi-bank-account-billing-form-simple.js +1 -1
  114. package/dist/collection/components/modular-checkout/sub-components/justifi-bank-account-form.js +1 -1
  115. package/dist/collection/components/modular-checkout/sub-components/justifi-billing-form-full.js +1 -1
  116. package/dist/collection/components/modular-checkout/sub-components/justifi-card-billing-form-simple.js +1 -1
  117. package/dist/collection/components/modular-checkout/sub-components/justifi-card-form.js +1 -1
  118. package/dist/collection/components/modular-checkout/sub-components/justifi-checkout-summary.js +1 -1
  119. package/dist/collection/components/modular-checkout/sub-components/payment-method-option.js +1 -1
  120. package/dist/collection/components/modular-checkout/sub-components/paypal/justifi-paypal.js +253 -0
  121. package/dist/collection/components/modular-checkout/sub-components/paypal/paypal.js +17 -0
  122. package/dist/collection/components/order-terminals/justifi-order-terminals.js +1 -1
  123. package/dist/collection/components/order-terminals/terminal-quantity-selector/terminal-quantity-selector.js +1 -1
  124. package/dist/collection/components/payment-details/justifi-payment-details.js +8 -8
  125. package/dist/collection/components/payment-transactions-list/justifi-payment-transactions-list.js +1 -1
  126. package/dist/collection/components/payments-list/justifi-payments-list-filters.js +2 -2
  127. package/dist/collection/components/payments-list/justifi-payments-list.js +1 -1
  128. package/dist/collection/components/payout-details/justifi-payout-details.js +3 -3
  129. package/dist/collection/components/payout-transactions-list/justifi-payout-transactions-list.js +1 -1
  130. package/dist/collection/components/payouts-list/justifi-payouts-list-filters.js +2 -2
  131. package/dist/collection/components/payouts-list/justifi-payouts-list.js +1 -1
  132. package/dist/collection/components/terminal-orders-list/justifi-terminal-orders-list-filters.js +3 -3
  133. package/dist/collection/components/terminal-orders-list/justifi-terminal-orders-list.js +2 -2
  134. package/dist/collection/components/terminals-list/justifi-terminals-list-filters.js +1 -1
  135. package/dist/collection/components/terminals-list/justifi-terminals-list.js +1 -1
  136. package/dist/collection/components/tokenize-payment-method/justifi-tokenize-payment-method.js +1 -1
  137. package/dist/collection/store/checkout.store.js +5 -0
  138. package/dist/collection/ui-components/custom-popper/custom-popper.js +2 -2
  139. package/dist/collection/ui-components/form/form-control-checkbox.js +2 -2
  140. package/dist/collection/ui-components/form/form-control-date.js +2 -2
  141. package/dist/collection/ui-components/form/form-control-file-v2.js +1 -1
  142. package/dist/collection/ui-components/form/form-control-file.js +2 -2
  143. package/dist/collection/ui-components/form/form-control-monetary.js +2 -2
  144. package/dist/collection/ui-components/form/form-control-number-masked.js +2 -2
  145. package/dist/collection/ui-components/form/form-control-number.js +2 -2
  146. package/dist/collection/ui-components/form/form-control-radio.js +2 -2
  147. package/dist/collection/ui-components/form/form-control-select.js +2 -2
  148. package/dist/collection/ui-components/form/form-control-text.js +2 -2
  149. package/dist/collection/ui-components/form/form-control-textarea.js +2 -2
  150. package/dist/collection/ui-components/form/hidden-input.js +1 -1
  151. package/dist/collection/ui-components/form/iframe-input.js +3 -3
  152. package/dist/collection/ui-components/internal-button.js +1 -1
  153. package/dist/collection/ui-components/radio-list-item.js +1 -1
  154. package/dist/collection/ui-components/shadow-dom-components/justifi-button.js +1 -1
  155. package/dist/collection/ui-components/shadow-dom-components/justifi-header.js +1 -1
  156. package/dist/collection/ui-components/shadow-dom-components/justifi-skeleton.js +1 -1
  157. package/dist/docs.json +115 -3
  158. package/dist/esm/{Analytics-Dgz_MQ1D.js → Analytics-hKJLmoJl.js} +3 -3
  159. package/dist/esm/{Api-DScockhO.js → Api-DAJ9sMMj.js} +1 -1
  160. package/dist/esm/{Plaid-DJ-4YL0_.js → Plaid-BP3xNxQF.js} +5 -0
  161. package/dist/esm/additional-questions-form-step_15.entry.js +7 -7
  162. package/dist/esm/additional-statement_8.entry.js +8 -8
  163. package/dist/esm/bank-account-billing-form-simple_4.entry.js +4 -4
  164. package/dist/esm/bank-account-document-form-inputs.entry.js +1 -1
  165. package/dist/esm/bank-account-form.entry.js +5 -5
  166. package/dist/esm/{business.service-DR2ldRqG.js → business.service-kmkjOyTm.js} +2 -2
  167. package/dist/esm/card-form.entry.js +5 -5
  168. package/dist/esm/{check-pkg-version-CPMg0K2m.js → check-pkg-version-FEAmKlDW.js} +1 -1
  169. package/dist/esm/{checkout-actions-DhL8YxrK.js → checkout-actions-0ftD0elo.js} +2 -2
  170. package/dist/esm/{checkout.service-CU4BnB34.js → checkout.service-BVBmNheb.js} +2 -2
  171. package/dist/esm/{checkout.store-B6amfNq_.js → checkout.store-B2mtQcB5.js} +6 -1
  172. package/dist/esm/custom-popper_2.entry.js +2 -2
  173. package/dist/esm/dispute-notification_2.entry.js +10 -10
  174. package/dist/esm/{event-types-BNfdthYa.js → event-types-B5-lsGjZ.js} +2 -2
  175. package/dist/esm/form-address-fields_3.entry.js +2 -2
  176. package/dist/esm/form-alert_3.entry.js +5 -5
  177. package/dist/esm/form-control-checkbox.entry.js +2 -2
  178. package/dist/esm/form-control-date.entry.js +2 -2
  179. package/dist/esm/form-control-file-v2_2.entry.js +3 -3
  180. package/dist/esm/form-control-file.entry.js +2 -2
  181. package/dist/esm/form-control-monetary.entry.js +2 -2
  182. package/dist/esm/form-control-number_2.entry.js +2 -2
  183. package/dist/esm/form-control-radio.entry.js +2 -2
  184. package/dist/esm/form-control-select_2.entry.js +4 -4
  185. package/dist/esm/{get-business-BSyOONF0.js → get-business-BLCT-zfN.js} +2 -2
  186. package/dist/esm/{get-payment-details-CoGzqJ6o.js → get-payment-details-BokzuPGl.js} +2 -2
  187. package/dist/esm/{get-subaccounts-BraeNX17.js → get-subaccounts-By7m_FxO.js} +3 -3
  188. package/dist/esm/{index-DkoufM1t.js → index-DEx8fQeW.js} +4 -0
  189. package/dist/esm/index.js +1 -1
  190. package/dist/esm/internal-button.entry.js +1 -1
  191. package/dist/esm/{justifi-apple-pay_11.entry.js → justifi-apple-pay_12.entry.js} +283 -27
  192. package/dist/esm/justifi-bank-account-billing-form-simple.entry.js +6 -6
  193. package/dist/esm/justifi-bank-account-form.entry.js +6 -6
  194. package/dist/esm/justifi-billing-form-full.entry.js +1 -1
  195. package/dist/esm/justifi-billing-form.entry.js +1 -1
  196. package/dist/esm/justifi-business-details.entry.js +8 -8
  197. package/dist/esm/justifi-business-form.entry.js +8 -8
  198. package/dist/esm/justifi-card-billing-form-simple.entry.js +1 -1
  199. package/dist/esm/justifi-card-form.entry.js +6 -6
  200. package/dist/esm/justifi-checkout-qr-code.entry.js +5 -5
  201. package/dist/esm/justifi-checkout.entry.js +8 -8
  202. package/dist/esm/justifi-checkouts-list-filters.entry.js +3 -3
  203. package/dist/esm/justifi-checkouts-list.entry.js +10 -10
  204. package/dist/esm/justifi-dispute-management.entry.js +8 -8
  205. package/dist/esm/justifi-gross-payment-chart.entry.js +6 -6
  206. package/dist/esm/justifi-order-terminals.entry.js +10 -10
  207. package/dist/esm/justifi-payment-details.entry.js +16 -16
  208. package/dist/esm/justifi-payment-provisioning.entry.js +8 -8
  209. package/dist/esm/justifi-payment-transactions-list.entry.js +8 -8
  210. package/dist/esm/justifi-payments-list-filters.entry.js +2 -2
  211. package/dist/esm/justifi-payments-list.entry.js +8 -8
  212. package/dist/esm/justifi-payout-details.entry.js +11 -11
  213. package/dist/esm/justifi-payout-transactions-list.entry.js +8 -8
  214. package/dist/esm/justifi-payouts-list-filters.entry.js +3 -3
  215. package/dist/esm/justifi-payouts-list.entry.js +10 -10
  216. package/dist/esm/justifi-qr-terminal.entry.js +8 -8
  217. package/dist/esm/justifi-refund-payment.entry.js +8 -8
  218. package/dist/esm/justifi-save-new-payment-method.entry.js +1 -1
  219. package/dist/esm/justifi-saved-payment-method.entry.js +1 -1
  220. package/dist/esm/justifi-season-interruption-insurance.entry.js +8 -8
  221. package/dist/esm/justifi-skeleton.entry.js +1 -1
  222. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +4 -4
  223. package/dist/esm/justifi-terminal-orders-list.entry.js +8 -8
  224. package/dist/esm/justifi-terminals-list-filters.entry.js +2 -2
  225. package/dist/esm/justifi-terminals-list.entry.js +9 -9
  226. package/dist/esm/loader.js +1 -1
  227. package/dist/esm/{package-CiypNylL.js → package-Dn9_7aQh.js} +1 -1
  228. package/dist/esm/payment-method-option.entry.js +1 -1
  229. package/dist/esm/{payment-provisioning-actions-DJKGndr3.js → payment-provisioning-actions-VRIPjnAQ.js} +2 -2
  230. package/dist/esm/{payment.service-BxBf9T-D.js → payment.service-CMUlMV1Y.js} +2 -2
  231. package/dist/esm/{payout.service-DKe3_O4y.js → payout.service-C0yd0JZS.js} +2 -2
  232. package/dist/esm/{payouts-status-C0nijel1.js → payouts-status-CaiC5qpn.js} +2 -2
  233. package/dist/esm/{plaid.service-DwWljJOH.js → plaid.service-CqihCTBS.js} +2 -2
  234. package/dist/esm/radio-list-item.entry.js +1 -1
  235. package/dist/esm/save-new-payment-method.entry.js +3 -3
  236. package/dist/esm/table-filters-menu.entry.js +1 -1
  237. package/dist/esm/terminal-quantity-selector.entry.js +1 -1
  238. package/dist/esm/{terminal.service-Q4KXLOka.js → terminal.service-DuF3uTuA.js} +2 -2
  239. package/dist/esm/{utils-D6LKoG0M.js → utils-YUOJKtjO.js} +1 -1
  240. package/dist/esm/webcomponents.js +1 -1
  241. package/dist/module/ModularCheckout.js +4 -0
  242. package/dist/module/Plaid.js +5 -0
  243. package/dist/module/additional-statement2.js +1 -1
  244. package/dist/module/bank-account-billing-form-simple2.js +1 -1
  245. package/dist/module/cancellation-policy2.js +1 -1
  246. package/dist/module/card-billing-form-simple2.js +1 -1
  247. package/dist/module/card-form2.js +2 -2
  248. package/dist/module/checkout.store.js +5 -0
  249. package/dist/module/custom-popper2.js +2 -2
  250. package/dist/module/customer-details2.js +1 -1
  251. package/dist/module/dispute-notification2.js +2 -2
  252. package/dist/module/dispute-response2.js +1 -1
  253. package/dist/module/duplicate-charge2.js +1 -1
  254. package/dist/module/electronic-evidence2.js +1 -1
  255. package/dist/module/form-control-checkbox2.js +2 -2
  256. package/dist/module/form-control-date2.js +2 -2
  257. package/dist/module/form-control-file-v22.js +1 -1
  258. package/dist/module/form-control-file2.js +2 -2
  259. package/dist/module/form-control-monetary2.js +2 -2
  260. package/dist/module/form-control-number-masked2.js +2 -2
  261. package/dist/module/form-control-number2.js +2 -2
  262. package/dist/module/form-control-radio2.js +2 -2
  263. package/dist/module/form-control-select2.js +2 -2
  264. package/dist/module/form-control-text2.js +2 -2
  265. package/dist/module/form-control-textarea2.js +2 -2
  266. package/dist/module/hidden-input2.js +1 -1
  267. package/dist/module/iframe-input2.js +3 -3
  268. package/dist/module/internal-button2.js +1 -1
  269. package/dist/module/justifi-bank-account-billing-form-simple.js +1 -1
  270. package/dist/module/justifi-bank-account-form.js +1 -1
  271. package/dist/module/justifi-billing-form-full.js +1 -1
  272. package/dist/module/justifi-billing-form.js +1 -1
  273. package/dist/module/justifi-button2.js +1 -1
  274. package/dist/module/justifi-card-billing-form-simple.js +1 -1
  275. package/dist/module/justifi-card-form.js +1 -1
  276. package/dist/module/justifi-checkout-summary2.js +1 -1
  277. package/dist/module/justifi-checkout.js +53 -47
  278. package/dist/module/justifi-checkouts-list-filters.js +2 -2
  279. package/dist/module/justifi-checkouts-list.js +2 -2
  280. package/dist/module/justifi-dispute-management.js +1 -1
  281. package/dist/module/justifi-header2.js +1 -1
  282. package/dist/module/justifi-modular-checkout2.js +75 -11
  283. package/dist/module/justifi-order-terminals.js +1 -1
  284. package/dist/module/justifi-payment-details.js +8 -8
  285. package/dist/module/justifi-payment-transactions-list.js +1 -1
  286. package/dist/module/justifi-payments-list-filters.js +2 -2
  287. package/dist/module/justifi-payments-list.js +1 -1
  288. package/dist/module/justifi-payout-details.js +3 -3
  289. package/dist/module/justifi-payout-transactions-list.js +1 -1
  290. package/dist/module/justifi-payouts-list-filters.js +2 -2
  291. package/dist/module/justifi-payouts-list.js +1 -1
  292. package/dist/module/justifi-paypal.d.ts +11 -0
  293. package/dist/module/justifi-paypal.js +6 -0
  294. package/dist/module/justifi-paypal2.js +226 -0
  295. package/dist/module/justifi-save-new-payment-method.js +1 -1
  296. package/dist/module/justifi-saved-payment-method.js +1 -1
  297. package/dist/module/justifi-skeleton.js +1 -1
  298. package/dist/module/justifi-terminal-orders-list-filters.js +3 -3
  299. package/dist/module/justifi-terminal-orders-list.js +2 -2
  300. package/dist/module/justifi-terminals-list-filters.js +1 -1
  301. package/dist/module/justifi-terminals-list.js +1 -1
  302. package/dist/module/justifi-tokenize-payment-method2.js +1 -1
  303. package/dist/module/package.js +1 -1
  304. package/dist/module/payment-method-option.js +1 -1
  305. package/dist/module/product-or-service2.js +1 -1
  306. package/dist/module/radio-list-item2.js +1 -1
  307. package/dist/module/refund-policy2.js +1 -1
  308. package/dist/module/save-new-payment-method2.js +1 -1
  309. package/dist/module/shipping-details2.js +1 -1
  310. package/dist/module/table-filters-menu2.js +1 -1
  311. package/dist/module/terminal-quantity-selector2.js +1 -1
  312. package/dist/types/api/Checkout.d.ts +13 -1
  313. package/dist/types/api/Paypal.d.ts +11 -0
  314. package/dist/types/api/index.d.ts +1 -0
  315. package/dist/types/api/services/paypal.service.d.ts +8 -0
  316. package/dist/types/components/modular-checkout/ModularCheckout.d.ts +6 -2
  317. package/dist/types/components/modular-checkout/justifi-modular-checkout.d.ts +7 -0
  318. package/dist/types/components/modular-checkout/sub-components/paypal/justifi-paypal.d.ts +36 -0
  319. package/dist/types/components/modular-checkout/sub-components/paypal/paypal.d.ts +39 -0
  320. package/dist/types/components.d.ts +53 -0
  321. package/dist/types/store/checkout.store.d.ts +2 -0
  322. package/dist/webcomponents/index.esm.js +1 -1
  323. package/dist/webcomponents/{p-e7909732.entry.js → p-0d8a256c.entry.js} +1 -1
  324. package/dist/webcomponents/{p-027ef7e9.entry.js → p-0f7cc07b.entry.js} +1 -1
  325. package/dist/webcomponents/p-1034e83d.entry.js +1 -0
  326. package/dist/webcomponents/{p-373586db.entry.js → p-10b91a6c.entry.js} +1 -1
  327. package/dist/webcomponents/p-18306b40.entry.js +1 -0
  328. package/dist/webcomponents/{p-e954f46c.entry.js → p-1a55efda.entry.js} +1 -1
  329. package/dist/webcomponents/p-22a57828.entry.js +1 -0
  330. package/dist/webcomponents/p-2458de56.entry.js +1 -0
  331. package/dist/webcomponents/{p-29f68bd0.entry.js → p-2549c891.entry.js} +1 -1
  332. package/dist/webcomponents/{p-36d7033b.entry.js → p-27b07530.entry.js} +1 -1
  333. package/dist/webcomponents/{p-4f54d1b2.entry.js → p-28fb6b50.entry.js} +1 -1
  334. package/dist/webcomponents/p-2e82a488.entry.js +1 -0
  335. package/dist/webcomponents/{p-f0083ace.entry.js → p-31204dd5.entry.js} +1 -1
  336. package/dist/webcomponents/p-33281304.entry.js +1 -0
  337. package/dist/webcomponents/{p-da21ae43.entry.js → p-36340e63.entry.js} +1 -1
  338. package/dist/webcomponents/p-3642e189.entry.js +1 -0
  339. package/dist/webcomponents/p-36f05f5f.entry.js +1 -0
  340. package/dist/webcomponents/{p-b8d46fc5.entry.js → p-3c33b3c1.entry.js} +1 -1
  341. package/dist/webcomponents/{p-3870712e.entry.js → p-408a4f5f.entry.js} +4 -4
  342. package/dist/webcomponents/{p-041a22dd.entry.js → p-42021e67.entry.js} +1 -1
  343. package/dist/webcomponents/{p-6884fa3d.entry.js → p-5348209c.entry.js} +1 -1
  344. package/dist/webcomponents/p-5a11c49f.entry.js +1 -0
  345. package/dist/webcomponents/{p-2139497d.entry.js → p-5bdae8c7.entry.js} +1 -1
  346. package/dist/webcomponents/p-636c9571.entry.js +1 -0
  347. package/dist/webcomponents/p-76e96874.entry.js +1 -0
  348. package/dist/webcomponents/p-772ab8a3.entry.js +1 -0
  349. package/dist/webcomponents/p-777470cb.entry.js +1 -0
  350. package/dist/webcomponents/p-7e64a668.entry.js +1 -0
  351. package/dist/webcomponents/{p-543fcff2.entry.js → p-80a9f84c.entry.js} +1 -1
  352. package/dist/webcomponents/{p-bc435cae.entry.js → p-86f9d5f6.entry.js} +1 -1
  353. package/dist/webcomponents/{p-d57ae599.entry.js → p-8a5ce8ff.entry.js} +1 -1
  354. package/dist/webcomponents/p-8d11aa27.entry.js +1 -0
  355. package/dist/webcomponents/{p-3086ee7a.entry.js → p-9c45729d.entry.js} +1 -1
  356. package/dist/webcomponents/p-9ed85832.entry.js +1 -0
  357. package/dist/webcomponents/{p-cb977890.entry.js → p-9f0ef3f3.entry.js} +1 -1
  358. package/dist/webcomponents/{p-DD9-ceDZ.js → p-B0DHIvEj.js} +1 -1
  359. package/dist/webcomponents/{p-BL112JyU.js → p-BFi5l0xt.js} +1 -1
  360. package/dist/webcomponents/{p-C8g8unYJ.js → p-BHaO3c8W.js} +1 -1
  361. package/dist/webcomponents/{p-rIJv0FaI.js → p-Ba0_MQtJ.js} +1 -1
  362. package/dist/webcomponents/{p-WnMmPpEb.js → p-Bl00tHyn.js} +1 -1
  363. package/dist/webcomponents/{p-DcA_wt-j.js → p-ByQMBEDC.js} +1 -1
  364. package/dist/webcomponents/p-C-buCQRx.js +1 -0
  365. package/dist/webcomponents/p-CKgQN8v0.js +1 -0
  366. package/dist/webcomponents/p-CLq3Og7o.js +1 -0
  367. package/dist/webcomponents/p-CXsRwohv.js +1 -0
  368. package/dist/webcomponents/p-Cy2N3vAg.js +1 -0
  369. package/dist/webcomponents/p-CyOXIqHo.js +1 -0
  370. package/dist/webcomponents/p-D6uhYbLo.js +1 -0
  371. package/dist/webcomponents/p-DEx8fQeW.js +1 -0
  372. package/dist/webcomponents/{p-Co3Rtlnu.js → p-DZQBPUfH.js} +1 -1
  373. package/dist/webcomponents/p-Dn9_7aQh.js +1 -0
  374. package/dist/webcomponents/{p-CnHbIkmu.js → p-DnLqZpI1.js} +1 -1
  375. package/dist/webcomponents/{p-BlqdDtQr.js → p-DsvK2pes.js} +1 -1
  376. package/dist/webcomponents/{p-H4vl65HO.js → p-FWuMPTxn.js} +1 -1
  377. package/dist/webcomponents/p-Fpaf7CLD.js +1 -0
  378. package/dist/webcomponents/p-a891caf8.entry.js +1 -0
  379. package/dist/webcomponents/{p-537ea763.entry.js → p-aebd2149.entry.js} +1 -1
  380. package/dist/webcomponents/{p-f6b900f4.entry.js → p-af728bc6.entry.js} +1 -1
  381. package/dist/webcomponents/p-b6ce91f0.entry.js +1 -0
  382. package/dist/webcomponents/{p-c14dde7c.entry.js → p-b9664e84.entry.js} +1 -1
  383. package/dist/webcomponents/{p-b17fabdc.entry.js → p-b98ea26a.entry.js} +1 -1
  384. package/dist/webcomponents/{p-61eae8cd.entry.js → p-c4889a06.entry.js} +1 -1
  385. package/dist/webcomponents/p-c6f85bef.entry.js +1 -0
  386. package/dist/webcomponents/p-ca6c5365.entry.js +1 -0
  387. package/dist/webcomponents/p-d05257f9.entry.js +1 -0
  388. package/dist/webcomponents/p-d2e890a3.entry.js +1 -0
  389. package/dist/webcomponents/p-d397b38f.entry.js +1 -0
  390. package/dist/webcomponents/{p-387aba3d.entry.js → p-d446ab68.entry.js} +1 -1
  391. package/dist/webcomponents/{p-49e40ebe.entry.js → p-d4de565d.entry.js} +1 -1
  392. package/dist/webcomponents/{p-b945fa49.entry.js → p-d555220f.entry.js} +1 -1
  393. package/dist/webcomponents/p-dd4eea27.entry.js +1 -0
  394. package/dist/webcomponents/{p-b9316945.entry.js → p-ddba9ab3.entry.js} +1 -1
  395. package/dist/webcomponents/p-e0bce67a.entry.js +1 -0
  396. package/dist/webcomponents/p-e1e5bddf.entry.js +1 -0
  397. package/dist/webcomponents/{p-b9b5d046.entry.js → p-e55216fb.entry.js} +1 -1
  398. package/dist/webcomponents/{p-cb5d2198.entry.js → p-ead48010.entry.js} +1 -1
  399. package/dist/webcomponents/{p-f8f01bbb.entry.js → p-f8764c8e.entry.js} +1 -1
  400. package/dist/webcomponents/{p-c5560a87.entry.js → p-fa2e7534.entry.js} +1 -1
  401. package/dist/webcomponents/p-fda6f27d.entry.js +1 -0
  402. package/dist/webcomponents/p-rznJBkm3.js +1 -0
  403. package/dist/webcomponents/webcomponents.esm.js +1 -1
  404. package/package.json +15 -15
  405. package/LICENSE +0 -21
  406. package/dist/webcomponents/p-04153e8c.entry.js +0 -1
  407. package/dist/webcomponents/p-0464be7b.entry.js +0 -1
  408. package/dist/webcomponents/p-0c1cc1e9.entry.js +0 -1
  409. package/dist/webcomponents/p-0d9022e5.entry.js +0 -1
  410. package/dist/webcomponents/p-0fe976d6.entry.js +0 -1
  411. package/dist/webcomponents/p-15934f30.entry.js +0 -1
  412. package/dist/webcomponents/p-2128265d.entry.js +0 -1
  413. package/dist/webcomponents/p-21a5c3d8.entry.js +0 -1
  414. package/dist/webcomponents/p-25d24964.entry.js +0 -1
  415. package/dist/webcomponents/p-3ef039ec.entry.js +0 -1
  416. package/dist/webcomponents/p-49f279c3.entry.js +0 -1
  417. package/dist/webcomponents/p-4d60d249.entry.js +0 -1
  418. package/dist/webcomponents/p-51714ea9.entry.js +0 -1
  419. package/dist/webcomponents/p-558677a7.entry.js +0 -1
  420. package/dist/webcomponents/p-568b81a2.entry.js +0 -1
  421. package/dist/webcomponents/p-6f34fa90.entry.js +0 -1
  422. package/dist/webcomponents/p-8fO8CrtQ.js +0 -1
  423. package/dist/webcomponents/p-9b758a11.entry.js +0 -1
  424. package/dist/webcomponents/p-9c506058.entry.js +0 -1
  425. package/dist/webcomponents/p-BEOJqK7T.js +0 -1
  426. package/dist/webcomponents/p-C0w_sG9P.js +0 -1
  427. package/dist/webcomponents/p-CMvr3y5s.js +0 -1
  428. package/dist/webcomponents/p-CaLXuYmg.js +0 -1
  429. package/dist/webcomponents/p-CiypNylL.js +0 -1
  430. package/dist/webcomponents/p-CnDagPty.js +0 -1
  431. package/dist/webcomponents/p-D1H6VUbM.js +0 -1
  432. package/dist/webcomponents/p-DNxN6bjU.js +0 -1
  433. package/dist/webcomponents/p-DkoufM1t.js +0 -1
  434. package/dist/webcomponents/p-Dl0CAW76.js +0 -1
  435. package/dist/webcomponents/p-a14d3d7d.entry.js +0 -1
  436. package/dist/webcomponents/p-a47854b9.entry.js +0 -1
  437. package/dist/webcomponents/p-c0bd4006.entry.js +0 -1
  438. package/dist/webcomponents/p-c4799285.entry.js +0 -1
  439. package/dist/webcomponents/p-cc5a97a0.entry.js +0 -1
  440. package/dist/webcomponents/p-d6122124.entry.js +0 -1
  441. package/dist/webcomponents/p-de8c6cd4.entry.js +0 -1
  442. package/dist/webcomponents/p-f6941969.entry.js +0 -1
  443. package/dist/webcomponents/p-f8cff289.entry.js +0 -1
@@ -26,7 +26,7 @@ const TerminalQuantitySelector = /*@__PURE__*/ proxyCustomElement(class Terminal
26
26
  };
27
27
  }
28
28
  render() {
29
- return (h("div", { key: '1704fa75958fcfd09f49a3c0fe8116d573bfa2ed', class: "rounded shadow-sm card p-2", part: card }, h("div", { key: '0efa6cc9b68c077928f808ae87de23bfdae8d114', class: "d-flex gap-3" }, h("div", { key: 'bffacd3f4efa0f4836df925c71cda7b557041041', class: "d-flex align-items-center" }, h("img", { key: '5d2d65f2e080408fce1c036f95b19829de05ec21', src: this.imageUrl, alt: this.modelName, height: 75, width: 75, part: image })), h("div", { key: '8c97aca0bf669cbd0b19f6d7eafffd36b20fd14e', class: "d-flex flex-column flex-grow-1 gap-3 p-4 justify-content-center" }, h("div", { key: '96ec8a7338c8d3bcaa032a8dd0f68a331901ba57', class: "row" }, h("div", { key: '85cf477f4bc74ef873d7087e8e087728f80d9412', class: "col-6 d-flex gap-2" }, this.modelName, h("form-control-tooltip", { key: '50357d9dad8c03ff4112a8a5f95aa8ccf99ea640', helpText: this.description })), h("div", { key: '598a1cd15123c470dcd3bc602a988ad335f07f39', class: "col-6 d-flex justify-content-end align-items-center" }, h("button", { key: '6868ee6d61d15ff37d01432e40126ae4f77a97cb', class: "p-0 minus btn", onClick: this.removeUnit, part: buttonLink }, "-"), h("div", { key: 'dff94157f9c0cf1afbe60ee655568cd6b109fc1f', class: "w-25 text-center" }, this.selectedQuantity), h("button", { key: '12aa22434ff134acd554a7eeb9782c81d14d7f02', class: "p-0 plus btn", onClick: this.addUnit, part: buttonLink }, "+")))))));
29
+ return (h("div", { key: 'f7799c1d0227b5794b238a99498e013b4cd2b2a6', class: "rounded shadow-sm card p-2", part: card }, h("div", { key: '4b378463cac2c44c7fbd51e7911bcc9e951b4ba6', class: "d-flex gap-3" }, h("div", { key: 'd3275100504d1d6d2497282490b75d6da276e10a', class: "d-flex align-items-center" }, h("img", { key: '02a49684a5e7d789c435434e7da893ff16d16667', src: this.imageUrl, alt: this.modelName, height: 75, width: 75, part: image })), h("div", { key: 'c11f0de1b3a39f0186e67ef3b957751d1a922fec', class: "d-flex flex-column flex-grow-1 gap-3 p-4 justify-content-center" }, h("div", { key: 'b605ffb5ca6a40ef1dcc32d2d9512826801c4a93', class: "row" }, h("div", { key: 'd5d2100f79930910019684bd22490292772e8593', class: "col-6 d-flex gap-2" }, this.modelName, h("form-control-tooltip", { key: 'ea39d5ac542abd22557986d68dbf61b8ddb5de00', helpText: this.description })), h("div", { key: '6755799b1b82b9287abf4f65051e96f71520e3fd', class: "col-6 d-flex justify-content-end align-items-center" }, h("button", { key: '6902240a7b4575430fe36edffa74026f8192b12b', class: "p-0 minus btn", onClick: this.removeUnit, part: buttonLink }, "-"), h("div", { key: '7bf497d2f874bf9c08dfffec66aea1c300a2faf5', class: "w-25 text-center" }, this.selectedQuantity), h("button", { key: '20ac1180b5c1e4313d78d510af5f275377423968', class: "p-0 plus btn", onClick: this.addUnit, part: buttonLink }, "+")))))));
30
30
  }
31
31
  }, [256, "terminal-quantity-selector", {
32
32
  "modelName": [1, "model-name"],
@@ -59,8 +59,12 @@ export interface ICheckout {
59
59
  bank_account_verification?: boolean;
60
60
  apple_payments?: boolean;
61
61
  google_payments?: boolean;
62
+ paypal_payments?: boolean;
62
63
  };
63
64
  bnpl?: IBnpl;
65
+ paypal?: {
66
+ provider_client_id: string;
67
+ };
64
68
  total_amount: number;
65
69
  insurance_amount: number;
66
70
  status: ICheckoutStatus;
@@ -92,8 +96,12 @@ export declare class Checkout implements ICheckout {
92
96
  bank_account_verification?: boolean;
93
97
  apple_payments?: boolean;
94
98
  google_payments?: boolean;
99
+ paypal_payments?: boolean;
95
100
  };
96
101
  bnpl?: IBnpl;
102
+ paypal?: {
103
+ provider_client_id: string;
104
+ };
97
105
  total_amount: number;
98
106
  insurance_amount: number;
99
107
  status: ICheckoutStatus;
@@ -117,12 +125,16 @@ export declare enum ICheckoutPaymentMode {
117
125
  bank_account = "Bank Account",
118
126
  card_present = "Card Present",
119
127
  apple_pay = "Apple Pay",
128
+ paypal = "PayPal",
129
+ venmo = "Venmo",
120
130
  unknown = ""
121
131
  }
122
132
  export declare enum ICheckoutPaymentModeParam {
123
133
  bnpl = "bnpl",
124
134
  ecom = "ecom",
125
- apple_pay = "apple_pay"
135
+ apple_pay = "apple_pay",
136
+ paypal = "paypal",
137
+ venmo = "venmo"
126
138
  }
127
139
  export declare enum ICheckoutStatus {
128
140
  created = "created",
@@ -0,0 +1,11 @@
1
+ export type PaypalFundingSource = 'paypal' | 'venmo';
2
+ export interface IPaypalOrder {
3
+ id: string;
4
+ checkout_id: string;
5
+ funding_source: PaypalFundingSource;
6
+ provider_order_id: string;
7
+ status?: string;
8
+ payer_action_url?: string | null;
9
+ amount?: number;
10
+ currency?: string;
11
+ }
@@ -21,4 +21,5 @@ export * from './Dispute';
21
21
  export * from './GrossVolume';
22
22
  export * from './ApplePay';
23
23
  export * from './Plaid';
24
+ export * from './Paypal';
24
25
  export { BankAccount, IBankAccount } from './BankAccount';
@@ -0,0 +1,8 @@
1
+ import { IApiResponse } from '..';
2
+ import { IPaypalOrder, PaypalFundingSource } from '../Paypal';
3
+ export interface IPaypalService {
4
+ createPaypalOrder(authToken: string, checkoutId: string, fundingSource: PaypalFundingSource, signal?: AbortSignal): Promise<IApiResponse<IPaypalOrder>>;
5
+ }
6
+ export declare class PaypalService implements IPaypalService {
7
+ createPaypalOrder(authToken: string, checkoutId: string, fundingSource: PaypalFundingSource, signal?: AbortSignal): Promise<IApiResponse<IPaypalOrder>>;
8
+ }
@@ -4,7 +4,9 @@ export declare enum PAYMENT_MODE {
4
4
  ECOM = "ecom",
5
5
  BNPL = "bnpl",
6
6
  APPLE_PAY = "apple_pay",
7
- GOOGLE_PAY = "google_pay"
7
+ GOOGLE_PAY = "google_pay",
8
+ PAYPAL = "paypal",
9
+ VENMO = "venmo"
8
10
  }
9
11
  export declare enum PAYMENT_METHOD_TYPES {
10
12
  CARD = "card",
@@ -22,7 +24,9 @@ export declare enum PAYMENT_METHODS {
22
24
  APPLE_PAY = "apple_pay",
23
25
  GOOGLE_PAY = "google_pay",
24
26
  SEZZLE = "sezzle",
25
- PLAID = "plaid"
27
+ PLAID = "plaid",
28
+ PAYPAL = "paypal",
29
+ VENMO = "venmo"
26
30
  }
27
31
  export type SelectedPaymentMethod = {
28
32
  id?: string;
@@ -12,6 +12,7 @@ export declare class JustifiModularCheckout {
12
12
  private insuranceFormRef?;
13
13
  private applePayRef?;
14
14
  private googlePayRef?;
15
+ private paypalRef?;
15
16
  private getCheckout;
16
17
  private completeCheckout;
17
18
  private plaidService;
@@ -34,6 +35,12 @@ export declare class JustifiModularCheckout {
34
35
  private removeApplePayListeners;
35
36
  private setupGooglePayListeners;
36
37
  private removeGooglePayListeners;
38
+ private setupPaypalListeners;
39
+ private removePaypalListeners;
40
+ private handlePaypalStarted;
41
+ private handlePaypalCompleted;
42
+ private handlePaypalCancelled;
43
+ private handlePaypalError;
37
44
  private handleApplePayStarted;
38
45
  private handleGooglePayStarted;
39
46
  private handleGooglePayCompleted;
@@ -0,0 +1,36 @@
1
+ import { EventEmitter } from '../../../../stencil-public-runtime';
2
+ import { PaypalFundingSource } from '../../../../api/Paypal';
3
+ export declare class JustifiPaypal {
4
+ private paypalService;
5
+ private sdkInstance;
6
+ private paypalSession;
7
+ private venmoSession;
8
+ private pendingOrderId?;
9
+ paypalEligible: boolean;
10
+ venmoEligible: boolean;
11
+ paypalStarted: EventEmitter<{
12
+ fundingSource: PaypalFundingSource;
13
+ }>;
14
+ paypalCompleted: EventEmitter<{
15
+ success: boolean;
16
+ paymentMethodId?: string;
17
+ fundingSource: PaypalFundingSource;
18
+ }>;
19
+ paypalCancelled: EventEmitter<{
20
+ fundingSource: PaypalFundingSource;
21
+ }>;
22
+ paypalError: EventEmitter<{
23
+ error: string;
24
+ code: string;
25
+ }>;
26
+ componentDidLoad(): void;
27
+ private get currencyCode();
28
+ private emitError;
29
+ private loadPaypalScript;
30
+ private metadataId;
31
+ private initializePaypal;
32
+ private sessionOptions;
33
+ private createOrder;
34
+ private startSession;
35
+ render(): any;
36
+ }
@@ -0,0 +1,39 @@
1
+ export declare const PAYPAL_SANDBOX_SCRIPT_URL = "https://www.sandbox.paypal.com/web-sdk/v6/core";
2
+ export declare const PAYPAL_PRODUCTION_SCRIPT_URL = "https://www.paypal.com/web-sdk/v6/core";
3
+ export declare const PAYPAL_SCRIPT_DATA_TEST_ID = "paypal-script";
4
+ export declare const PAYPAL_COMPONENTS: string[];
5
+ export declare const PAYPAL_PAGE_TYPE = "checkout";
6
+ export declare const PAYPAL_DEFAULT_CURRENCY = "USD";
7
+ export declare const PAYPAL_PRESENTATION_MODE = "auto";
8
+ /** Venmo only settles in USD, and the checkout payload carries no country. */
9
+ export declare const VENMO_SUPPORTED_CURRENCY = "USD";
10
+ /** `test` checkouts talk to PayPal's sandbox; everything else goes to production. */
11
+ export declare const paypalScriptUrl: (mode: "test" | "live" | null) => string;
12
+ export declare const PaypalErrorCode: {
13
+ readonly CONFIG_ERROR: "CONFIG_ERROR";
14
+ readonly INITIALIZATION_ERROR: "INITIALIZATION_ERROR";
15
+ readonly ORDER_ERROR: "ORDER_ERROR";
16
+ readonly PAYMENT_FAILED: "PAYMENT_FAILED";
17
+ };
18
+ export type PaypalErrorCodeType = (typeof PaypalErrorCode)[keyof typeof PaypalErrorCode];
19
+ export interface IPaypalSessionOrder {
20
+ orderId: string;
21
+ }
22
+ export interface IPaypalSession {
23
+ start: (options: {
24
+ presentationMode: string;
25
+ }, order: Promise<IPaypalSessionOrder>) => Promise<void>;
26
+ }
27
+ export interface IPaypalEligibleMethods {
28
+ isEligible: (method: string) => boolean;
29
+ }
30
+ export interface IPaypalSdkInstance {
31
+ findEligibleMethods: (args: {
32
+ currencyCode: string;
33
+ }) => Promise<IPaypalEligibleMethods>;
34
+ createPayPalOneTimePaymentSession: (options: object) => IPaypalSession;
35
+ createVenmoOneTimePaymentSession: (options: object) => IPaypalSession;
36
+ }
37
+ export interface IPaypalSdk {
38
+ createInstance: (config: object) => Promise<IPaypalSdkInstance>;
39
+ }
@@ -22,6 +22,7 @@ import { IPaymentMethodMetadata } from "./api/PaymentMethod";
22
22
  import { ApplePayButtonStyle, ApplePayButtonType, IApplePayToken } from "./api/ApplePay";
23
23
  import { CheckoutChangedEventDetail, Hook, SelectedPaymentMethod } from "./components/modular-checkout/ModularCheckout";
24
24
  import { CheckoutState } from "./store/checkout.store";
25
+ import { PaypalFundingSource } from "./api/Paypal";
25
26
  import { PaymentMethodPayload } from "./components/checkout/payment-method-payload";
26
27
  import { PlaidError } from "./api/Plaid";
27
28
  import { PaymentMethodOption } from "./components/checkout/payment-method-option-utils";
@@ -44,6 +45,7 @@ export { IPaymentMethodMetadata } from "./api/PaymentMethod";
44
45
  export { ApplePayButtonStyle, ApplePayButtonType, IApplePayToken } from "./api/ApplePay";
45
46
  export { CheckoutChangedEventDetail, Hook, SelectedPaymentMethod } from "./components/modular-checkout/ModularCheckout";
46
47
  export { CheckoutState } from "./store/checkout.store";
48
+ export { PaypalFundingSource } from "./api/Paypal";
47
49
  export { PaymentMethodPayload } from "./components/checkout/payment-method-payload";
48
50
  export { PlaidError } from "./api/Plaid";
49
51
  export { PaymentMethodOption } from "./components/checkout/payment-method-option-utils";
@@ -832,6 +834,8 @@ export namespace Components {
832
834
  "createdBefore"?: string;
833
835
  "status"?: string;
834
836
  }
837
+ interface JustifiPaypal {
838
+ }
835
839
  interface JustifiPlaidPaymentMethod {
836
840
  "deselect": () => Promise<void>;
837
841
  "getErrorInfo": () => Promise<PlaidError | null>;
@@ -1294,6 +1298,10 @@ export interface JustifiPayoutsListCustomEvent<T> extends CustomEvent<T> {
1294
1298
  detail: T;
1295
1299
  target: HTMLJustifiPayoutsListElement;
1296
1300
  }
1301
+ export interface JustifiPaypalCustomEvent<T> extends CustomEvent<T> {
1302
+ detail: T;
1303
+ target: HTMLJustifiPaypalElement;
1304
+ }
1297
1305
  export interface JustifiPlaidPaymentMethodCustomEvent<T> extends CustomEvent<T> {
1298
1306
  detail: T;
1299
1307
  target: HTMLJustifiPlaidPaymentMethodElement;
@@ -2418,6 +2426,34 @@ declare global {
2418
2426
  prototype: HTMLJustifiPayoutsListFiltersElement;
2419
2427
  new (): HTMLJustifiPayoutsListFiltersElement;
2420
2428
  };
2429
+ interface HTMLJustifiPaypalElementEventMap {
2430
+ "paypalStarted": {
2431
+ fundingSource: PaypalFundingSource;
2432
+ };
2433
+ "paypalCompleted": {
2434
+ success: boolean;
2435
+ paymentMethodId?: string;
2436
+ fundingSource: PaypalFundingSource;
2437
+ };
2438
+ "paypalCancelled": {
2439
+ fundingSource: PaypalFundingSource;
2440
+ };
2441
+ "paypalError": { error: string; code: string };
2442
+ }
2443
+ interface HTMLJustifiPaypalElement extends Components.JustifiPaypal, HTMLStencilElement {
2444
+ addEventListener<K extends keyof HTMLJustifiPaypalElementEventMap>(type: K, listener: (this: HTMLJustifiPaypalElement, ev: JustifiPaypalCustomEvent<HTMLJustifiPaypalElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
2445
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2446
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
2447
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
2448
+ removeEventListener<K extends keyof HTMLJustifiPaypalElementEventMap>(type: K, listener: (this: HTMLJustifiPaypalElement, ev: JustifiPaypalCustomEvent<HTMLJustifiPaypalElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
2449
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2450
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
2451
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
2452
+ }
2453
+ var HTMLJustifiPaypalElement: {
2454
+ prototype: HTMLJustifiPaypalElement;
2455
+ new (): HTMLJustifiPaypalElement;
2456
+ };
2421
2457
  interface HTMLJustifiPlaidPaymentMethodElementEventMap {
2422
2458
  "paymentMethodOptionSelected": any;
2423
2459
  "plaidError": any;
@@ -2910,6 +2946,7 @@ declare global {
2910
2946
  "justifi-payout-transactions-list": HTMLJustifiPayoutTransactionsListElement;
2911
2947
  "justifi-payouts-list": HTMLJustifiPayoutsListElement;
2912
2948
  "justifi-payouts-list-filters": HTMLJustifiPayoutsListFiltersElement;
2949
+ "justifi-paypal": HTMLJustifiPaypalElement;
2913
2950
  "justifi-plaid-payment-method": HTMLJustifiPlaidPaymentMethodElement;
2914
2951
  "justifi-qr-terminal": HTMLJustifiQrTerminalElement;
2915
2952
  "justifi-radio-list-item": HTMLJustifiRadioListItemElement;
@@ -3791,6 +3828,20 @@ declare namespace LocalJSX {
3791
3828
  "createdBefore"?: string;
3792
3829
  "status"?: string;
3793
3830
  }
3831
+ interface JustifiPaypal {
3832
+ "onPaypalCancelled"?: (event: JustifiPaypalCustomEvent<{
3833
+ fundingSource: PaypalFundingSource;
3834
+ }>) => void;
3835
+ "onPaypalCompleted"?: (event: JustifiPaypalCustomEvent<{
3836
+ success: boolean;
3837
+ paymentMethodId?: string;
3838
+ fundingSource: PaypalFundingSource;
3839
+ }>) => void;
3840
+ "onPaypalError"?: (event: JustifiPaypalCustomEvent<{ error: string; code: string }>) => void;
3841
+ "onPaypalStarted"?: (event: JustifiPaypalCustomEvent<{
3842
+ fundingSource: PaypalFundingSource;
3843
+ }>) => void;
3844
+ }
3794
3845
  interface JustifiPlaidPaymentMethod {
3795
3846
  "onPaymentMethodOptionSelected"?: (event: JustifiPlaidPaymentMethodCustomEvent<any>) => void;
3796
3847
  "onPlaidError"?: (event: JustifiPlaidPaymentMethodCustomEvent<any>) => void;
@@ -4166,6 +4217,7 @@ declare namespace LocalJSX {
4166
4217
  "justifi-payout-transactions-list": JustifiPayoutTransactionsList;
4167
4218
  "justifi-payouts-list": JustifiPayoutsList;
4168
4219
  "justifi-payouts-list-filters": JustifiPayoutsListFilters;
4220
+ "justifi-paypal": JustifiPaypal;
4169
4221
  "justifi-plaid-payment-method": JustifiPlaidPaymentMethod;
4170
4222
  "justifi-qr-terminal": JustifiQrTerminal;
4171
4223
  "justifi-radio-list-item": JustifiRadioListItem;
@@ -4296,6 +4348,7 @@ declare module "@stencil/core" {
4296
4348
  "justifi-payout-transactions-list": LocalJSX.JustifiPayoutTransactionsList & JSXBase.HTMLAttributes<HTMLJustifiPayoutTransactionsListElement>;
4297
4349
  "justifi-payouts-list": LocalJSX.JustifiPayoutsList & JSXBase.HTMLAttributes<HTMLJustifiPayoutsListElement>;
4298
4350
  "justifi-payouts-list-filters": LocalJSX.JustifiPayoutsListFilters & JSXBase.HTMLAttributes<HTMLJustifiPayoutsListFiltersElement>;
4351
+ "justifi-paypal": LocalJSX.JustifiPaypal & JSXBase.HTMLAttributes<HTMLJustifiPaypalElement>;
4299
4352
  "justifi-plaid-payment-method": LocalJSX.JustifiPlaidPaymentMethod & JSXBase.HTMLAttributes<HTMLJustifiPlaidPaymentMethodElement>;
4300
4353
  "justifi-qr-terminal": LocalJSX.JustifiQrTerminal & JSXBase.HTMLAttributes<HTMLJustifiQrTerminalElement>;
4301
4354
  "justifi-radio-list-item": LocalJSX.JustifiRadioListItem & JSXBase.HTMLAttributes<HTMLJustifiRadioListItemElement>;
@@ -9,6 +9,8 @@ interface IInitialState {
9
9
  isWalletProcessing: boolean;
10
10
  applePayEnabled: boolean;
11
11
  googlePayEnabled: boolean;
12
+ paypalEnabled: boolean;
13
+ paypalProviderClientId: string;
12
14
  achPaymentsEnabled: boolean;
13
15
  insuranceEnabled: boolean;
14
16
  bnplProviderApiVersion: string;
@@ -1 +1 @@
1
- export{P as PAYMENT_METHODS}from"./p-DkoufM1t.js";
1
+ export{P as PAYMENT_METHODS}from"./p-DEx8fQeW.js";
@@ -1 +1 @@
1
- import{h as s,F as e,r as i,c as t}from"./p-CV0Pyo1O.js";import{E as r}from"./p-Bh6Q8AqQ.js";import{B as a}from"./p-CnHbIkmu.js";import{m as o}from"./p-CMvr3y5s.js";import{C as n,b as l}from"./p-8fO8CrtQ.js";import{J as d}from"./p-C8g8unYJ.js";import{c as p}from"./p-DcA_wt-j.js";import{S as h}from"./p-05AWudQe.js";import"./p-CZfYo5-1.js";import{S as c}from"./p-eBK-iWrz.js";import"./p-Bu7gdOaV.js";import"./p-WnMmPpEb.js";import"./p-B4vLfYnZ.js";import"./p-DgTOxu8x.js";import"./p-Ds_P-dB8.js";import"./p-HXpYMWUU.js";import"./p-CiypNylL.js";import"./p-CLHwhyvu.js";import"./p-DaDqgDrb.js";import"./p-D1H6VUbM.js";const u=()=>{const i=()=>s("div",{class:"mt-5"},s(c,{width:"40%",height:"1.5rem"}),s("hr",null),s("div",{class:"row g-3"},s("div",{class:"col-12 col-md-6"},s(c,null),s(c,null),s(c,null)),s("div",{class:"col-12 col-md-6"},s(c,null),s(c,null),s(c,null))));return s(e,null,s(i,null),s(i,null),s(i,null),s(i,null))},m=class{constructor(s){i(this,s),this.errorEvent=t(this,"error-event",7),this.loading=!0}componentWillLoad(){p(),this.analytics=new d(this),this.initializeGetBusiness()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}propChanged(){this.initializeGetBusiness()}initializeGetBusiness(){this.businessId&&this.authToken?(this.getBusiness=o({id:this.businessId,authToken:this.authToken,service:new a}),this.fetchData()):(this.errorMessage="Invalid business id or auth token",this.errorEvent.emit({errorCode:l.MISSING_PROPS,message:this.errorMessage,severity:n.ERROR}))}updateOnPropChange(){this.getBusiness&&this.fetchData()}fetchData(){this.loading=!0,this.getBusiness({onSuccess:({business:s})=>{this.business=s,this.errorMessage=null},onError:({error:s,code:e,severity:i})=>{this.errorMessage=s,this.errorEvent.emit({errorCode:e,message:s,severity:i})},final:()=>{this.loading=!1}})}render(){return s(h,{key:"7ce48e6905cdbbf8f94470913ecfa3ef8dbb76c7"},this.loading&&s(u,{key:"7c3439e0c247436cd7951d3bdc32e7672c9f8447"}),!this.loading&&this.errorMessage&&r(this.errorMessage),!this.loading&&!this.errorMessage&&this.business&&s("justifi-details",{key:"bf57dacf2067f2704014ce3e002958e3306bba73",errorMessage:this.errorMessage},s("div",{key:"46d19a178ba0d33aa21a4f3900128e3e905731a9",slot:"detail-sections"},s("core-info-details",{key:"ac217a4cfe6b45810a85ca320760b7331f76e60b",business:this.business}),s("legal-address-details",{key:"1fc1a196a43bcf5f9eafd09bfe74c8bb7c409797",legalAddress:this.business.legal_address}),s("representative-details",{key:"1e0833606b129f69a05946726172963cbec05189",representative:this.business.representative}),s("owner-details",{key:"c974111dc67a8961ef6435c34843ca927ad8a7e5",owners:this.business.owners}),s("additional-questions-details",{key:"0951d284a373457e98a1dafc80231ec3ee057e0a",additionalQuestions:this.business.additional_questions}))))}static get watchers(){return{businessId:["propChanged"],authToken:["propChanged"],getBusiness:["updateOnPropChange"]}}};export{m as justifi_business_details}
1
+ import{h as s,F as e,r as i,c as t}from"./p-CV0Pyo1O.js";import{E as a}from"./p-Bh6Q8AqQ.js";import{B as r}from"./p-DnLqZpI1.js";import{m as o}from"./p-CyOXIqHo.js";import{C as n,b as l}from"./p-D6uhYbLo.js";import{J as h}from"./p-BHaO3c8W.js";import{c as d}from"./p-ByQMBEDC.js";import{S as p}from"./p-05AWudQe.js";import"./p-CZfYo5-1.js";import{S as c}from"./p-eBK-iWrz.js";import"./p-Bu7gdOaV.js";import"./p-Bl00tHyn.js";import"./p-B4vLfYnZ.js";import"./p-DgTOxu8x.js";import"./p-Ds_P-dB8.js";import"./p-HXpYMWUU.js";import"./p-Dn9_7aQh.js";import"./p-CLHwhyvu.js";import"./p-DaDqgDrb.js";import"./p-CLq3Og7o.js";const u=()=>{const i=()=>s("div",{class:"mt-5"},s(c,{width:"40%",height:"1.5rem"}),s("hr",null),s("div",{class:"row g-3"},s("div",{class:"col-12 col-md-6"},s(c,null),s(c,null),s(c,null)),s("div",{class:"col-12 col-md-6"},s(c,null),s(c,null),s(c,null))));return s(e,null,s(i,null),s(i,null),s(i,null),s(i,null))},m=class{constructor(s){i(this,s),this.errorEvent=t(this,"error-event",7),this.loading=!0}componentWillLoad(){d(),this.analytics=new h(this),this.initializeGetBusiness()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}propChanged(){this.initializeGetBusiness()}initializeGetBusiness(){this.businessId&&this.authToken?(this.getBusiness=o({id:this.businessId,authToken:this.authToken,service:new r}),this.fetchData()):(this.errorMessage="Invalid business id or auth token",this.errorEvent.emit({errorCode:l.MISSING_PROPS,message:this.errorMessage,severity:n.ERROR}))}updateOnPropChange(){this.getBusiness&&this.fetchData()}fetchData(){this.loading=!0,this.getBusiness({onSuccess:({business:s})=>{this.business=s,this.errorMessage=null},onError:({error:s,code:e,severity:i})=>{this.errorMessage=s,this.errorEvent.emit({errorCode:e,message:s,severity:i})},final:()=>{this.loading=!1}})}render(){return s(p,{key:"7ce48e6905cdbbf8f94470913ecfa3ef8dbb76c7"},this.loading&&s(u,{key:"7c3439e0c247436cd7951d3bdc32e7672c9f8447"}),!this.loading&&this.errorMessage&&a(this.errorMessage),!this.loading&&!this.errorMessage&&this.business&&s("justifi-details",{key:"bf57dacf2067f2704014ce3e002958e3306bba73",errorMessage:this.errorMessage},s("div",{key:"46d19a178ba0d33aa21a4f3900128e3e905731a9",slot:"detail-sections"},s("core-info-details",{key:"ac217a4cfe6b45810a85ca320760b7331f76e60b",business:this.business}),s("legal-address-details",{key:"1fc1a196a43bcf5f9eafd09bfe74c8bb7c409797",legalAddress:this.business.legal_address}),s("representative-details",{key:"1e0833606b129f69a05946726172963cbec05189",representative:this.business.representative}),s("owner-details",{key:"c974111dc67a8961ef6435c34843ca927ad8a7e5",owners:this.business.owners}),s("additional-questions-details",{key:"0951d284a373457e98a1dafc80231ec3ee057e0a",additionalQuestions:this.business.additional_questions}))))}static get watchers(){return{businessId:["propChanged"],authToken:["propChanged"],getBusiness:["updateOnPropChange"]}}};export{m as justifi_business_details}
@@ -1 +1 @@
1
- import{r as t,c as e,h as s}from"./p-CV0Pyo1O.js";import{m as i}from"./p-Dl0CAW76.js";import{C as h}from"./p-BlqdDtQr.js";import{C as r,b as o,I as l,c as a,d as n}from"./p-8fO8CrtQ.js";import{J as c}from"./p-C8g8unYJ.js";import{c as d}from"./p-DcA_wt-j.js";import"./p-D1H6VUbM.js";import"./p-WnMmPpEb.js";import"./p-B4vLfYnZ.js";import"./p-DgTOxu8x.js";import"./p-Ds_P-dB8.js";import"./p-HXpYMWUU.js";import"./p-CiypNylL.js";import"./p-CLHwhyvu.js";import"./p-DaDqgDrb.js";const u=class{constructor(s){t(this,s),this.checkoutCompleted=e(this,"checkout-completed",7),this.checkoutExpired=e(this,"checkout-expired",7),this.errorEvent=e(this,"error-event",7),this.pollIntervalMs=3e3,this.pollTimeoutMs=6e5,this.terminalState="loading",this.paymentStatus="",this.errorMessage="",this.pollIntervalHandle=null,this.pollTimeoutHandle=null,this.failedDismissHandle=null,this.seenCompletionCreatedAts=new Set,this.inFlight=!1}componentWillLoad(){d(),this.analytics=new c(this),this.initialize()}disconnectedCallback(){var t;this.stopAll(),null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.stopAll(),this.initialize()}suppressInnerErrors(t){t.stopPropagation()}get effectivePollInterval(){return Math.max(1e3,this.pollIntervalMs)}initialize(){this.authToken&&this.checkoutId?(this.terminalState="loading",this.getCheckout=i({authToken:this.authToken,checkoutId:this.checkoutId,service:new h}),this.getCheckout({onSuccess:({checkout:t})=>this.handleInitialLoad(t),onError:({error:t,code:e,severity:s})=>{this.terminalState="error",this.errorMessage=t,this.errorEvent.emit({message:t,errorCode:e,severity:s})}})):this.errorEvent.emit({message:"authToken and checkoutId are required",errorCode:o.MISSING_PROPS,severity:r.ERROR})}handleInitialLoad(t){var e;switch(t.status){case l.expired:this.terminalState="expired",this.checkoutExpired.emit({checkoutId:this.checkoutId}),this.errorEvent.emit({message:a.CHECKOUT_EXPIRED,errorCode:o.CHECKOUT_EXPIRED,severity:r.ERROR});break;case l.completed:this.terminalState="completed",this.paymentStatus=this.resolvePaymentStatus(t),this.checkoutCompleted.emit({checkoutId:this.checkoutId,paymentStatus:this.paymentStatus});break;default:(null!==(e=t.completions)&&void 0!==e?e:[]).forEach((t=>this.seenCompletionCreatedAts.add(t.created_at))),this.terminalState="ready",this.startPolling()}}startPolling(){this.pollTimeoutHandle=setTimeout((()=>{this.stopAll(),this.terminalState="error",this.errorMessage="Checkout polling timed out",this.errorEvent.emit({message:"Checkout polling timed out",errorCode:o.FETCH_ERROR,severity:r.ERROR})}),this.pollTimeoutMs),this.pollIntervalHandle=setInterval((()=>this.tick()),this.effectivePollInterval)}tick(){this.inFlight||(this.inFlight=!0,this.getCheckout({onSuccess:({checkout:t})=>{this.inFlight=!1,this.handlePollResult(t)},onError:({error:t,code:e,severity:s})=>{this.inFlight=!1,this.stopAll(),this.terminalState="error",this.errorMessage=t,this.errorEvent.emit({message:t,errorCode:e,severity:s})}}))}handlePollResult(t){var e;const s=(null!==(e=t.completions)&&void 0!==e?e:[]).filter((t=>!this.seenCompletionCreatedAts.has(t.created_at)&&"failed"===t.payment_status));if(s.forEach((t=>this.seenCompletionCreatedAts.add(t.created_at))),s.length>0&&(this.terminalState="payment-failed",this.failedDismissHandle&&clearTimeout(this.failedDismissHandle),this.failedDismissHandle=setTimeout((()=>{"payment-failed"===this.terminalState&&(this.terminalState="ready")}),3e3)),t.status===l.completed)return this.stopAll(),this.terminalState="completed",this.paymentStatus=this.resolvePaymentStatus(t),void this.checkoutCompleted.emit({checkoutId:this.checkoutId,paymentStatus:this.paymentStatus});t.status===l.expired&&(this.stopAll(),this.terminalState="expired",this.checkoutExpired.emit({checkoutId:this.checkoutId}),this.errorEvent.emit({message:a.CHECKOUT_EXPIRED,errorCode:o.CHECKOUT_EXPIRED,severity:r.ERROR}))}resolvePaymentStatus(t){var e,s;const i=null===(s=[...null!==(e=t.completions)&&void 0!==e?e:[]].sort(((t,e)=>new Date(e.updated_at).getTime()-new Date(t.updated_at).getTime()))[0])||void 0===s?void 0:s.payment_status;return i===n.succeeded||null==i&&t.successful_payment_id?"succeeded":"pending"}stopAll(){this.pollIntervalHandle&&(clearInterval(this.pollIntervalHandle),this.pollIntervalHandle=null),this.pollTimeoutHandle&&(clearTimeout(this.pollTimeoutHandle),this.pollTimeoutHandle=null),this.failedDismissHandle&&(clearTimeout(this.failedDismissHandle),this.failedDismissHandle=null),this.inFlight=!1}render(){return this.authToken&&this.checkoutId?s("div",null,"loading"===this.terminalState&&null,("ready"===this.terminalState||"payment-failed"===this.terminalState)&&s("div",null,s("justifi-checkout-qr-code",{checkoutId:this.checkoutId}),"payment-failed"===this.terminalState&&s("p",null,"Payment failed. Please try again."),"ready"===this.terminalState&&s("p",null,"Scan to pay")),"completed"===this.terminalState&&s("div",null,s("p",null,"succeeded"===this.paymentStatus?"Payment received":"Payment pending")),"expired"===this.terminalState&&s("p",null,"Checkout expired. Please create a new checkout."),"error"===this.terminalState&&s("p",null,this.errorMessage)):null}static get watchers(){return{authToken:["propChanged"],checkoutId:["propChanged"]}}};export{u as justifi_qr_terminal}
1
+ import{r as t,c as s,h as e}from"./p-CV0Pyo1O.js";import{m as i}from"./p-CXsRwohv.js";import{C as h}from"./p-DsvK2pes.js";import{C as r,b as o,I as a,c as l,d as n}from"./p-D6uhYbLo.js";import{J as c}from"./p-BHaO3c8W.js";import{c as d}from"./p-ByQMBEDC.js";import"./p-CLq3Og7o.js";import"./p-Bl00tHyn.js";import"./p-B4vLfYnZ.js";import"./p-DgTOxu8x.js";import"./p-Ds_P-dB8.js";import"./p-HXpYMWUU.js";import"./p-Dn9_7aQh.js";import"./p-CLHwhyvu.js";import"./p-DaDqgDrb.js";const u=class{constructor(e){t(this,e),this.checkoutCompleted=s(this,"checkout-completed",7),this.checkoutExpired=s(this,"checkout-expired",7),this.errorEvent=s(this,"error-event",7),this.pollIntervalMs=3e3,this.pollTimeoutMs=6e5,this.terminalState="loading",this.paymentStatus="",this.errorMessage="",this.pollIntervalHandle=null,this.pollTimeoutHandle=null,this.failedDismissHandle=null,this.seenCompletionCreatedAts=new Set,this.inFlight=!1}componentWillLoad(){d(),this.analytics=new c(this),this.initialize()}disconnectedCallback(){var t;this.stopAll(),null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.stopAll(),this.initialize()}suppressInnerErrors(t){t.stopPropagation()}get effectivePollInterval(){return Math.max(1e3,this.pollIntervalMs)}initialize(){this.authToken&&this.checkoutId?(this.terminalState="loading",this.getCheckout=i({authToken:this.authToken,checkoutId:this.checkoutId,service:new h}),this.getCheckout({onSuccess:({checkout:t})=>this.handleInitialLoad(t),onError:({error:t,code:s,severity:e})=>{this.terminalState="error",this.errorMessage=t,this.errorEvent.emit({message:t,errorCode:s,severity:e})}})):this.errorEvent.emit({message:"authToken and checkoutId are required",errorCode:o.MISSING_PROPS,severity:r.ERROR})}handleInitialLoad(t){var s;switch(t.status){case a.expired:this.terminalState="expired",this.checkoutExpired.emit({checkoutId:this.checkoutId}),this.errorEvent.emit({message:l.CHECKOUT_EXPIRED,errorCode:o.CHECKOUT_EXPIRED,severity:r.ERROR});break;case a.completed:this.terminalState="completed",this.paymentStatus=this.resolvePaymentStatus(t),this.checkoutCompleted.emit({checkoutId:this.checkoutId,paymentStatus:this.paymentStatus});break;default:(null!==(s=t.completions)&&void 0!==s?s:[]).forEach((t=>this.seenCompletionCreatedAts.add(t.created_at))),this.terminalState="ready",this.startPolling()}}startPolling(){this.pollTimeoutHandle=setTimeout((()=>{this.stopAll(),this.terminalState="error",this.errorMessage="Checkout polling timed out",this.errorEvent.emit({message:"Checkout polling timed out",errorCode:o.FETCH_ERROR,severity:r.ERROR})}),this.pollTimeoutMs),this.pollIntervalHandle=setInterval((()=>this.tick()),this.effectivePollInterval)}tick(){this.inFlight||(this.inFlight=!0,this.getCheckout({onSuccess:({checkout:t})=>{this.inFlight=!1,this.handlePollResult(t)},onError:({error:t,code:s,severity:e})=>{this.inFlight=!1,this.stopAll(),this.terminalState="error",this.errorMessage=t,this.errorEvent.emit({message:t,errorCode:s,severity:e})}}))}handlePollResult(t){var s;const e=(null!==(s=t.completions)&&void 0!==s?s:[]).filter((t=>!this.seenCompletionCreatedAts.has(t.created_at)&&"failed"===t.payment_status));if(e.forEach((t=>this.seenCompletionCreatedAts.add(t.created_at))),e.length>0&&(this.terminalState="payment-failed",this.failedDismissHandle&&clearTimeout(this.failedDismissHandle),this.failedDismissHandle=setTimeout((()=>{"payment-failed"===this.terminalState&&(this.terminalState="ready")}),3e3)),t.status===a.completed)return this.stopAll(),this.terminalState="completed",this.paymentStatus=this.resolvePaymentStatus(t),void this.checkoutCompleted.emit({checkoutId:this.checkoutId,paymentStatus:this.paymentStatus});t.status===a.expired&&(this.stopAll(),this.terminalState="expired",this.checkoutExpired.emit({checkoutId:this.checkoutId}),this.errorEvent.emit({message:l.CHECKOUT_EXPIRED,errorCode:o.CHECKOUT_EXPIRED,severity:r.ERROR}))}resolvePaymentStatus(t){var s,e;const i=null===(e=[...null!==(s=t.completions)&&void 0!==s?s:[]].sort(((t,s)=>new Date(s.updated_at).getTime()-new Date(t.updated_at).getTime()))[0])||void 0===e?void 0:e.payment_status;return i===n.succeeded||null==i&&t.successful_payment_id?"succeeded":"pending"}stopAll(){this.pollIntervalHandle&&(clearInterval(this.pollIntervalHandle),this.pollIntervalHandle=null),this.pollTimeoutHandle&&(clearTimeout(this.pollTimeoutHandle),this.pollTimeoutHandle=null),this.failedDismissHandle&&(clearTimeout(this.failedDismissHandle),this.failedDismissHandle=null),this.inFlight=!1}render(){return this.authToken&&this.checkoutId?e("div",null,"loading"===this.terminalState&&null,("ready"===this.terminalState||"payment-failed"===this.terminalState)&&e("div",null,e("justifi-checkout-qr-code",{checkoutId:this.checkoutId}),"payment-failed"===this.terminalState&&e("p",null,"Payment failed. Please try again."),"ready"===this.terminalState&&e("p",null,"Scan to pay")),"completed"===this.terminalState&&e("div",null,e("p",null,"succeeded"===this.paymentStatus?"Payment received":"Payment pending")),"expired"===this.terminalState&&e("p",null,"Checkout expired. Please create a new checkout."),"error"===this.terminalState&&e("p",null,this.errorMessage)):null}static get watchers(){return{authToken:["propChanged"],checkoutId:["propChanged"]}}};export{u as justifi_qr_terminal}
@@ -0,0 +1 @@
1
+ import{h as t,r as e,c as a}from"./p-CV0Pyo1O.js";import"./p-B4vLfYnZ.js";import"./p-HXpYMWUU.js";import{j as s,C as i,b as r}from"./p-D6uhYbLo.js";import{p as n}from"./p-CLHwhyvu.js";import"./p-DaDqgDrb.js";import{J as o}from"./p-BHaO3c8W.js";import{c}from"./p-ByQMBEDC.js";import{g as p,a as h}from"./p-CLq3Og7o.js";import{P as d}from"./p-BFi5l0xt.js";import{T as f,a as l,b as u,c as m,d as y,e as b,f as _,g,h as j,i as T,j as w,k,l as v}from"./p-DZr0wLGh.js";import{S as D}from"./p-05AWudQe.js";import{T as C}from"./p-CZfYo5-1.js";import{a as F}from"./p-Ds_P-dB8.js";import{a6 as P,a7 as R}from"./p-Bu7gdOaV.js";import"./p-DgTOxu8x.js";import"./p-Dn9_7aQh.js";import"./p-Bl00tHyn.js";import"./p-MPer3Rw7.js";const x={created_at:()=>t("th",{part:P,scope:"col",title:"The date and time each transaction was made"},"Processed On"),type:()=>t("th",{part:P,scope:"col",title:"The type of each transaction"},"Type"),id:()=>t("th",{part:P,scope:"col",title:"The unique identifier of each transaction"},"ID"),amount:()=>t("th",{part:P,scope:"col",title:"The dollar amount of each transaction",class:"text-end"},"Amount"),balance:()=>t("th",{part:P,scope:"col",title:"The running total amount of this payment that belongs to you",class:"text-end"},"Balance"),currency:()=>t("th",{part:P,scope:"col",title:"The currency of each transaction"},"Currency"),financial_transaction_id:()=>t("th",{part:P,scope:"col",title:"The unique identifier of the financial transaction associated with the payment balance transaction"},"Financial Transaction ID"),payment_id:()=>t("th",{part:P,scope:"col",title:"The unique identifier of the payment associated with the payment balance transaction"},"Payment ID"),payment_balance_txn_type:()=>t("th",{part:P,scope:"col",title:"The type of the payment balance transaction"},"Transaction Type"),source_id:()=>t("th",{part:P,scope:"col",title:"The unique identifier of the source object associated with the payment balance transaction"},"Source ID"),source_type:()=>t("th",{part:P,scope:"col",title:"The type of the source object associated with the payment balance transaction"},"Source Type")},S={ach_return:"ACH Return",ach_return_fee:"ACH Return Fee",dispute:"Dispute",dispute_fee:"Dispute Fee",dispute_fee_refund:"Dispute Fee Refund",dispute_refund:"Dispute Refund",payment:"Payment",payment_fee:"Fee",platform_fee:"Platform Fee",platform_fee_return:"Platform Fee Return",processing_fee:"Processing Fee",processing_fee_return:"Processing Fee Return",refund:"Refund",fee_refund:"Fee Refund",application_fee_returned:"Application Fee Returned",refund_failure:"Refund Failure",void:"Void"},B={created_at:(e,a)=>t("td",{part:R(a)},t("div",{class:"fw-bold"},F(e.created_at,{showDisplayDate:!0})),t("div",{class:"fw-bold"},F(e.created_at,{showTime:!0}))),type:(e,a)=>t("td",{part:R(a)},S[e.payment_balance_txn_type]),id:(e,a)=>t("td",{part:R(a)},e.id),amount:(e,a)=>t("td",{part:R(a),class:"text-end"},e.formattedPaymentAmount(e.amount)),balance:(e,a)=>t("td",{part:R(a),class:"text-end"},e.formattedPaymentAmount(e.balance)),currency:(e,a)=>t("td",{part:R(a)},e.currency),financial_transaction_id:(e,a)=>t("td",{part:R(a)},e.financial_transaction_id),payment_id:(e,a)=>t("td",{part:R(a)},e.payment_id),payment_balance_txn_type:(e,a)=>t("td",{part:R(a)},e.payment_balance_txn_type),source_id:(e,a)=>t("td",{part:R(a)},e.source_id),source_type:(e,a)=>t("td",{part:R(a)},e.source_type)},O=class{constructor(t){e(this,t),this.clickEvent=a(this,"click-event",7),this.errorEvent=a(this,"error-event",7),this.balanceTransactions=[],this.isLoading=!0,this.errorMessage=null,this.paging=n,this.pagingParams={},this.columns="created_at,type,id,amount,balance",this.handleClickPrevious=t=>{this.pagingParams={before_cursor:t},this.clickEvent.emit({name:C.previous})},this.handleClickNext=t=>{this.pagingParams={after_cursor:t},this.clickEvent.emit({name:C.next})},this.rowClickHandler=t=>{const e=t.target.closest("tr").dataset.rowEntityId;if(!e)return;const a=this.balanceTransactions.find((t=>t.id===e));this.clickEvent.emit({name:C.row,data:a})}}componentWillLoad(){this.transactionsTable=new f(this.balanceTransactions,this.columns,x,B),c(),this.analytics=new o(this),this.initializeApi()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeApi()}handleError(t,e,a){this.isLoading=!1,this.errorEvent.emit({errorCode:t,message:e,severity:a})}initializeApi(){this.paymentId&&this.authToken?(({id:t,authToken:e,service:a})=>async({params:r,onSuccess:n,onError:o,final:c})=>{var d;try{const c=await a.fetchPaymentTransactions(t,e,r);c.error?o({error:h(c.error),code:p(null===(d=c.error)||void 0===d?void 0:d.code),severity:i.ERROR}):n({balanceTransactions:c.data.map((t=>new s(t))),pagingInfo:Object.assign({},c.page_info)})}catch(t){const e=p(null==t?void 0:t.code);o({error:h(t),code:e,severity:i.ERROR})}finally{c()}})({id:this.paymentId,authToken:this.authToken,service:new d})({params:this.pagingParams,onSuccess:({balanceTransactions:t,pagingInfo:e})=>{this.balanceTransactions=t,this.paging=e,this.transactionsTable.collectionData=this.balanceTransactions},onError:({error:t,code:e,severity:a})=>{this.errorMessage=t.message,this.handleError(t,e,a)},final:()=>{this.isLoading=!1}}):(this.errorMessage="payment-id and auth-token props are required",this.handleError(r.MISSING_PROPS,this.errorMessage,i.ERROR))}get entityId(){return this.balanceTransactions.map((t=>t.id))}get showEmptyState(){return!this.isLoading&&!this.errorMessage&&this.transactionsTable.rowData.length<1}get showErrorState(){return!this.isLoading&&!!this.errorMessage}get showRowData(){return!this.showEmptyState&&!this.showErrorState&&!this.isLoading}render(){return t(D,{key:"0f3e26b2c3f60508208665182d225851b661ce52"},t(l,{key:"cec0e06941349943965f48f1724891b08eb2a9f0"},t(u,{key:"0cc4ed8dba379a5007129098d9fafc666771bd68"},t(m,{key:"2cf86dc1d70add019c7a60a19776926987c6669d"},t(y,{key:"26ee0bade994b3f103fbf143974095e24df3100f"},this.transactionsTable.columnData.map((t=>t)))),t(b,{key:"68e61b6f6ce309c66444868cc76fa5d5975cbf51"},t(_,{key:"d71b0929a60dd74f1cd14e4bbafe2030f50fdd1f",columnSpan:this.transactionsTable.columnKeys.length,isLoading:this.isLoading}),t(g,{key:"cb9ff5c2f19c506cb04dd0ff89e1ac3b2d9477cc",isEmpty:this.showEmptyState,columnSpan:this.transactionsTable.columnKeys.length}),t(j,{key:"cc194ed6bd9985ecc11052159636abf93d72baa1",columnSpan:this.transactionsTable.columnKeys.length,errorMessage:this.errorMessage}),this.showRowData&&this.transactionsTable.rowData.map(((e,a)=>t(T,{"data-test-id":"table-row","data-row-entity-id":this.entityId[a],onClick:this.rowClickHandler},e)))),this.paging&&t(w,{key:"466be6cad4dc5aa82d492758845a36ab7ded07cb"},t(k,{key:"635a3e29fd03027eae0430afe0777905342bda35"},t(v,{key:"87cacd49245ab6e07ae7c2adef2cb26561fae1c6",colSpan:this.transactionsTable.columnData.length},t("pagination-menu",{key:"3b54af40f5aa9ac5e1198fc52218ec887cbd4e59",paging:Object.assign(Object.assign({},this.paging),{handleClickPrevious:this.handleClickPrevious,handleClickNext:this.handleClickNext})})))))))}static get watchers(){return{pagingParams:["propChanged"],paymentId:["propChanged"],authToken:["propChanged"]}}};export{O as justifi_payment_transactions_list}
@@ -1 +1 @@
1
- import{h as t,r as e,c as s}from"./p-CV0Pyo1O.js";import"./p-B4vLfYnZ.js";import"./p-HXpYMWUU.js";import{m as a,C as i,b as o}from"./p-8fO8CrtQ.js";import{p as r}from"./p-CLHwhyvu.js";import"./p-DaDqgDrb.js";import{g as c,a as h}from"./p-D1H6VUbM.js";import{c as n}from"./p-DcA_wt-j.js";import{J as d}from"./p-C8g8unYJ.js";import{C as p}from"./p-BlqdDtQr.js";import{m as u,S as m}from"./p-C0w_sG9P.js";import{S as b}from"./p-05AWudQe.js";import{T as f,a as l,b as y,c as g,d as k,e as j,f as v,g as C,h as _,i as w,j as T,k as P,l as S}from"./p-DZr0wLGh.js";import{T as D}from"./p-CZfYo5-1.js";import{d as A,b as O}from"./p-Ds_P-dB8.js";import{B as x,a as I}from"./p-Dz8KJn2G.js";import{a6 as E,a7 as G}from"./p-Bu7gdOaV.js";import{o as L,g as M}from"./p-CArdj6i_.js";import"./p-DgTOxu8x.js";import"./p-CiypNylL.js";import"./p-WnMmPpEb.js";import"./p-MPer3Rw7.js";const B={created_at:()=>t("th",{part:E,scope:"col",title:"The date each checkout occurred"},"Processed On"),payment_amount:()=>t("th",{part:E,scope:"col",title:"The dollar amount of each checkout"},"Payment Amount"),payment_description:()=>t("th",{part:E,scope:"col",title:"The description of each checkout"},"Payment Description"),sub_account_name:()=>t("th",{part:E,scope:"col",title:"The sub account associated with the checkout"},"Sub Account"),payment_mode:()=>t("th",{part:E,scope:"col",title:"The payment mode of each checkout"},"Payment Mode"),status:()=>t("th",{part:E,scope:"col",title:"The current status of each checkout"},"Status")},z={created_at:(e,s)=>t("td",{part:G(s)},t("div",{class:"fw-bold"},O(e.created_at)),t("div",{class:"fw-bold"},A(e.created_at))),payment_amount:(e,s)=>t("td",{part:G(s)},e.formattedPaymentAmount(e.payment_amount)),payment_description:(e,s)=>t("td",{part:G(s)},e.payment_description),sub_account_name:(e,s)=>t("td",{part:G(s)},e.sub_account_name),payment_mode:(e,s)=>t("td",{part:G(s)},e.payment_mode),status:(e,s)=>t("td",{part:G(s)},t(I,Object.assign({},{created:{variant:x.PRIMARY,title:"The checkout has been created",text:"Created"},completed:{variant:x.SUCCESS,title:"The checkout has been completed",text:"Completed"},attempted:{variant:x.SECONDARY,title:"The checkout has been attempted",text:"Attempted"},expired:{variant:x.DANGER,title:"The checkout has expired",text:"Expired"}}[e.status])))},W=class{constructor(t){e(this,t),this.clickEvent=s(this,"click-event",7),this.errorEvent=s(this,"error-event",7),this.columns="created_at,payment_amount,payment_description,payment_mode,status",this.checkouts=[],this.subAccounts=[],this.loading=!0,this.paging=r,this.pagingParams={},this.handleClickPrevious=t=>{this.pagingParams={before_cursor:t},this.clickEvent.emit({name:D.previous})},this.handleClickNext=t=>{this.pagingParams={after_cursor:t},this.clickEvent.emit({name:D.next})},this.rowClickHandler=t=>{const e=t.target.closest("tr").dataset.rowEntityId;if(!e)return;const s=this.checkouts.find((t=>t.id===e));this.clickEvent.emit({name:D.row,data:s})}}componentWillLoad(){n(),this.analytics=new d(this),this.checkoutsTable=new f(this.checkouts,this.columns,B,z),this.initializeGetData(),this.getCheckouts&&this.fetchData(),L("set",(()=>{this.pagingParams={}})),L("reset",(()=>{this.pagingParams={},this.errorMessage=""}))}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}authPropChanged(){this.initializeGetData(),this.getCheckouts&&this.fetchData()}pagingOrColumnsChanged(){this.getCheckouts&&this.fetchData()}initializeGetData(){this.initializeGetCheckouts(),this.initializeGetSubAccounts()}initializeGetCheckouts(){const t=this.subAccountId||this.accountId;t&&this.authToken?this.getCheckouts=(({accountId:t,authToken:e,service:s})=>async({params:o,onSuccess:r,onError:n})=>{var d,p;try{const u=await s.fetchCheckouts(t,e,o);if(u.error)return n({error:h(u.error),code:c(null===(p=u.error)||void 0===p?void 0:p.code),severity:i.ERROR});{const t=Object.assign({},u.page_info);r({checkouts:(null===(d=u.data)||void 0===d?void 0:d.map((t=>new a(t))))||[],pagingInfo:t})}}catch(t){const e=c(null==t?void 0:t.code);return n({error:t.message||t,code:e,severity:i.ERROR})}})({accountId:t,authToken:this.authToken,service:new p}):(this.errorMessage="Account ID/Sub Account ID and Auth Token are required",this.errorEvent.emit({errorCode:o.MISSING_PROPS,message:this.errorMessage,severity:i.ERROR}))}initializeGetSubAccounts(){this.accountId&&this.authToken&&(this.getSubAccounts=u({primaryAccountId:this.accountId,authToken:this.authToken,service:new m}))}fetchData(){this.getCheckouts&&(this.loading=!0,this.getCheckouts({params:this.checkoutParams,onSuccess:async({checkouts:t,pagingInfo:e})=>{this.checkouts=t,this.paging=e,this.checkoutsTable.collectionData=this.checkouts,this.checkoutsTable.columnKeys.includes("sub_account_name")?await this.fetchSubAccounts():this.loading=!1},onError:({error:t,code:e,severity:s})=>{this.errorMessage=t,this.errorEvent.emit({errorCode:e,message:t,severity:s}),this.loading=!1}}))}async fetchSubAccounts(){this.getSubAccounts?this.getSubAccounts({params:this.subAccountParams,onSuccess:({subAccounts:t})=>{this.subAccounts=t,this.checkouts=this.checkouts.map((t=>{var e;return t.sub_account_name=null===(e=this.subAccounts.find((e=>e.id===t.account_id)))||void 0===e?void 0:e.name,t})),this.loading=!1},onError:({error:t,code:e,severity:s})=>{this.errorMessage=t,this.errorEvent.emit({errorCode:e,message:t,severity:s}),this.loading=!1}}):this.loading=!1}get checkoutParams(){const t=M();return Object.assign(Object.assign({},t),this.pagingParams)}get subAccountParams(){const t=this.checkouts.map((t=>t.account_id));return{sub_account_id:[...new Set(t)].join(",")}}get entityId(){return this.checkouts.map((t=>t.id))}get showEmptyState(){return!this.loading&&!this.errorMessage&&this.checkoutsTable.rowData.length<1}get showErrorState(){return!this.loading&&!!this.errorMessage}get showRowData(){return!this.showEmptyState&&!this.showErrorState&&!this.loading}render(){return t(b,{key:"882db931e1e29698776ffa6c715ca4abb7d322f7"},t(l,{key:"7bb610f41ae1feab6e4a1cf8abb19fbff00914e6"},t(y,{key:"4ca7ca2a8fcb7b26cd4cdb7679ef7c3db17bb1d1"},t(g,{key:"b2fdd2852c74f066cfdf7aee27148fa36cf5df74"},t(k,{key:"688d8189928c8ee54e6b60383492cdd2e7717fcf"},this.checkoutsTable.columnData.map((t=>t)))),t(j,{key:"0e3e589b387455bdbb30c5130e206c46447d2a43"},t(v,{key:"b0d74610ef26b4b67e1c1a70b93e9932c4d47350",columnSpan:this.checkoutsTable.columnKeys.length,isLoading:this.loading}),t(C,{key:"dfc775ac8f7a47611e740e1e4b7562adfffd15d3",isEmpty:this.showEmptyState,columnSpan:this.checkoutsTable.columnKeys.length}),t(_,{key:"8ba255c49e9ea76d13644b4c5842f9c003816040",columnSpan:this.checkoutsTable.columnKeys.length,errorMessage:this.errorMessage}),this.showRowData&&this.checkoutsTable.rowData.map(((e,s)=>t(w,{"data-test-id":"table-row","data-row-entity-id":this.entityId[s],onClick:this.rowClickHandler},e)))),this.paging&&t(T,{key:"82cf7b391647fdb6cefcbdbe13113ebb6e70bf62"},t(P,{key:"6678e2573867bf3c79f266ebab392034eb143c65"},t(S,{key:"c981a304af815c314e8306922b779cea8670b825",colSpan:this.checkoutsTable.columnData.length},t("pagination-menu",{key:"ea32b8d13a5af7122095fd4081d29668019928ee",paging:Object.assign(Object.assign({},this.paging),{handleClickPrevious:this.handleClickPrevious,handleClickNext:this.handleClickNext})})))))))}static get watchers(){return{accountId:["authPropChanged"],authToken:["authPropChanged"],subAccountId:["authPropChanged"],pagingParams:["pagingOrColumnsChanged"],columns:["pagingOrColumnsChanged"]}}};export{W as justifi_checkouts_list}
1
+ import{h as t,r as e,c as s}from"./p-CV0Pyo1O.js";import"./p-B4vLfYnZ.js";import"./p-HXpYMWUU.js";import{m as a,C as i,b as o}from"./p-D6uhYbLo.js";import{p as r}from"./p-CLHwhyvu.js";import"./p-DaDqgDrb.js";import{g as c,a as h}from"./p-CLq3Og7o.js";import{c as n}from"./p-ByQMBEDC.js";import{J as d}from"./p-BHaO3c8W.js";import{C as p}from"./p-DsvK2pes.js";import{m as u,S as m}from"./p-rznJBkm3.js";import{S as f}from"./p-05AWudQe.js";import{T as l,a as b,b as y,c as g,d as k,e as v,f as j,g as C,h as _,i as w,j as T,k as D,l as S}from"./p-DZr0wLGh.js";import{T as O}from"./p-CZfYo5-1.js";import{d as P,b as A}from"./p-Ds_P-dB8.js";import{B as x,a as I}from"./p-Dz8KJn2G.js";import{a6 as B,a7 as E}from"./p-Bu7gdOaV.js";import{o as L,g as z}from"./p-CArdj6i_.js";import"./p-DgTOxu8x.js";import"./p-Dn9_7aQh.js";import"./p-Bl00tHyn.js";import"./p-MPer3Rw7.js";const G={created_at:()=>t("th",{part:B,scope:"col",title:"The date each checkout occurred"},"Processed On"),payment_amount:()=>t("th",{part:B,scope:"col",title:"The dollar amount of each checkout"},"Payment Amount"),payment_description:()=>t("th",{part:B,scope:"col",title:"The description of each checkout"},"Payment Description"),sub_account_name:()=>t("th",{part:B,scope:"col",title:"The sub account associated with the checkout"},"Sub Account"),payment_mode:()=>t("th",{part:B,scope:"col",title:"The payment mode of each checkout"},"Payment Mode"),status:()=>t("th",{part:B,scope:"col",title:"The current status of each checkout"},"Status")},M={created_at:(e,s)=>t("td",{part:E(s)},t("div",{class:"fw-bold"},A(e.created_at)),t("div",{class:"fw-bold"},P(e.created_at))),payment_amount:(e,s)=>t("td",{part:E(s)},e.formattedPaymentAmount(e.payment_amount)),payment_description:(e,s)=>t("td",{part:E(s)},e.payment_description),sub_account_name:(e,s)=>t("td",{part:E(s)},e.sub_account_name),payment_mode:(e,s)=>t("td",{part:E(s)},e.payment_mode),status:(e,s)=>t("td",{part:E(s)},t(I,Object.assign({},{created:{variant:x.PRIMARY,title:"The checkout has been created",text:"Created"},completed:{variant:x.SUCCESS,title:"The checkout has been completed",text:"Completed"},attempted:{variant:x.SECONDARY,title:"The checkout has been attempted",text:"Attempted"},expired:{variant:x.DANGER,title:"The checkout has expired",text:"Expired"}}[e.status])))},H=class{constructor(t){e(this,t),this.clickEvent=s(this,"click-event",7),this.errorEvent=s(this,"error-event",7),this.columns="created_at,payment_amount,payment_description,payment_mode,status",this.checkouts=[],this.subAccounts=[],this.loading=!0,this.paging=r,this.pagingParams={},this.handleClickPrevious=t=>{this.pagingParams={before_cursor:t},this.clickEvent.emit({name:O.previous})},this.handleClickNext=t=>{this.pagingParams={after_cursor:t},this.clickEvent.emit({name:O.next})},this.rowClickHandler=t=>{const e=t.target.closest("tr").dataset.rowEntityId;if(!e)return;const s=this.checkouts.find((t=>t.id===e));this.clickEvent.emit({name:O.row,data:s})}}componentWillLoad(){n(),this.analytics=new d(this),this.checkoutsTable=new l(this.checkouts,this.columns,G,M),this.initializeGetData(),this.getCheckouts&&this.fetchData(),L("set",(()=>{this.pagingParams={}})),L("reset",(()=>{this.pagingParams={},this.errorMessage=""}))}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}authPropChanged(){this.initializeGetData(),this.getCheckouts&&this.fetchData()}pagingOrColumnsChanged(){this.getCheckouts&&this.fetchData()}initializeGetData(){this.initializeGetCheckouts(),this.initializeGetSubAccounts()}initializeGetCheckouts(){const t=this.subAccountId||this.accountId;t&&this.authToken?this.getCheckouts=(({accountId:t,authToken:e,service:s})=>async({params:o,onSuccess:r,onError:n})=>{var d,p;try{const u=await s.fetchCheckouts(t,e,o);if(u.error)return n({error:h(u.error),code:c(null===(p=u.error)||void 0===p?void 0:p.code),severity:i.ERROR});{const t=Object.assign({},u.page_info);r({checkouts:(null===(d=u.data)||void 0===d?void 0:d.map((t=>new a(t))))||[],pagingInfo:t})}}catch(t){const e=c(null==t?void 0:t.code);return n({error:t.message||t,code:e,severity:i.ERROR})}})({accountId:t,authToken:this.authToken,service:new p}):(this.errorMessage="Account ID/Sub Account ID and Auth Token are required",this.errorEvent.emit({errorCode:o.MISSING_PROPS,message:this.errorMessage,severity:i.ERROR}))}initializeGetSubAccounts(){this.accountId&&this.authToken&&(this.getSubAccounts=u({primaryAccountId:this.accountId,authToken:this.authToken,service:new m}))}fetchData(){this.getCheckouts&&(this.loading=!0,this.getCheckouts({params:this.checkoutParams,onSuccess:async({checkouts:t,pagingInfo:e})=>{this.checkouts=t,this.paging=e,this.checkoutsTable.collectionData=this.checkouts,this.checkoutsTable.columnKeys.includes("sub_account_name")?await this.fetchSubAccounts():this.loading=!1},onError:({error:t,code:e,severity:s})=>{this.errorMessage=t,this.errorEvent.emit({errorCode:e,message:t,severity:s}),this.loading=!1}}))}async fetchSubAccounts(){this.getSubAccounts?this.getSubAccounts({params:this.subAccountParams,onSuccess:({subAccounts:t})=>{this.subAccounts=t,this.checkouts=this.checkouts.map((t=>{var e;return t.sub_account_name=null===(e=this.subAccounts.find((e=>e.id===t.account_id)))||void 0===e?void 0:e.name,t})),this.loading=!1},onError:({error:t,code:e,severity:s})=>{this.errorMessage=t,this.errorEvent.emit({errorCode:e,message:t,severity:s}),this.loading=!1}}):this.loading=!1}get checkoutParams(){const t=z();return Object.assign(Object.assign({},t),this.pagingParams)}get subAccountParams(){const t=this.checkouts.map((t=>t.account_id));return{sub_account_id:[...new Set(t)].join(",")}}get entityId(){return this.checkouts.map((t=>t.id))}get showEmptyState(){return!this.loading&&!this.errorMessage&&this.checkoutsTable.rowData.length<1}get showErrorState(){return!this.loading&&!!this.errorMessage}get showRowData(){return!this.showEmptyState&&!this.showErrorState&&!this.loading}render(){return t(f,{key:"f022fc9244c2c8d6e43136ef67d584b7e02d88c0"},t(b,{key:"4426bfe67f6847fc4e7afac5bc6f49003eab7bdc"},t(y,{key:"d0c5683a6d86166853a184902c0492d7d692053d"},t(g,{key:"414525dcdce777fb9b96da4577f9df9dbc5209e5"},t(k,{key:"059f355e53d1610e9a98caefc2e843042b82a401"},this.checkoutsTable.columnData.map((t=>t)))),t(v,{key:"a084de3e1cd2463d94e189d5d3241a19a885e43d"},t(j,{key:"3efa17a9737fcac772f9d97880b4a990a97a7e99",columnSpan:this.checkoutsTable.columnKeys.length,isLoading:this.loading}),t(C,{key:"636f2bf2b881e3ae93fd2ae5b78f4951eb2aa55e",isEmpty:this.showEmptyState,columnSpan:this.checkoutsTable.columnKeys.length}),t(_,{key:"d17071cdf4f1295f6aa53efb566fa470f40ef8cd",columnSpan:this.checkoutsTable.columnKeys.length,errorMessage:this.errorMessage}),this.showRowData&&this.checkoutsTable.rowData.map(((e,s)=>t(w,{"data-test-id":"table-row","data-row-entity-id":this.entityId[s],onClick:this.rowClickHandler},e)))),this.paging&&t(T,{key:"dc301ba7b3039400a3dbb9761ca8d7894e619e7d"},t(D,{key:"18936a6e7bbc6c0ed07181e22beb9488ef5d3fcd"},t(S,{key:"56749d191e514a9ef47d505efe831d808abf59db",colSpan:this.checkoutsTable.columnData.length},t("pagination-menu",{key:"7cd65843172cb881640de5e3815ec1e85984b9be",paging:Object.assign(Object.assign({},this.paging),{handleClickPrevious:this.handleClickPrevious,handleClickNext:this.handleClickNext})})))))))}static get watchers(){return{accountId:["authPropChanged"],authToken:["authPropChanged"],subAccountId:["authPropChanged"],pagingParams:["pagingOrColumnsChanged"],columns:["pagingOrColumnsChanged"]}}};export{H as justifi_checkouts_list}