@justifi/webcomponents 6.0.6-rc.2 → 6.0.6-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/dist/cjs/bank-account-document-form-inputs_4.cjs.entry.js +2 -2
  2. package/dist/cjs/bank-account-form.cjs.entry.js +2 -2
  3. package/dist/cjs/card-form.cjs.entry.js +2 -2
  4. package/dist/cjs/{check-pkg-version-BXAxVT0S.js → check-pkg-version-DDYyouYC.js} +1 -1
  5. package/dist/cjs/{checkout.store-CS7dpzYF.js → checkout.store-Bswr7kNY.js} +4 -0
  6. package/dist/cjs/checkouts-list-core.cjs.entry.js +1 -1
  7. package/dist/cjs/custom-popper_2.cjs.entry.js +2 -2
  8. package/dist/cjs/form-control-checkbox.cjs.entry.js +2 -2
  9. package/dist/cjs/form-control-date.cjs.entry.js +2 -2
  10. package/dist/cjs/form-control-file-v2_2.cjs.entry.js +3 -3
  11. package/dist/cjs/form-control-monetary.cjs.entry.js +2 -2
  12. package/dist/cjs/form-control-number-masked_2.cjs.entry.js +2 -2
  13. package/dist/cjs/form-control-number.cjs.entry.js +2 -2
  14. package/dist/cjs/form-control-radio.cjs.entry.js +2 -2
  15. package/dist/cjs/form-control-select_2.cjs.entry.js +4 -4
  16. package/dist/cjs/gross-payment-chart-core.cjs.entry.js +1 -1
  17. package/dist/cjs/hidden-input_2.cjs.entry.js +5 -5
  18. package/dist/cjs/justifi-additional-statement_8.cjs.entry.js +8 -8
  19. package/dist/cjs/{justifi-checkout-summary_7.cjs.entry.js → justifi-apple-pay_8.cjs.entry.js} +883 -15
  20. package/dist/cjs/justifi-bank-account-billing-form-simple_9.cjs.entry.js +11 -11
  21. package/dist/cjs/justifi-business-details.cjs.entry.js +2 -2
  22. package/dist/cjs/justifi-business-form.cjs.entry.js +2 -2
  23. package/dist/cjs/justifi-checkout.cjs.entry.js +4 -4
  24. package/dist/cjs/justifi-checkouts-list-filters.cjs.entry.js +1 -1
  25. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +3 -3
  26. package/dist/cjs/justifi-dispute-management-core.cjs.entry.js +1 -1
  27. package/dist/cjs/justifi-dispute-management.cjs.entry.js +3 -3
  28. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +5 -5
  29. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +2 -2
  30. package/dist/cjs/justifi-order-terminals.cjs.entry.js +3 -3
  31. package/dist/cjs/justifi-payment-details.cjs.entry.js +2 -2
  32. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +2 -2
  33. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +3 -3
  34. package/dist/cjs/justifi-payments-list-filters.cjs.entry.js +2 -2
  35. package/dist/cjs/justifi-payments-list.cjs.entry.js +3 -3
  36. package/dist/cjs/justifi-payout-details.cjs.entry.js +2 -2
  37. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +3 -3
  38. package/dist/cjs/justifi-payouts-list-filters.cjs.entry.js +2 -2
  39. package/dist/cjs/justifi-payouts-list.cjs.entry.js +3 -3
  40. package/dist/cjs/justifi-refund-payment.cjs.entry.js +2 -2
  41. package/dist/cjs/justifi-saved-payment-method.cjs.entry.js +1 -1
  42. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +3 -3
  43. package/dist/cjs/justifi-skeleton.cjs.entry.js +1 -1
  44. package/dist/cjs/justifi-terminal-orders-list-filters.cjs.entry.js +2 -2
  45. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +3 -3
  46. package/dist/cjs/justifi-terminals-list-filters.cjs.entry.js +1 -1
  47. package/dist/cjs/justifi-terminals-list.cjs.entry.js +3 -3
  48. package/dist/cjs/loader.cjs.js +1 -1
  49. package/dist/cjs/{package-D8-S3yHl.js → package-VjPC5nqK.js} +1 -1
  50. package/dist/cjs/pagination-menu.cjs.entry.js +3 -3
  51. package/dist/cjs/payment-details-core.cjs.entry.js +8 -8
  52. package/dist/cjs/payment-method-option.cjs.entry.js +1 -1
  53. package/dist/cjs/payments-list-core.cjs.entry.js +1 -1
  54. package/dist/cjs/payout-details-core.cjs.entry.js +3 -3
  55. package/dist/cjs/payouts-list-core.cjs.entry.js +1 -1
  56. package/dist/cjs/table-filters-menu.cjs.entry.js +1 -1
  57. package/dist/cjs/terminal-orders-list-core.cjs.entry.js +1 -1
  58. package/dist/cjs/terminal-quantity-selector.cjs.entry.js +1 -1
  59. package/dist/cjs/terminals-list-core.cjs.entry.js +1 -1
  60. package/dist/cjs/webcomponents.cjs.js +1 -1
  61. package/dist/collection/api/services/apple-pay.service.js +0 -3
  62. package/dist/collection/components/checkout/bank-account-form/bank-account-form.js +2 -2
  63. package/dist/collection/components/checkout/card-form/card-form.js +2 -2
  64. package/dist/collection/components/checkout/checkout.js +1 -1
  65. package/dist/collection/components/checkout/save-new-payment-method.js +1 -1
  66. package/dist/collection/components/checkout/saved-payment-method.js +1 -1
  67. package/dist/collection/components/checkouts-list/checkouts-list-core.js +1 -1
  68. package/dist/collection/components/checkouts-list/checkouts-list-filters.js +1 -1
  69. package/dist/collection/components/checkouts-list/checkouts-list.js +1 -1
  70. package/dist/collection/components/dispute-management/dispute-management-core.js +1 -1
  71. package/dist/collection/components/dispute-management/dispute-management.js +1 -1
  72. package/dist/collection/components/dispute-management/dispute-notification.js +1 -1
  73. package/dist/collection/components/dispute-management/dispute-response/additional-statement.js +1 -1
  74. package/dist/collection/components/dispute-management/dispute-response/cancellation-policy.js +1 -1
  75. package/dist/collection/components/dispute-management/dispute-response/customer-details.js +1 -1
  76. package/dist/collection/components/dispute-management/dispute-response/dispute-response-core.js +1 -1
  77. package/dist/collection/components/dispute-management/dispute-response/dispute-response.js +1 -1
  78. package/dist/collection/components/dispute-management/dispute-response/duplicate-charge.js +1 -1
  79. package/dist/collection/components/dispute-management/dispute-response/electronic-evidence.js +1 -1
  80. package/dist/collection/components/dispute-management/dispute-response/product-or-service.js +1 -1
  81. package/dist/collection/components/dispute-management/dispute-response/refund-policy.js +1 -1
  82. package/dist/collection/components/dispute-management/dispute-response/shipping-details.js +1 -1
  83. package/dist/collection/components/filters/table-filters-menu.js +1 -1
  84. package/dist/collection/components/gross-payment-chart/gross-payment-chart-core.js +1 -1
  85. package/dist/collection/components/modular-checkout/modular-checkout.js +7 -6
  86. package/dist/collection/components/modular-checkout/sub-components/apple-pay.js +49 -2
  87. package/dist/collection/components/modular-checkout/sub-components/bank-account-billing-form-simple.js +1 -1
  88. package/dist/collection/components/modular-checkout/sub-components/bank-account.js +2 -2
  89. package/dist/collection/components/modular-checkout/sub-components/card-billing-form-simple.js +1 -1
  90. package/dist/collection/components/modular-checkout/sub-components/card-form.js +2 -2
  91. package/dist/collection/components/modular-checkout/sub-components/payment-method-option.js +1 -1
  92. package/dist/collection/components/modular-checkout/sub-components/summary.js +1 -1
  93. package/dist/collection/components/order-terminals/order-terminals.js +1 -1
  94. package/dist/collection/components/order-terminals/terminal-quantity-selector/terminal-quantity-selector.js +1 -1
  95. package/dist/collection/components/payment-details/payment-details-core.js +8 -8
  96. package/dist/collection/components/payment-transactions-list/payment-transactions-list.js +1 -1
  97. package/dist/collection/components/payments-list/payments-list-core.js +1 -1
  98. package/dist/collection/components/payments-list/payments-list-filters.js +2 -2
  99. package/dist/collection/components/payments-list/payments-list.js +1 -1
  100. package/dist/collection/components/payout-details/payout-details-core.js +3 -3
  101. package/dist/collection/components/payout-transactions-list/payout-transactions-list.js +1 -1
  102. package/dist/collection/components/payouts-list/payouts-list-core.js +1 -1
  103. package/dist/collection/components/payouts-list/payouts-list-filters.js +2 -2
  104. package/dist/collection/components/payouts-list/payouts-list.js +1 -1
  105. package/dist/collection/components/terminal-orders-list/terminal-orders-list-core.js +1 -1
  106. package/dist/collection/components/terminal-orders-list/terminal-orders-list-filters.js +2 -2
  107. package/dist/collection/components/terminal-orders-list/terminal-orders-list.js +1 -1
  108. package/dist/collection/components/terminals-list/terminals-list-core.js +1 -1
  109. package/dist/collection/components/terminals-list/terminals-list-filters.js +1 -1
  110. package/dist/collection/components/terminals-list/terminals-list.js +1 -1
  111. package/dist/collection/components/tokenize-payment-method/tokenize-payment-method.js +1 -1
  112. package/dist/collection/store/checkout.store.js +4 -0
  113. package/dist/collection/ui-components/apple-pay-button.js +5 -7
  114. package/dist/collection/ui-components/custom-popper/custom-popper.js +2 -2
  115. package/dist/collection/ui-components/form/form-control-checkbox.js +2 -2
  116. package/dist/collection/ui-components/form/form-control-date.js +2 -2
  117. package/dist/collection/ui-components/form/form-control-file-v2.js +1 -1
  118. package/dist/collection/ui-components/form/form-control-file.js +2 -2
  119. package/dist/collection/ui-components/form/form-control-monetary.js +2 -2
  120. package/dist/collection/ui-components/form/form-control-number-masked.js +2 -2
  121. package/dist/collection/ui-components/form/form-control-number.js +2 -2
  122. package/dist/collection/ui-components/form/form-control-radio.js +2 -2
  123. package/dist/collection/ui-components/form/form-control-select.js +2 -2
  124. package/dist/collection/ui-components/form/form-control-text.js +2 -2
  125. package/dist/collection/ui-components/form/form-control-textarea.js +2 -2
  126. package/dist/collection/ui-components/form/hidden-input.js +1 -1
  127. package/dist/collection/ui-components/form/iframe-input.js +3 -3
  128. package/dist/collection/ui-components/pagination-menu/pagination-menu.js +3 -3
  129. package/dist/collection/ui-components/shadow-dom-components/justifi-button.js +1 -1
  130. package/dist/collection/ui-components/shadow-dom-components/justifi-header.js +1 -1
  131. package/dist/collection/ui-components/shadow-dom-components/justifi-skeleton.js +1 -1
  132. package/dist/docs.json +69 -3
  133. package/dist/esm/additional-questions-details_5.entry.js +2 -2
  134. package/dist/esm/{badge-BYEj23zk.js → badge-CtdO-tEY.js} +1 -1
  135. package/dist/esm/bank-account-document-form-inputs_4.entry.js +5 -5
  136. package/dist/esm/bank-account-form.entry.js +4 -4
  137. package/dist/esm/business-details-core.entry.js +3 -3
  138. package/dist/esm/{button-BQetT-FB.js → button-DtTaQHMK.js} +1 -1
  139. package/dist/esm/card-form.entry.js +4 -4
  140. package/dist/esm/{check-pkg-version-DdZIl21c.js → check-pkg-version-D0SJTGUq.js} +1 -1
  141. package/dist/esm/{checkout.store-CWAkbFJL.js → checkout.store-4nUf2OuT.js} +4 -0
  142. package/dist/esm/checkouts-list-core.entry.js +6 -6
  143. package/dist/esm/{checkouts-table-D7-slfUE.js → checkouts-table-B6gGDtOr.js} +2 -2
  144. package/dist/esm/custom-popper_2.entry.js +3 -3
  145. package/dist/esm/form-alert_5.entry.js +1 -1
  146. package/dist/esm/form-control-checkbox.entry.js +5 -5
  147. package/dist/esm/form-control-date.entry.js +4 -4
  148. package/dist/esm/{form-control-error-text-DU4UNQlE.js → form-control-error-text-bprS-t9d.js} +1 -1
  149. package/dist/esm/form-control-file-v2_2.entry.js +5 -5
  150. package/dist/esm/{form-control-help-text-DDLwbCDl.js → form-control-help-text-Bvnp-IAG.js} +1 -1
  151. package/dist/esm/form-control-monetary-provisioning.entry.js +3 -3
  152. package/dist/esm/form-control-monetary.entry.js +5 -5
  153. package/dist/esm/form-control-number-masked_2.entry.js +4 -4
  154. package/dist/esm/form-control-number.entry.js +5 -5
  155. package/dist/esm/form-control-radio.entry.js +3 -3
  156. package/dist/esm/form-control-select_2.entry.js +6 -6
  157. package/dist/esm/gross-payment-chart-core.entry.js +4 -4
  158. package/dist/esm/{header-1-CIfsspQD.js → header-1-C1Hnxki8.js} +1 -1
  159. package/dist/esm/{header-3-0vgSYspf.js → header-3-Bq8fpjm-.js} +1 -1
  160. package/dist/esm/hidden-input_2.entry.js +7 -7
  161. package/dist/esm/{insurance-state-QGyiPZ_-.js → insurance-state-CVme82j7.js} +1 -1
  162. package/dist/esm/justifi-additional-questions-form-step-core_6.entry.js +3 -3
  163. package/dist/esm/justifi-additional-questions-form-step_9.entry.js +2 -2
  164. package/dist/esm/justifi-additional-statement_8.entry.js +9 -9
  165. package/dist/esm/{justifi-checkout-summary_7.entry.js → justifi-apple-pay_8.entry.js} +887 -20
  166. package/dist/esm/justifi-bank-account-billing-form-simple_9.entry.js +15 -15
  167. package/dist/esm/justifi-business-details.entry.js +4 -4
  168. package/dist/esm/justifi-business-form.entry.js +6 -6
  169. package/dist/esm/justifi-business-representative-form-inputs.entry.js +1 -1
  170. package/dist/esm/justifi-checkout.entry.js +5 -5
  171. package/dist/esm/justifi-checkouts-list-filters.entry.js +2 -2
  172. package/dist/esm/justifi-checkouts-list.entry.js +6 -6
  173. package/dist/esm/justifi-details.entry.js +2 -2
  174. package/dist/esm/justifi-dispute-management-core.entry.js +1 -1
  175. package/dist/esm/justifi-dispute-management.entry.js +3 -3
  176. package/dist/esm/justifi-dispute-notification_3.entry.js +8 -8
  177. package/dist/esm/justifi-gross-payment-chart.entry.js +4 -4
  178. package/dist/esm/justifi-order-terminals.entry.js +5 -5
  179. package/dist/esm/justifi-owner-form_3.entry.js +2 -2
  180. package/dist/esm/justifi-payment-details.entry.js +4 -4
  181. package/dist/esm/justifi-payment-provisioning-core.entry.js +2 -2
  182. package/dist/esm/justifi-payment-provisioning.entry.js +2 -2
  183. package/dist/esm/justifi-payment-transactions-list.entry.js +6 -6
  184. package/dist/esm/justifi-payments-list-filters.entry.js +3 -3
  185. package/dist/esm/justifi-payments-list.entry.js +7 -7
  186. package/dist/esm/justifi-payout-details.entry.js +4 -4
  187. package/dist/esm/justifi-payout-transactions-list.entry.js +6 -6
  188. package/dist/esm/justifi-payouts-list-filters.entry.js +3 -3
  189. package/dist/esm/justifi-payouts-list.entry.js +7 -7
  190. package/dist/esm/justifi-refund-payment.entry.js +5 -5
  191. package/dist/esm/justifi-saved-payment-method.entry.js +2 -2
  192. package/dist/esm/justifi-season-interruption-insurance.entry.js +6 -6
  193. package/dist/esm/justifi-skeleton.entry.js +3 -3
  194. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +3 -3
  195. package/dist/esm/justifi-terminal-orders-list.entry.js +6 -6
  196. package/dist/esm/justifi-terminals-list-filters.entry.js +2 -2
  197. package/dist/esm/justifi-terminals-list.entry.js +6 -6
  198. package/dist/esm/loader.js +1 -1
  199. package/dist/esm/{package-DlT1rYmL.js → package-NMTsmUsG.js} +1 -1
  200. package/dist/esm/pagination-menu.entry.js +4 -4
  201. package/dist/esm/{parts-DS3KdLWS.js → parts-xDbRW9xn.js} +1 -1
  202. package/dist/esm/payment-details-core.entry.js +13 -13
  203. package/dist/esm/payment-method-option.entry.js +2 -2
  204. package/dist/esm/payments-list-core.entry.js +7 -7
  205. package/dist/esm/{payments-status-DpKZIq0D.js → payments-status-cvtVmtY5.js} +1 -1
  206. package/dist/esm/{payments-table-BhUsDP9C.js → payments-table-D_BlyU1F.js} +2 -2
  207. package/dist/esm/payout-details-core.entry.js +9 -9
  208. package/dist/esm/payouts-list-core.entry.js +7 -7
  209. package/dist/esm/{payouts-status-CZxWiR6g.js → payouts-status-D-vjrqBb.js} +1 -1
  210. package/dist/esm/{payouts-table-C6bACVT_.js → payouts-table-Clj8YGLV.js} +2 -2
  211. package/dist/esm/{skeleton-CtxvPKqv.js → skeleton-B8EUwt4b.js} +1 -1
  212. package/dist/esm/{spinner-DSSWDOaz.js → spinner-CYXkn1fh.js} +1 -1
  213. package/dist/esm/{table-C7Sw1Lk-.js → table-Bj20uWfu.js} +2 -2
  214. package/dist/esm/table-filters-menu.entry.js +3 -3
  215. package/dist/esm/terminal-orders-list-core.entry.js +6 -6
  216. package/dist/esm/{terminal-orders-table-Cdv_O1iI.js → terminal-orders-table-DzBpIW8i.js} +2 -2
  217. package/dist/esm/terminal-quantity-selector.entry.js +2 -2
  218. package/dist/esm/terminals-list-core.entry.js +6 -6
  219. package/dist/esm/{terminals-table-BBUVz5oU.js → terminals-table-BMS5tazC.js} +2 -2
  220. package/dist/esm/{utils-DkhVjdbQ.js → utils-DRwofES0.js} +1 -1
  221. package/dist/esm/webcomponents.js +1 -1
  222. package/dist/module/additional-statement.js +1 -1
  223. package/dist/{esm/justifi-apple-pay.entry.js → module/apple-pay.js} +69 -33
  224. package/dist/module/bank-account-billing-form-simple.js +1 -1
  225. package/dist/module/bank-account-form.js +2 -2
  226. package/dist/module/bank-account.js +2 -2
  227. package/dist/module/cancellation-policy.js +1 -1
  228. package/dist/module/card-billing-form-simple.js +1 -1
  229. package/dist/module/card-form.js +2 -2
  230. package/dist/module/card-form2.js +2 -2
  231. package/dist/module/checkout.store.js +4 -0
  232. package/dist/module/checkouts-list-core2.js +1 -1
  233. package/dist/module/custom-popper2.js +2 -2
  234. package/dist/module/customer-details.js +1 -1
  235. package/dist/module/dispute-management-core.js +1 -1
  236. package/dist/module/dispute-notification.js +1 -1
  237. package/dist/module/dispute-response-core.js +1 -1
  238. package/dist/module/dispute-response.js +1 -1
  239. package/dist/module/duplicate-charge.js +1 -1
  240. package/dist/module/electronic-evidence.js +1 -1
  241. package/dist/module/form-control-checkbox2.js +2 -2
  242. package/dist/module/form-control-date2.js +2 -2
  243. package/dist/module/form-control-file-v22.js +1 -1
  244. package/dist/module/form-control-file2.js +2 -2
  245. package/dist/module/form-control-monetary2.js +2 -2
  246. package/dist/module/form-control-number-masked2.js +2 -2
  247. package/dist/module/form-control-number.js +2 -2
  248. package/dist/module/form-control-radio2.js +2 -2
  249. package/dist/module/form-control-select2.js +2 -2
  250. package/dist/module/form-control-text2.js +2 -2
  251. package/dist/module/form-control-textarea2.js +2 -2
  252. package/dist/module/gross-payment-chart-core2.js +1 -1
  253. package/dist/module/hidden-input2.js +1 -1
  254. package/dist/module/iframe-input2.js +3 -3
  255. package/dist/module/justifi-apple-pay.js +1 -907
  256. package/dist/module/justifi-button2.js +1 -1
  257. package/dist/module/justifi-checkout.js +25 -19
  258. package/dist/module/justifi-checkouts-list-filters.js +1 -1
  259. package/dist/module/justifi-checkouts-list.js +1 -1
  260. package/dist/module/justifi-dispute-management.js +1 -1
  261. package/dist/module/justifi-header2.js +1 -1
  262. package/dist/module/justifi-order-terminals.js +1 -1
  263. package/dist/module/justifi-payment-transactions-list.js +1 -1
  264. package/dist/module/justifi-payments-list-filters.js +2 -2
  265. package/dist/module/justifi-payments-list.js +1 -1
  266. package/dist/module/justifi-payout-transactions-list.js +1 -1
  267. package/dist/module/justifi-payouts-list-filters.js +2 -2
  268. package/dist/module/justifi-payouts-list.js +1 -1
  269. package/dist/module/justifi-saved-payment-method.js +1 -1
  270. package/dist/module/justifi-skeleton.js +1 -1
  271. package/dist/module/justifi-terminal-orders-list-filters.js +2 -2
  272. package/dist/module/justifi-terminal-orders-list.js +1 -1
  273. package/dist/module/justifi-terminals-list-filters.js +1 -1
  274. package/dist/module/justifi-terminals-list.js +1 -1
  275. package/dist/module/modular-checkout.js +7 -6
  276. package/dist/module/package.js +1 -1
  277. package/dist/module/pagination-menu2.js +3 -3
  278. package/dist/module/payment-details-core2.js +8 -8
  279. package/dist/module/payment-method-option.js +1 -1
  280. package/dist/module/payments-list-core2.js +1 -1
  281. package/dist/module/payout-details-core2.js +3 -3
  282. package/dist/module/payouts-list-core2.js +1 -1
  283. package/dist/module/product-or-service.js +1 -1
  284. package/dist/module/refund-policy.js +1 -1
  285. package/dist/module/save-new-payment-method.js +1 -1
  286. package/dist/module/shipping-details.js +1 -1
  287. package/dist/module/summary.js +1 -1
  288. package/dist/module/table-filters-menu2.js +1 -1
  289. package/dist/module/terminal-orders-list-core2.js +1 -1
  290. package/dist/module/terminal-quantity-selector2.js +1 -1
  291. package/dist/module/terminals-list-core2.js +1 -1
  292. package/dist/module/tokenize-payment-method.js +1 -1
  293. package/dist/types/api/Checkout.d.ts +2 -0
  294. package/dist/types/components/modular-checkout/sub-components/apple-pay.d.ts +2 -0
  295. package/dist/types/components.d.ts +16 -0
  296. package/dist/types/store/checkout.store.d.ts +1 -0
  297. package/dist/webcomponents/{p-8696cf1e.entry.js → p-0217783c.entry.js} +3 -3
  298. package/dist/webcomponents/p-02c1d94b.entry.js +1 -0
  299. package/dist/webcomponents/p-02fdd7f5.entry.js +1 -0
  300. package/dist/webcomponents/{p-bcc7ebb5.entry.js → p-03e1d695.entry.js} +1 -1
  301. package/dist/webcomponents/p-0af5269e.entry.js +1 -0
  302. package/dist/webcomponents/{p-b3517f18.entry.js → p-0cac8468.entry.js} +1 -1
  303. package/dist/webcomponents/{p-368aad3e.entry.js → p-0cf71cbd.entry.js} +1 -1
  304. package/dist/webcomponents/{p-8e6ae277.entry.js → p-0eb69f41.entry.js} +1 -1
  305. package/dist/webcomponents/p-125b8d74.entry.js +1 -0
  306. package/dist/webcomponents/{p-507ab3f1.entry.js → p-1d5f8765.entry.js} +1 -1
  307. package/dist/webcomponents/{p-4633e577.entry.js → p-20c458f7.entry.js} +1 -1
  308. package/dist/webcomponents/p-28625e07.entry.js +1 -0
  309. package/dist/webcomponents/p-2d300faa.entry.js +1 -0
  310. package/dist/webcomponents/p-2e82ff3a.entry.js +1 -0
  311. package/dist/webcomponents/p-328117e4.entry.js +1 -0
  312. package/dist/webcomponents/{p-72e0698c.entry.js → p-32978110.entry.js} +1 -1
  313. package/dist/webcomponents/{p-f7977891.entry.js → p-336db71a.entry.js} +1 -1
  314. package/dist/webcomponents/{p-2b1b815a.entry.js → p-37a93597.entry.js} +1 -1
  315. package/dist/webcomponents/{p-188f921f.entry.js → p-447b55c0.entry.js} +1 -1
  316. package/dist/webcomponents/p-47997bc2.entry.js +1 -0
  317. package/dist/webcomponents/{p-9f35781b.entry.js → p-50701f16.entry.js} +1 -1
  318. package/dist/webcomponents/{p-6de344f8.entry.js → p-50b811f4.entry.js} +1 -1
  319. package/dist/webcomponents/p-526b7442.entry.js +1 -0
  320. package/dist/webcomponents/p-5aae36f3.entry.js +1 -0
  321. package/dist/webcomponents/p-5bd3d86e.entry.js +1 -0
  322. package/dist/webcomponents/{p-789e86ef.entry.js → p-5ccb728c.entry.js} +1 -1
  323. package/dist/webcomponents/{p-25dffee2.entry.js → p-63ad8ebd.entry.js} +1 -1
  324. package/dist/webcomponents/p-6472b6db.entry.js +1 -0
  325. package/dist/webcomponents/p-69e5695c.entry.js +1 -0
  326. package/dist/webcomponents/{p-4941bcaf.entry.js → p-6be4cdf0.entry.js} +1 -1
  327. package/dist/webcomponents/p-702a1d50.entry.js +1 -0
  328. package/dist/webcomponents/p-705dba52.entry.js +1 -0
  329. package/dist/webcomponents/{p-fc5eeb40.entry.js → p-73ebd7e7.entry.js} +1 -1
  330. package/dist/webcomponents/{p-4c7b6e72.entry.js → p-78cb62a8.entry.js} +1 -1
  331. package/dist/webcomponents/{p-96cc471a.entry.js → p-7b6027c4.entry.js} +1 -1
  332. package/dist/webcomponents/p-7c20ec17.entry.js +1 -0
  333. package/dist/webcomponents/{p-7fc37722.entry.js → p-7f5df31e.entry.js} +1 -1
  334. package/dist/webcomponents/{p-924a25d4.entry.js → p-80b2cdec.entry.js} +1 -1
  335. package/dist/webcomponents/p-8590f629.entry.js +1 -0
  336. package/dist/webcomponents/p-8ca21fab.entry.js +1 -0
  337. package/dist/webcomponents/p-9ad7d724.entry.js +1 -0
  338. package/dist/webcomponents/{p-1162b2fc.entry.js → p-9ed7b13f.entry.js} +1 -1
  339. package/dist/webcomponents/{p-B7TpAe2k.js → p-B6IWa9Ph.js} +1 -1
  340. package/dist/webcomponents/{p-BIKX2tSN.js → p-BBx_EQqR.js} +1 -1
  341. package/dist/webcomponents/{p-Cqe5a-d3.js → p-BSyMsqda.js} +1 -1
  342. package/dist/webcomponents/p-BoQ6_4Ks.js +1 -0
  343. package/dist/webcomponents/{p-SWI5-Jo-.js → p-C0wTyoTh.js} +1 -1
  344. package/dist/webcomponents/{p-YXBIe5uT.js → p-C9EQ459H.js} +1 -1
  345. package/dist/webcomponents/{p-7663hWTF.js → p-CCmDcLao.js} +1 -1
  346. package/dist/webcomponents/{p-CqFjmIng.js → p-CH8Y3GSr.js} +1 -1
  347. package/dist/webcomponents/{p-BbbgFMaz.js → p-ClvhB3WW.js} +1 -1
  348. package/dist/webcomponents/{p-53MvfN19.js → p-CmBCj61h.js} +1 -1
  349. package/dist/webcomponents/p-D0Peuz-m.js +1 -0
  350. package/dist/webcomponents/p-D6BImiVi.js +1 -0
  351. package/dist/webcomponents/p-DGsXKF67.js +1 -0
  352. package/dist/webcomponents/p-NAjz1Xfo.js +1 -0
  353. package/dist/webcomponents/p-NMTsmUsG.js +1 -0
  354. package/dist/webcomponents/p-RQzxYnz_.js +1 -0
  355. package/dist/webcomponents/p-T2yENPvU.js +1 -0
  356. package/dist/webcomponents/{p-2bb49747.entry.js → p-a09695c4.entry.js} +1 -1
  357. package/dist/webcomponents/{p-59b4454a.entry.js → p-a849d9e2.entry.js} +1 -1
  358. package/dist/webcomponents/{p-064578b9.entry.js → p-adeff733.entry.js} +1 -1
  359. package/dist/webcomponents/{p-32b0593d.entry.js → p-ae7fb4f2.entry.js} +1 -1
  360. package/dist/webcomponents/{p-f1915a72.entry.js → p-ae8ae5bb.entry.js} +1 -1
  361. package/dist/webcomponents/{p-b82b685d.entry.js → p-aeb22aa2.entry.js} +1 -1
  362. package/dist/webcomponents/p-au49QgoI.js +1 -0
  363. package/dist/webcomponents/{p-79a55ed5.entry.js → p-b608add9.entry.js} +1 -1
  364. package/dist/webcomponents/p-bb53e2e9.entry.js +1 -0
  365. package/dist/webcomponents/p-bc099dd0.entry.js +1 -0
  366. package/dist/webcomponents/p-c12d0453.entry.js +1 -0
  367. package/dist/webcomponents/p-c194d17a.entry.js +1 -0
  368. package/dist/webcomponents/{p-9b14089f.entry.js → p-c644a9f1.entry.js} +1 -1
  369. package/dist/webcomponents/{p-263ee88e.entry.js → p-d0a2035f.entry.js} +1 -1
  370. package/dist/webcomponents/p-d1bceac6.entry.js +1 -0
  371. package/dist/webcomponents/{p-4b1a3cf6.entry.js → p-d4476052.entry.js} +1 -1
  372. package/dist/webcomponents/{p-62fab960.entry.js → p-de95bf57.entry.js} +1 -1
  373. package/dist/webcomponents/p-e6be4e19.entry.js +1 -0
  374. package/dist/webcomponents/p-ec9514f8.entry.js +1 -0
  375. package/dist/webcomponents/p-edfeb034.entry.js +1 -0
  376. package/dist/webcomponents/{p-341eb162.entry.js → p-f46fb2d9.entry.js} +1 -1
  377. package/dist/webcomponents/{p-a4a57240.entry.js → p-f705fc49.entry.js} +1 -1
  378. package/dist/webcomponents/{p-7c7666ad.entry.js → p-fbc5fc6d.entry.js} +1 -1
  379. package/dist/webcomponents/p-ffefa09c.entry.js +1 -0
  380. package/dist/webcomponents/p-h5pyZngT.js +1 -0
  381. package/dist/webcomponents/{p-f6_r41aD.js → p-hbWSMN3O.js} +1 -1
  382. package/dist/webcomponents/p-wQgEEOq_.js +1 -0
  383. package/dist/webcomponents/{p-DS3KdLWS.js → p-xDbRW9xn.js} +1 -1
  384. package/dist/webcomponents/webcomponents.esm.js +1 -1
  385. package/package.json +1 -1
  386. package/dist/cjs/justifi-apple-pay.cjs.entry.js +0 -879
  387. package/dist/webcomponents/p-065999a7.entry.js +0 -1
  388. package/dist/webcomponents/p-145a2370.entry.js +0 -1
  389. package/dist/webcomponents/p-185550b1.entry.js +0 -1
  390. package/dist/webcomponents/p-20c42901.entry.js +0 -1
  391. package/dist/webcomponents/p-22b3b0c2.entry.js +0 -1
  392. package/dist/webcomponents/p-38f4b133.entry.js +0 -1
  393. package/dist/webcomponents/p-3cd7efc1.entry.js +0 -1
  394. package/dist/webcomponents/p-49998d80.entry.js +0 -1
  395. package/dist/webcomponents/p-5ca7a03f.entry.js +0 -1
  396. package/dist/webcomponents/p-6217eb14.entry.js +0 -1
  397. package/dist/webcomponents/p-7bdaf07c.entry.js +0 -1
  398. package/dist/webcomponents/p-7c4a3118.entry.js +0 -1
  399. package/dist/webcomponents/p-8948b298.entry.js +0 -1
  400. package/dist/webcomponents/p-97ea8a2a.entry.js +0 -1
  401. package/dist/webcomponents/p-98ae711c.entry.js +0 -1
  402. package/dist/webcomponents/p-BBzXThAT.js +0 -1
  403. package/dist/webcomponents/p-BCE-dTDp.js +0 -1
  404. package/dist/webcomponents/p-Baf5crBG.js +0 -1
  405. package/dist/webcomponents/p-C4AUlhx6.js +0 -1
  406. package/dist/webcomponents/p-D5KZeFMv.js +0 -1
  407. package/dist/webcomponents/p-DFEINx3E.js +0 -1
  408. package/dist/webcomponents/p-DlT1rYmL.js +0 -1
  409. package/dist/webcomponents/p-DrrHSa75.js +0 -1
  410. package/dist/webcomponents/p-DszoS3BO.js +0 -1
  411. package/dist/webcomponents/p-SPYUZxQ9.js +0 -1
  412. package/dist/webcomponents/p-a3a2f508.entry.js +0 -1
  413. package/dist/webcomponents/p-a44c1cae.entry.js +0 -1
  414. package/dist/webcomponents/p-a6008498.entry.js +0 -1
  415. package/dist/webcomponents/p-a871b38b.entry.js +0 -1
  416. package/dist/webcomponents/p-a9e7b25b.entry.js +0 -1
  417. package/dist/webcomponents/p-b2816bb2.entry.js +0 -1
  418. package/dist/webcomponents/p-b57ba0c7.entry.js +0 -1
  419. package/dist/webcomponents/p-b701fcf0.entry.js +0 -1
  420. package/dist/webcomponents/p-bcc22295.entry.js +0 -1
  421. package/dist/webcomponents/p-cf37b3bb.entry.js +0 -1
  422. package/dist/webcomponents/p-d55e5756.entry.js +0 -1
  423. package/dist/webcomponents/p-db03d37a.entry.js +0 -1
  424. package/dist/webcomponents/p-dce78317.entry.js +0 -1
  425. package/dist/webcomponents/p-e1e13e85.entry.js +0 -1
  426. package/dist/webcomponents/p-f605af1c.entry.js +0 -1
  427. package/dist/webcomponents/p-iT-AQTXJ.js +0 -1
@@ -0,0 +1 @@
1
+ import{h as t,r as e,c as a}from"./p-DOjVAAtq.js";import{c as s}from"./p-a6tcNl_T.js";import"./p-HXpYMWUU.js";import{C as i,a as o}from"./p-Cjcsf8ku.js";import{h as r}from"./p-C98BC5W5.js";import{p as c}from"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{c as n,J as p}from"./p-BSyMsqda.js";import{g as h,a as d}from"./p-D2muobcE.js";import{P as l}from"./p-8S_ROmnq.js";import{T as f,l as u,a as m,b as y,c as b,d as _,e as w,f as T,g as j,h as v,i as g,j as k,k as C}from"./p-C0wTyoTh.js";import{S as D}from"./p-BhCH9S0e.js";import{T as S}from"./p-CZfYo5-1.js";import{a as P}from"./p-Bgnhf5c9.js";import{S as I,T as q}from"./p-xDbRW9xn.js";import"./p-DdMxswn1.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-NMTsmUsG.js";import"./p-DdZLLkQ5.js";import"./p-h5pyZngT.js";const O={id:()=>t("th",{part:I,scope:"col",title:"The unique identifier of each transaction"},"ID"),account_id:()=>t("th",{part:I,scope:"col",title:"The unique identifier of the account associated with each transaction"},"Account ID"),payout_id:()=>t("th",{part:I,scope:"col",title:"The unique identifier of the payout associated with each transaction"},"Payout ID"),financial_transaction_id:()=>t("th",{part:I,scope:"col",title:"The unique identifier of the financial transaction associated with the payment balance transaction"},"Financial Transaction ID"),amount:()=>t("th",{part:I,scope:"col",title:"The dollar amount of each transaction"},"Amount"),fee:()=>t("th",{part:I,scope:"col",title:"The fee associated with each transaction"},"Fee"),net:()=>t("th",{part:I,scope:"col",title:"The net amount of each transaction"},"Net"),currency:()=>t("th",{part:I,scope:"col",title:"The currency of each transaction"},"Currency"),description:()=>t("th",{part:I,scope:"col",title:"The description of each transaction"},"Description"),source_id:()=>t("th",{part:I,scope:"col",title:"The unique identifier of the source object associated with the payment balance transaction"},"Source ID"),txn_type:()=>t("th",{part:I,scope:"col",title:"The type of each transaction"},"Type"),created_at:()=>t("th",{part:I,scope:"col",title:"The date and time each transaction was made"},"Processed On"),available_on:()=>t("th",{part:I,scope:"col",title:"The date and time each transaction will be available"},"Available On"),updated_at:()=>t("th",{part:I,scope:"col",title:"The date and time each transaction was last updated"},"Updated On")},x={fee:"Fee",payment:"Payment",payout:"Payout",seller_payment_refund:"Seller Payment Refund",dispute_amount_collected:"Dispute Amount Collected",dispute_fee_collected:"Dispute Fee Collected",seller_payment:"Seller Payment",transfer:"Transfer",partner_platform_proceeds_credit:"Partner Platform Proceeds Credit"},A={id:e=>t("td",{part:q(e.id)},e.id),account_id:e=>t("td",{part:q(e.account_id)},e.account_id),payout_id:e=>t("td",{part:q(e.payout_id)},e.payout_id),financial_transaction_id:e=>t("td",{part:q(e.financial_transaction_id)},e.financial_transaction_id),amount:e=>t("td",{part:q(e.amount)},e.formattedPaymentAmount(e.amount)),fee:e=>t("td",{part:q(e.fee)},e.formattedPaymentAmount(e.fee)),net:e=>t("td",{part:q(e.net)},e.formattedPaymentAmount(e.net)),currency:e=>t("td",{part:q(e.currency)},e.currency),description:e=>t("td",{part:q(e.description)},e.description),source_id:e=>t("td",{part:q(e.source_id)},e.source_id),txn_type:e=>t("td",{part:q(e.txn_type)},x[e.txn_type]),created_at:e=>t("td",{part:q(e.created_at)},t("div",{class:"fw-bold"},P(e.created_at,{showDisplayDate:!0})),t("div",{class:"fw-bold"},P(e.created_at,{showTime:!0}))),available_on:e=>t("td",{part:q(e.available_on)},t("div",{class:"fw-bold"},P(e.available_on,{showDisplayDate:!0})),t("div",{class:"fw-bold"},P(e.available_on,{showTime:!0}))),updated_at:e=>t("td",{part:q(e.updated_at)},t("div",{class:"fw-bold"},P(e.updated_at,{showDisplayDate:!0})),t("div",{class:"fw-bold"},P(e.updated_at,{showTime:!0})))},B=class{constructor(t){e(this,t),this.clickEvent=a(this,"click-event"),this.errorEvent=a(this,"error-event"),this.balanceTransactions=[],this.isLoading=!0,this.errorMessage=null,this.paging=c,this.pagingParams={},this.columns="created_at,txn_type,description,amount,fee,net",this.handleClickPrevious=t=>{this.pagingParams={before_cursor:t},this.clickEvent.emit({name:S.previous})},this.handleClickNext=t=>{this.pagingParams={after_cursor:t},this.clickEvent.emit({name:S.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:S.row,data:a})}}componentWillLoad(){this.transactionsTable=new f(this.balanceTransactions,this.columns,O,A),n(),this.analytics=new p(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.payoutId&&this.authToken?(({accountId:t,authToken:e,service:a})=>async({params:s,onSuccess:o,onError:c,final:n})=>{var p;try{const n=await a.fetchPayoutTransactions(t,e,s);n.error?c({error:d(n.error),code:h(null===(p=n.error)||void 0===p?void 0:p.code),severity:i.ERROR}):o({balanceTransactions:n.data.map((t=>new r(t))),pagingInfo:Object.assign({},n.page_info)})}catch(t){const e=h(null==t?void 0:t.code);c({error:d(t),code:e,severity:i.ERROR})}finally{n()}})({accountId:s.accountId,authToken:this.authToken,service:new l})({params:this.requestParams,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="payout-id and auth-token props are required",this.handleError(o.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}get requestParams(){return Object.assign({payout_id:this.payoutId,limit:"15"},this.pagingParams)}render(){return t(D,{key:"a0ff80867bc3c0bf198165229f693d7748ffc7a4"},t(u,{key:"779cc5602f6221e0f704484bf962b72b266d95f8"},t(m,{key:"7b4b56e9712533ba2b50a875d282ef4bd5efdcaf"},t(y,{key:"8ecd93d56bdbdb1417b260dd013315b21958f363"},t(b,{key:"9fa0fea238a9f76c71d5b8fc5443ca2c9e56b13b"},this.transactionsTable.columnData.map((t=>t)))),t(_,{key:"f7d94388eddaf848e4868005e985a1158577c70f"},t(w,{key:"c83742e9e3ecbcdaba29f2aa121ec4c101a55632",columnSpan:this.transactionsTable.columnKeys.length,isLoading:this.isLoading}),t(T,{key:"fa0404328357e11527cff2c3eb15536ee458557b",isEmpty:this.showEmptyState,columnSpan:this.transactionsTable.columnKeys.length}),t(j,{key:"71add0ef95310fd49e403d65c2a23ea8f73c71b6",columnSpan:this.transactionsTable.columnKeys.length,errorMessage:this.errorMessage}),this.showRowData&&this.transactionsTable.rowData.map(((e,a)=>t(v,{"data-test-id":"table-row","data-row-entity-id":this.entityId[a],onClick:this.rowClickHandler},e)))),this.paging&&t(g,{key:"073af8dce5dabb2db604ae50e6ace6a4ace18e6f"},t(k,{key:"3f3906a106b3c41311a0e1309aea779e865bf0f5"},t(C,{key:"85b46ef2a297aab3a450d49dd086ec6e7e1ab027",colSpan:this.transactionsTable.columnData.length},t("pagination-menu",{key:"548131521a5fcf1562b286097635f5f62414a28c",paging:Object.assign(Object.assign({},this.paging),{handleClickPrevious:this.handleClickPrevious,handleClickNext:this.handleClickNext})})))))))}static get watchers(){return{pagingParams:["propChanged"],payoutId:["propChanged"],authToken:["propChanged"]}}};export{B as justifi_payout_transactions_list}
@@ -0,0 +1 @@
1
+ import{r as e,h as a}from"./p-DOjVAAtq.js";import"./p-a6tcNl_T.js";import"./p-HXpYMWUU.js";import"./p-Cjcsf8ku.js";import{I as t,a as s}from"./p-C98BC5W5.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{f as l,p,c}from"./p-lKnUT24T.js";import{e as o,s as r,p as i}from"./p-xDbRW9xn.js";import{S as d}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import"./p-DdMxswn1.js";import"./p-Bgnhf5c9.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";const m=class{constructor(a){e(this,a),this.setParamsOnChange=(e,a)=>{l[e]=a}}componentWillLoad(){Object.entries({status:this.checkoutStatus,payment_mode:this.paymentMode}).forEach((([e,a])=>{a&&(p[e]=a)}))}get checkoutStatusOptions(){return[{label:"All",value:""},{label:"Created",value:t.created},{label:"Completed",value:t.completed},{label:"Attempted",value:t.attempted},{label:"Expired",value:t.expired}]}get checkoutPaymentModeOptions(){return[{label:"All",value:""},{label:"E-commerce",value:s.ecom},{label:"BNPL",value:s.bnpl}]}render(){const e=Object.assign({},l);return a(d,{key:"e68f5bd4687eaad5aae4890d81baec603f72b6de"},a("table-filters-menu",{key:"c09285765839dbfad618bc13f39883e3f11ae991",params:e,clearParams:c,part:o},a("div",{key:"96e32ecba5c64ccda108ceb583a82b1554b347a8",class:"grid-cols-2 gap-3 p-1"},a("div",{key:"7ce51a9f065004c169b577bcdd33af8ad7b01ac2",class:"p-2"},a("form-control-select",{key:"b6dfda04a58f51b989b1dc655df00500071fea98",name:"status",label:"Status",options:this.checkoutStatusOptions,inputHandler:this.setParamsOnChange,defaultValue:this.checkoutStatus||l.status||"",disabled:!!this.checkoutStatus,part:r})),a("div",{key:"4feb8c837611e6d0ec9cad6cb7a9f032db8cbbf5",class:"p-2"},a("form-control-select",{key:"5a2a6c0e21cb62ee792bce703ccdfc9e08a46cc0",name:"payment_mode",label:"Payment Mode",options:this.checkoutPaymentModeOptions,inputHandler:this.setParamsOnChange,defaultValue:this.paymentMode||l.payment_mode||"",disabled:!!this.paymentMode,part:i})))))}};export{m as justifi_checkouts_list_filters}
@@ -1 +1 @@
1
- import{r as t,c as s,h as i}from"./p-DOjVAAtq.js";import{P as o}from"./p-8S_ROmnq.js";import"./p-a6tcNl_T.js";import"./p-HXpYMWUU.js";import{C as r,a as e}from"./p-Cjcsf8ku.js";import{d as p}from"./p-C98BC5W5.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as a,a as h}from"./p-D2muobcE.js";import{E as n}from"./p-CqFjmIng.js";import{c as m,J as c}from"./p-Cqe5a-d3.js";import{m as d}from"./p-DYGIC0QH.js";import"./p-DdZLLkQ5.js";import"./p-Bgnhf5c9.js";import"./p-DdMxswn1.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-DS3KdLWS.js";import"./p-DlT1rYmL.js";const u=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.enableRecordClick=!1,this.errorMessage=null,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){m(),this.analytics=new c(this),this.initializeServices()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeServices()}initializeServices(){this.payoutId&&this.authToken?(this.getPayout=(({id:t,authToken:s,service:i})=>async({onSuccess:o,onError:e})=>{var n;try{const m=await i.fetchPayout(t,s);m.error?e({error:h(m.error),code:a(null===(n=m.error)||void 0===n?void 0:n.code),severity:r.ERROR}):o(new p(m.data))}catch(t){e({error:h(t),code:a(null==t?void 0:t.code),severity:r.ERROR})}})({id:this.payoutId,authToken:this.authToken,service:new o}),this.getPayoutCSV=d({authToken:this.authToken,service:new o})):(this.errorMessage="Failed to load payout details. payoutId or authToken is not provided.",this.errorEvent.emit({message:this.errorMessage,errorCode:e.MISSING_PROPS,severity:r.ERROR}))}render(){return this.errorMessage?n(this.errorMessage):i("payout-details-core",{getPayout:this.getPayout,getPayoutCSV:this.getPayoutCSV,"onError-event":this.handleErrorEvent,enableRecordClick:this.enableRecordClick})}static get watchers(){return{payoutId:["propChanged"],authToken:["propChanged"]}}};export{u as justifi_payout_details}
1
+ import{r as t,c as s,h as i}from"./p-DOjVAAtq.js";import{P as o}from"./p-8S_ROmnq.js";import"./p-a6tcNl_T.js";import"./p-HXpYMWUU.js";import{C as r,a as e}from"./p-Cjcsf8ku.js";import{d as p}from"./p-C98BC5W5.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as a,a as h}from"./p-D2muobcE.js";import{E as n}from"./p-CH8Y3GSr.js";import{c as m,J as c}from"./p-BSyMsqda.js";import{m as d}from"./p-DYGIC0QH.js";import"./p-DdZLLkQ5.js";import"./p-Bgnhf5c9.js";import"./p-DdMxswn1.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-xDbRW9xn.js";import"./p-NMTsmUsG.js";const u=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.enableRecordClick=!1,this.errorMessage=null,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){m(),this.analytics=new c(this),this.initializeServices()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeServices()}initializeServices(){this.payoutId&&this.authToken?(this.getPayout=(({id:t,authToken:s,service:i})=>async({onSuccess:o,onError:e})=>{var n;try{const m=await i.fetchPayout(t,s);m.error?e({error:h(m.error),code:a(null===(n=m.error)||void 0===n?void 0:n.code),severity:r.ERROR}):o(new p(m.data))}catch(t){e({error:h(t),code:a(null==t?void 0:t.code),severity:r.ERROR})}})({id:this.payoutId,authToken:this.authToken,service:new o}),this.getPayoutCSV=d({authToken:this.authToken,service:new o})):(this.errorMessage="Failed to load payout details. payoutId or authToken is not provided.",this.errorEvent.emit({message:this.errorMessage,errorCode:e.MISSING_PROPS,severity:r.ERROR}))}render(){return this.errorMessage?n(this.errorMessage):i("payout-details-core",{getPayout:this.getPayout,getPayoutCSV:this.getPayoutCSV,"onError-event":this.handleErrorEvent,enableRecordClick:this.enableRecordClick})}static get watchers(){return{payoutId:["propChanged"],authToken:["propChanged"]}}};export{u as justifi_payout_details}
@@ -0,0 +1 @@
1
+ import{r as t,c as s,h as a,H as e}from"./p-DOjVAAtq.js";import{a4 as i,a5 as h,a6 as r,a7 as c,a8 as o,l as d}from"./p-xDbRW9xn.js";const f=class{constructor(a){t(this,a),this.formControlInput=s(this,"formControlInput"),this.formControlBlur=s(this,"formControlBlur"),this.isFocused=!1,this.handleFormControlInput=t=>{const s=t.target.getAttribute("name");this.inputHandler(s,this.value),this.formControlInput.emit({name:s,value:this.value})}}get part(){return this.errorText?i:this.isFocused&&this.checked?h:this.checked?r:this.isFocused?c:o}render(){return a(e,{key:"22c8d00ad3ac42efb24eb601f4a56870ff4a546a",class:"form-group d-flex flex-column"},a("div",{key:"35348f22933cc6c02ed7ac802d5fe99c430b425b",class:"form-check"},a("input",{key:"02e95c2f92aabfeda66a9b39c889140a2daac14a",ref:t=>this.radioElement=t,type:"radio",id:`${this.name}-${this.value}`,name:this.name,onFocus:()=>this.isFocused=!0,onBlur:()=>{this.isFocused=!1,this.formControlBlur.emit()},onChange:this.handleFormControlInput,part:this.part,class:this.errorText?"form-check-input is-invalid":"form-check-input",disabled:this.disabled,value:this.value,checked:this.checked}),a("label",{key:"71514aeb916b728b1d5c139db7d8bbf61875565d",class:"form-check-label",htmlFor:`${this.name}-${this.value}`,part:d},this.label)),a("form-control-help-text",{key:"4b80544c0dde725a998d3d4a4ad96e48150a2ebf",helpText:this.helpText,name:this.name}),a("form-control-error-text",{key:"d5b711dc19ec9025989de7833839804df37f66dc",errorText:this.errorText,name:this.name}))}};export{f as form_control_radio}
@@ -1 +1 @@
1
- import{r as l,h as i,H as t}from"./p-DOjVAAtq.js";import{c as e,D as s}from"./p-CqFjmIng.js";import{n as o,s as d,o as v}from"./p-Bgnhf5c9.js";import"./p-DS3KdLWS.js";import"./p-HXpYMWUU.js";const u=class{constructor(i){l(this,i)}render(){return!this.additionalQuestions||o(this.additionalQuestions)?null:i("div",null,i(s,{sectionTitle:"Additional Questions"}),i("div",{class:"d-flex flex-column gap-2 w-100 mt-3"},i("div",{class:"row gy-3"},i("div",{class:"col-12 col-md-6"},i(e,{title:"Business Revenue",value:this.additionalQuestions.business_revenue}),i(e,{title:"Business Payment Volume",value:this.additionalQuestions.business_payment_volume})))))}},a=class{constructor(i){l(this,i)}render(){return this.business?i("div",null,i(s,{sectionTitle:"Business Core Info Details"}),i("div",{class:"d-table gap-2 w-100 mt-3"},i("div",{class:"row gy-3"},i("div",{class:"col-12 col-md-6"},i(e,{title:"Legal Name",value:this.business.legal_name}),i(e,{title:"Doing Business As (DBA)",value:this.business.doing_business_as}),i(e,{title:"Business Classification",value:d(this.business.classification)}),i(e,{title:"Industry",value:this.business.industry})),i("div",{class:"col-12 col-md-6"},i(e,{title:"Tax ID",value:this.business.tax_id}),i(e,{title:"Website URL",value:this.business.website_url}),i(e,{title:"Email Address",value:this.business.email}),i(e,{title:"Phone Number",value:this.business.phone}))))):null}},n=class{constructor(i){l(this,i)}render(){var l,t,d,v,u,a,n;return!this.legalAddress||o(this.legalAddress)?null:i("div",null,i(s,{sectionTitle:"Business Legal Address Details"}),i("div",{class:"d-table gap-2 w-100 mt-3"},i("div",{class:"row gy-3"},i("div",{class:"col-12 col-md-6"},i(e,{title:"Country",value:null===(l=this.legalAddress)||void 0===l?void 0:l.country}),i(e,{title:"Legal Address",value:null===(t=this.legalAddress)||void 0===t?void 0:t.line1}),i(e,{title:"Address Line 2",value:null===(d=this.legalAddress)||void 0===d?void 0:d.line2})),i("div",{class:"col-12 col-md-6"},i(e,{title:"City",value:null===(v=this.legalAddress)||void 0===v?void 0:v.city}),i(e,{title:"State",value:null===(u=this.legalAddress)||void 0===u?void 0:u.state}),i(e,{title:"Postal Code",value:null===(n=null===(a=this.legalAddress)||void 0===a?void 0:a.postal_code)||void 0===n?void 0:n.toString()})))))}},r=class{constructor(i){l(this,i)}render(){var l;return(null===(l=null==this?void 0:this.owners)||void 0===l?void 0:l.length)?i(t,null,!!(null==this?void 0:this.owners.length)&&this.owners.map((l=>{var t,o,d,u,a;return[i(s,{sectionTitle:`Owner ${null==l?void 0:l.name}'s Details`}),i("div",{class:"d-flex flex-column gap-2 w-100 mt-3"},i("div",{class:"col-md-6"},i(e,{title:"Name",value:null==l?void 0:l.name}),i(e,{title:"Title",value:null==l?void 0:l.title}),i(e,{title:"Email",value:null==l?void 0:l.email}),i(e,{title:"Phone",value:null==l?void 0:l.phone}),i(e,{title:"Date of Birth",value:v(new Date(Number(null==l?void 0:l.dob_day),Number(null==l?void 0:l.dob_month),Number(null==l?void 0:l.dob_year)))}),i(e,{title:"Identification Number",value:`********${null==l?void 0:l.ssn_last4}`}),i(e,{title:"Line 1",value:null===(t=null==l?void 0:l.address)||void 0===t?void 0:t.line1}),i(e,{title:"Line 2",value:null===(o=null==l?void 0:l.address)||void 0===o?void 0:o.line2}),i(e,{title:"City",value:null===(d=null==l?void 0:l.address)||void 0===d?void 0:d.city}),i(e,{title:"State",value:null===(u=null==l?void 0:l.address)||void 0===u?void 0:u.state}),i(e,{title:"Zip",value:null===(a=null==l?void 0:l.address)||void 0===a?void 0:a.postal_code})))]}))):null}},c=class{constructor(i){l(this,i)}render(){var l,t,d,u,a,n,r,c,h,m,p,f,g,D;return!this.representative||o(this.representative)?null:i("div",null,i(s,{sectionTitle:"Representative Details"}),i("div",{class:"d-flex flex-column gap-2 w-100 mt-3"},i("div",{class:"row gy-3"},i("div",{class:"col-12 col-md-6"},i(e,{title:"Name",value:null===(l=this.representative)||void 0===l?void 0:l.name}),i(e,{title:"ID",value:null===(t=this.representative)||void 0===t?void 0:t.id}),i(e,{title:"Address",value:null===(u=null===(d=this.representative)||void 0===d?void 0:d.address)||void 0===u?void 0:u.line1}),i(e,{title:"Created At",value:(null===(a=this.representative)||void 0===a?void 0:a.created_at)&&v(null===(n=this.representative)||void 0===n?void 0:n.created_at)})),i("div",{class:"col-12 col-md-6"},i(e,{title:"Title",value:null===(r=this.representative)||void 0===r?void 0:r.title}),i(e,{title:"Is Owner?",value:null===(c=this.representative)||void 0===c?void 0:c.is_owner.toString()}),i(e,{title:"Date Of Birth",value:this.representative&&v(new Date(Number(null===(h=this.representative)||void 0===h?void 0:h.dob_year),Number(null===(m=this.representative)||void 0===m?void 0:m.dob_month)-1,Number(null===(p=this.representative)||void 0===p?void 0:p.dob_day)))}),i(e,{title:"Email",value:null===(f=this.representative)||void 0===f?void 0:f.email}),i(e,{title:"Phone",value:null===(g=this.representative)||void 0===g?void 0:g.phone}),i(e,{title:"Updated At",value:this.representative&&v(null===(D=this.representative)||void 0===D?void 0:D.updated_at)})))))}};export{u as additional_questions_details,a as core_info_details,n as legal_address_details,r as owner_details,c as representative_details}
1
+ import{r as l,h as i,H as t}from"./p-DOjVAAtq.js";import{c as e,D as s}from"./p-CH8Y3GSr.js";import{n as o,s as d,o as v}from"./p-Bgnhf5c9.js";import"./p-xDbRW9xn.js";import"./p-HXpYMWUU.js";const u=class{constructor(i){l(this,i)}render(){return!this.additionalQuestions||o(this.additionalQuestions)?null:i("div",null,i(s,{sectionTitle:"Additional Questions"}),i("div",{class:"d-flex flex-column gap-2 w-100 mt-3"},i("div",{class:"row gy-3"},i("div",{class:"col-12 col-md-6"},i(e,{title:"Business Revenue",value:this.additionalQuestions.business_revenue}),i(e,{title:"Business Payment Volume",value:this.additionalQuestions.business_payment_volume})))))}},a=class{constructor(i){l(this,i)}render(){return this.business?i("div",null,i(s,{sectionTitle:"Business Core Info Details"}),i("div",{class:"d-table gap-2 w-100 mt-3"},i("div",{class:"row gy-3"},i("div",{class:"col-12 col-md-6"},i(e,{title:"Legal Name",value:this.business.legal_name}),i(e,{title:"Doing Business As (DBA)",value:this.business.doing_business_as}),i(e,{title:"Business Classification",value:d(this.business.classification)}),i(e,{title:"Industry",value:this.business.industry})),i("div",{class:"col-12 col-md-6"},i(e,{title:"Tax ID",value:this.business.tax_id}),i(e,{title:"Website URL",value:this.business.website_url}),i(e,{title:"Email Address",value:this.business.email}),i(e,{title:"Phone Number",value:this.business.phone}))))):null}},n=class{constructor(i){l(this,i)}render(){var l,t,d,v,u,a,n;return!this.legalAddress||o(this.legalAddress)?null:i("div",null,i(s,{sectionTitle:"Business Legal Address Details"}),i("div",{class:"d-table gap-2 w-100 mt-3"},i("div",{class:"row gy-3"},i("div",{class:"col-12 col-md-6"},i(e,{title:"Country",value:null===(l=this.legalAddress)||void 0===l?void 0:l.country}),i(e,{title:"Legal Address",value:null===(t=this.legalAddress)||void 0===t?void 0:t.line1}),i(e,{title:"Address Line 2",value:null===(d=this.legalAddress)||void 0===d?void 0:d.line2})),i("div",{class:"col-12 col-md-6"},i(e,{title:"City",value:null===(v=this.legalAddress)||void 0===v?void 0:v.city}),i(e,{title:"State",value:null===(u=this.legalAddress)||void 0===u?void 0:u.state}),i(e,{title:"Postal Code",value:null===(n=null===(a=this.legalAddress)||void 0===a?void 0:a.postal_code)||void 0===n?void 0:n.toString()})))))}},r=class{constructor(i){l(this,i)}render(){var l;return(null===(l=null==this?void 0:this.owners)||void 0===l?void 0:l.length)?i(t,null,!!(null==this?void 0:this.owners.length)&&this.owners.map((l=>{var t,o,d,u,a;return[i(s,{sectionTitle:`Owner ${null==l?void 0:l.name}'s Details`}),i("div",{class:"d-flex flex-column gap-2 w-100 mt-3"},i("div",{class:"col-md-6"},i(e,{title:"Name",value:null==l?void 0:l.name}),i(e,{title:"Title",value:null==l?void 0:l.title}),i(e,{title:"Email",value:null==l?void 0:l.email}),i(e,{title:"Phone",value:null==l?void 0:l.phone}),i(e,{title:"Date of Birth",value:v(new Date(Number(null==l?void 0:l.dob_day),Number(null==l?void 0:l.dob_month),Number(null==l?void 0:l.dob_year)))}),i(e,{title:"Identification Number",value:`********${null==l?void 0:l.ssn_last4}`}),i(e,{title:"Line 1",value:null===(t=null==l?void 0:l.address)||void 0===t?void 0:t.line1}),i(e,{title:"Line 2",value:null===(o=null==l?void 0:l.address)||void 0===o?void 0:o.line2}),i(e,{title:"City",value:null===(d=null==l?void 0:l.address)||void 0===d?void 0:d.city}),i(e,{title:"State",value:null===(u=null==l?void 0:l.address)||void 0===u?void 0:u.state}),i(e,{title:"Zip",value:null===(a=null==l?void 0:l.address)||void 0===a?void 0:a.postal_code})))]}))):null}},c=class{constructor(i){l(this,i)}render(){var l,t,d,u,a,n,r,c,h,m,p,f,g,D;return!this.representative||o(this.representative)?null:i("div",null,i(s,{sectionTitle:"Representative Details"}),i("div",{class:"d-flex flex-column gap-2 w-100 mt-3"},i("div",{class:"row gy-3"},i("div",{class:"col-12 col-md-6"},i(e,{title:"Name",value:null===(l=this.representative)||void 0===l?void 0:l.name}),i(e,{title:"ID",value:null===(t=this.representative)||void 0===t?void 0:t.id}),i(e,{title:"Address",value:null===(u=null===(d=this.representative)||void 0===d?void 0:d.address)||void 0===u?void 0:u.line1}),i(e,{title:"Created At",value:(null===(a=this.representative)||void 0===a?void 0:a.created_at)&&v(null===(n=this.representative)||void 0===n?void 0:n.created_at)})),i("div",{class:"col-12 col-md-6"},i(e,{title:"Title",value:null===(r=this.representative)||void 0===r?void 0:r.title}),i(e,{title:"Is Owner?",value:null===(c=this.representative)||void 0===c?void 0:c.is_owner.toString()}),i(e,{title:"Date Of Birth",value:this.representative&&v(new Date(Number(null===(h=this.representative)||void 0===h?void 0:h.dob_year),Number(null===(m=this.representative)||void 0===m?void 0:m.dob_month)-1,Number(null===(p=this.representative)||void 0===p?void 0:p.dob_day)))}),i(e,{title:"Email",value:null===(f=this.representative)||void 0===f?void 0:f.email}),i(e,{title:"Phone",value:null===(g=this.representative)||void 0===g?void 0:g.phone}),i(e,{title:"Updated At",value:this.representative&&v(null===(D=this.representative)||void 0===D?void 0:D.updated_at)})))))}};export{u as additional_questions_details,a as core_info_details,n as legal_address_details,r as owner_details,c as representative_details}
@@ -1 +1 @@
1
- import{h as s,F as t,r as i,c as e}from"./p-DOjVAAtq.js";import{E as l}from"./p-CqFjmIng.js";import{S as r}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{S as o}from"./p-BCE-dTDp.js";import"./p-DS3KdLWS.js";const n=()=>{const i=()=>s("div",{class:"mt-5"},s(o,{width:"40%",height:"1.5rem"}),s("hr",null),s("div",{class:"row g-3"},s("div",{class:"col-12 col-md-6"},s(o,null),s(o,null),s(o,null)),s("div",{class:"col-12 col-md-6"},s(o,null),s(o,null),s(o,null))));return s(t,null,s(i,null),s(i,null),s(i,null),s(i,null))};var a;!function(s){s.LOADING="loading",s.READY="ready",s.ERROR="error"}(a||(a={}));const d=class{constructor(s){i(this,s),this.errorEvent=e(this,"error-event"),this.renderState=a.LOADING}async componentWillLoad(){this.getBusiness&&this.fetchData()}fetchData(){this.renderState=a.LOADING,this.getBusiness({onSuccess:({business:s})=>{this.business=s,this.renderState=a.READY},onError:({error:s,code:t,severity:i})=>{this.errorMessage=s,this.renderState=a.ERROR,this.errorEvent.emit({errorCode:t,message:s,severity:i})}})}render(){return s(r,null,this.renderState===a.LOADING?s(n,null):this.renderState===a.ERROR?l(this.errorMessage):s("justifi-details",{"error-message":this.errorMessage},s("div",{slot:"detail-sections"},s("core-info-details",{business:this.business}),s("legal-address-details",{legalAddress:this.business.legal_address}),s("representative-details",{representative:this.business.representative}),s("owner-details",{owners:this.business.owners}),s("additional-questions-details",{additionalQuestions:this.business.additional_questions}))))}};export{d as business_details_core}
1
+ import{h as s,F as t,r as i,c as e}from"./p-DOjVAAtq.js";import{E as r}from"./p-CH8Y3GSr.js";import{S as l}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{S as o}from"./p-T2yENPvU.js";import"./p-xDbRW9xn.js";const n=()=>{const i=()=>s("div",{class:"mt-5"},s(o,{width:"40%",height:"1.5rem"}),s("hr",null),s("div",{class:"row g-3"},s("div",{class:"col-12 col-md-6"},s(o,null),s(o,null),s(o,null)),s("div",{class:"col-12 col-md-6"},s(o,null),s(o,null),s(o,null))));return s(t,null,s(i,null),s(i,null),s(i,null),s(i,null))};var a;!function(s){s.LOADING="loading",s.READY="ready",s.ERROR="error"}(a||(a={}));const d=class{constructor(s){i(this,s),this.errorEvent=e(this,"error-event"),this.renderState=a.LOADING}async componentWillLoad(){this.getBusiness&&this.fetchData()}fetchData(){this.renderState=a.LOADING,this.getBusiness({onSuccess:({business:s})=>{this.business=s,this.renderState=a.READY},onError:({error:s,code:t,severity:i})=>{this.errorMessage=s,this.renderState=a.ERROR,this.errorEvent.emit({errorCode:t,message:s,severity:i})}})}render(){return s(l,null,this.renderState===a.LOADING?s(n,null):this.renderState===a.ERROR?r(this.errorMessage):s("justifi-details",{"error-message":this.errorMessage},s("div",{slot:"detail-sections"},s("core-info-details",{business:this.business}),s("legal-address-details",{legalAddress:this.business.legal_address}),s("representative-details",{representative:this.business.representative}),s("owner-details",{owners:this.business.owners}),s("additional-questions-details",{additionalQuestions:this.business.additional_questions}))))}};export{d as business_details_core}
@@ -1 +1 @@
1
- import{r as e,h as a}from"./p-DOjVAAtq.js";import{l as t}from"./p-Bde7dY9t.js";import{f as s,p as d,c as i}from"./p-C2JJBtMc.js";import{f as l,g as c,t as r,h as f,j as p,k as o}from"./p-DS3KdLWS.js";import{S as n}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{c as b,a as m}from"./p-Bgnhf5c9.js";import"./p-BFTU3MAI.js";import"./p-DdMxswn1.js";import"./p-HXpYMWUU.js";const u=class{constructor(a){e(this,a),this.setParamsOnChange=(e,a)=>{s[e]=a},this.handleDateInput=(e,a)=>{const t=b(a,{setExactTime:!0});this.setParamsOnChange(e,t)}}componentWillLoad(){this.debouncedSetParamsOnChange=t.debounce(this.setParamsOnChange,300),Object.entries({payment_id:this.paymentId,terminal_id:this.terminalId,payment_status:this.paymentStatus,created_after:this.createdAfter,created_before:this.createdBefore}).forEach((([e,a])=>{a&&(d[e]=a)}))}get paymentStatusOptions(){return[{label:"All",value:""},{label:"Pending",value:"pending"},{label:"Authorized",value:"authorized"},{label:"Succeeded",value:"succeeded"},{label:"Failed",value:"failed"},{label:"Disputed",value:"disputed"},{label:"Refunded",value:"refunded"}]}render(){const e=Object.assign({},s);return a(n,{key:"ef06ca5d0df145fd2c7f82fb164a4098b1654e7c"},a("table-filters-menu",{key:"32739ded26b3a11092e5237d363b5b280c859f0c",params:e,clearParams:i,part:l},a("div",{key:"2e123d80c45a92944811b9124e13f6cfc2e11cc0",class:"grid-cols-2 gap-3 p-1"},a("div",{key:"d9e5facfe21e0896a4f0542a12592f11c54c0bc8",class:"p-2"},a("form-control-text",{key:"084cec1084b8be08a5520891479aa4b4ab168ab7",name:"payment_id",label:"Payment ID",inputHandler:this.debouncedSetParamsOnChange,defaultValue:this.paymentId||s.payment_id,disabled:!!this.paymentId,part:c})),a("div",{key:"c86027af0c49931a34e31e185cfc3c0d1093caf9",class:"p-2"},a("form-control-text",{key:"694b5ddd5f90af1d73320cb6e29ce2e3aafce0b8",name:"terminal_id",label:"Terminal ID",inputHandler:this.debouncedSetParamsOnChange,defaultValue:this.terminalId||s.terminal_id,disabled:!!this.terminalId,part:r})),a("div",{key:"4d2e5e1a0e76a58be68255e08a2a4f09dbbbc481",class:"p-2"},a("form-control-select",{key:"8832664cad351841c8f6197301349513c5362cf5",name:"payment_status",label:"Status",options:this.paymentStatusOptions,inputHandler:this.setParamsOnChange,defaultValue:this.paymentStatus||s.payment_status||"",disabled:!!this.paymentStatus,part:f})),a("div",{key:"7a5824830bfde1740e996aa7aa0dbe72c0e76c8f",class:"p-2"},a("form-control-date",{key:"df36ada9eaa97c0a8dcfa863a479dc10a8b019e1",name:"created_after",label:"Created After",inputHandler:this.handleDateInput,defaultValue:m(this.createdAfter,{showInputDateTime:!0})||m(s.created_after,{showInputDateTime:!0}),showTime:!0,disabled:!!this.createdAfter,part:p})),a("div",{key:"1858bed50336ac5db3f316070ef6cdaa49a8d539",class:"p-2"},a("form-control-date",{key:"49ce430e831a61e4b0d31268a7be22a137138f23",name:"created_before",label:"Created Before",inputHandler:this.handleDateInput,defaultValue:m(this.createdBefore,{showInputDateTime:!0})||m(s.created_before,{showInputDateTime:!0}),showTime:!0,disabled:!!this.createdBefore,part:o})))))}};export{u as justifi_payments_list_filters}
1
+ import{r as e,h as a}from"./p-DOjVAAtq.js";import{l as t}from"./p-Bde7dY9t.js";import{f as s,p as d,c as i}from"./p-C2JJBtMc.js";import{f as l,g as f,t as r,h as c,j as p,k as o}from"./p-xDbRW9xn.js";import{S as n}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{c as b,a as m}from"./p-Bgnhf5c9.js";import"./p-BFTU3MAI.js";import"./p-DdMxswn1.js";import"./p-HXpYMWUU.js";const u=class{constructor(a){e(this,a),this.setParamsOnChange=(e,a)=>{s[e]=a},this.handleDateInput=(e,a)=>{const t=b(a,{setExactTime:!0});this.setParamsOnChange(e,t)}}componentWillLoad(){this.debouncedSetParamsOnChange=t.debounce(this.setParamsOnChange,300),Object.entries({payment_id:this.paymentId,terminal_id:this.terminalId,payment_status:this.paymentStatus,created_after:this.createdAfter,created_before:this.createdBefore}).forEach((([e,a])=>{a&&(d[e]=a)}))}get paymentStatusOptions(){return[{label:"All",value:""},{label:"Pending",value:"pending"},{label:"Authorized",value:"authorized"},{label:"Succeeded",value:"succeeded"},{label:"Failed",value:"failed"},{label:"Disputed",value:"disputed"},{label:"Refunded",value:"refunded"}]}render(){const e=Object.assign({},s);return a(n,{key:"a7558557fc2568a6d2a1b440b421d534f62a6163"},a("table-filters-menu",{key:"4e185e33a7835795b6858ec8419fc2ba8ab64a9d",params:e,clearParams:i,part:l},a("div",{key:"619b459dbd961cc2c5eb192f830f51f123f59604",class:"grid-cols-2 gap-3 p-1"},a("div",{key:"53e8c53aa1f1aff0ecebc9ebb1f13bff2a053795",class:"p-2"},a("form-control-text",{key:"04698a7742b278abbb720d4884f041509f5ac8ad",name:"payment_id",label:"Payment ID",inputHandler:this.debouncedSetParamsOnChange,defaultValue:this.paymentId||s.payment_id,disabled:!!this.paymentId,part:f})),a("div",{key:"967ef74a4642cfd758801e5f942a20fd7375fbe3",class:"p-2"},a("form-control-text",{key:"3ca21f2ca7b45bba64a1d6d734be9beaf00c14fe",name:"terminal_id",label:"Terminal ID",inputHandler:this.debouncedSetParamsOnChange,defaultValue:this.terminalId||s.terminal_id,disabled:!!this.terminalId,part:r})),a("div",{key:"a5ec7ca0881d8d1bf2f0efa2c84270d3cd68832f",class:"p-2"},a("form-control-select",{key:"fd2d57c06e46ee77493ccfdc81927caa41c4d867",name:"payment_status",label:"Status",options:this.paymentStatusOptions,inputHandler:this.setParamsOnChange,defaultValue:this.paymentStatus||s.payment_status||"",disabled:!!this.paymentStatus,part:c})),a("div",{key:"b272738dc727933cb4f21405ae222973aadde76d",class:"p-2"},a("form-control-date",{key:"3cfb486fc05e023a3eb9960de13e0bbf2d179d79",name:"created_after",label:"Created After",inputHandler:this.handleDateInput,defaultValue:m(this.createdAfter,{showInputDateTime:!0})||m(s.created_after,{showInputDateTime:!0}),showTime:!0,disabled:!!this.createdAfter,part:p})),a("div",{key:"008a9c18830cadcf0da9d971077e8efd6ca9a714",class:"p-2"},a("form-control-date",{key:"a8805f485e37268df0897c6d5eff19e9c2324542",name:"created_before",label:"Created Before",inputHandler:this.handleDateInput,defaultValue:m(this.createdBefore,{showInputDateTime:!0})||m(s.created_before,{showInputDateTime:!0}),showTime:!0,disabled:!!this.createdBefore,part:o})))))}};export{u as justifi_payments_list_filters}
@@ -0,0 +1 @@
1
+ import{r as e,c as t,h as a,H as i}from"./p-DOjVAAtq.js";import{c as s,F as c}from"./p-DiJD6Iqx.js";import{k as d,l as r,m as n,n as l,q as o,y as h}from"./p-PSJOKMWp.js";import{r as f,aw as b}from"./p-xDbRW9xn.js";import{S as m}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{S as p}from"./p-T2yENPvU.js";import{c as u,J as y}from"./p-BSyMsqda.js";import{w as v,c as k}from"./p-a6tcNl_T.js";import{P as g}from"./p-DCIW8z1f.js";import{H as j}from"./p-BoQ6_4Ks.js";import{n as _}from"./p-BnjCmwMr.js";import{S as w}from"./p-BX8GieXu.js";import{B as x}from"./p-C9EQ459H.js";import{c as V}from"./p-DGsXKF67.js";import"./p-BFTU3MAI.js";import"./p-yH3TC3ZQ.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-NMTsmUsG.js";import"./p-DdZLLkQ5.js";import"./p-Bgnhf5c9.js";import"./p-HXpYMWUU.js";import"./p-Cjcsf8ku.js";import"./p-C98BC5W5.js";import"./p-BH0Xfn-F.js";import"./p-CLHwhyvu.js";import"./p-DdMxswn1.js";const H=class{constructor(a){e(this,a),this.radioClick=t(this,"radio-click"),this.checked=!1,this.hidden=!1,this.handleClick=()=>{this.radioClick.emit(this.value)}}render(){return a(m,{key:"b0501b66bcfdd697d88c01835b8f97fb2c0861ab"},a("div",{key:"ada4dda7868086b1ea4cadd6c8824f87d3cb2301",class:`radio-list-item p-3 ${this.class||""}`,part:f,onClick:this.handleClick,hidden:this.hidden},a("form-control-radio",{key:"72c6d07dd2a664ca6bd2be9b446584d7344bc2b0",name:this.name,value:this.value,checked:this.checked,label:this.label,inputHandler:()=>null})))}},C=class{constructor(t){e(this,t),this.errors={},this.inputHandler=(e,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:t}))}}componentWillLoad(){this.formController=new c(s({name:h.required("Enter full name"),address_line1:o.nullable(),address_line2:l.nullable(),address_city:n.nullable(),address_state:r.nullable(),address_postal_code:d.nullable()}))}componentDidLoad(){this.formController.values.subscribe((e=>this.billingInfo=Object.assign({},e))),this.formController.errors.subscribe((e=>{this.errors=Object.assign({},e)}))}async getValues(){return this.formController.values.getValue()}async fill(e){this.formController.setInitialValues(e)}async validate(){return{isValid:await this.formController.validate(),errors:this.formController.errors.getValue()}}render(){const e=this.formController.getInitialValues();return a(m,{key:"2429d26c0338ec1732337718ca4e7693f30a0f8a"},a("div",{key:"774911ce7d594bc1f44c15060136356acc349cbb",part:b,class:"mt-4"},a("form",{key:"5c93f5a6af372fdf24a20870ef6ae69f554efec4"},a("fieldset",{key:"38ac8adb2592b7799825d63c4a8e9bde61510cd0"},this.legend&&a("legend",{key:"abbce27bb8ae2ef564b8aeef755050fc096cb81f"},this.legend),a("div",{key:"5a0350fe7f635600d746f1f3979757a045cc09f0",class:"row gy-3"},a("div",{key:"71aac995514b7fea7254204df825eb8b381e21c7",class:"col-12"},a("form-control-text",{key:"f33d26eddfc9f3d307e05a48afec9472213b2822",name:"name",label:"Full Name",defaultValue:e.name,errorText:this.errors.name,inputHandler:this.inputHandler})))))))}},O=e=>{const{isReady:t}=e;return t?null:a("div",{class:"container-fluid p-0"},a("div",{class:"row mb-3"},a("div",{class:"col-12 align-content-end"},a(p,{height:"18px",width:"120px"}),a(p,{height:"36px"}))),a("div",{class:"row"},a("div",{class:"col-12 align-content-end"},a(p,{height:"18px",width:"110px"}),a(p,{height:"36px"}))))},N=class{constructor(t){e(this,t),this.isReady=!1}async componentWillLoad(){await v(),this.iframeOrigin=k.iframeOrigin,u(),this.analytics=new y(this)}componentDidRender(){Promise.all([this.accountNumberIframeElement,this.routingNumberIframeElement].map((e=>new Promise((t=>{e.addEventListener("iframeLoaded",(()=>{t()}))}))))).then((()=>{this.isReady=!0}))}disconnectedCallback(){var e;null===(e=this.analytics)||void 0===e||e.cleanup()}async validate(){const e=await this.accountNumberIframeElement.validate(),t=await this.routingNumberIframeElement.validate();return e&&t}async tokenize({clientId:e,paymentMethodMetadata:t,account:a}){return this.accountNumberIframeElement.tokenize(e,t,a)}render(){return a(m,{key:"a2fd28c8b8202e0d702d02761cbcf3f568298265"},a(O,{key:"6777d110d3ccf3a688a763687c7087a3520643ac",isReady:this.isReady}),a("hidden-input",{key:"513e1cdaaf464a741d4312a6d359c4af665e0ade"}),a("div",{key:"2b4e473c7bb062a78148537d2cad02caf503330d",class:"container-fluid p-0",style:{opacity:this.isReady?"1":"0",height:this.isReady?"auto":"0"}},a("div",{key:"e706151f3e04835efab49fc0fb7a48f4657ab2c4",class:"row mb-3"},a("iframe-input",{key:"a70e0deac68d04f9ffa37790c33d801cfce8dc46",inputId:"accountNumber",ref:e=>this.accountNumberIframeElement=e,label:"Account Number",iframeOrigin:`${this.iframeOrigin}/v2/accountNumber`})),a("div",{key:"3f488f86388b2fc797c49ddc81c7de3a815ca74f",class:"row"},a("iframe-input",{key:"a09d3cec373c5bab5b38ebc090724178e65d2de2",inputId:"routingNumber",ref:e=>this.routingNumberIframeElement=e,label:"Routing Number",iframeOrigin:`${this.iframeOrigin}/v2/routingNumber`}))))}},L=class{constructor(t){e(this,t)}get showSimpleCardBillingForm(){return this.paymentMethodType===g.NEW_CARD&&this.hideCardBillingForm}get showSimpleBankAccountBillingForm(){return this.paymentMethodType===g.NEW_BANK_ACCOUNT&&this.hideBankAccountBillingForm}async getValues(){var e;return null===(e=this.selectedFormRef)||void 0===e?void 0:e.getValues()}async fill(e){var t;null===(t=this.selectedFormRef)||void 0===t||t.fill(e)}async validate(){var e;return null===(e=this.selectedFormRef)||void 0===e?void 0:e.validate()}render(){return a(i,null,a(this.showSimpleBankAccountBillingForm?"justifi-bank-account-billing-form-simple":this.showSimpleCardBillingForm?"justifi-card-billing-form-simple":"justifi-billing-form-full",{legend:this.legend,ref:e=>this.selectedFormRef=e}))}},M=class{constructor(t){e(this,t),this.errors={},this.inputHandler=(e,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:t}))}}componentWillLoad(){this.formController=new c(s({name:h.required("Enter full name"),address_line1:o.required("Enter street address"),address_line2:l.nullable(),address_city:n.required("Enter city"),address_state:r.required("Select state"),address_postal_code:d.required("Enter postal code")})),this.formController.values.subscribe((e=>this.billingInfo=Object.assign({},e))),this.formController.errors.subscribe((e=>{this.errors=Object.assign({},e)}))}async getValues(){return this.formController.values.getValue()}async fill(e){this.formController.setInitialValues(e)}async validate(){return{isValid:await this.formController.validate(),errors:this.formController.errors.getValue()}}render(){if(!this.formController)return null;const e=this.formController.getInitialValues();return a(m,null,a("div",{part:b,class:"mt-4"},a(j,{text:"Billing address",class:"fs-6 fw-bold lh-lg mb-4"}),a("form",null,a("fieldset",null,this.legend&&a("legend",null,this.legend),a("div",{class:"row gy-3"},a("div",{class:"col-12"},a("form-control-text",{name:"name",label:"Full Name",defaultValue:e.name,errorText:this.errors.name,inputHandler:this.inputHandler})),a("div",{class:"col-12"},a("form-control-text",{name:"address_line1",label:"Street Address",defaultValue:e.address_line1,errorText:this.errors.address_line1,inputHandler:this.inputHandler})),a("div",{class:"col-12"},a("form-control-text",{name:"address_line2",label:"Apartment, Suite, etc. (optional)",defaultValue:e.address_line2,errorText:this.errors.address_line2,inputHandler:this.inputHandler})),a("div",{class:"col-12"},a("form-control-text",{name:"address_city",label:"City",defaultValue:e.address_city,errorText:this.errors.address_city,inputHandler:this.inputHandler})),a("div",{class:"col-12"},a("form-control-select",{name:"address_state",label:"State",options:w,defaultValue:e.address_state,errorText:this.errors.address_state,inputHandler:this.inputHandler})),a("div",{class:"col-12"},a("form-control-text",{name:"address_postal_code",label:"ZIP",defaultValue:e.address_postal_code,errorText:this.errors.address_postal_code,inputHandler:this.inputHandler,maxLength:5,keyDownHandler:_})))))))}},B=class{constructor(t){e(this,t),this.variant="primary",this.type="button"}render(){return a(m,{key:"7c146b9ccaf8c4c37adde6c8af054dc4796d78bd"},a(x,{key:"879d05664b808abcbc32a38bc98fcd673dba0dea",variant:this.variant,isLoading:this.isLoading,clickHandler:this.clickHandler,class:this.class,type:this.type,disabled:this.disabled,style:this.customStyle},this.text))}},D=class{constructor(t){e(this,t),this.errors={},this.inputHandler=(e,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:t}))}}componentWillLoad(){this.formController=new c(s({name:h.nullable(),address_line1:o.nullable(),address_line2:l.nullable(),address_city:n.nullable(),address_state:r.nullable(),address_postal_code:d.required("Enter postal code")}))}componentDidLoad(){this.formController.values.subscribe((e=>this.billingInfo=Object.assign({},e))),this.formController.errors.subscribe((e=>{this.errors=Object.assign({},e)}))}async getValues(){return this.formController.values.getValue()}async fill(e){this.formController.setInitialValues(e)}async validate(){return{isValid:await this.formController.validate(),errors:this.formController.errors.getValue()}}render(){const e=this.formController.getInitialValues();return a(m,{key:"2523873a34180694357ab780bd4b9768f9ea267d"},a("div",{key:"30204a976bba8a843830a905cec86d5aaf486f30",part:b},a("form",{key:"479e65b39fbecc80ba6281648bd390c4cd2a688e"},a("fieldset",{key:"93613aa83561aaba46efff4e6d64e240e1ddbc84"},this.legend&&a("legend",{key:"4d6da7c78c5b1a84bc4b37dfca80d9c7f0be462f"},this.legend),a("div",{key:"11259470415c62c15c0ef9217f91f4d6b5c8651b",class:"row gy-3"},a("div",{key:"2b85b5b820991faee8d8b14c121a69ab4974da98",class:"col-12"},a("form-control-text",{key:"d7632e0d32832491bfdf911ae45e67efe0ec6555",name:"address_postal_code",label:"ZIP",defaultValue:e.address_postal_code,errorText:this.errors.address_postal_code,inputHandler:this.inputHandler,maxLength:5,keyDownHandler:_})))))))}},S=e=>{const{isReady:t}=e;return t?null:a("div",{class:"container-fluid p-0"},a("div",{class:"mb-3"},a(p,{height:"18px",width:"100px"}),a(p,{height:"36px"})),a("div",{class:"row"},a("div",{class:"col-4 align-content-end"},a(p,{height:"18px",width:"80px"}),a(p,{height:"36px"})),a("div",{class:"col-4 align-content-end"},a(p,{height:"36px"})),a("div",{class:"col-4 align-content-end"},a(p,{height:"18px",width:"30px"}),a(p,{height:"36px"}))))},I=class{constructor(t){e(this,t),this.isReady=!1}async componentWillLoad(){await v(),this.iframeOrigin=k.iframeOrigin,u(),this.analytics=new y(this)}componentDidRender(){Promise.all([this.cardNumberIframeElement,this.expirationMonthIframeElement,this.expirationYearIframeElement,this.cvvIframeElement].map((e=>new Promise((t=>{e.addEventListener("iframeLoaded",(()=>{t()}))}))))).then((()=>{this.isReady=!0}))}disconnectedCallback(){var e;null===(e=this.analytics)||void 0===e||e.cleanup()}async validate(){const e=await this.cardNumberIframeElement.validate(),t=await this.expirationMonthIframeElement.validate(),a=await this.expirationYearIframeElement.validate(),i=await this.cvvIframeElement.validate();return e&&t&&a&&i}async tokenize({clientId:e,paymentMethodMetadata:t,account:a}){return this.cardNumberIframeElement.tokenize(e,t,a)}render(){return a(m,{key:"64d9bda2ce54aa06788509ae294bcb1eefdb173a"},a(S,{key:"a1f233464393512652fc37a31b769bb9f48f3797",isReady:this.isReady}),a("hidden-input",{key:"4405ec6e9a510f670a137d33c83a5ad38a19a0aa"}),a("div",{key:"e704d33d8b3cbcd55798afb537b2b16d37d0077d",class:"container-fluid p-0",style:{opacity:this.isReady?"1":"0",height:this.isReady?"auto":"0"}},a("div",{key:"c519dafa0657af1372836a2a30301849f2e422b3",class:"mb-3"},a("iframe-input",{key:"6c6a0154ed62e0e684784ff0f327e3bc282da10c",inputId:"cardNumber",ref:e=>this.cardNumberIframeElement=e,label:"Card Number",iframeOrigin:`${this.iframeOrigin}/v2/cardNumber`})),a("div",{key:"7efcb6e9fed504ea8f0470f55b8c48b7d82b537b",class:"row"},a("div",{key:"e216e57f82d04325cedeca9f3945285ab8675c7d",class:"col-4 align-content-end"},a("iframe-input",{key:"c3ffef01705152180c66adaf482e67a1d2f114e9",inputId:"expirationMonth",ref:e=>this.expirationMonthIframeElement=e,label:"Expiration",iframeOrigin:`${this.iframeOrigin}/v2/expirationMonth`})),a("div",{key:"97666cb9d9e4b272c033913527c4b6a60b6067c5",class:"col-4 align-content-end"},a("iframe-input",{key:"4d2f7f56f2a0d5717776c6ef164eef5f7dbc4d8d",inputId:"expirationYear",ref:e=>this.expirationYearIframeElement=e,label:"",iframeOrigin:`${this.iframeOrigin}/v2/expirationYear`})),a("div",{key:"ecc6fff75106b265a7cb00febef40a7b14651a0a",class:"col-4 align-content-end"},a("iframe-input",{key:"9a756344f1d47f69c0702b57d15d66a658b57e3d",inputId:"CVV",ref:e=>this.cvvIframeElement=e,label:"CVV",iframeOrigin:`${this.iframeOrigin}/v2/CVV`})))))}},T=class{constructor(a){e(this,a),this.checkboxChanged=t(this,"checkboxChanged"),this.label="Save New Payment Method",this.isChecked=!1,this.handleCheckboxChange=(e,t)=>{this.isChecked=t,V.savePaymentMethod=t,this.checkboxChanged.emit(this.isChecked)}}render(){return a(m,{key:"9aa9ce812c0cb2fdc809c47060ed150903ad7cd5"},a("form-control-checkbox",{key:"596bc9a145e363c751c8610f4b9f23ad31dab299",label:this.label||"Save New Payment Method",name:"saveNewPaymentMethod",checked:this.isChecked,inputHandler:this.handleCheckboxChange}))}};export{C as justifi_bank_account_billing_form_simple,N as justifi_bank_account_form,L as justifi_billing_form,M as justifi_billing_form_full,B as justifi_button,D as justifi_card_billing_form_simple,I as justifi_card_form,H as justifi_radio_list_item,T as justifi_save_new_payment_method}
@@ -1 +1 @@
1
- import{h as s,r as t,c as i}from"./p-DOjVAAtq.js";import{A as e}from"./p-DdZLLkQ5.js";import{C as r,a as o}from"./p-Cjcsf8ku.js";import"./p-C98BC5W5.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as a,a as n}from"./p-D2muobcE.js";import{c,J as l}from"./p-Cqe5a-d3.js";import{c as h}from"./p-DrrHSa75.js";import{p as d,f as p,r as u,j as v}from"./p-Bgnhf5c9.js";import{v as m,i as f,a as y,H as j}from"./p-C4AUlhx6.js";import{z as _,A as g}from"./p-DS3KdLWS.js";import{S as C}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{S as k}from"./p-BCE-dTDp.js";import"./p-a6tcNl_T.js";import"./p-DdMxswn1.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-DlT1rYmL.js";import"./p-DCIW8z1f.js";import"./p-HXpYMWUU.js";const w=e();class T{async fetchQuote(s,t){return w.post({endpoint:"insurance/quotes",body:t,authToken:s})}async toggleCoverage(s,t,i){return w.post({endpoint:`insurance/quotes/${t}/toggle`,body:i,authToken:s})}}const b=()=>s("div",{class:"row gap-3"},s("div",{class:"col-12"},s(k,{width:"35%",height:"30px"})),s("div",{class:"col-12"},s(k,{width:"70%"})),s("div",{class:"col-12"},s(k,{width:"40%"})),s("div",{class:"col-12"},s(k,{width:"40%"})),s("div",{class:"col-12"},s(k,{width:"100%"})),s("div",{class:"col-12"},s(k,{width:"80%"}))),D=class{constructor(s){t(this,s),this.insuranceUpdated=i(this,"insurance-updated"),this.errorEvent=i(this,"error-event"),this.isLoading=!0}async validate(){return m()}processHTMLContent(s){return d(s,[s=>u(s,"style"),s=>v(s,"a","part",_),s=>v(s,"p","part",_)])}componentWillLoad(){c(),this.analytics=new l(this),this.initializeServiceMethods(),this.getQuote&&this.fetchData()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}initializeServiceMethods(){const s=this.authToken||h.authToken;if(!s)return void this.errorEvent.emit({errorCode:o.MISSING_PROPS,message:"Missing authToken",severity:r.ERROR});const t={authToken:s,service:new T};this.getQuote=(({authToken:s,service:t})=>async({payload:i,onSuccess:e,onError:o})=>{var c;try{const l=await t.fetchQuote(s,i);if(l.error)return o({error:n(l.error),code:a(null===(c=l.error)||void 0===c?void 0:c.code),severity:r.ERROR});e({quote:l.data})}catch(s){const t=a(null==s?void 0:s.code);return o({error:s.message||s,code:t,severity:r.ERROR})}})(t),this.toggleCoverage=(({authToken:s,service:t})=>async({quoteId:i,payload:e,onSuccess:o,onError:c})=>{var l;try{const h=await t.toggleCoverage(s,i,e);if(h.error)return c({error:n(h.error),code:a(null===(l=h.error)||void 0===l?void 0:l.code),severity:r.ERROR});o({quote:h.data})}catch(s){const t=a(null==s?void 0:s.code);return c({error:s.message||s,code:t,severity:r.ERROR})}})(t)}fetchData(){this.isLoading=!0,this.getQuote({payload:{checkout_id:this.checkoutId||h.checkoutId,policy_type:"season_interruption",primary_identity:{state:this.primaryIdentityState,email:this.primaryIdentityEmailAddress,first_name:this.primaryIdentityFirstName,last_name:this.primaryIdentityLastName,postal_code:this.primaryIdentityPostalCode,country:this.primaryIdentityCountry},policy_attributes:{insurable_amount:this.policyAttributesInsurableAmount,start_date:this.policyAttributesStartDate,end_date:this.policyAttributesEndDate,covered_identity:{first_name:this.coveredIdentityFirstName,last_name:this.coveredIdentityLastName}}},onSuccess:({quote:s})=>{this.quote=s,this.quote.product.description=this.processHTMLContent(this.quote.product.description),this.quote.product.legal_disclaimer=this.processHTMLContent(this.quote.product.legal_disclaimer),f[s.policy_type]=s.accepted,this.isLoading=!1},onError:({error:s,code:t,severity:i})=>{this.isLoading=!1,this.errorEvent.emit({errorCode:t,message:s,severity:i})}})}onChangeHandler(s,t){this.accepted=t,y[this.quote.policy_type]=!1,this.toggleCoverage({quoteId:this.quote.id,payload:{accepted:this.accepted},onSuccess:()=>{this.insuranceUpdated.emit(),f[this.quote.policy_type]=this.accepted},onError:({error:s,code:t,severity:i})=>{this.errorEvent.emit({errorCode:t,message:s,severity:i})}})}get error(){var s;return y[null===(s=this.quote)||void 0===s?void 0:s.policy_type]}render(){var t,i,e,r;return h&&!1===h.insuranceEnabled?(console.warn("[justifi-season-interruption-insurance] Insurance is disabled for this checkout (payment_settings.insurance_payments=false)."),null):s(C,null,this.isLoading?s(b,null):s("div",null,s(j,{text:null===(t=this.quote)||void 0===t?void 0:t.product.title,class:"fs-5 fw-bold pb-3"}),s("small",{part:_,innerHTML:null===(i=this.quote)||void 0===i?void 0:i.product.description}),s("form-control-radio",{label:`Accept coverage for ${p(null===(e=this.quote)||void 0===e?void 0:e.total_cents)}`,name:"opt-in",value:"true",checked:"true"===this.accepted,inputHandler:this.onChangeHandler.bind(this),errorText:this.error?" ":void 0}),s("form-control-radio",{label:"Decline coverage",name:"opt-in",value:"false",checked:"false"===this.accepted,inputHandler:this.onChangeHandler.bind(this),errorText:this.error?" ":void 0}),s("div",{class:"invalid-feedback",style:{display:this.error?"block":"none"},part:g},"Please select an option"),s("small",{part:_,innerHTML:null===(r=this.quote)||void 0===r?void 0:r.product.legal_disclaimer})))}};export{D as justifi_season_interruption_insurance}
1
+ import{h as s,r as t,c as i}from"./p-DOjVAAtq.js";import{A as e}from"./p-DdZLLkQ5.js";import{C as r,a as o}from"./p-Cjcsf8ku.js";import"./p-C98BC5W5.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as a,a as n}from"./p-D2muobcE.js";import{c,J as l}from"./p-BSyMsqda.js";import{c as h}from"./p-DGsXKF67.js";import{p as d,f as p,r as u,j as v}from"./p-Bgnhf5c9.js";import{v as m,i as y,a as f,H as j}from"./p-wQgEEOq_.js";import{D as _,E as g}from"./p-xDbRW9xn.js";import{S as k}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{S as w}from"./p-T2yENPvU.js";import"./p-a6tcNl_T.js";import"./p-DdMxswn1.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-NMTsmUsG.js";import"./p-DCIW8z1f.js";import"./p-HXpYMWUU.js";const C=e();class b{async fetchQuote(s,t){return C.post({endpoint:"insurance/quotes",body:t,authToken:s})}async toggleCoverage(s,t,i){return C.post({endpoint:`insurance/quotes/${t}/toggle`,body:i,authToken:s})}}const T=()=>s("div",{class:"row gap-3"},s("div",{class:"col-12"},s(w,{width:"35%",height:"30px"})),s("div",{class:"col-12"},s(w,{width:"70%"})),s("div",{class:"col-12"},s(w,{width:"40%"})),s("div",{class:"col-12"},s(w,{width:"40%"})),s("div",{class:"col-12"},s(w,{width:"100%"})),s("div",{class:"col-12"},s(w,{width:"80%"}))),D=class{constructor(s){t(this,s),this.insuranceUpdated=i(this,"insurance-updated"),this.errorEvent=i(this,"error-event"),this.isLoading=!0}async validate(){return m()}processHTMLContent(s){return d(s,[s=>u(s,"style"),s=>v(s,"a","part",_),s=>v(s,"p","part",_)])}componentWillLoad(){c(),this.analytics=new l(this),this.initializeServiceMethods(),this.getQuote&&this.fetchData()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}initializeServiceMethods(){const s=this.authToken||h.authToken;if(!s)return void this.errorEvent.emit({errorCode:o.MISSING_PROPS,message:"Missing authToken",severity:r.ERROR});const t={authToken:s,service:new b};this.getQuote=(({authToken:s,service:t})=>async({payload:i,onSuccess:e,onError:o})=>{var c;try{const l=await t.fetchQuote(s,i);if(l.error)return o({error:n(l.error),code:a(null===(c=l.error)||void 0===c?void 0:c.code),severity:r.ERROR});e({quote:l.data})}catch(s){const t=a(null==s?void 0:s.code);return o({error:s.message||s,code:t,severity:r.ERROR})}})(t),this.toggleCoverage=(({authToken:s,service:t})=>async({quoteId:i,payload:e,onSuccess:o,onError:c})=>{var l;try{const h=await t.toggleCoverage(s,i,e);if(h.error)return c({error:n(h.error),code:a(null===(l=h.error)||void 0===l?void 0:l.code),severity:r.ERROR});o({quote:h.data})}catch(s){const t=a(null==s?void 0:s.code);return c({error:s.message||s,code:t,severity:r.ERROR})}})(t)}fetchData(){this.isLoading=!0,this.getQuote({payload:{checkout_id:this.checkoutId||h.checkoutId,policy_type:"season_interruption",primary_identity:{state:this.primaryIdentityState,email:this.primaryIdentityEmailAddress,first_name:this.primaryIdentityFirstName,last_name:this.primaryIdentityLastName,postal_code:this.primaryIdentityPostalCode,country:this.primaryIdentityCountry},policy_attributes:{insurable_amount:this.policyAttributesInsurableAmount,start_date:this.policyAttributesStartDate,end_date:this.policyAttributesEndDate,covered_identity:{first_name:this.coveredIdentityFirstName,last_name:this.coveredIdentityLastName}}},onSuccess:({quote:s})=>{this.quote=s,this.quote.product.description=this.processHTMLContent(this.quote.product.description),this.quote.product.legal_disclaimer=this.processHTMLContent(this.quote.product.legal_disclaimer),y[s.policy_type]=s.accepted,this.isLoading=!1},onError:({error:s,code:t,severity:i})=>{this.isLoading=!1,this.errorEvent.emit({errorCode:t,message:s,severity:i})}})}onChangeHandler(s,t){this.accepted=t,f[this.quote.policy_type]=!1,this.toggleCoverage({quoteId:this.quote.id,payload:{accepted:this.accepted},onSuccess:()=>{this.insuranceUpdated.emit(),y[this.quote.policy_type]=this.accepted},onError:({error:s,code:t,severity:i})=>{this.errorEvent.emit({errorCode:t,message:s,severity:i})}})}get error(){var s;return f[null===(s=this.quote)||void 0===s?void 0:s.policy_type]}render(){var t,i,e,r;return h&&!1===h.insuranceEnabled?(console.warn("[justifi-season-interruption-insurance] Insurance is disabled for this checkout (payment_settings.insurance_payments=false)."),null):s(k,null,this.isLoading?s(T,null):s("div",null,s(j,{text:null===(t=this.quote)||void 0===t?void 0:t.product.title,class:"fs-5 fw-bold pb-3"}),s("small",{part:_,innerHTML:null===(i=this.quote)||void 0===i?void 0:i.product.description}),s("form-control-radio",{label:`Accept coverage for ${p(null===(e=this.quote)||void 0===e?void 0:e.total_cents)}`,name:"opt-in",value:"true",checked:"true"===this.accepted,inputHandler:this.onChangeHandler.bind(this),errorText:this.error?" ":void 0}),s("form-control-radio",{label:"Decline coverage",name:"opt-in",value:"false",checked:"false"===this.accepted,inputHandler:this.onChangeHandler.bind(this),errorText:this.error?" ":void 0}),s("div",{class:"invalid-feedback",style:{display:this.error?"block":"none"},part:g},"Please select an option"),s("small",{part:_,innerHTML:null===(r=this.quote)||void 0===r?void 0:r.product.legal_disclaimer})))}};export{D as justifi_season_interruption_insurance}
@@ -1 +1 @@
1
- import{r as s,c as t,h as r}from"./p-DOjVAAtq.js";import{A as o}from"./p-DdZLLkQ5.js";import{C as i,a as e}from"./p-Cjcsf8ku.js";import"./p-C98BC5W5.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as a,a as n}from"./p-D2muobcE.js";import{E as p}from"./p-CqFjmIng.js";import{c,J as h}from"./p-Cqe5a-d3.js";import"./p-a6tcNl_T.js";import"./p-DdMxswn1.js";import"./p-Bgnhf5c9.js";import"./p-HXpYMWUU.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-DS3KdLWS.js";import"./p-DlT1rYmL.js";const m=o();class u{async fetchGrossVolumeChartData(s,t){return m.get({endpoint:`account/${s}/reports/gross_volume`,authToken:t})}}const d=class{constructor(r){s(this,r),this.errorEvent=t(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=s=>{this.errorMessage=s.detail.message,this.errorEvent.emit(s.detail)}}componentWillLoad(){c(),this.analytics=new h(this),this.initializeGetGrossPayment()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}propChanged(){this.initializeGetGrossPayment()}initializeGetGrossPayment(){this.accountId&&this.authToken?this.getGrossPayment=(({id:s,authToken:t,service:r})=>async({onSuccess:o,onError:e})=>{var p;try{const c=await r.fetchGrossVolumeChartData(s,t);c.error?e({error:n(c.error),code:a(null===(p=c.error)||void 0===p?void 0:p.code),severity:i.ERROR}):o(c.data)}catch(s){const t=a(null==s?void 0:s.code);e({error:n(s),code:t,severity:i.ERROR})}})({id:this.accountId,authToken:this.authToken,service:new u}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:e.MISSING_PROPS,message:this.errorMessage,severity:i.ERROR}))}render(){return this.errorMessage?p(this.errorMessage):r("gross-payment-chart-core",{getGrossPayment:this.getGrossPayment,"onError-event":this.handleErrorEvent})}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{d as justifi_gross_payment_chart}
1
+ import{r as s,c as t,h as r}from"./p-DOjVAAtq.js";import{A as o}from"./p-DdZLLkQ5.js";import{C as i,a as e}from"./p-Cjcsf8ku.js";import"./p-C98BC5W5.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as a,a as n}from"./p-D2muobcE.js";import{E as p}from"./p-CH8Y3GSr.js";import{c,J as h}from"./p-BSyMsqda.js";import"./p-a6tcNl_T.js";import"./p-DdMxswn1.js";import"./p-Bgnhf5c9.js";import"./p-HXpYMWUU.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-xDbRW9xn.js";import"./p-NMTsmUsG.js";const m=o();class u{async fetchGrossVolumeChartData(s,t){return m.get({endpoint:`account/${s}/reports/gross_volume`,authToken:t})}}const d=class{constructor(r){s(this,r),this.errorEvent=t(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=s=>{this.errorMessage=s.detail.message,this.errorEvent.emit(s.detail)}}componentWillLoad(){c(),this.analytics=new h(this),this.initializeGetGrossPayment()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}propChanged(){this.initializeGetGrossPayment()}initializeGetGrossPayment(){this.accountId&&this.authToken?this.getGrossPayment=(({id:s,authToken:t,service:r})=>async({onSuccess:o,onError:e})=>{var p;try{const c=await r.fetchGrossVolumeChartData(s,t);c.error?e({error:n(c.error),code:a(null===(p=c.error)||void 0===p?void 0:p.code),severity:i.ERROR}):o(c.data)}catch(s){const t=a(null==s?void 0:s.code);e({error:n(s),code:t,severity:i.ERROR})}})({id:this.accountId,authToken:this.authToken,service:new u}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:e.MISSING_PROPS,message:this.errorMessage,severity:i.ERROR}))}render(){return this.errorMessage?p(this.errorMessage):r("gross-payment-chart-core",{getGrossPayment:this.getGrossPayment,"onError-event":this.handleErrorEvent})}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{d as justifi_gross_payment_chart}
@@ -0,0 +1 @@
1
+ import{h as i,r as e,H as a}from"./p-DOjVAAtq.js";import{S as t}from"./p-T2yENPvU.js";import{w as s,c as d}from"./p-a6tcNl_T.js";import{b as c}from"./p-Bgnhf5c9.js";import"./p-xDbRW9xn.js";import"./p-DdMxswn1.js";import"./p-HXpYMWUU.js";const f=e=>{const{isReady:a}=e;return a?null:i("div",{class:"container-fluid p-0"},i("div",{class:"mb-3"},i(t,{height:"18px",width:"100px"}),i(t,{height:"36px"})),i("div",{class:"row"},i("div",{class:"col-4 align-content-end"},i(t,{height:"18px",width:"80px"}),i(t,{height:"36px"})),i("div",{class:"col-4 align-content-end"},i(t,{height:"36px"})),i("div",{class:"col-4 align-content-end"},i(t,{height:"18px",width:"30px"}),i(t,{height:"36px"}))))},r=class{constructor(i){e(this,i),this.isReady=!1}async componentWillLoad(){await s(),this.iframeOrigin=d.iframeOrigin,this.tabId=c()}componentDidRender(){Promise.all([this.cardNumberIframeElement,this.expirationMonthIframeElement,this.expirationYearIframeElement,this.cvvIframeElement].map((i=>new Promise((e=>{i.addEventListener("iframeLoaded",(()=>{e()}))}))))).then((()=>{this.isReady=!0}))}async validate(){const i=await this.cardNumberIframeElement.validate(),e=await this.expirationMonthIframeElement.validate(),a=await this.expirationYearIframeElement.validate(),t=await this.cvvIframeElement.validate();return i&&e&&a&&t}async tokenize(i,e,a){return this.cardNumberIframeElement.tokenize(i,e,a)}render(){return i(a,{key:"4867571cdff85823d48b139c1b6e591ff73ca426"},i(f,{key:"37b584aa3865acc9266500f734c7a10e49fa139d",isReady:this.isReady}),i("div",{key:"09b5e58ed9df060922e2579880b68f022cff2940",class:"container-fluid p-0",style:{opacity:this.isReady?"1":"0",height:this.isReady?"auto":"0"}},i("div",{key:"bd2f777339e421523cd92c402c4fc066cbde7053",class:"mb-3"},i("iframe-input",{key:"45b822e5878806ae47f88cf5aa54fe9ae5592eda",inputId:"cardNumber",ref:i=>this.cardNumberIframeElement=i,label:"Card Number",iframeOrigin:`${this.iframeOrigin}/v2/cardNumber?tabId=${this.tabId}`})),i("div",{key:"c9e4d2afd2eef4377356114bc33f1cc29fea46b3",class:"d-flex align-items-start"},i("div",{key:"e846e807f6524b9fd6a29a0a0bd2fff74c68f11f",class:"flex-fill me-3"},i("iframe-input",{key:"d48a6f05d3ca1341d8060987b53318bf29db4881",inputId:"expirationMonth",ref:i=>this.expirationMonthIframeElement=i,label:"Exp. Month",iframeOrigin:`${this.iframeOrigin}/v2/expirationMonth?tabId=${this.tabId}`})),i("div",{key:"9127d9dc4ff3386db9060126a8b0ce2e2125a5c9",class:"flex-fill me-3"},i("iframe-input",{key:"ced08ea4750b594b87e19fd6e9ae49b2cb6caa72",inputId:"expirationYear",ref:i=>this.expirationYearIframeElement=i,label:"Exp. Year",iframeOrigin:`${this.iframeOrigin}/v2/expirationYear?tabId=${this.tabId}`})),i("div",{key:"92e07ff8ee6004f64a1e062371fd749771cdb77d",class:"flex-fill"},i("iframe-input",{key:"487187ddfb9cea24cebc377950f33feb9222b299",inputId:"CVV",ref:i=>this.cvvIframeElement=i,label:"CVV",iframeOrigin:`${this.iframeOrigin}/v2/CVV?tabId=${this.tabId}`})))))}};export{r as card_form}
@@ -0,0 +1 @@
1
+ import{r as e,h as a}from"./p-DOjVAAtq.js";import{f as t,p as s,c as r}from"./p-0fgTPVV0.js";import{q as l,u as i,v as d,w as o,x as p}from"./p-xDbRW9xn.js";import{S as c}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import"./p-a6tcNl_T.js";import{c as f,a as n}from"./p-Bgnhf5c9.js";import"./p-Cjcsf8ku.js";import{T as b,b as m}from"./p-C98BC5W5.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import"./p-DdMxswn1.js";import"./p-HXpYMWUU.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";const u=class{constructor(a){e(this,a),this.setParamsOnChange=(e,a)=>{t[e]=a},this.handleDateInput=(e,a)=>{const t=f(a,{setExactTime:!0});this.setParamsOnChange(e,t)}}componentWillLoad(){Object.entries({order_status:this.orderStatus,order_type:this.orderType,created_after:this.createdAfter,created_before:this.createdBefore}).forEach((([e,a])=>{a&&(s[e]=a)}))}get terminalOrderStatusOptions(){return[{label:"All",value:""},{label:"Created",value:b.created},{label:"Completed",value:b.completed},{label:"Submitted",value:b.submitted},{label:"In Progress",value:b.in_progress},{label:"On Hold",value:b.on_hold},{label:"Canceled",value:b.canceled}]}get terminalOrderTypeOptions(){return[{label:"All",value:""},{label:"Boarding Only",value:m.boardingOnly},{label:"Boarding Shipping",value:m.boardingShipping}]}render(){const e=Object.assign({},t);return a(c,{key:"e4220781c3a7878607a3fd369f6aef680caf7e3b"},a("table-filters-menu",{key:"a6d807965b30875ac0fc3b2a1c2fc016816515c1",params:e,clearParams:r,part:l},a("div",{key:"2dc1aa039a17ec35556ca87f69583f678ff98154",class:"grid-cols-2 gap-3 p-1"},a("div",{key:"5c8487d29210150eef9cda19aa08098b94562735",class:"p-2"},a("form-control-select",{key:"d18aaaf9c0a0c7b35e5526cc0d13e63fa759827d",name:"order_status",label:"Order Status",options:this.terminalOrderStatusOptions,inputHandler:this.setParamsOnChange,defaultValue:this.orderStatus||t.order_status||"",disabled:!!this.orderStatus,part:i})),a("div",{key:"9830ad536337ff56460a97f2af7b1d593b26a617",class:"p-2"},a("form-control-select",{key:"ab793e61dfb3839d733f86fe3a432f6625a80007",name:"order_type",label:"Order Type",options:this.terminalOrderTypeOptions,inputHandler:this.setParamsOnChange,defaultValue:this.orderType||t.order_type||"",disabled:!!this.orderType,part:d})),a("div",{key:"fc0ba6a18cbfbefc9ed93db3badb1dac6c65aaed",class:"p-2"},a("form-control-date",{key:"c8b8dcafd434382b14b4fc53ce995689605d2b30",name:"created_after",label:"Created After",inputHandler:this.handleDateInput,defaultValue:n(this.createdAfter,{showInputDateTime:!0})||n(t.created_after,{showInputDateTime:!0}),showTime:!0,disabled:!!this.createdAfter,part:o})),a("div",{key:"3d52eebcde6a0b866c2a10c78ec50ea28a216e41",class:"p-2"},a("form-control-date",{key:"598cda521e3a1fbe6e68d219d0d49e013d0adb0a",name:"created_before",label:"Created Before",inputHandler:this.handleDateInput,defaultValue:n(this.createdBefore,{showInputDateTime:!0})||n(t.created_before,{showInputDateTime:!0}),showTime:!0,disabled:!!this.createdBefore,part:p})))))}};export{u as justifi_terminal_orders_list_filters}
@@ -0,0 +1 @@
1
+ import{h as e,r as t,c as i,H as s,g as n}from"./p-DOjVAAtq.js";import{A as o}from"./p-DdZLLkQ5.js";import{S as a}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{S as r}from"./p-T2yENPvU.js";import{c as l,o as c,g as h,a as d}from"./p-DGsXKF67.js";import{D as p,r as u}from"./p-xDbRW9xn.js";import{f as y}from"./p-Bgnhf5c9.js";import{H as m}from"./p-RQzxYnz_.js";import{H as v,b as M,h as f,i as b}from"./p-wQgEEOq_.js";import{H as g}from"./p-BoQ6_4Ks.js";import{J as k,c as A}from"./p-BSyMsqda.js";import"./p-a6tcNl_T.js";import"./p-HXpYMWUU.js";import{C as w,a as P,b as j}from"./p-Cjcsf8ku.js";import{I as T}from"./p-C98BC5W5.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as C,a as N}from"./p-D2muobcE.js";import{C as S}from"./p-CEk3bv0x.js";import{P as E,a as I,b as D}from"./p-DCIW8z1f.js";import{C as O}from"./p-ZpPDShvP.js";import"./p-DdMxswn1.js";import"./p-NMTsmUsG.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";var x,L,z,_,R;!function(e){e.STATUS_SUCCESS="STATUS_SUCCESS",e.STATUS_FAILURE="STATUS_FAILURE"}(x||(x={})),function(e){e.PLAIN="plain",e.BUY="buy",e.SET_UP="set-up",e.DONATE="donate",e.CHECK_OUT="check-out",e.BOOK="book",e.SUBSCRIBE="subscribe"}(L||(L={})),function(e){e.BLACK="black",e.WHITE="white",e.WHITE_OUTLINE="white-outline"}(z||(z={})),function(e){e.SUPPORTS_3DS="supports3DS",e.SUPPORTS_EMV="supportsEMV",e.SUPPORTS_CREDIT="supportsCredit",e.SUPPORTS_DEBIT="supportsDebit"}(_||(_={}));class B{constructor(e){this.merchantIdentifier=e.merchantIdentifier,this.displayName=e.displayName,this.initiative=e.initiative,this.initiativeContext=e.initiativeContext,this.buttonType=e.buttonType||L.PLAIN,this.buttonStyle=e.buttonStyle||z.BLACK,this.buttonLocale=e.buttonLocale||"en-US"}get isValid(){return!!(this.merchantIdentifier&&this.displayName&&this.initiative&&this.initiativeContext)}}class U{constructor(e){this.countryCode=e.countryCode,this.currencyCode=e.currencyCode,this.merchantCapabilities=e.merchantCapabilities,this.supportedNetworks=e.supportedNetworks,this.total=e.total,this.lineItems=e.lineItems,this.shippingMethods=e.shippingMethods,this.applicationData=e.applicationData,this.supportedCountries=e.supportedCountries}get isValid(){var e,t,i,s;return!!(this.countryCode&&this.currencyCode&&(null===(e=this.merchantCapabilities)||void 0===e?void 0:e.length)&&(null===(t=this.supportedNetworks)||void 0===t?void 0:t.length)&&(null===(i=this.total)||void 0===i?void 0:i.label)&&(null===(s=this.total)||void 0===s?void 0:s.amount))}}class Y{static isApplePaySupported(){var e;return"undefined"!=typeof window&&"ApplePaySession"in window&&(null===(e=window.ApplePaySession)||void 0===e?void 0:e.supportsVersion(3))}static canMakePayments(){var e;return this.isApplePaySupported()&&(null===(e=window.ApplePaySession)||void 0===e?void 0:e.canMakePayments())||!1}static async canMakePaymentsWithActiveCard(e){var t;if(!this.isApplePaySupported())return!1;try{return await(null===(t=window.ApplePaySession)||void 0===t?void 0:t.canMakePaymentsWithActiveCard(e))||!1}catch(e){return console.error("Error checking Apple Pay active card:",e),!1}}static formatAmount(e){return(e/100).toFixed(2)}static parseAmount(e){return Math.round(100*parseFloat(e))}static createLineItem(e,t,i="final"){return{label:e,amount:this.formatAmount(t),type:i}}static getDefaultSupportedNetworks(){return["amex","discover","masterCard","visa"]}static getDefaultMerchantCapabilities(){return[_.SUPPORTS_3DS,_.SUPPORTS_EMV,_.SUPPORTS_CREDIT,_.SUPPORTS_DEBIT]}}!function(e){e.UNAVAILABLE="UNAVAILABLE",e.SESSION_ERROR="SESSION_ERROR",e.MERCHANT_VALIDATION_ERROR="MERCHANT_VALIDATION_ERROR",e.PAYMENT_PROCESSING_ERROR="PAYMENT_PROCESSING_ERROR",e.USER_CANCELLED="USER_CANCELLED"}(R||(R={}));class F{constructor(){this.api=o()}initialize(e){if(this.applePayConfig=new B(e),!this.applePayConfig.isValid)throw new Error("Invalid Apple Pay configuration provided")}async validateMerchant(e,t){try{return await this.api.post({endpoint:"apple_pay/merchant_session",authToken:e,headers:{"Sub-Account":t}})}catch(e){throw console.error("Backend validation failed:",e),new Error("Merchant validation failed")}}async processPayment(e,t,i){const s=await this.api.post({endpoint:"apple_pay/process_token",authToken:e,body:i,headers:{"Sub-Account":t}});return{success:s.id&&!!s.data.token,data:s}}isAvailable(){return Y.isApplePaySupported()&&Y.canMakePayments()}async canMakePaymentsWithActiveCard(){if(!this.applePayConfig)throw new Error("Apple Pay not initialized. Call initialize() first.");return await Y.canMakePaymentsWithActiveCard(this.applePayConfig.merchantIdentifier)}async startPaymentSession(e,t,i){if(console.groupCollapsed("[ApplePayService] startPaymentSession called"),console.log("[ApplePayService] raw paymentRequest:",JSON.stringify(e,null,2)),console.log("[ApplePayService] has authToken:",Boolean(t)),console.log("[ApplePayService] accountId:",i),console.log("[ApplePayService] has config:",Boolean(this.applePayConfig)),!this.applePayConfig)throw console.error("[ApplePayService] Missing applePayConfig. Did you call initialize()?"),console.groupEnd(),new Error("Apple Pay not initialized. Call initialize() first.");const s=new U(e);if(console.log("[ApplePayService] created ApplePayPaymentRequest:",s),!s.isValid){const e=[];throw s.countryCode||e.push("countryCode"),s.currencyCode||e.push("currencyCode"),s.merchantCapabilities&&0!==s.merchantCapabilities.length||e.push("merchantCapabilities"),s.supportedNetworks&&0!==s.supportedNetworks.length||e.push("supportedNetworks"),s.total&&s.total.label&&s.total.amount||e.push("total"),console.error("[ApplePayService] Payment request is invalid. Missing/invalid:",e),console.groupEnd(),new Error("Invalid payment request provided")}return this.currentPaymentRequest=s,new Promise(((e,n)=>{try{if(console.log("[ApplePayService] About to instantiate ApplePaySession"),"undefined"==typeof window||!("ApplePaySession"in window))return console.error("[ApplePayService] ApplePaySession not available on window"),console.groupEnd(),n({success:!1,error:{code:R.UNAVAILABLE,message:"ApplePaySession API is not available in this environment"}});this.currentSession=new window.ApplePaySession(3,s),console.log("[ApplePayService] ApplePaySession instantiated:",this.currentSession),this.setupSessionEventHandlers(e,n,t,i),console.log("[ApplePayService] Event handlers set. Beginning session..."),this.currentSession.begin(),console.log("[ApplePayService] Session.begin() called"),console.groupEnd()}catch(e){console.error("[ApplePayService] Exception while starting session:",e),console.groupEnd(),n({success:!1,error:{code:R.SESSION_ERROR,message:e instanceof Error?e.message:"Failed to start Apple Pay session"}})}}))}abortPaymentSession(){this.currentSession&&(this.currentSession.abort(),this.currentSession=void 0,this.currentPaymentRequest=void 0)}setupSessionEventHandlers(e,t,i,s){this.currentSession&&this.applePayConfig&&this.currentPaymentRequest?(this.currentSession.onvalidatemerchant=async()=>{console.groupCollapsed("[ApplePayService] onvalidatemerchant");try{if(console.log("[ApplePayService] accountId:",s),!i)throw console.error("[ApplePayService] Missing authToken for merchant validation"),new Error("Authentication token not provided.");const e=await this.validateMerchant(i,s);console.log("[ApplePayService] merchantSession received");try{this.currentSession.completeMerchantValidation(e),console.log("[ApplePayService] completeMerchantValidation called")}catch(e){throw console.error("Error calling completeMerchantValidation:",e),e}}catch(e){console.error("=== MERCHANT VALIDATION ERROR ==="),console.error("Error during merchant validation:",e),e&&e.stack&&console.error("Error stack:",e.stack),this.currentSession.abort(),t({success:!1,error:{code:R.MERCHANT_VALIDATION_ERROR,message:e instanceof Error?e.message:"Merchant validation failed"}})}console.groupEnd()},this.currentSession.onpaymentauthorized=async n=>{var o;console.groupCollapsed("[ApplePayService] onpaymentauthorized");try{const a=n.payment;console.log("[ApplePayService] payment payload snapshot:",{hasToken:Boolean(null==a?void 0:a.token),tokenType:(null===(o=null==a?void 0:a.token)||void 0===o?void 0:o.paymentData)?"paymentData":"raw"});const r=Object.assign(Object.assign({},a.token),{product_details:{name:this.currentPaymentRequest.total.label,price:Y.parseAmount(this.currentPaymentRequest.total.amount),description:this.currentPaymentRequest.total.label}});console.log("[ApplePayService] paymentPayload prepared");const l=await this.processPayment(i,s,r);console.log("[ApplePayService] processPayment result:",l),l.success?(this.currentSession.completePayment({status:x.STATUS_SUCCESS}),console.log("[ApplePayService] Payment success; resolving"),e({success:!0,token:a.token,paymentMethodId:l.data.id})):(console.error("PSP reported payment failure:",l.data),this.currentSession.completePayment({status:x.STATUS_FAILURE}),t({success:!1,error:{code:R.PAYMENT_PROCESSING_ERROR,message:"Payment processing failed"}}))}catch(e){console.error("=== PAYMENT PROCESSING ERROR ==="),console.error("Error processing payment:",e),e&&e.stack&&console.error("Error stack:",e.stack),this.currentSession.completePayment({status:x.STATUS_FAILURE}),t({success:!1,error:{code:R.PAYMENT_PROCESSING_ERROR,message:e instanceof Error?e.message:"Payment processing failed"}})}finally{console.log("[ApplePayService] Cleaning up session state"),this.currentSession=void 0,this.currentPaymentRequest=void 0}console.groupEnd()},this.currentSession.onpaymentmethodselected=()=>{console.groupCollapsed("[ApplePayService] onpaymentmethodselected");const e={newTotal:this.currentPaymentRequest.total,newLineItems:this.currentPaymentRequest.lineItems||[]};try{this.currentSession.completePaymentMethodSelection(e),console.log("[ApplePayService] completePaymentMethodSelection called")}catch(e){console.error("Error completing payment method selection:",e),this.currentSession.abort()}console.groupEnd()},this.currentSession.onshippingmethodselected=()=>{console.groupCollapsed("[ApplePayService] onshippingmethodselected"),this.currentSession.completeShippingMethodSelection({status:x.STATUS_SUCCESS,newTotal:this.currentPaymentRequest.total,newLineItems:this.currentPaymentRequest.lineItems||[]}),console.log("[ApplePayService] completeShippingMethodSelection called"),console.groupEnd()},this.currentSession.oncancel=e=>{if(console.groupCollapsed("[ApplePayService] oncancel"),e.sessionError)switch(console.error(e.sessionError),e.sessionError.code){case"unknown":console.error("Unknown error - likely merchant validation issue"),console.error("This usually means:"),console.error("1. Merchant certificate is invalid or expired"),console.error("2. Merchant identifier mismatch"),console.error("3. Backend validation endpoint issues");break;case"invalidMerchantSession":console.error("Invalid merchant session provided"),console.error("Check that the merchant session from backend is valid");break;case"userCancel":console.error("User cancelled the payment");break;default:console.error("Other error code:",e.sessionError.code)}this.currentSession=void 0,this.currentPaymentRequest=void 0,t({success:!1,error:{code:R.USER_CANCELLED,message:"User cancelled the Apple Pay session"}}),console.groupEnd()},"onerror"in this.currentSession&&(this.currentSession.onerror=e=>{console.groupCollapsed("[ApplePayService] onerror"),console.error("=== APPLE PAY SESSION ERROR ==="),console.error("Session error:",e),this.currentSession=void 0,this.currentPaymentRequest=void 0,t({success:!1,error:{code:R.SESSION_ERROR,message:"Apple Pay session error occurred"}}),console.groupEnd()})):console.error("[ApplePayService] setupSessionEventHandlers called without required state",{hasSession:Boolean(this.currentSession),hasConfig:Boolean(this.applePayConfig),hasPaymentRequest:Boolean(this.currentPaymentRequest)})}static createPaymentRequest(e,t,i="US",s="USD"){return{countryCode:i,currencyCode:s,merchantCapabilities:Y.getDefaultMerchantCapabilities(),supportedNetworks:Y.getDefaultSupportedNetworks(),total:Y.createLineItem(t,e)}}getApplePayConfig(){return this.applePayConfig}}const Q=t=>{const{isLoading:i}=t;return i?e("div",{class:"container-fluid p-0"},e("div",{class:"row mb-3"},e("div",{class:"col-12 align-content-center"},e(r,{height:"44px",width:"100%",styles:{borderRadius:"8px"}})))):null},V=t=>e("div",{class:"apple-pay-button-container"},e("button",Object.assign({class:(()=>{let e="apple-pay-button";switch(t.buttonStyle){case z.WHITE:e+=" apple-pay-button-white";break;case z.WHITE_OUTLINE:e+=" apple-pay-button-white-outline";break;default:e+=" apple-pay-button-black"}switch(t.buttonType){case L.BUY:e+=" apple-pay-button-type-buy";break;case L.DONATE:e+=" apple-pay-button-type-donate";break;default:e+=" apple-pay-button-type-plain"}return(t.disabled||t.isProcessing||!t.isAvailable)&&(e+=" disabled"),e})(),style:{width:t.width,height:t.height},onClick:()=>{!t.disabled&&!t.isProcessing&&t.isAvailable&&t.clickHandler&&t.clickHandler()},disabled:t.disabled||t.isProcessing||!t.isAvailable,"aria-label":"Pay with Apple Pay",type:"button"},t),t.isProcessing&&e("div",{class:"processing-overlay"},e("div",{class:"spinner"}),e("span",null,"Processing..."))),e("style",null,"\n .apple-pay-button-container {\n display: inline-block;\n position: relative;\n width: 100%;\n }\n\n /* Apple Pay CSS classes - these are the official Apple Pay button styles */\n .apple-pay-button {\n display: inline-block;\n -webkit-appearance: -apple-pay-button;\n -apple-pay-button-type: plain; /* default */\n -apple-pay-button-style: black; /* default */\n border-radius: 8px;\n cursor: pointer;\n border: none;\n outline: none;\n transition: opacity 0.2s ease;\n position: relative;\n }\n\n /* Button styles */\n .apple-pay-button.apple-pay-button-black {\n -apple-pay-button-style: black;\n }\n\n .apple-pay-button.apple-pay-button-white {\n -apple-pay-button-style: white;\n }\n\n .apple-pay-button.apple-pay-button-white-outline {\n -apple-pay-button-style: white-outline;\n }\n\n /* Button types */\n .apple-pay-button.apple-pay-button-type-plain {\n -apple-pay-button-type: plain;\n }\n\n .apple-pay-button.apple-pay-button-type-buy {\n -apple-pay-button-type: buy;\n }\n\n .apple-pay-button.apple-pay-button-type-donate {\n -apple-pay-button-type: donate;\n }\n\n /* Hover and disabled states */\n .apple-pay-button:hover:not(.disabled) {\n opacity: 0.9;\n }\n\n .apple-pay-button.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n /* Processing overlay */\n .processing-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n background: rgba(0, 0, 0, 0.8);\n color: white;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n }\n\n .spinner {\n width: 16px;\n height: 16px;\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-top: 2px solid #fff;\n border-radius: 50%;\n animation: spin 1s linear infinite;\n }\n\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n\n /* Responsive design */\n @media (max-width: 480px) {\n .apple-pay-button {\n width: 100% !important;\n min-width: 200px;\n }\n }\n ")),H=class{constructor(e){t(this,e),this.applePayStarted=i(this,"applePayStarted"),this.applePayCompleted=i(this,"applePayCompleted"),this.applePayCancelled=i(this,"applePayCancelled"),this.applePayError=i(this,"applePayError"),this.countryCode="US",this.merchantIdentifier="merchant.com.staging-justifi.checkout-dev",this.merchantDisplayName="JustiFi Checkout",this.initiativeContext="dev-checkout.justifi-staging.com",this.buttonType=L.PLAIN,this.buttonStyle=z.BLACK,this.disabled=!1,this.showSkeleton=!0,this.width="100%",this.height="48px",this.isLoading=!0,this.isProcessing=!1,this.isAvailable=!1,this.canMakePayments=!1,this.isConfigValid=!0,this.error=null,this.handleApplePayClick=async()=>{var e,t;if(!this.isProcessing&&!this.disabled&&this.isAvailable)try{this.isProcessing=!0,this.error=null,this.applePayStarted.emit(),console.groupCollapsed("[ApplePay Component] handleApplePayClick"),console.log("[ApplePay Component] click context:",{isProcessing:this.isProcessing,disabled:this.disabled,isAvailable:this.isAvailable,canMakePayments:this.canMakePayments,hasService:Boolean(this.applePayService)});const i={countryCode:this.countryCode,currencyCode:l.paymentCurrency,merchantCapabilities:[_.SUPPORTS_3DS,_.SUPPORTS_CREDIT,_.SUPPORTS_DEBIT],supportedNetworks:Y.getDefaultSupportedNetworks(),total:Y.createLineItem(l.paymentDescription,l.paymentAmount)};console.log("[ApplePay Component] paymentRequest",i),console.log("[ApplePay Component] identifiers snapshot:",{authTokenLength:l.authToken?String(l.authToken).length:0,accountId:l.accountId});const s=await this.applePayService.startPaymentSession(i,l.authToken,l.accountId);console.log("[ApplePay Component] startPaymentSession result",s),s.success?this.applePayCompleted.emit({success:!0,token:s.token,paymentMethodId:s.paymentMethodId}):(this.applePayCompleted.emit({success:!1,error:s.error}),this.applePayError.emit({error:(null===(e=s.error)||void 0===e?void 0:e.message)||"Payment failed",code:(null===(t=s.error)||void 0===t?void 0:t.code)||H.ErrorCode.PAYMENT_FAILED}))}catch(e){const t=e instanceof Error?e.message:"Payment failed";this.error=t,this.applePayError.emit({error:t,code:H.ErrorCode.PAYMENT_FAILED}),this.applePayCompleted.emit({success:!1,error:t})}finally{this.isProcessing=!1,console.groupEnd()}}}async initializeApplePay(){try{if(this.isLoading=!0,this.error=null,this.isConfigValid=!0,console.groupCollapsed("[ApplePay Component] initializeApplePay"),console.log("[ApplePay Component] checkout state snapshot:",{paymentAmount:l.paymentAmount,paymentCurrency:l.paymentCurrency,hasAuthToken:Boolean(l.authToken),accountId:l.accountId}),!(Boolean(l.paymentAmount)&&Boolean(l.paymentCurrency)&&Boolean(l.authToken)))return this.error="Missing required Apple Pay configuration",this.isConfigValid=!1,console.error("Apple Pay config error: missing required values",{paymentAmount:l.paymentAmount,paymentCurrency:l.paymentCurrency,hasAuthToken:Boolean(l.authToken),accountId:l.accountId}),this.applePayError.emit({error:this.error,code:H.ErrorCode.CONFIG_ERROR}),this.isLoading=!1,void console.groupEnd();if(this.isAvailable=Y.isApplePaySupported(),this.canMakePayments=Y.canMakePayments(),console.log("[ApplePay Component] support check:",{isAvailable:this.isAvailable,canMakePayments:this.canMakePayments,hasApplePaySessionOnWindow:"undefined"!=typeof window&&"ApplePaySession"in window}),!this.isAvailable)return this.error="Apple Pay is not supported on this device",console.error(this.error),this.applePayError.emit({error:this.error,code:H.ErrorCode.NOT_SUPPORTED}),this.isLoading=!1,void console.groupEnd();if(!this.canMakePayments)return this.error="Apple Pay is not available",console.error(this.error),this.applePayError.emit({error:this.error,code:H.ErrorCode.NOT_AVAILABLE}),this.isLoading=!1,void console.groupEnd();const e={merchantIdentifier:this.merchantIdentifier,displayName:this.merchantDisplayName,initiative:"web",initiativeContext:this.initiativeContext,buttonType:this.buttonType,buttonStyle:this.buttonStyle};console.log("[ApplePay Component] initializing service with config:",e),this.applePayService=new F,this.applePayService.initialize(e),await this.applePayService.canMakePaymentsWithActiveCard()||console.warn("No Apple Pay cards available, but continuing...")}catch(e){console.error("Apple Pay initialization error:",e),this.error=e instanceof Error?e.message:"Failed to initialize Apple Pay",this.applePayError.emit({error:this.error,code:H.ErrorCode.INITIALIZATION_ERROR})}finally{this.isLoading=!1,console.groupEnd()}}async isSupported(){return this.isAvailable&&this.canMakePayments}async getPaymentMethods(){return this.isAvailable?Y.getDefaultSupportedNetworks():[]}async abort(){this.applePayService.abortPaymentSession(),this.isProcessing=!1,this.applePayCancelled.emit()}render(){if(!l.applePayEnabled)return console.log("[ApplePay Component] Apple Pay disabled in checkout settings; not rendering"),null;const t=!this.isLoading&&this.isAvailable&&this.canMakePayments&&this.isConfigValid;return e(a,null,l.checkoutLoaded&&e("script",{async:!0,src:"https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js",onLoad:()=>{console.log("[ApplePay Component] Apple Pay SDK script loaded"),this.initializeApplePay()}}),e("div",{class:"apple-pay-container"},e(Q,{isLoading:this.isLoading}),t&&e(V,{buttonType:this.buttonType,buttonStyle:this.buttonStyle,disabled:this.disabled,isProcessing:this.isProcessing,isAvailable:this.isAvailable,clickHandler:this.handleApplePayClick,width:this.width,height:this.height})),e("style",null,"\n .apple-pay-container {\n width: 100%;\n }\n "))}};H.ErrorCode={CONFIG_ERROR:"CONFIG_ERROR",NOT_SUPPORTED:"NOT_SUPPORTED",NOT_AVAILABLE:"NOT_AVAILABLE",INITIALIZATION_ERROR:"INITIALIZATION_ERROR",PAYMENT_FAILED:"PAYMENT_FAILED"};const q=class{constructor(e){t(this,e)}render(){return e(a,{key:"abd92b499208321582b08a490c78c9167be2ebd4"},e("section",{key:"38e15cef5a19a43249d7ecf3d4eb4ea8e032f248"},e("div",{key:"747f811012ed9707265369e59dbde8cd7ad3bca6"},e("div",{key:"8575f50759664d5c64d235025699c81f055267ca",part:p},null==l?void 0:l.paymentDescription),e("div",{key:"af77776bbe21bce77586447bbf445e4c5d8c1165"},e("span",{key:"5cdaaec454118197b3e37a942d83907e72444342",part:p},"Total")," ",e("span",{key:"ccc35217ac9740d5a00b7abbcec4133848afcc28",part:p},y(+(null==l?void 0:l.totalAmount)))))))}},W=class{constructor(e){t(this,e),this.levels={h1:m,h2:v,h3:g},this.level="h1"}render(){return e(a,{key:"e1d39365c2ff2c291a42b53d6bcbe1d97d602778"},e(this.levels[this.level],{key:"0b8c8c3a42ff2151e3b293cafeeaeda72e94d767",text:this.text,class:this.class}))}},Z=o();class G{async getLinkToken(e,t,i,s){return Z.post({endpoint:`plaid/${t}/link`,body:{checkout_id:i},authToken:e,signal:s})}async tokenizeBankAccount(e,t,i,s,n,o){const a=`plaid/${t}/tokenize`,r={public_token:i};return s&&(r.link_token_id=s),n&&(r.payment_method_group_id=n),Z.post({endpoint:a,body:r,authToken:e,signal:o})}}const J=class{constructor(e){t(this,e),this.errorEvent=i(this,"error-event"),this.submitEvent=i(this,"submit-event"),this.checkoutChangedEvent=i(this,"checkout-changed"),this.plaidService=new G,this.handleApplePayCompleted=e=>{const{success:t,token:i,paymentMethodId:s,error:n}=e.detail;t&&i?(l.paymentToken=s,l.selectedPaymentMethod={type:E.APPLE_PAY},this.submitCheckout()):(console.error("Apple Pay completed but failed:",n),this.errorEvent.emit({message:(null==n?void 0:n.message)||"Apple Pay payment failed",errorCode:P.TOKENIZE_ERROR,severity:w.ERROR}))},this.handleApplePayError=e=>{const{error:t,code:i}=e.detail;console.error("Apple Pay error:",t),this.errorEvent.emit({message:t||"Apple Pay error occurred",errorCode:`APPLE_PAY_${i}`,severity:w.ERROR})},this.handleApplePayCancelled=()=>{l.paymentToken=void 0,l.selectedPaymentMethod=void 0}}connectedCallback(){this.observer=new MutationObserver((()=>{this.queryFormRefs(),this.setupApplePayListeners()})),this.observer.observe(this.hostEl,{childList:!0,subtree:!0}),l.checkoutId=this.checkoutId;const e={authToken:this.authToken,checkoutId:this.checkoutId,service:new S};this.getCheckout=(({authToken:e,checkoutId:t,service:i})=>async({onSuccess:s,onError:n})=>{var o;try{const a=await i.fetchCheckout(e,t);if(a.error)return n({error:N(a.error),code:C(null===(o=a.error)||void 0===o?void 0:o.code),severity:w.ERROR});s({checkout:a.data})}catch(e){const t=C(null==e?void 0:e.code);return n({error:e.message||e,code:t,severity:w.ERROR})}})(e),this.completeCheckout=(({authToken:e,checkoutId:t,service:i})=>async({payment:s,onSuccess:n,onError:o})=>{var a;try{const r=await i.complete(e,t,s);if(r.error)return o({error:N(r.error),code:C(null===(a=r.error)||void 0===a?void 0:a.code),severity:w.ERROR});n({checkout:r.data})}catch(e){const t=C(null==e?void 0:e.code);return o({error:e.message||e,code:t,severity:w.ERROR})}})(e),c((()=>{this.emitCheckoutChanged()}))}componentWillLoad(){this.analytics=new k(this),A(),l.authToken=this.authToken,this.fetchCheckout(),M("set",(e=>{const t=b[e];void 0!==t&&f(e,t)&&this.fetchCheckout()}))}componentDidLoad(){this.queryFormRefs(),this.setupApplePayListeners()}disconnectedCallback(){var e;null===(e=this.observer)||void 0===e||e.disconnect(),this.removeApplePayListeners()}fetchCheckout(){this.authToken&&this.checkoutId?this.getCheckout&&this.getCheckout({onSuccess:({checkout:e})=>{this.updateStore(e),e.status!==T.completed?e.status!==T.expired||this.errorEvent.emit({message:j.CHECKOUT_EXPIRED,errorCode:P.CHECKOUT_EXPIRED,severity:w.ERROR}):this.errorEvent.emit({message:j.CHECKOUT_ALREADY_COMPLETED,errorCode:P.CHECKOUT_ALREADY_COMPLETED,severity:w.ERROR})},onError:e=>{this.errorEvent.emit({message:e.message,errorCode:e.code,severity:e.severity})}}):this.errorEvent.emit({message:j.NOT_AUTHENTICATED,errorCode:P.NOT_AUTHENTICATED,severity:w.ERROR})}updateStore(e){var t,i,s,n,o,a;l.accountId=e.account_id,l.checkoutLoaded=!0,l.paymentMethods=e.payment_methods.map((e=>new I(e))),l.paymentMethodGroupId=e.payment_method_group_id,l.paymentDescription=e.payment_description,l.totalAmount=e.total_amount,l.paymentAmount=e.payment_amount,l.bnplEnabled=e.payment_settings.bnpl_payments,l.insuranceEnabled=e.payment_settings.insurance_payments,l.bankAccountVerification=null===(t=e.payment_settings)||void 0===t?void 0:t.bank_account_verification,l.applePayEnabled=Boolean(null===(i=e.payment_settings)||void 0===i?void 0:i.apple_payments),l.bnplProviderClientId=null===(s=null==e?void 0:e.bnpl)||void 0===s?void 0:s.provider_client_id,l.bnplProviderMode=null===(n=null==e?void 0:e.bnpl)||void 0===n?void 0:n.provider_mode,l.bnplProviderApiVersion=null===(o=null==e?void 0:e.bnpl)||void 0===o?void 0:o.provider_api_version,l.bnplProviderCheckoutUrl=null===(a=null==e?void 0:e.bnpl)||void 0===a?void 0:a.provider_checkout_url}emitCheckoutChanged(){const e={availablePaymentMethodTypes:h(),selectedPaymentMethod:l.selectedPaymentMethod,savedPaymentMethods:l.paymentMethods};this.checkoutChangedEvent.emit(e)}queryFormRefs(){this.billingFormRef=this.hostEl.querySelector("justifi-billing-form, justifi-bank-account-billing-form-simple, justifi-card-billing-form-simple, justifi-billing-form-full"),this.applePayRef=this.hostEl.querySelector("justifi-apple-pay"),this.paymentMethodFormRef=this.hostEl.querySelector("justifi-card-form, justifi-bank-account-form, justifi-tokenize-payment-method"),this.insuranceFormRef=this.hostEl.querySelector("justifi-season-interruption-insurance")}setupApplePayListeners(){this.applePayRef&&(this.applePayRef.addEventListener("applePayCompleted",this.handleApplePayCompleted),this.applePayRef.addEventListener("applePayError",this.handleApplePayError),this.applePayRef.addEventListener("applePayCancelled",this.handleApplePayCancelled))}removeApplePayListeners(){this.applePayRef&&(this.applePayRef.removeEventListener("applePayCompleted",this.handleApplePayCompleted),this.applePayRef.removeEventListener("applePayError",this.handleApplePayError),this.applePayRef.removeEventListener("applePayCancelled",this.handleApplePayCancelled))}async tokenizePaymentMethod(e){var t,i,s;const n=null!==(i=await(null===(t=this.billingFormRef)||void 0===t?void 0:t.getValues()))&&void 0!==i?i:{},o=Object.assign(Object.assign({},e),n),a=Object.assign({accountId:l.accountId,payment_method_group_id:void 0},o);l.savePaymentMethod&&(a.payment_method_group_id=l.paymentMethodGroupId);const r=await(null===(s=this.paymentMethodFormRef)||void 0===s?void 0:s.tokenize({clientId:this.authToken,paymentMethodMetadata:a,account:l.accountId}));return r.error?r:(l.paymentToken=r.id,r.id)}async setSelectedPaymentMethod(e){l.selectedPaymentMethod=e,l.paymentToken=e.id||void 0}async validate(){var e,t;const i=[];l.insuranceEnabled&&this.insuranceFormRef&&i.push(this.insuranceFormRef.validate());const s=(null===(e=l.selectedPaymentMethod)||void 0===e?void 0:e.type)===E.NEW_CARD,n=(null===(t=l.selectedPaymentMethod)||void 0===t?void 0:t.type)===E.NEW_BANK_ACCOUNT;if((s||n)&&(this.paymentMethodFormRef&&i.push(this.paymentMethodFormRef.validate()),this.billingFormRef&&i.push(this.billingFormRef.validate())),0===i.length)return!0;try{return!!(await Promise.all(i)).every((e=>"boolean"==typeof e?e:!1!==(null==e?void 0:e.isValid)))||(this.errorEvent.emit({message:"Validation error",errorCode:P.VALIDATION_ERROR,severity:w.ERROR}),!1)}catch(e){return!1}}async submitCheckout(e){var t,i,s,n,o;const a=await this.validate();if(!l.selectedPaymentMethod)return void this.errorEvent.emit({message:"No payment method selected.",errorCode:P.VALIDATION_ERROR,severity:w.ERROR});const r=(null===(t=l.selectedPaymentMethod)||void 0===t?void 0:t.type)===E.NEW_CARD,c=(null===(i=l.selectedPaymentMethod)||void 0===i?void 0:i.type)===E.NEW_BANK_ACCOUNT,h=(null===(s=l.selectedPaymentMethod)||void 0===s?void 0:s.type)===E.PLAID;if(r||c){const t=await this.tokenizePaymentMethod(e);if(null==t?void 0:t.error)return void this.errorEvent.emit({message:t.error.message,errorCode:P.TOKENIZE_ERROR,severity:w.ERROR})}if(h&&!l.paymentToken){const e=l.plaidPublicToken,t=l.plaidLinkTokenId;if(!e)return void this.errorEvent.emit({message:"Missing Plaid public token. Please connect your bank.",errorCode:P.TOKENIZE_ERROR,severity:w.ERROR});try{const i=await this.plaidService.tokenizeBankAccount(l.authToken,l.accountId,e,t||void 0,l.savePaymentMethod?l.paymentMethodGroupId:void 0);if(null==i?void 0:i.error)return void this.errorEvent.emit({message:"string"==typeof i.error?i.error:i.error.message||"Failed to tokenize bank account",errorCode:P.TOKENIZE_ERROR,severity:w.ERROR});const s=null==i?void 0:i.data,o=(null===(n=null==s?void 0:s.bank_account)||void 0===n?void 0:n.token)||(null==s?void 0:s.token)||(null==s?void 0:s.id);l.paymentToken=o}catch(e){return void this.errorEvent.emit({message:(null==e?void 0:e.message)||"Plaid exchange error",errorCode:P.TOKENIZE_ERROR,severity:w.ERROR})}}if(!a)return void this.errorEvent.emit({message:"Please fill in all required fields.",errorCode:P.VALIDATION_ERROR,severity:w.ERROR});if(!l.paymentToken)return void this.errorEvent.emit({message:"Payment token not found.",errorCode:P.TOKENIZE_ERROR,severity:w.ERROR});let d;d={payment_mode:(e=>{switch(e){case E.NEW_CARD:case E.SAVED_CARD:case E.NEW_BANK_ACCOUNT:case E.SAVED_BANK_ACCOUNT:case E.PLAID:return D.ECOM;case E.SEZZLE:return D.BNPL;case E.APPLE_PAY:return D.APPLE_PAY;default:return}})(null===(o=l.selectedPaymentMethod)||void 0===o?void 0:o.type),payment_token:l.paymentToken},this.completeCheckout({payment:d,onSuccess:({checkout:e})=>{this.submitEvent.emit({checkout:e,message:"Checkout completed successfully"})},onError:e=>{this.errorEvent.emit({message:e.message,errorCode:P.COMPLETE_CHECKOUT_ERROR,severity:w.ERROR})}})}render(){return e(s,{key:"63acafa8f4819ac63e564807779976e352ccbdfb"})}get hostEl(){return n(this)}};var X;!function(e){e.PLAID_SDK_LOAD_FAILED="plaid-sdk-load-failed",e.PLAID_LINK_INIT_FAILED="plaid-link-init-failed",e.PLAID_LINK_TOKEN_FAILED="plaid-link-token-failed",e.PLAID_AUTHENTICATION_FAILED="plaid-authentication-failed",e.PLAID_BANK_NOT_SUPPORTED="plaid-bank-not-supported",e.PLAID_TOKEN_EXPIRED="plaid-token-expired",e.PLAID_NETWORK_ERROR="plaid-network-error",e.PLAID_USER_CANCELLED="plaid-user-cancelled",e.PLAID_TIMEOUT="plaid-timeout",e.PLAID_INVALID_CREDENTIALS="plaid-invalid-credentials",e.PLAID_ACCOUNT_LOCKED="plaid-account-locked",e.PLAID_MAINTENANCE="plaid-maintenance",e.PLAID_RATE_LIMITED="plaid-rate-limited"}(X||(X={}));const K={[X.PLAID_SDK_LOAD_FAILED]:"Unable to load Plaid. Please refresh the page and try again.",[X.PLAID_LINK_INIT_FAILED]:"Unable to initialize bank connection. Please try again.",[X.PLAID_LINK_TOKEN_FAILED]:"Unable to connect to bank service. Please try again.",[X.PLAID_AUTHENTICATION_FAILED]:"Bank authentication failed. Please try again.",[X.PLAID_BANK_NOT_SUPPORTED]:"Your bank is not currently supported. Please try a different payment method.",[X.PLAID_TOKEN_EXPIRED]:"Your bank session has expired. Please reconnect your account.",[X.PLAID_NETWORK_ERROR]:"Network connection issue. Please check your internet connection and try again.",[X.PLAID_USER_CANCELLED]:"Bank connection was cancelled. Click to try again.",[X.PLAID_TIMEOUT]:"Bank connection timed out. Please try again.",[X.PLAID_INVALID_CREDENTIALS]:"Invalid bank credentials. Please check your username and password.",[X.PLAID_ACCOUNT_LOCKED]:"Your bank account is temporarily locked. Please contact your bank.",[X.PLAID_MAINTENANCE]:"Bank service is temporarily unavailable. Please try again later.",[X.PLAID_RATE_LIMITED]:"Too many connection attempts. Please wait a moment and try again."},$={[X.PLAID_SDK_LOAD_FAILED]:w.ERROR,[X.PLAID_LINK_INIT_FAILED]:w.ERROR,[X.PLAID_LINK_TOKEN_FAILED]:w.ERROR,[X.PLAID_AUTHENTICATION_FAILED]:w.ERROR,[X.PLAID_BANK_NOT_SUPPORTED]:w.WARNING,[X.PLAID_TOKEN_EXPIRED]:w.WARNING,[X.PLAID_NETWORK_ERROR]:w.WARNING,[X.PLAID_USER_CANCELLED]:w.INFO,[X.PLAID_TIMEOUT]:w.WARNING,[X.PLAID_INVALID_CREDENTIALS]:w.ERROR,[X.PLAID_ACCOUNT_LOCKED]:w.ERROR,[X.PLAID_MAINTENANCE]:w.WARNING,[X.PLAID_RATE_LIMITED]:w.WARNING},ee=class{constructor(e){t(this,e),this.paymentMethodOptionSelected=i(this,"paymentMethodOptionSelected"),this.plaidError=i(this,"plaidError"),this.plaidErrorRecovered=i(this,"plaidErrorRecovered"),this.isAuthenticating=!1,this.publicToken=null,this.linkToken=null,this.linkTokenId=null,this.error=null,this.plaidLink=null,this.isSelected=!1,this.retryCount=0,this.isRetrying=!1,this.plaidService=new G,this.maxRetries=3,this.retryDelay=2e3,this.timeoutId=null,this.abortController=null,this.hasLoggedDisabledWarning=!1,this.waitForStoreAndInitialize=()=>{l.authToken&&l.accountId&&l.checkoutId?this.initializePlaidLink():setTimeout((()=>{this.waitForStoreAndInitialize()}),100)},this.initializePlaidLink=async()=>{try{if(void 0===window.Plaid)return void this.handleError({code:X.PLAID_SDK_LOAD_FAILED,message:K[X.PLAID_SDK_LOAD_FAILED],severity:$[X.PLAID_SDK_LOAD_FAILED],retryable:!0,userAction:"Refresh the page and try again"});if(await this.getLinkToken(),!this.linkToken)return void this.handleError({code:X.PLAID_LINK_TOKEN_FAILED,message:K[X.PLAID_LINK_TOKEN_FAILED],severity:$[X.PLAID_LINK_TOKEN_FAILED],retryable:!0,userAction:"Click to try again"});const e=window.Plaid;this.plaidLink=e.create({token:this.linkToken,onSuccess:this.handlePlaidSuccess,onExit:this.handlePlaidExit,onEvent:this.handlePlaidEvent,onLoad:this.handlePlaidLoad})}catch(e){this.handleError({code:X.PLAID_LINK_INIT_FAILED,message:K[X.PLAID_LINK_INIT_FAILED],severity:$[X.PLAID_LINK_INIT_FAILED],originalError:e,retryable:!0,userAction:"Click to try again"})}},this.getLinkToken=async()=>{var e,t,i,s,n;try{if(!l.authToken||!l.accountId)return void this.handleError({code:X.PLAID_LINK_TOKEN_FAILED,message:"Missing authentication. Please refresh the page and try again.",severity:w.ERROR,retryable:!1,userAction:"Refresh the page"});this.abortController=new AbortController,this.timeoutId=setTimeout((()=>{var e;null===(e=this.abortController)||void 0===e||e.abort()}),3e4);const t=await this.plaidService.getLinkToken(l.authToken,l.accountId,l.checkoutId,this.abortController.signal);if(this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null),t.error)throw new Error("string"==typeof t.error?t.error:t.error.message||"Failed to get link token");this.linkToken=t.data.link_token,this.linkTokenId=(null==t?void 0:t.id)||(null===(e=null==t?void 0:t.data)||void 0===e?void 0:e.id)||null,this.linkTokenId&&(l.plaidLinkTokenId=this.linkTokenId)}catch(e){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null);let o=X.PLAID_LINK_TOKEN_FAILED,a=K[o],r=!0;"AbortError"===e.name?(o=X.PLAID_TIMEOUT,a=K[o],r=!0):(null===(t=e.message)||void 0===t?void 0:t.includes("network"))||(null===(i=e.message)||void 0===i?void 0:i.includes("fetch"))?(o=X.PLAID_NETWORK_ERROR,a=K[o],r=!0):((null===(s=e.message)||void 0===s?void 0:s.includes("401"))||(null===(n=e.message)||void 0===n?void 0:n.includes("unauthorized")))&&(o=X.PLAID_INVALID_CREDENTIALS,a="Authentication failed. Please refresh the page and try again.",r=!1),this.handleError({code:o,message:a,severity:$[o],originalError:e,retryable:r,userAction:r?"Click to try again":"Refresh the page"})}},this.mapApiErrorToPlaidError=e=>{if("string"==typeof e){if(e.includes("rate_limit"))return X.PLAID_RATE_LIMITED;if(e.includes("maintenance"))return X.PLAID_MAINTENANCE;if(e.includes("not_authenticated"))return X.PLAID_INVALID_CREDENTIALS}if(null==e?void 0:e.code)switch(e.code){case"rate_limited":return X.PLAID_RATE_LIMITED;case"maintenance":return X.PLAID_MAINTENANCE;case"not_authenticated":return X.PLAID_INVALID_CREDENTIALS;default:return X.PLAID_LINK_TOKEN_FAILED}return X.PLAID_LINK_TOKEN_FAILED},this.openPlaidLink=()=>{this.plaidLink&&this.linkToken&&(this.isAuthenticating=!0,this.clearError(),this.plaidLink.open())},this.handlePlaidSuccess=e=>{this.publicToken=e,this.isAuthenticating=!1,this.clearError(),this.retryCount=0,this.isSelected||(this.isSelected=!0,l.selectedPaymentMethod={type:E.PLAID}),this.plaidErrorRecovered.emit({code:"plaid-success",message:"Bank account connected successfully",severity:w.INFO}),l.plaidPublicToken=e},this.handlePlaidExit=e=>{this.isAuthenticating=!1,e&&this.handlePlaidError(e)},this.handlePlaidEvent=(e,t)=>{switch(e){case"OPEN":this.isAuthenticating=!0;break;case"CLOSE":this.isAuthenticating=!1;break;case"ERROR":this.handlePlaidError(t)}},this.handlePlaidLoad=()=>{},this.handlePlaidError=e=>{let t=X.PLAID_AUTHENTICATION_FAILED,i=K[t],s=!0,n="Click to try again";if(e.error_code)switch(e.error_code){case"INVALID_CREDENTIALS":t=X.PLAID_INVALID_CREDENTIALS,i=K[t],s=!0;break;case"ITEM_LOGIN_REQUIRED":t=X.PLAID_INVALID_CREDENTIALS,i="Your bank requires re-authentication. Please try again.",s=!0;break;case"ITEM_LOCKED":t=X.PLAID_ACCOUNT_LOCKED,i=K[t],s=!1,n="Contact your bank";break;case"INSTITUTION_NOT_RESPONDING":t=X.PLAID_MAINTENANCE,i=K[t],s=!0;break;case"RATE_LIMIT_EXCEEDED":t=X.PLAID_RATE_LIMITED,i=K[t],s=!0;break;case"INVALID_REQUEST":t=X.PLAID_AUTHENTICATION_FAILED,i="Invalid request. Please try again.",s=!0;break;case"PLAID_ERROR":t=X.PLAID_AUTHENTICATION_FAILED,i=e.error_message||"Bank authentication failed. Please try again.",s=!0;break;default:e.error_message&&(i=e.error_message)}if(e.error_message){const o=e.error_message.toLowerCase();o.includes("not supported")||o.includes("unsupported")?(t=X.PLAID_BANK_NOT_SUPPORTED,i=K[t],s=!1,n="Try a different payment method"):(o.includes("expired")||o.includes("timeout"))&&(t=X.PLAID_TOKEN_EXPIRED,i=K[t],s=!0)}this.handleError({code:t,message:i,severity:$[t],originalError:e,retryable:s,userAction:n}),this.isAuthenticating=!1},this.handleError=e=>{this.error=e,this.plaidError.emit({code:e.code,message:e.message,severity:e.severity,data:{originalError:e.originalError,retryable:e.retryable,userAction:e.userAction,retryCount:this.retryCount}}),console.error("Plaid error:",e),e.retryable&&this.retryCount<this.maxRetries&&this.scheduleRetry()},this.scheduleRetry=()=>{this.isRetrying||(this.isRetrying=!0,this.retryCount++,setTimeout((()=>{this.isRetrying=!1,this.clearError(),this.waitForStoreAndInitialize()}),this.retryDelay*this.retryCount))},this.clearError=()=>{this.error&&(this.error=null,this.retryCount=0)},this.syncWithStore=()=>{var e;const t=(null===(e=l.selectedPaymentMethod)||void 0===e?void 0:e.type)===E.PLAID;this.isSelected!==t&&(this.isSelected=t)}}onSelectionChange(e){var t;e&&(null===(t=l.selectedPaymentMethod)||void 0===t?void 0:t.type)!==E.PLAID&&(l.selectedPaymentMethod={type:E.PLAID}),!e||!this.plaidLink||this.publicToken||this.isAuthenticating||this.error||this.openPlaidLink()}componentDidRender(){this.scriptRef&&(this.scriptRef.onload=()=>{this.waitForStoreAndInitialize()},this.scriptRef.onerror=()=>{this.handleError({code:X.PLAID_SDK_LOAD_FAILED,message:K[X.PLAID_SDK_LOAD_FAILED],severity:$[X.PLAID_SDK_LOAD_FAILED],retryable:!0,userAction:"Refresh the page and try again"})})}componentWillLoad(){var e;this.isSelected=(null===(e=l.selectedPaymentMethod)||void 0===e?void 0:e.type)===E.PLAID}async resolvePaymentMethod(){return this.publicToken?{token:this.publicToken,data:{type:"bank_account",plaid_public_token:this.publicToken}}:{validationError:!0}}async getPaymentToken(){return l.paymentToken}async handleSelectionClick(){if(this.isSelected=!0,l.selectedPaymentMethod={type:E.PLAID},this.error)return this.clearError(),void this.waitForStoreAndInitialize();!this.plaidLink||this.publicToken||this.isAuthenticating||this.openPlaidLink()}async setSelected(e){this.isSelected=e,e&&(l.selectedPaymentMethod={type:E.PLAID})}async isCurrentlySelected(){return this.isSelected}async deselect(){this.isSelected=!1}async reset(){this.publicToken=null,this.clearError(),this.isAuthenticating=!1,this.linkToken=null,this.plaidLink=null,this.retryCount=0,this.isRetrying=!1,this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null),this.abortController&&(this.abortController.abort(),this.abortController=null)}async isReadyForAuthentication(){return!(!this.plaidLink||!this.linkToken||this.isAuthenticating)}async retry(){this.error&&this.error.retryable&&(this.clearError(),this.waitForStoreAndInitialize())}async getErrorInfo(){return this.error}componentDidLoad(){const e=d("selectedPaymentMethod",this.syncWithStore);this.unsubscribeFromStore=e}disconnectedCallback(){this.unsubscribeFromStore&&this.unsubscribeFromStore(),this.timeoutId&&clearTimeout(this.timeoutId),this.abortController&&this.abortController.abort()}render(){if(!0!==l.bankAccountVerification)return this.hasLoggedDisabledWarning||(console.warn("[PlaidPaymentMethod] bank_account_verification is disabled. Component will not render."),this.hasLoggedDisabledWarning=!0),null;const t=e("img",{class:"plaid-logo-img",src:"data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjggMjkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImNzcy0xcmRhajhtIj48ZyBmaWxsPSIjMTExIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yNS43NjI5IDI2LjI2MjhMMjggMTcuNTMwOUwyNC45NjkxIDE0LjUwMDFMMjcuOTk5OSAxMS40NjkxTDI1Ljc2MjggMi43MzcwNkwxNy4wMzA5IDAuNUwxNC4wMDAxIDMuNTMxTDEwLjk2OSAwLjUwMDE0TDIuMjM3MDYgMi43MzczNEwwIDExLjQ2OTFMMy4wMzEyOCAxNC40OTk5TDAuMDAwMTQgMTcuNTMxTDIuMjM3MiAyNi4yNjI5TDEwLjk2OTEgMjguNUwxNC4wMDAxIDI1LjQ2OUwxNy4wMzEgMjguNDk5OUwyNS43NjI5IDI2LjI2MjhaTTE1LjczMjEgMjMuNzM3MUwxOC42MTg2IDIwLjg1MDVMMjIuMjkxMiAyNC41MjMzTDE3LjY5NTYgMjUuNzAwN0wxNS43MzIxIDIzLjczNzFaTTExLjExMzYgOS44ODE1NEwxNC4wMDAzIDYuOTk1MDJMMTYuODg2OCA5Ljg4MTRMMTQuMDAwMSAxMi43Njc5TDExLjExMzYgOS44ODE1NFpNMTIuMjY4MiAxNC41TDkuMzgxNTQgMTcuMzg2NUw2LjQ5NTAyIDE0LjVMOS4zODE1NCAxMS42MTM1TDEyLjI2ODIgMTQuNVpNMTguNjE4NyAxMS42MTMzTDIxLjUwNTMgMTQuNUwxOC42MTg2IDE3LjM4NjVMMTUuNzMyMSAxNC41TDE4LjYxODcgMTEuNjEzM1pNMTYuODg2NyAxOS4xMTg2TDE0LjAwMDEgMjIuMDA1MUwxMS4xMTM1IDE5LjExODVMMTQuMDAwMSAxNi4yMzE5TDE2Ljg4NjcgMTkuMTE4NlpNMTAuMzA0NCAyNS43MDA3TDUuNzA4NjQgMjQuNTIzM0w5LjM4MTU0IDIwLjg1MDRMMTIuMjY4MiAyMy43MzcxTDEwLjMwNDQgMjUuNzAwN1pNNC43NjMwOCAxNi4yMzE5TDcuNjQ5NiAxOS4xMTg1TDMuOTc2NyAyMi43OTE0TDIuNzk5MyAxOC4xOTU3TDQuNzYzMDggMTYuMjMxOVpNMy45NzY3IDYuMjA4MzZMNy42NDk3NCA5Ljg4MTRMNC43NjMwOCAxMi43NjgxTDIuNzk5MyAxMC44MDQxTDMuOTc2NyA2LjIwODM2Wk0xMi4yNjgzIDUuMjYyOTRMOS4zODE2OCA4LjE0OTZMNS43MDg5MiA0LjQ3NjdMMTAuMzA0NyAzLjI5OTNMMTIuMjY4MyA1LjI2Mjk0Wk0xNy42OTU5IDMuMjk5M0wyMi4yOTE1IDQuNDc2N0wxOC42MTg2IDguMTQ5NDZMMTUuNzMyMSA1LjI2Mjk0TDE3LjY5NTkgMy4yOTkzWk0yMy4yMzcyIDEyLjc2ODFMMjAuMzUwNSA5Ljg4MTRMMjQuMDIzMyA2LjIwODc4TDI1LjIwMDcgMTAuODA0NkwyMy4yMzcyIDEyLjc2ODFaTTI0LjAyMzMgMjIuNzkxNEwyMC4zNTA1IDE5LjExODZMMjMuMjM3MiAxNi4yMzIxTDI1LjIwMDcgMTguMTk1N0wyNC4wMjMzIDIyLjc5MTRaIj48L3BhdGg+PC9nPjwvc3ZnPgo=",alt:"Plaid",title:"Plaid",style:{display:"inline",width:"20px",height:"20px",marginLeft:"5px",marginTop:"-2px"}});return e(a,{class:"payment-method"},e("script",{src:"https://cdn.plaid.com/link/v2/stable/link-initialize.js",async:!0,ref:e=>this.scriptRef=e}),e("div",{title:"Pay with Plaid"},e("div",{onClick:e=>{e.preventDefault(),this.handleSelectionClick()}},"Pay with Bank Account ",t," "),(()=>this.error?e("div",{class:(this.error.severity===w.ERROR?"text-danger":this.error.severity===w.WARNING?"text-warning":"text-info")+" mt-2"},e("small",null,this.error.message),e("br",null),e("small",{class:"text-muted"},this.error.userAction,this.error.retryable&&this.retryCount<this.maxRetries&&e("span",null," • Auto-retry in progress..."))):null)(),(()=>this.error?null:this.isAuthenticating?e("div",{class:"text-info mt-2"},e("small",null,"Connecting to your bank...")):this.publicToken?e("div",{class:"text-success mt-2"},e("small",null,"✓ Bank account connected successfully")):!this.isSelected||this.publicToken||this.error||this.isAuthenticating?null:e("div",{class:"text-muted mt-2"},e("small",null,"Click to connect your bank account")))()))}static get watchers(){return{isSelected:["onSelectionChange"]}}},te=class{constructor(e){t(this,e),this.onPaymentMethodOptionClick=e=>t=>{t.preventDefault(),l.selectedPaymentMethod={id:e.id,type:e.type},l.paymentToken=e.id},this.isAllowedPaymentMethod=e=>!(e===E.SAVED_CARD&&l.disableCreditCard||e===E.SAVED_BANK_ACCOUNT&&l.disableBankAccount)}componentWillLoad(){l.paymentMethods.length||console.warn("No saved payment methods available."),l.disablePaymentMethodGroup&&console.warn("Payment method group is disabled.")}render(){return l.disablePaymentMethodGroup?null:e(a,null,e("div",{class:"saved-payment-methods"},l.paymentMethods.length?l.paymentMethods.filter((e=>this.isAllowedPaymentMethod(e.type))).map((t=>e("div",{class:"radio-list-item p-3",part:u,onClick:this.onPaymentMethodOptionClick(t)},e("form-control-radio",{name:"paymentMethodType",value:null==t?void 0:t.id,checked:l.paymentToken===(null==t?void 0:t.id),label:`${O[null==t?void 0:t.brand]||""} *${null==t?void 0:t.acct_last_four}`})))):null))}},ie=e("img",{class:"sezzle-smart-button-logo-img",src:"https://media.sezzle.com/branding/2.0/Sezzle_Logo_FullColor.svg",alt:"Sezzle",style:{display:"inline",width:"80px",marginLeft:"5px",marginTop:"-5px"}}),se=class{constructor(e){t(this,e),this.paymentMethodOptionSelected=i(this,"paymentMethodOptionSelected"),this.paymentMethodOptionId=E.SEZZLE,this.initializeSezzleCheckout=()=>{let e;this.sezzlePromise=new Promise((t=>{e=t}));const t=Number(l.paymentAmount),i=new(0,window.Checkout)({mode:"popup",publicKey:l.bnplProviderClientId,apiMode:l.bnplProviderMode,apiVersion:l.bnplProviderApiVersion});i.sezzleButtonElement=this.sezzleButtonRef,i.init({onClick:function(e){e.preventDefault(),i.startCheckout({checkout_url:l.bnplProviderCheckoutUrl})},onComplete:t=>e({bnpl:t.data}),onCancel:t=>e({bnpl:t.data}),onFailure:t=>e({bnpl:t.data})}),this.sezzleCheckout=i,this.installmentPlan=this.sezzleCheckout.getInstallmentPlan(t)}}componentDidRender(){this.scriptRef&&(this.scriptRef.onload=()=>{this.sezzleButtonRef=document.createElement("button"),this.initializeSezzleCheckout()})}async resolvePaymentMethod(e){return e.isValid?(this.sezzleButtonRef.click(),this.sezzlePromise):{validationError:!0}}async handleSelectionClick(){l.selectedPaymentMethod={type:E.SEZZLE},this.paymentMethodOptionSelected.emit(this.paymentMethodOptionId)}render(){var t,i;return l.bnplEnabled?e(a,{class:"payment-method"},e("script",{src:"https://checkout-sdk.sezzle.com/checkout.min.js",async:!0,ref:e=>this.scriptRef=e}),e("div",null,e("div",null,"Buy now, pay later with ",ie),this.installmentPlan&&e("small",null,e("span",null,null===(t=this.installmentPlan)||void 0===t?void 0:t.installments.length)," ",e("span",null,this.installmentPlan.schedule," payments of")," ",e("span",{class:"fw-bold"},y(null===(i=this.installmentPlan)||void 0===i?void 0:i.installments[0].amountInCents))))):(console.warn("justifi-sezzle-payment-method: BNPL is not enabled for this account."),null)}},ne={[E.NEW_BANK_ACCOUNT]:"New bank account",[E.NEW_CARD]:"New credit or debit card"},oe="Payment form not ready",ae="Validation error",re=class{constructor(e){t(this,e),this.errorEvent=i(this,"error-event"),this.submitEvent=i(this,"submit-event"),this.computedHideSubmitButton=!1,this.isLoading=!1,this.submitButtonText="Submit"}paymentMethodsChanged(){this.setDefaultSelectedPaymentMethod()}connectedCallback(){this.setDefaultSelectedPaymentMethod(),this.setComputedHideSubmitButton()}disconnectedCallback(){var e;null===(e=this.analytics)||void 0===e||e.cleanup(),this.unsubscribeFromStore&&this.unsubscribeFromStore()}componentWillLoad(){A(),this.analytics=new k(this)}handleRadioClick(e){this.selectedPaymentMethod=e.detail,l.selectedPaymentMethod={type:e.detail}}async fillBillingForm(e){var t;null===(t=this.billingFormRef)||void 0===t||t.fill(e)}async tokenizePaymentMethod(e){null==e||e.preventDefault(),this.validateRequiredProps(),this.isLoading=!0;try{if(!(await this.validate()).isValid)return this.errorEvent.emit({errorCode:P.TOKENIZE_ERROR,message:ae}),void(this.isLoading=!1);const e=await this.resolvePaymentMethod({isValid:!0});return e.error&&this.emitError({errorCode:e.error.code,message:e.error.message}),this.submitEvent.emit({response:e}),e}catch(e){const t=this.createErrorResponse(P.TOKENIZE_ERROR,e.message);return this.emitError({errorCode:P.TOKENIZE_ERROR,message:e.message}),this.submitEvent.emit({response:t}),t}finally{this.isLoading=!1}}async validate(){if(!this.areFormsReady())return{isValid:!1,errors:{general:oe}};const[e,t]=await Promise.all([this.billingFormRef.validate(),this.paymentMethodFormRef.validate()]);return{isValid:e.isValid&&t.isValid,errors:Object.assign(Object.assign({},e.errors),t.errors)}}async tokenize(){try{const e=await this.billingFormRef.getValues(),t={clientId:this.authToken||l.authToken,account:this.accountId||l.accountId,paymentMethodMetadata:this.buildPaymentMethodMetadata(e)};return await this.paymentMethodFormRef.tokenize(t)}catch(e){return e}}validateRequiredProps(){this.authToken||l.authToken||this.emitError({errorCode:P.TOKENIZE_ERROR,message:"Auth token is required when using the tokenize-payment-method component not slotted in justifi-modular-checkout"}),this.accountId||l.accountId||this.emitError({errorCode:P.TOKENIZE_ERROR,message:"Account ID is required when using the tokenize-payment-method component not slotted in justifi-modular-checkout"})}setDefaultSelectedPaymentMethod(){this.selectedPaymentMethod||(this.disableCreditCard?this.disableBankAccount||(this.selectedPaymentMethod=E.NEW_BANK_ACCOUNT,l.selectedPaymentMethod={type:E.NEW_BANK_ACCOUNT}):(this.selectedPaymentMethod=E.NEW_CARD,l.selectedPaymentMethod={type:E.NEW_CARD}))}setComputedHideSubmitButton(){if(void 0!==this.hideSubmitButton)return void(this.computedHideSubmitButton=this.hideSubmitButton);const e=this.isSlottedWithinModularCheckout();this.computedHideSubmitButton=e}isSlottedWithinModularCheckout(){var e;let t=null===(e=this.host)||void 0===e?void 0:e.parentElement;for(;t;){if("JUSTIFI-MODULAR-CHECKOUT"===t.tagName)return!0;t=t.parentElement}return!1}get availablePaymentMethods(){const e=[];return this.disableCreditCard||e.push(E.NEW_CARD),this.disableBankAccount||e.push(E.NEW_BANK_ACCOUNT),e}areFormsReady(){return!(!this.billingFormRef||!this.paymentMethodFormRef)}emitError(e){this.errorEvent.emit(Object.assign(Object.assign({},e),{severity:w.ERROR}))}createErrorResponse(e,t){return{error:{code:e,message:t,decline_code:void 0}}}async resolvePaymentMethod(e){if(!this.areFormsReady())return this.createErrorResponse("form_not_ready",oe);try{const t=await this.validate();if(!t.isValid||!e.isValid){const e=Object.values(t.errors)[0]||ae;return{validationError:!0,error:{code:"validation_error",message:String(e),decline_code:void 0}}}return await this.performTokenization()}catch(e){return{error:e}}}async performTokenization(){var e,t;const i=await this.tokenize();if(i.error)return{error:i.error};const s=i.data;return{token:(null===(e=s.card)||void 0===e?void 0:e.token)||(null===(t=s.bank_account)||void 0===t?void 0:t.token),data:s}}buildPaymentMethodMetadata(e){return this.shouldSavePaymentMethod?Object.assign(Object.assign({},e),{payment_method_group_id:this.paymentMethodGroupID}):Object.assign({},e)}get paymentMethodGroupID(){return this.paymentMethodGroupId||l.paymentMethodGroupId}get shouldSavePaymentMethod(){return!(!this.paymentMethodGroupId&&!l.savePaymentMethod)}get shouldHideRadioInput(){return this.disableCreditCard||this.disableBankAccount}renderPaymentMethodOption(t){const i=this.selectedPaymentMethod===t&&void 0===l.selectedPaymentMethod.id;return e("div",{class:"payment-method"},e("justifi-radio-list-item",{name:"paymentMethodType",value:t,checked:i,label:ne[t],hidden:this.shouldHideRadioInput}),i&&this.renderSelectedPaymentMethodForm(t))}renderSelectedPaymentMethodForm(t){return e("div",{class:"mt-4 pb-4"},this.renderPaymentMethodForm(t),e("div",{class:"mt-4"},e("justifi-billing-form",{ref:e=>this.billingFormRef=e,hideCardBillingForm:this.hideCardBillingForm,hideBankAccountBillingForm:this.hideBankAccountBillingForm,paymentMethodType:t})),e("div",{class:"mt-4"},e("justifi-save-new-payment-method",{hidden:!this.paymentMethodGroupID,label:this.savePaymentMethodLabel})))}renderPaymentMethodForm(t){return e(t===E.NEW_CARD?"justifi-card-form":"justifi-bank-account-form",{ref:e=>this.paymentMethodFormRef=e})}render(){return e(a,{key:"bf221d17739bf70c3f581f3b9791a725e76c3f35"},e("form",{key:"df117d42d4160f31df1fca5d6903967cc48ad573"},e("fieldset",{key:"550e670feffb405c669d44c44eb9073f535c6cb6"},e("div",{key:"8eff7d3ab19618da54161220b92641bf19bfa82d",class:"row gy-3"},e("div",{key:"bf9d19e92be74abf48ce65c97efb3f9df52d4c3c",class:"col-12"},this.availablePaymentMethods.map((e=>this.renderPaymentMethodOption(e)))),e("div",{key:"eef1f4e1e03c2263efb51ae94085c5a3d73a9166",class:"col-12"},e("justifi-button",{key:"f0e5697e658236610da45c34e64a8cbb3f0f9d95",text:this.submitButtonText,variant:"primary",type:"submit",clickHandler:e=>this.tokenizePaymentMethod(e),isLoading:this.isLoading,"data-testid":"submit-button",hidden:this.computedHideSubmitButton}))))))}get host(){return n(this)}static get watchers(){return{disableCreditCard:["paymentMethodsChanged"],disableBankAccount:["paymentMethodsChanged"]}}};export{H as justifi_apple_pay,q as justifi_checkout_summary,W as justifi_header,J as justifi_modular_checkout,ee as justifi_plaid_payment_method,te as justifi_saved_payment_methods,se as justifi_sezzle_payment_method,re as justifi_tokenize_payment_method}
@@ -0,0 +1 @@
1
+ import{r as e,h as t}from"./p-DOjVAAtq.js";import{r as a}from"./p-xDbRW9xn.js";import{S as o}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";const s=class{constructor(t){e(this,t)}render(){return t(o,{key:"1b2afde467e7df3ac661951843ad81fd93878585",class:"payment-method"},t("div",{key:"1671afdd9d7ceb16836af9453a001ecaa2b6bab4",class:"radio-list-item p-3",part:a,onClick:this.clickHandler,hidden:this.radioButtonHidden},t("form-control-radio",{key:"3d1a48f478c9504b63c81ff2665ebff2fb19c862",name:"paymentMethodType",value:this.paymentMethodOptionId,checked:this.isSelected,label:this.label})))}};export{s as payment_method_option}
@@ -1 +1 @@
1
- import{h as t,r as s,c as e}from"./p-DOjVAAtq.js";import{a as i,b as r}from"./p-C9iide2W.js";import{F as o,c as n,b as a}from"./p-DiJD6Iqx.js";import{A as l,C as h,R as c,c as d}from"./p-BlJnA265.js";import{C as u,P as m}from"./p-B-iV5cYd.js";import{C as p}from"./p-DS3KdLWS.js";import{S as f}from"./p-BCE-dTDp.js";import"./p-CZfYo5-1.js";import{a as v,r as b,s as y,b as g}from"./p-yH3TC3ZQ.js";import{a as w,B as _}from"./p-XYgDHrVL.js";import{E as x,l as j,m as T}from"./p-C98BC5W5.js";import{z as S,A as k,B as C,y as O,C as H,D as L}from"./p-PSJOKMWp.js";import"./p-a6tcNl_T.js";import"./p-HXpYMWUU.js";import{C as D,a as E}from"./p-Cjcsf8ku.js";import"./p-CLHwhyvu.js";import"./p-BH0Xfn-F.js";import{n as B}from"./p-BnjCmwMr.js";import{B as A}from"./p-YXBIe5uT.js";import{i as V,a as P}from"./p-tYuXMkCd.js";import{S as W}from"./p-BX8GieXu.js";import"./p-BFTU3MAI.js";import"./p-Dt-vy9Le.js";import"./p-Bgnhf5c9.js";import"./p-DdMxswn1.js";class I{constructor(t){this.id=t.id,this.account_owner_name=t.account_owner_name,this.full_name=t.full_name,this.account_type=t.account_type,this.account_number=t.account_number,this.acct_last_four=t.acct_last_four,this.account_number_last4=t.account_number_last4,this.routing_number=t.routing_number,this.bank_name=t.bank_name,this.country=t.country,this.currency=t.currency,this.nickname=t.nickname,this.metadata=t.metadata,this.business_id=t.business_id,this.platform_account_id=t.platform_account_id,this.created_at=t.created_at,this.updated_at=t.updated_at}get payload(){return{account_owner_name:this.account_owner_name||"",account_type:this.account_type||"",account_number:this.account_number||"",routing_number:this.routing_number||"",bank_name:this.bank_name||"",nickname:this.nickname||"",business_id:this.business_id||""}}}const F=()=>t("div",{class:"row gap-3"},t("div",{class:"col-12"},t(f,{width:"25%"})),t("div",{class:"col-12"},t(f,{width:"100%"})),t("div",{class:"col-12 d-flex gap-3"},t(f,{width:"50%"}),t(f,{width:"50%"})),t("div",{class:"col-12 d-flex gap-3"},t(f,{width:"65%"}),t(f,{width:"35%"}))),U=()=>t("div",{class:"row gap-5"},t("div",{class:"col-12"},t(f,{width:"40%",height:"40px"})),t(F,null),t(F,null),t(F,null)),q=class{constructor(t){s(this,t),this.stepCompleteEvent=e(this,"complete-form-step-event"),this.errorEvent=e(this,"error-event"),this.formLoading=e(this,"formLoading"),this.errors={},this.additional_questions={},this.recurringPayments=!1,this.isLoading=!1,this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:t=>{this.additional_questions=new l(t.data.additional_questions||{}),this.formController.setInitialValues(Object.assign({},this.additional_questions))},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({message:t,errorCode:s,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=t=>{let s;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{s=e,t()},onError:({error:t,code:e,severity:i})=>{s=t,this.errorEvent.emit({message:t,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:s,formStep:w.additionalQuestions}),this.formLoading.emit(!1)}})},this.inputHandler=(t,s)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:s})),this.additional_questions=new l(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:s}))}}recurringPaymentsWatcher(t){this.recurringPayments="Yes"===(null==t?void 0:t.business_recurring_payments)}async validateAndSubmit({onSuccess:t}){this.formController.validateAndSubmit((()=>this.sendData(t)))}get patchPayload(){return{additional_questions:new l(this.formController.values.getValue()).payload}}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new o(i(this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))}render(){var s,e,i,r,o,n,a;const l=this.formController.getInitialValues();return this.isLoading?t(U,null):t("form",null,t("fieldset",null,t("div",{class:"d-flex align-items-center gap-2"},t("legend",{class:"mb-0",part:p},"Additional Questions"),t("form-control-tooltip",{helpText:"This information helps us understand the business and identify and monitor trends to safeguard you and your customers."})),t("hr",{class:"mt-2"}),t("div",{class:"row gy-3"},t("div",{class:"col-12 col-md-6"},t("form-control-monetary-provisioning",{name:"business_revenue",label:"What is your business’ estimated annual revenue from its primary business activities?",inputHandler:this.inputHandler,errorText:null===(s=this.errors)||void 0===s?void 0:s.business_revenue,defaultValue:null==l?void 0:l.business_revenue,maskOptions:u.WHOLE})),t("div",{class:"col-12 col-md-6"},t("form-control-monetary-provisioning",{name:"business_payment_volume",label:"What is your business' annual credit card & ACH volume anticipated to process?",inputHandler:this.inputHandler,errorText:null===(e=this.errors)||void 0===e?void 0:e.business_payment_volume,defaultValue:null==l?void 0:l.business_payment_volume,maskOptions:u.WHOLE})),t("div",{class:"col-12"},t("form-control-select",{name:"business_when_service_received",label:"On average, how long after paying will your customers typically receive their goods or services?",inputHandler:this.inputHandler,errorText:null===(i=this.errors)||void 0===i?void 0:i.business_when_service_received,options:v,defaultValue:null==l?void 0:l.business_when_service_received})),t("div",{class:"col-12"},t("form-control-select",{name:"business_recurring_payments",label:"Does your business offer recurring payments?",inputHandler:this.inputHandler,errorText:null===(r=this.errors)||void 0===r?void 0:r.business_recurring_payments,options:b,defaultValue:null==l?void 0:l.business_recurring_payments})),t("div",{class:"col-12",hidden:!this.recurringPayments},t("form-control-text",{name:"business_recurring_payments_percentage",label:"What percent of revenue is generated from each recurring payment type offered?",inputHandler:this.inputHandler,errorText:null===(o=this.errors)||void 0===o?void 0:o.business_recurring_payments_percentage,defaultValue:null==l?void 0:l.business_recurring_payments_percentage,helpText:"For example: 50% monthly, 50% annual."})),t("div",{class:"col-12"},t("form-control-select",{name:"business_seasonal",label:"Is this business seasonal?",inputHandler:this.inputHandler,errorText:null===(n=this.errors)||void 0===n?void 0:n.business_seasonal,options:y,defaultValue:null==l?void 0:l.business_seasonal})),t("div",{class:"col-12"},t("form-control-text",{name:"business_other_payment_details",label:"Is there anything else you would like us to know about how your customers pay the business? (optional)",inputHandler:this.inputHandler,errorText:null===(a=this.errors)||void 0===a?void 0:a.business_other_payment_details,defaultValue:null==l?void 0:l.business_other_payment_details})))))}static get watchers(){return{additional_questions:["recurringPaymentsWatcher"]}}},N=(t,s)=>t.some((t=>t.document_type===s)),X="Please upload either a voided check or a bank statement. Only one is required.",Y=(t,s)=>{const e=N(t,x.voidedCheck),i=N(t,x.bankStatement),r=e||i,o=n().shape({bank_name:L.required("Enter bank name"),nickname:H.required("Enter nickname"),account_owner_name:O.required("Enter account owner name"),account_type:C.required("Select account type"),account_number:k.required("Enter account number"),routing_number:S.required("Enter routing number"),voided_check:a().when("bank_statement",{is:t=>!t&&!r,then:t=>t.required(X),otherwise:t=>t.notRequired()}),bank_statement:a().when("voided_check",{is:t=>!t&&!r,then:t=>t.required(X),otherwise:t=>t.notRequired()})},[["voided_check","bank_statement"]]),l=n({bank_name:L.nullable(),nickname:H.nullable(),account_owner_name:O.nullable(),account_type:C.nullable(),account_number:k.nullable(),routing_number:S.nullable(),voided_check:a().nullable(),bank_statement:a().nullable()});return s?l:o},M=class{constructor(t){s(this,t),this.stepCompleteEvent=e(this,"complete-form-step-event"),this.errorEvent=e(this,"error-event"),this.formLoading=e(this,"formLoading"),this.errors={},this.bankAccount={},this.existingDocuments=[],this.documentData=new j,this.isLoading=!1,this.initializeFormController=()=>{this.formController=new o(Y(this.existingDocuments,this.allowOptionalFields)),this.formController.setInitialValues(Object.assign({},this.bankAccount)),this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))},this.inputHandler=(t,s)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:s}))},this.storeFiles=t=>{const s=Array.from(t.detail.fileList),e=t.detail.document_type,i=s.map((t=>new T({file:t,document_type:e},this.businessId)));this.documentData[e]=i},this.getData=()=>{this.isLoading=!0,this.getBusiness({onSuccess:t=>{t.data.bank_accounts.length>0?this.bankAccount=new I(t.data.bank_accounts[0]):(this.bankAccount=new I({}),this.bankAccount.business_id=this.businessId),this.existingDocuments=t.data.documents},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({message:t,errorCode:s,severity:e})},final:()=>{this.initializeFormController(),this.isLoading=!1}})},this.postDocumentRecordData=async t=>{this.isLoading=!0;const s=t.record_data;return new Promise((e=>{this.postDocumentRecord({payload:s,onSuccess:s=>{e(this.handleDocRecordResponse(t,s))},onError:({error:t,code:s,severity:i})=>{this.errorEvent.emit({message:t,errorCode:s,severity:i}),e(!1)}})}))},this.handleDocRecordResponse=(t,s)=>s.error?(this.errorEvent.emit({errorCode:E.POST_ERROR,message:s.error.message,severity:D.ERROR,data:s.error}),!1):(t.setPresignedUrl(s.data.presigned_url),!0),this.uploadDocument=async t=>{if(!t.presigned_url)throw new Error("Presigned URL is not set");const s=await t.getFileData(),e=await fetch(t.presigned_url,{method:"PUT",body:s});return this.handleUploadResponse(e)},this.handleUploadResponse=t=>!t.error||(this.errorEvent.emit({errorCode:E.POST_ERROR,message:t.error.message,severity:D.ERROR,data:t.error}),!1)}watchHandler(t){this.formLoading.emit(t)}async validateAndSubmit({onSuccess:t}){this.existingBankAccount?this.sendData(t):this.formController.validateAndSubmit((()=>this.sendData(t)))}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new o(Y(this.existingDocuments,this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))}get postPayload(){return new I(this.formController.values.getValue()).payload}get existingBankAccount(){var t;return!!(null===(t=this.bankAccount)||void 0===t?void 0:t.id)}async sendData(t){try{if(!this.existingBankAccount&&!await this.postBankAccountData())return;if(!await this.postBusinessDocuments())return;t()}catch(t){this.errorEvent.emit({message:t,errorCode:E.POST_ERROR,severity:D.ERROR})}}async postBankAccountData(){let t;return this.isLoading=!0,new Promise((s=>{let e=!1;this.postBankAccount({payload:this.postPayload,onSuccess:s=>{t=s,e=!0},onError:({error:t,code:s,severity:i})=>{e=!1,this.errorEvent.emit({message:t,errorCode:s,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:t,formStep:w.bankAccount}),this.isLoading=!1,s(e)}})}))}async postBusinessDocuments(){this.isLoading=!0;try{const t=Object.values(this.documentData).flat();return!t.length||!(await Promise.all(t.map((t=>this.postDocumentRecordData(t))))).includes(!1)&&!(await Promise.all(t.map((t=>this.uploadDocument(t))))).includes(!1)}finally{this.isLoading=!1}}render(){const s=this.formController.getInitialValues();return this.isLoading?t(U,null):t("form",null,t("fieldset",{class:"mb-4"},t("div",{class:"d-flex align-items-center gap-2"},t("legend",{class:"mb-0",part:p},"Bank Account Info"),t("form-control-tooltip",{helpText:"This direct deposit account is the designated bank account where incoming funds will be deposited. The name of this account must match the registered business name exactly. We are not able to accept personal accounts unless your business is a registered sole proprietorship."})),t("hr",{class:"mt-2"}),t("bank-account-form-inputs",{defaultValue:s,errors:this.errors,inputHandler:this.inputHandler,formDisabled:this.existingBankAccount})),t("fieldset",{class:"mt-4"},t("div",{class:"d-flex align-items-center gap-2"},t("legend",{class:"mb-0",part:p},"Document Uploads"),t("form-control-tooltip",{helpText:"One document (voided check or bank statement) is required for underwriting purposes. It needs to visibly show the name tied to the account and the account number. Various file formats such as PDF, DOC, DOCX, JPEG are accepted. Multiple files can be uploaded for each document category."})),t("hr",{class:"mt-2"}),t("business-documents-on-file",{documents:this.existingDocuments,isLoading:this.isLoading}),t("bank-account-document-form-inputs",{inputHandler:this.inputHandler,errors:this.errors,storeFiles:this.storeFiles})))}static get watchers(){return{isLoading:["watchHandler"]}}},R=class{constructor(t){s(this,t),this.stepCompleteEvent=e(this,"complete-form-step-event"),this.errorEvent=e(this,"error-event"),this.formLoading=e(this,"formLoading"),this.errors={},this.coreInfo={},this.isLoading=!1,this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:t=>{this.coreInfo=new h(t.data),this.formController.setInitialValues(Object.assign({},this.coreInfo))},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({message:t,errorCode:s,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=t=>{let s;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{s=e,t()},onError:({error:t,code:e,severity:i})=>{s=t,this.errorEvent.emit({message:t,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:s,formStep:w.businessInfo}),this.formLoading.emit(!1)}})},this.inputHandler=(t,s)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:s}))}}async validateAndSubmit({onSuccess:t}){this.formController.validateAndSubmit((()=>this.sendData(t)))}get patchPayload(){return new h(this.formController.values.getValue()).payload}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new o(r(this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))}render(){const s=this.formController.getInitialValues();return this.isLoading?t(U,null):t("form",null,t("fieldset",null,t("div",{class:"d-flex align-items-center gap-2"},t("legend",{class:"mb-0",part:p},"Business Information")),t("hr",{class:"mt-2"}),t("div",{class:"row gy-3"},t("div",{class:"col-12"},t("form-control-text",{name:"legal_name",label:"Business Name",defaultValue:s.legal_name,errorText:this.errors.legal_name,inputHandler:this.inputHandler,helpText:"Enter this exactly as it appears on your tax records (don't use acronyms or abbreviations unless you registered that way)."})),t("div",{class:"col-12"},t("form-control-text",{name:"doing_business_as",label:"Doing Business As (DBA)",defaultValue:s.doing_business_as,errorText:this.errors.doing_business_as,inputHandler:this.inputHandler,helpText:"Enter this exactly as it appears on your tax records (leave blank if you don't have a registered DBA/trade name)"})),t("div",{class:"col-12 col-md-8"},t("form-control-select",{name:"classification",label:"Business Classification",options:g,defaultValue:s.classification,errorText:this.errors.classification,inputHandler:this.inputHandler})),t("div",{class:"col-12 col-md-4"},t("form-control-date",{name:"date_of_incorporation",label:"Date of Incorporation",defaultValue:s.date_of_incorporation,errorText:this.errors.date_of_incorporation,inputHandler:this.inputHandler})),t("div",{class:"col-12 col-md-6"},t("form-control-text",{name:"industry",label:"Industry",defaultValue:s.industry,errorText:this.errors.industry,inputHandler:this.inputHandler,helpText:"Describe what you sell"})),t("div",{class:"col-12 col-md-6"},t("form-control-text",{name:"tax_id",label:"Tax ID (EIN or SSN)",defaultValue:s.tax_id,errorText:this.errors.tax_id,inputHandler:this.inputHandler,keyDownHandler:B,maxLength:9,helpText:"Employer Identification Numbers (EINs) are nine digits. The federal tax identification number/EIN issued to you by the IRS. It can be found on your tax returns. Enter value without dashes."})),t("div",{class:"col-12"},t("form-control-text",{name:"website_url",label:"Business Website URL",defaultValue:s.website_url,errorText:this.errors.website_url,inputHandler:this.inputHandler,helpText:"Don't have a live website? You can use your social media business page, app store link, or staging site URL."})),t("div",{class:"col-12 col-md-6"},t("form-control-text",{name:"email",label:"Business Email Address",defaultValue:s.email,errorText:this.errors.email,inputHandler:this.inputHandler})),t("div",{class:"col-12 col-md-6"},t("form-control-number-masked",{name:"phone",label:"Business Phone Number",defaultValue:s.phone,errorText:this.errors.phone,inputHandler:this.inputHandler,mask:m.US})))))}},J=class{constructor(t){s(this,t),this.clickEvent=e(this,"click-event"),this.stepCompleteEvent=e(this,"complete-form-step-event"),this.errorEvent=e(this,"error-event"),this.formLoading=e(this,"formLoading"),this.ownersPayload=[],this.refs=[],this.isLoading=!1,this.matchRef=(t,s)=>{const e=this.refs.findIndex((t=>t===s));-1!==e&&(this.refs[e]=t)},this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:t=>{t.data.owners.length?this.ownersPayload=t.data.owners.map((t=>({id:t.id}))):this.addOwnerForm()},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({message:t,errorCode:s,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1,this.manageRefs()}})},this.sendData=async t=>{let s;this.formLoading.emit(!0),this.patchBusiness({payload:{owners:this.ownersPayload},onSuccess:e=>{s=e,t()},onError:({error:t,code:e,severity:i})=>{s=t,this.errorEvent.emit({message:t,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:s,formStep:w.owners}),this.formLoading.emit(!1)}})},this.addOwnerForm=t=>{this.newFormOpen=!0,this.ownersPayload=[...this.ownersPayload,{id:""}],t&&this.clickEvent.emit({name:_.addOwnerForm})},this.removeOwnerForm=t=>{this.ownersPayload=this.ownersPayload.filter((s=>s.id!==t)),this.newFormOpen&&(this.newFormOpen=!1)}}get showAddOwnerButton(){return this.ownersPayload.length<4&&!this.newFormOpen}manageRefs(){this.refs=this.ownersPayload.map((t=>t.id))}async validateAndSubmit({onSuccess:t}){const s=this.refs.map((t=>t.validate()));if(!(await Promise.all(s)).every((t=>t)))return;const e=this.refs.map((t=>t.submit()));(await Promise.all(e)).every((t=>t))&&this.sendData(t)}componentWillLoad(){this.getBusiness&&this.getData()}ownersWatcher(){this.manageRefs()}handleOwnerSubmit(t){const s=t.detail,e=this.ownersPayload.map((t=>t.id===s.id?s:t));e.includes(s)||(e[this.ownersPayload.findIndex((t=>!t.id))]=s,this.newFormOpen&&(this.newFormOpen=!1)),this.ownersPayload=e}render(){return this.isLoading?t(U,null):t("div",null,t("div",{class:"d-flex align-items-center gap-2"},t("legend",{class:"mb-0",part:p},"Owners"),t("form-control-tooltip",{helpText:"For partnerships, LLCs or privately held corporations, the business is required to apply with all individuals with 25% or more ownership to the application. For charities and registered non-profits, the business is required to apply with 1 individual with substantial control over the entity, such as a board member or director."})),t("hr",{class:"mt-2"}),t("div",{class:"row gy-3"},this.ownersPayload.map((s=>t("justifi-owner-form",{key:s.id,authToken:this.authToken,businessId:this.businessId,ownerId:s.id,removeOwner:this.removeOwnerForm,newFormOpen:this.newFormOpen,ownersLength:this.ownersPayload.length,allowOptionalFields:this.allowOptionalFields,ref:t=>this.matchRef(t,s.id)})))),t("div",{class:"d-flex justify-content-start"},t("div",{class:"gap-2"},t(A,{variant:"primary",onClick:()=>this.addOwnerForm(!0),hidden:!this.showAddOwnerButton},"Add Owner"))))}static get watchers(){return{ownersPayload:["ownersWatcher"]}}},G=class{constructor(t){s(this,t),this.stepCompleteEvent=e(this,"complete-form-step-event"),this.errorEvent=e(this,"error-event"),this.formLoading=e(this,"formLoading"),this.errors={},this.representative={},this.isLoading=!1,this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:t=>{this.representative=new c(t.data.representative||{}),this.formController.setInitialValues(Object.assign({},this.representative))},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({message:t,errorCode:s,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=t=>{let s;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{s=e,t()},onError:({error:t,code:e,severity:i})=>{s=t,this.errorEvent.emit({message:t,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:s,formStep:w.representative}),this.formLoading.emit(!1)}})}}async validateAndSubmit({onSuccess:t}){this.formController.validateAndSubmit((()=>this.sendData(t)))}get patchPayload(){return{representative:new c(this.formController.values.getValue()).payload}}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new o(V("representative",this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))}render(){return this.isLoading?t(U,null):t("justifi-business-representative-form-inputs",{representativeDefaultValue:this.formController.getInitialValues(),errors:this.errors,formController:this.formController})}},K=class{constructor(t){s(this,t),this.stepCompleteEvent=e(this,"complete-form-step-event"),this.errorEvent=e(this,"error-event"),this.formLoading=e(this,"formLoading"),this.errors={},this.legal_address={},this.isLoading=!1,this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:t=>{this.legal_address=new d(t.data.legal_address||{}),this.formController.setInitialValues(Object.assign({},this.legal_address))},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({message:t,errorCode:s,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=t=>{let s;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{s=e,t()},onError:({error:t,code:e,severity:i})=>{s=t,this.errorEvent.emit({message:t,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:s,formStep:w.legalAddress}),this.formLoading.emit(!1)}})},this.inputHandler=(t,s)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:s}))}}async validateAndSubmit({onSuccess:t}){this.formController.validateAndSubmit((()=>this.sendData(t)))}get patchPayload(){return{legal_address:new d(this.formController.values.getValue()).payload}}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new o(P(this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))}render(){var s,e,i,r,o,n;const a=this.formController.getInitialValues();return this.isLoading?t(U,null):t("form",null,t("fieldset",null,t("div",{class:"d-flex align-items-center gap-2"},t("legend",{class:"mb-0",part:p},"Legal Address of your Business"),t("form-control-tooltip",{helpText:"No PO Boxes."})),t("hr",{class:"mt-2"}),t("div",{class:"row gy-3"},t("div",{class:"col-12"},t("form-control-text",{name:"line1",label:"Legal Address",inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.line1,errorText:null===(s=this.errors)||void 0===s?void 0:s.line1})),t("div",{class:"col-12"},t("form-control-text",{name:"line2",label:"Address Line 2 (optional)",inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.line2,errorText:null===(e=this.errors)||void 0===e?void 0:e.line2})),t("div",{class:"col-12"},t("form-control-text",{name:"city",label:"City",inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.city,errorText:null===(i=this.errors)||void 0===i?void 0:i.city})),t("div",{class:"col-12"},t("form-control-select",{name:"state",label:"State",options:W,inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.state,errorText:null===(r=this.errors)||void 0===r?void 0:r.state})),t("div",{class:"col-12"},t("form-control-text",{name:"postal_code",label:"Postal Code",inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.postal_code,errorText:null===(o=this.errors)||void 0===o?void 0:o.postal_code,maxLength:5,keyDownHandler:B})),t("div",{class:"col-12"},t("form-control-select",{name:"country",label:"Country",options:[{label:"United States",value:"USA"}],inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.country,errorText:null===(n=this.errors)||void 0===n?void 0:n.country,disabled:!0})))))}};export{q as justifi_additional_questions_form_step_core,M as justifi_business_bank_account_form_step_core,R as justifi_business_core_info_form_step_core,J as justifi_business_owners_form_step_core,G as justifi_business_representative_form_step_core,K as justifi_legal_address_form_step_core}
1
+ import{h as t,r as s,c as e}from"./p-DOjVAAtq.js";import{a as i,b as r}from"./p-C9iide2W.js";import{F as o,c as n,b as a}from"./p-DiJD6Iqx.js";import{A as l,C as h,R as c,c as d}from"./p-BlJnA265.js";import{C as u,P as m}from"./p-B-iV5cYd.js";import{G as p}from"./p-xDbRW9xn.js";import{S as f}from"./p-T2yENPvU.js";import"./p-CZfYo5-1.js";import{a as v,r as b,s as y,b as g}from"./p-yH3TC3ZQ.js";import{a as w,B as _}from"./p-XYgDHrVL.js";import{E as x,l as j,m as T}from"./p-C98BC5W5.js";import{z as k,A as S,B as C,y as O,C as H,D as L}from"./p-PSJOKMWp.js";import"./p-a6tcNl_T.js";import"./p-HXpYMWUU.js";import{C as D,a as E}from"./p-Cjcsf8ku.js";import"./p-CLHwhyvu.js";import"./p-BH0Xfn-F.js";import{n as A}from"./p-BnjCmwMr.js";import{B as V}from"./p-C9EQ459H.js";import{i as B,a as P}from"./p-tYuXMkCd.js";import{S as W}from"./p-BX8GieXu.js";import"./p-BFTU3MAI.js";import"./p-Dt-vy9Le.js";import"./p-Bgnhf5c9.js";import"./p-DdMxswn1.js";class I{constructor(t){this.id=t.id,this.account_owner_name=t.account_owner_name,this.full_name=t.full_name,this.account_type=t.account_type,this.account_number=t.account_number,this.acct_last_four=t.acct_last_four,this.account_number_last4=t.account_number_last4,this.routing_number=t.routing_number,this.bank_name=t.bank_name,this.country=t.country,this.currency=t.currency,this.nickname=t.nickname,this.metadata=t.metadata,this.business_id=t.business_id,this.platform_account_id=t.platform_account_id,this.created_at=t.created_at,this.updated_at=t.updated_at}get payload(){return{account_owner_name:this.account_owner_name||"",account_type:this.account_type||"",account_number:this.account_number||"",routing_number:this.routing_number||"",bank_name:this.bank_name||"",nickname:this.nickname||"",business_id:this.business_id||""}}}const U=()=>t("div",{class:"row gap-3"},t("div",{class:"col-12"},t(f,{width:"25%"})),t("div",{class:"col-12"},t(f,{width:"100%"})),t("div",{class:"col-12 d-flex gap-3"},t(f,{width:"50%"}),t(f,{width:"50%"})),t("div",{class:"col-12 d-flex gap-3"},t(f,{width:"65%"}),t(f,{width:"35%"}))),F=()=>t("div",{class:"row gap-5"},t("div",{class:"col-12"},t(f,{width:"40%",height:"40px"})),t(U,null),t(U,null),t(U,null)),N=class{constructor(t){s(this,t),this.stepCompleteEvent=e(this,"complete-form-step-event"),this.errorEvent=e(this,"error-event"),this.formLoading=e(this,"formLoading"),this.errors={},this.additional_questions={},this.recurringPayments=!1,this.isLoading=!1,this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:t=>{this.additional_questions=new l(t.data.additional_questions||{}),this.formController.setInitialValues(Object.assign({},this.additional_questions))},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({message:t,errorCode:s,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=t=>{let s;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{s=e,t()},onError:({error:t,code:e,severity:i})=>{s=t,this.errorEvent.emit({message:t,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:s,formStep:w.additionalQuestions}),this.formLoading.emit(!1)}})},this.inputHandler=(t,s)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:s})),this.additional_questions=new l(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:s}))}}recurringPaymentsWatcher(t){this.recurringPayments="Yes"===(null==t?void 0:t.business_recurring_payments)}async validateAndSubmit({onSuccess:t}){this.formController.validateAndSubmit((()=>this.sendData(t)))}get patchPayload(){return{additional_questions:new l(this.formController.values.getValue()).payload}}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new o(i(this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))}render(){var s,e,i,r,o,n,a;const l=this.formController.getInitialValues();return this.isLoading?t(F,null):t("form",null,t("fieldset",null,t("div",{class:"d-flex align-items-center gap-2"},t("legend",{class:"mb-0",part:p},"Additional Questions"),t("form-control-tooltip",{helpText:"This information helps us understand the business and identify and monitor trends to safeguard you and your customers."})),t("hr",{class:"mt-2"}),t("div",{class:"row gy-3"},t("div",{class:"col-12 col-md-6"},t("form-control-monetary-provisioning",{name:"business_revenue",label:"What is your business’ estimated annual revenue from its primary business activities?",inputHandler:this.inputHandler,errorText:null===(s=this.errors)||void 0===s?void 0:s.business_revenue,defaultValue:null==l?void 0:l.business_revenue,maskOptions:u.WHOLE})),t("div",{class:"col-12 col-md-6"},t("form-control-monetary-provisioning",{name:"business_payment_volume",label:"What is your business' annual credit card & ACH volume anticipated to process?",inputHandler:this.inputHandler,errorText:null===(e=this.errors)||void 0===e?void 0:e.business_payment_volume,defaultValue:null==l?void 0:l.business_payment_volume,maskOptions:u.WHOLE})),t("div",{class:"col-12"},t("form-control-select",{name:"business_when_service_received",label:"On average, how long after paying will your customers typically receive their goods or services?",inputHandler:this.inputHandler,errorText:null===(i=this.errors)||void 0===i?void 0:i.business_when_service_received,options:v,defaultValue:null==l?void 0:l.business_when_service_received})),t("div",{class:"col-12"},t("form-control-select",{name:"business_recurring_payments",label:"Does your business offer recurring payments?",inputHandler:this.inputHandler,errorText:null===(r=this.errors)||void 0===r?void 0:r.business_recurring_payments,options:b,defaultValue:null==l?void 0:l.business_recurring_payments})),t("div",{class:"col-12",hidden:!this.recurringPayments},t("form-control-text",{name:"business_recurring_payments_percentage",label:"What percent of revenue is generated from each recurring payment type offered?",inputHandler:this.inputHandler,errorText:null===(o=this.errors)||void 0===o?void 0:o.business_recurring_payments_percentage,defaultValue:null==l?void 0:l.business_recurring_payments_percentage,helpText:"For example: 50% monthly, 50% annual."})),t("div",{class:"col-12"},t("form-control-select",{name:"business_seasonal",label:"Is this business seasonal?",inputHandler:this.inputHandler,errorText:null===(n=this.errors)||void 0===n?void 0:n.business_seasonal,options:y,defaultValue:null==l?void 0:l.business_seasonal})),t("div",{class:"col-12"},t("form-control-text",{name:"business_other_payment_details",label:"Is there anything else you would like us to know about how your customers pay the business? (optional)",inputHandler:this.inputHandler,errorText:null===(a=this.errors)||void 0===a?void 0:a.business_other_payment_details,defaultValue:null==l?void 0:l.business_other_payment_details})))))}static get watchers(){return{additional_questions:["recurringPaymentsWatcher"]}}},q=(t,s)=>t.some((t=>t.document_type===s)),M="Please upload either a voided check or a bank statement. Only one is required.",R=(t,s)=>{const e=q(t,x.voidedCheck),i=q(t,x.bankStatement),r=e||i,o=n().shape({bank_name:L.required("Enter bank name"),nickname:H.required("Enter nickname"),account_owner_name:O.required("Enter account owner name"),account_type:C.required("Select account type"),account_number:S.required("Enter account number"),routing_number:k.required("Enter routing number"),voided_check:a().when("bank_statement",{is:t=>!t&&!r,then:t=>t.required(M),otherwise:t=>t.notRequired()}),bank_statement:a().when("voided_check",{is:t=>!t&&!r,then:t=>t.required(M),otherwise:t=>t.notRequired()})},[["voided_check","bank_statement"]]),l=n({bank_name:L.nullable(),nickname:H.nullable(),account_owner_name:O.nullable(),account_type:C.nullable(),account_number:S.nullable(),routing_number:k.nullable(),voided_check:a().nullable(),bank_statement:a().nullable()});return s?l:o},X=class{constructor(t){s(this,t),this.stepCompleteEvent=e(this,"complete-form-step-event"),this.errorEvent=e(this,"error-event"),this.formLoading=e(this,"formLoading"),this.errors={},this.bankAccount={},this.existingDocuments=[],this.documentData=new j,this.isLoading=!1,this.initializeFormController=()=>{this.formController=new o(R(this.existingDocuments,this.allowOptionalFields)),this.formController.setInitialValues(Object.assign({},this.bankAccount)),this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))},this.inputHandler=(t,s)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:s}))},this.storeFiles=t=>{const s=Array.from(t.detail.fileList),e=t.detail.document_type,i=s.map((t=>new T({file:t,document_type:e},this.businessId)));this.documentData[e]=i},this.getData=()=>{this.isLoading=!0,this.getBusiness({onSuccess:t=>{t.data.bank_accounts.length>0?this.bankAccount=new I(t.data.bank_accounts[0]):(this.bankAccount=new I({}),this.bankAccount.business_id=this.businessId),this.existingDocuments=t.data.documents},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({message:t,errorCode:s,severity:e})},final:()=>{this.initializeFormController(),this.isLoading=!1}})},this.postDocumentRecordData=async t=>{this.isLoading=!0;const s=t.record_data;return new Promise((e=>{this.postDocumentRecord({payload:s,onSuccess:s=>{e(this.handleDocRecordResponse(t,s))},onError:({error:t,code:s,severity:i})=>{this.errorEvent.emit({message:t,errorCode:s,severity:i}),e(!1)}})}))},this.handleDocRecordResponse=(t,s)=>s.error?(this.errorEvent.emit({errorCode:E.POST_ERROR,message:s.error.message,severity:D.ERROR,data:s.error}),!1):(t.setPresignedUrl(s.data.presigned_url),!0),this.uploadDocument=async t=>{if(!t.presigned_url)throw new Error("Presigned URL is not set");const s=await t.getFileData(),e=await fetch(t.presigned_url,{method:"PUT",body:s});return this.handleUploadResponse(e)},this.handleUploadResponse=t=>!t.error||(this.errorEvent.emit({errorCode:E.POST_ERROR,message:t.error.message,severity:D.ERROR,data:t.error}),!1)}watchHandler(t){this.formLoading.emit(t)}async validateAndSubmit({onSuccess:t}){this.existingBankAccount?this.sendData(t):this.formController.validateAndSubmit((()=>this.sendData(t)))}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new o(R(this.existingDocuments,this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))}get postPayload(){return new I(this.formController.values.getValue()).payload}get existingBankAccount(){var t;return!!(null===(t=this.bankAccount)||void 0===t?void 0:t.id)}async sendData(t){try{if(!this.existingBankAccount&&!await this.postBankAccountData())return;if(!await this.postBusinessDocuments())return;t()}catch(t){this.errorEvent.emit({message:t,errorCode:E.POST_ERROR,severity:D.ERROR})}}async postBankAccountData(){let t;return this.isLoading=!0,new Promise((s=>{let e=!1;this.postBankAccount({payload:this.postPayload,onSuccess:s=>{t=s,e=!0},onError:({error:t,code:s,severity:i})=>{e=!1,this.errorEvent.emit({message:t,errorCode:s,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:t,formStep:w.bankAccount}),this.isLoading=!1,s(e)}})}))}async postBusinessDocuments(){this.isLoading=!0;try{const t=Object.values(this.documentData).flat();return!t.length||!(await Promise.all(t.map((t=>this.postDocumentRecordData(t))))).includes(!1)&&!(await Promise.all(t.map((t=>this.uploadDocument(t))))).includes(!1)}finally{this.isLoading=!1}}render(){const s=this.formController.getInitialValues();return this.isLoading?t(F,null):t("form",null,t("fieldset",{class:"mb-4"},t("div",{class:"d-flex align-items-center gap-2"},t("legend",{class:"mb-0",part:p},"Bank Account Info"),t("form-control-tooltip",{helpText:"This direct deposit account is the designated bank account where incoming funds will be deposited. The name of this account must match the registered business name exactly. We are not able to accept personal accounts unless your business is a registered sole proprietorship."})),t("hr",{class:"mt-2"}),t("bank-account-form-inputs",{defaultValue:s,errors:this.errors,inputHandler:this.inputHandler,formDisabled:this.existingBankAccount})),t("fieldset",{class:"mt-4"},t("div",{class:"d-flex align-items-center gap-2"},t("legend",{class:"mb-0",part:p},"Document Uploads"),t("form-control-tooltip",{helpText:"One document (voided check or bank statement) is required for underwriting purposes. It needs to visibly show the name tied to the account and the account number. Various file formats such as PDF, DOC, DOCX, JPEG are accepted. Multiple files can be uploaded for each document category."})),t("hr",{class:"mt-2"}),t("business-documents-on-file",{documents:this.existingDocuments,isLoading:this.isLoading}),t("bank-account-document-form-inputs",{inputHandler:this.inputHandler,errors:this.errors,storeFiles:this.storeFiles})))}static get watchers(){return{isLoading:["watchHandler"]}}},Y=class{constructor(t){s(this,t),this.stepCompleteEvent=e(this,"complete-form-step-event"),this.errorEvent=e(this,"error-event"),this.formLoading=e(this,"formLoading"),this.errors={},this.coreInfo={},this.isLoading=!1,this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:t=>{this.coreInfo=new h(t.data),this.formController.setInitialValues(Object.assign({},this.coreInfo))},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({message:t,errorCode:s,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=t=>{let s;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{s=e,t()},onError:({error:t,code:e,severity:i})=>{s=t,this.errorEvent.emit({message:t,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:s,formStep:w.businessInfo}),this.formLoading.emit(!1)}})},this.inputHandler=(t,s)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:s}))}}async validateAndSubmit({onSuccess:t}){this.formController.validateAndSubmit((()=>this.sendData(t)))}get patchPayload(){return new h(this.formController.values.getValue()).payload}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new o(r(this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))}render(){const s=this.formController.getInitialValues();return this.isLoading?t(F,null):t("form",null,t("fieldset",null,t("div",{class:"d-flex align-items-center gap-2"},t("legend",{class:"mb-0",part:p},"Business Information")),t("hr",{class:"mt-2"}),t("div",{class:"row gy-3"},t("div",{class:"col-12"},t("form-control-text",{name:"legal_name",label:"Business Name",defaultValue:s.legal_name,errorText:this.errors.legal_name,inputHandler:this.inputHandler,helpText:"Enter this exactly as it appears on your tax records (don't use acronyms or abbreviations unless you registered that way)."})),t("div",{class:"col-12"},t("form-control-text",{name:"doing_business_as",label:"Doing Business As (DBA)",defaultValue:s.doing_business_as,errorText:this.errors.doing_business_as,inputHandler:this.inputHandler,helpText:"Enter this exactly as it appears on your tax records (leave blank if you don't have a registered DBA/trade name)"})),t("div",{class:"col-12 col-md-8"},t("form-control-select",{name:"classification",label:"Business Classification",options:g,defaultValue:s.classification,errorText:this.errors.classification,inputHandler:this.inputHandler})),t("div",{class:"col-12 col-md-4"},t("form-control-date",{name:"date_of_incorporation",label:"Date of Incorporation",defaultValue:s.date_of_incorporation,errorText:this.errors.date_of_incorporation,inputHandler:this.inputHandler})),t("div",{class:"col-12 col-md-6"},t("form-control-text",{name:"industry",label:"Industry",defaultValue:s.industry,errorText:this.errors.industry,inputHandler:this.inputHandler,helpText:"Describe what you sell"})),t("div",{class:"col-12 col-md-6"},t("form-control-text",{name:"tax_id",label:"Tax ID (EIN or SSN)",defaultValue:s.tax_id,errorText:this.errors.tax_id,inputHandler:this.inputHandler,keyDownHandler:A,maxLength:9,helpText:"Employer Identification Numbers (EINs) are nine digits. The federal tax identification number/EIN issued to you by the IRS. It can be found on your tax returns. Enter value without dashes."})),t("div",{class:"col-12"},t("form-control-text",{name:"website_url",label:"Business Website URL",defaultValue:s.website_url,errorText:this.errors.website_url,inputHandler:this.inputHandler,helpText:"Don't have a live website? You can use your social media business page, app store link, or staging site URL."})),t("div",{class:"col-12 col-md-6"},t("form-control-text",{name:"email",label:"Business Email Address",defaultValue:s.email,errorText:this.errors.email,inputHandler:this.inputHandler})),t("div",{class:"col-12 col-md-6"},t("form-control-number-masked",{name:"phone",label:"Business Phone Number",defaultValue:s.phone,errorText:this.errors.phone,inputHandler:this.inputHandler,mask:m.US})))))}},J=class{constructor(t){s(this,t),this.clickEvent=e(this,"click-event"),this.stepCompleteEvent=e(this,"complete-form-step-event"),this.errorEvent=e(this,"error-event"),this.formLoading=e(this,"formLoading"),this.ownersPayload=[],this.refs=[],this.isLoading=!1,this.matchRef=(t,s)=>{const e=this.refs.findIndex((t=>t===s));-1!==e&&(this.refs[e]=t)},this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:t=>{t.data.owners.length?this.ownersPayload=t.data.owners.map((t=>({id:t.id}))):this.addOwnerForm()},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({message:t,errorCode:s,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1,this.manageRefs()}})},this.sendData=async t=>{let s;this.formLoading.emit(!0),this.patchBusiness({payload:{owners:this.ownersPayload},onSuccess:e=>{s=e,t()},onError:({error:t,code:e,severity:i})=>{s=t,this.errorEvent.emit({message:t,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:s,formStep:w.owners}),this.formLoading.emit(!1)}})},this.addOwnerForm=t=>{this.newFormOpen=!0,this.ownersPayload=[...this.ownersPayload,{id:""}],t&&this.clickEvent.emit({name:_.addOwnerForm})},this.removeOwnerForm=t=>{this.ownersPayload=this.ownersPayload.filter((s=>s.id!==t)),this.newFormOpen&&(this.newFormOpen=!1)}}get showAddOwnerButton(){return this.ownersPayload.length<4&&!this.newFormOpen}manageRefs(){this.refs=this.ownersPayload.map((t=>t.id))}async validateAndSubmit({onSuccess:t}){const s=this.refs.map((t=>t.validate()));if(!(await Promise.all(s)).every((t=>t)))return;const e=this.refs.map((t=>t.submit()));(await Promise.all(e)).every((t=>t))&&this.sendData(t)}componentWillLoad(){this.getBusiness&&this.getData()}ownersWatcher(){this.manageRefs()}handleOwnerSubmit(t){const s=t.detail,e=this.ownersPayload.map((t=>t.id===s.id?s:t));e.includes(s)||(e[this.ownersPayload.findIndex((t=>!t.id))]=s,this.newFormOpen&&(this.newFormOpen=!1)),this.ownersPayload=e}render(){return this.isLoading?t(F,null):t("div",null,t("div",{class:"d-flex align-items-center gap-2"},t("legend",{class:"mb-0",part:p},"Owners"),t("form-control-tooltip",{helpText:"For partnerships, LLCs or privately held corporations, the business is required to apply with all individuals with 25% or more ownership to the application. For charities and registered non-profits, the business is required to apply with 1 individual with substantial control over the entity, such as a board member or director."})),t("hr",{class:"mt-2"}),t("div",{class:"row gy-3"},this.ownersPayload.map((s=>t("justifi-owner-form",{key:s.id,authToken:this.authToken,businessId:this.businessId,ownerId:s.id,removeOwner:this.removeOwnerForm,newFormOpen:this.newFormOpen,ownersLength:this.ownersPayload.length,allowOptionalFields:this.allowOptionalFields,ref:t=>this.matchRef(t,s.id)})))),t("div",{class:"d-flex justify-content-start"},t("div",{class:"gap-2"},t(V,{variant:"primary",onClick:()=>this.addOwnerForm(!0),hidden:!this.showAddOwnerButton},"Add Owner"))))}static get watchers(){return{ownersPayload:["ownersWatcher"]}}},G=class{constructor(t){s(this,t),this.stepCompleteEvent=e(this,"complete-form-step-event"),this.errorEvent=e(this,"error-event"),this.formLoading=e(this,"formLoading"),this.errors={},this.representative={},this.isLoading=!1,this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:t=>{this.representative=new c(t.data.representative||{}),this.formController.setInitialValues(Object.assign({},this.representative))},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({message:t,errorCode:s,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=t=>{let s;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{s=e,t()},onError:({error:t,code:e,severity:i})=>{s=t,this.errorEvent.emit({message:t,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:s,formStep:w.representative}),this.formLoading.emit(!1)}})}}async validateAndSubmit({onSuccess:t}){this.formController.validateAndSubmit((()=>this.sendData(t)))}get patchPayload(){return{representative:new c(this.formController.values.getValue()).payload}}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new o(B("representative",this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))}render(){return this.isLoading?t(F,null):t("justifi-business-representative-form-inputs",{representativeDefaultValue:this.formController.getInitialValues(),errors:this.errors,formController:this.formController})}},Q=class{constructor(t){s(this,t),this.stepCompleteEvent=e(this,"complete-form-step-event"),this.errorEvent=e(this,"error-event"),this.formLoading=e(this,"formLoading"),this.errors={},this.legal_address={},this.isLoading=!1,this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:t=>{this.legal_address=new d(t.data.legal_address||{}),this.formController.setInitialValues(Object.assign({},this.legal_address))},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({message:t,errorCode:s,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=t=>{let s;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{s=e,t()},onError:({error:t,code:e,severity:i})=>{s=t,this.errorEvent.emit({message:t,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:s,formStep:w.legalAddress}),this.formLoading.emit(!1)}})},this.inputHandler=(t,s)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:s}))}}async validateAndSubmit({onSuccess:t}){this.formController.validateAndSubmit((()=>this.sendData(t)))}get patchPayload(){return{legal_address:new d(this.formController.values.getValue()).payload}}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new o(P(this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))}render(){var s,e,i,r,o,n;const a=this.formController.getInitialValues();return this.isLoading?t(F,null):t("form",null,t("fieldset",null,t("div",{class:"d-flex align-items-center gap-2"},t("legend",{class:"mb-0",part:p},"Legal Address of your Business"),t("form-control-tooltip",{helpText:"No PO Boxes."})),t("hr",{class:"mt-2"}),t("div",{class:"row gy-3"},t("div",{class:"col-12"},t("form-control-text",{name:"line1",label:"Legal Address",inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.line1,errorText:null===(s=this.errors)||void 0===s?void 0:s.line1})),t("div",{class:"col-12"},t("form-control-text",{name:"line2",label:"Address Line 2 (optional)",inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.line2,errorText:null===(e=this.errors)||void 0===e?void 0:e.line2})),t("div",{class:"col-12"},t("form-control-text",{name:"city",label:"City",inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.city,errorText:null===(i=this.errors)||void 0===i?void 0:i.city})),t("div",{class:"col-12"},t("form-control-select",{name:"state",label:"State",options:W,inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.state,errorText:null===(r=this.errors)||void 0===r?void 0:r.state})),t("div",{class:"col-12"},t("form-control-text",{name:"postal_code",label:"Postal Code",inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.postal_code,errorText:null===(o=this.errors)||void 0===o?void 0:o.postal_code,maxLength:5,keyDownHandler:A})),t("div",{class:"col-12"},t("form-control-select",{name:"country",label:"Country",options:[{label:"United States",value:"USA"}],inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.country,errorText:null===(n=this.errors)||void 0===n?void 0:n.country,disabled:!0})))))}};export{N as justifi_additional_questions_form_step_core,X as justifi_business_bank_account_form_step_core,Y as justifi_business_core_info_form_step_core,J as justifi_business_owners_form_step_core,G as justifi_business_representative_form_step_core,Q as justifi_legal_address_form_step_core}
@@ -1 +1 @@
1
- import{r as t,c as s,h as i}from"./p-DOjVAAtq.js";import{C as o,a as r}from"./p-Cjcsf8ku.js";import{c as e,J as p}from"./p-Cqe5a-d3.js";import{P as a}from"./p-8S_ROmnq.js";import"./p-a6tcNl_T.js";import"./p-HXpYMWUU.js";import{d as n}from"./p-C98BC5W5.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as c,a as h}from"./p-D2muobcE.js";import{m}from"./p-DYGIC0QH.js";import{m as u,S as d}from"./p-DfV3dFDB.js";import{S as j}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{d as l}from"./p-Baf5crBG.js";import"./p-DlT1rYmL.js";import"./p-DdZLLkQ5.js";import"./p-Bgnhf5c9.js";import"./p-DdMxswn1.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-SPYUZxQ9.js";import"./p-f6_r41aD.js";import"./p-DS3KdLWS.js";const f=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.columns=l,this.handleOnError=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){e(),this.analytics=new p(this),this.initializeGetData()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetData()}initializeGetData(){this.initializePayoutsServices(),this.initializeGetSubAccounts()}initializePayoutsServices(){if(this.accountId&&this.authToken){const t={id:this.accountId,authToken:this.authToken,service:new a};this.getPayouts=(({id:t,authToken:s,service:i})=>async({params:r,onSuccess:e,onError:p})=>{var a,m;try{const u=await i.fetchPayouts(t,s,r);if(u.error)return p({error:h(u.error),code:c(null===(m=u.error)||void 0===m?void 0:m.code),severity:o.ERROR});{const t=Object.assign({},u.page_info);e({payouts:(null===(a=u.data)||void 0===a?void 0:a.map((t=>new n(t))))||[],pagingInfo:t})}}catch(t){const s=c(null==t?void 0:t.code);return p({error:t.message||t,code:s,severity:o.ERROR})}})(t),this.getPayoutCSV=m(t)}else this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:r.MISSING_PROPS,message:this.errorMessage,severity:o.ERROR})}initializeGetSubAccounts(){this.accountId&&this.authToken&&(this.getSubAccounts=u({accountId:this.accountId,authToken:this.authToken,service:new d}))}render(){return i(j,{key:"73ac65b309e80186e0f7799385d012e91ceb1b8b"},i("payouts-list-core",{key:"f7767376f3155521445cb2ee48b9a20c362c8137",getPayouts:this.getPayouts,getPayoutCSV:this.getPayoutCSV,getSubAccounts:this.getSubAccounts,"onError-event":this.handleOnError,columns:this.columns}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{f as justifi_payouts_list}
1
+ import{r as t,c as s,h as i}from"./p-DOjVAAtq.js";import{C as o,a as r}from"./p-Cjcsf8ku.js";import{c as e,J as a}from"./p-BSyMsqda.js";import{P as p}from"./p-8S_ROmnq.js";import"./p-a6tcNl_T.js";import"./p-HXpYMWUU.js";import{d as n}from"./p-C98BC5W5.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as h,a as c}from"./p-D2muobcE.js";import{m}from"./p-DYGIC0QH.js";import{m as u,S as d}from"./p-DfV3dFDB.js";import{S as j}from"./p-BhCH9S0e.js";import"./p-CZfYo5-1.js";import{d as l}from"./p-D0Peuz-m.js";import"./p-NMTsmUsG.js";import"./p-DdZLLkQ5.js";import"./p-Bgnhf5c9.js";import"./p-DdMxswn1.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-au49QgoI.js";import"./p-hbWSMN3O.js";import"./p-xDbRW9xn.js";const f=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.columns=l,this.handleOnError=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){e(),this.analytics=new a(this),this.initializeGetData()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetData()}initializeGetData(){this.initializePayoutsServices(),this.initializeGetSubAccounts()}initializePayoutsServices(){if(this.accountId&&this.authToken){const t={id:this.accountId,authToken:this.authToken,service:new p};this.getPayouts=(({id:t,authToken:s,service:i})=>async({params:r,onSuccess:e,onError:a})=>{var p,m;try{const u=await i.fetchPayouts(t,s,r);if(u.error)return a({error:c(u.error),code:h(null===(m=u.error)||void 0===m?void 0:m.code),severity:o.ERROR});{const t=Object.assign({},u.page_info);e({payouts:(null===(p=u.data)||void 0===p?void 0:p.map((t=>new n(t))))||[],pagingInfo:t})}}catch(t){const s=h(null==t?void 0:t.code);return a({error:t.message||t,code:s,severity:o.ERROR})}})(t),this.getPayoutCSV=m(t)}else this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:r.MISSING_PROPS,message:this.errorMessage,severity:o.ERROR})}initializeGetSubAccounts(){this.accountId&&this.authToken&&(this.getSubAccounts=u({accountId:this.accountId,authToken:this.authToken,service:new d}))}render(){return i(j,{key:"fb8e3e21a4e5a0aa971a91eed4ef0b603dbd1b23"},i("payouts-list-core",{key:"c9fb97bd0d77d1989f346285cd5124121ad4ac83",getPayouts:this.getPayouts,getPayoutCSV:this.getPayoutCSV,getSubAccounts:this.getSubAccounts,"onError-event":this.handleOnError,columns:this.columns}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{f as justifi_payouts_list}
@@ -1 +1 @@
1
- import{r as t,c as s,h as e}from"./p-DOjVAAtq.js";import{D as i}from"./p-Bg2SZArf.js";import{D as r,a as h}from"./p-BH0Xfn-F.js";const o=class{constructor(e){t(this,e),this.errorEvent=s(this,"error-event"),this.isLoading=!0,this.showDisputeResponseForm=!1}disputeResponseHandler(t){t.detail.name===i.respondToDispute&&(this.showDisputeResponseForm=!0),t.detail.name===i.cancelDispute&&(this.showDisputeResponseForm=!1)}disputeSubmittedHandler(){this.fetchData()}componentWillLoad(){this.getDispute&&this.fetchData()}updateOnPropChange(){this.fetchData()}fetchData(){this.isLoading=!0,this.getDispute({onSuccess:({dispute:t})=>{this.dispute=new r(t),this.isLoading=!1,this.dispute.status!==h.needsResponse&&(this.showDisputeResponseForm=!1)},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({errorCode:s,message:t,severity:e}),this.isLoading=!1}})}render(){return e("div",{key:"c85852cbd1169f371eb30ae06b6a2a564a15ece7"},this.showDisputeResponseForm?e("justifi-dispute-response",{disputeId:this.disputeId,disputeResponse:this.dispute.dispute_response,authToken:this.authToken}):e("justifi-dispute-notification",{dispute:this.dispute,authToken:this.authToken,isLoading:this.isLoading}))}static get watchers(){return{getDispute:["updateOnPropChange"]}}};export{o as justifi_dispute_management_core}
1
+ import{r as t,c as s,h as e}from"./p-DOjVAAtq.js";import{D as i}from"./p-Bg2SZArf.js";import{D as r,a as h}from"./p-BH0Xfn-F.js";const o=class{constructor(e){t(this,e),this.errorEvent=s(this,"error-event"),this.isLoading=!0,this.showDisputeResponseForm=!1}disputeResponseHandler(t){t.detail.name===i.respondToDispute&&(this.showDisputeResponseForm=!0),t.detail.name===i.cancelDispute&&(this.showDisputeResponseForm=!1)}disputeSubmittedHandler(){this.fetchData()}componentWillLoad(){this.getDispute&&this.fetchData()}updateOnPropChange(){this.fetchData()}fetchData(){this.isLoading=!0,this.getDispute({onSuccess:({dispute:t})=>{this.dispute=new r(t),this.isLoading=!1,this.dispute.status!==h.needsResponse&&(this.showDisputeResponseForm=!1)},onError:({error:t,code:s,severity:e})=>{this.errorEvent.emit({errorCode:s,message:t,severity:e}),this.isLoading=!1}})}render(){return e("div",{key:"7e16a29a9b82c993c35c075c857838b1ba9469ea"},this.showDisputeResponseForm?e("justifi-dispute-response",{disputeId:this.disputeId,disputeResponse:this.dispute.dispute_response,authToken:this.authToken}):e("justifi-dispute-notification",{dispute:this.dispute,authToken:this.authToken,isLoading:this.isLoading}))}static get watchers(){return{getDispute:["updateOnPropChange"]}}};export{o as justifi_dispute_management_core}
@@ -1 +1 @@
1
- import{r as t,c as s,h as i,H as a}from"./p-DOjVAAtq.js";import{I as e}from"./p-Ce_F4E0f.js";import{C as r}from"./p-B-iV5cYd.js";import{a3 as h,l as o,V as n,b as c,U as l,a as f}from"./p-DS3KdLWS.js";import{F as d}from"./p-iT-AQTXJ.js";import{F as p}from"./p-DFEINx3E.js";import"./p-CZfYo5-1.js";const m=class{constructor(i){t(this,i),this.formControlInput=s(this,"formControlInput"),this.formControlBlur=s(this,"formControlBlur"),this.imask=null,this.isFocused=!1,this.maskOptions=r.DECIMAL,this.initializeIMask=()=>{this.textInput&&(this.imask=e(this.textInput,this.maskOptions),this.imask.on("accept",(()=>{const t=this.imask.unmaskedValue;this.inputHandler(this.name,t),this.formControlInput.emit({name:this.name,value:t})})),this.textInput.addEventListener("blur",(()=>this.formControlBlur.emit())))},this.handleFormControlInput=t=>{const s=t.target.getAttribute("name");this.formControlInput.emit({name:s,value:this.imask.unmaskedValue})},this.updateInput=t=>{this.imask&&(this.imask.value=String(t))}}handleDefaultValueChange(t){this.updateInput(t)}componentDidLoad(){this.initializeIMask(),this.updateInput(this.defaultValue)}disconnectedCallback(){var t;null===(t=this.imask)||void 0===t||t.destroy()}get inputPart(){let t=h;return this.errorText&&(t=c),this.disabled&&(t=l),this.isFocused&&(t=f),t}render(){return i(a,{key:"8378b6d06aeeb48d1e3efed4d16b22655e2c23ff"},i("div",{key:"cc432cb0a138c336def8b55ac06aa933407d38ef",class:"form-group d-flex flex-column"},i("label",{key:"08119d56a108275c4f25d28f7b8074ca134c3b72",part:o,class:"form-label",htmlFor:this.name},this.label),i("div",{key:"bcf621d3cae2636304185197cb8d3f40f3f0f173",class:"input-group"},i("span",{key:"3ee602416b555c9bf561abc4055f0a2485762551",class:"input-group-text",part:n},"$"),i("input",{key:"54c1257a97daae319f5c0ce7556638790e3f286b",ref:t=>this.textInput=t,id:this.name,name:this.name,onFocus:()=>this.isFocused=!0,onBlur:()=>{this.isFocused=!1,this.formControlBlur.emit()},onInput:this.handleFormControlInput,part:this.inputPart,class:this.errorText?"form-control monetary is-invalid":"form-control monetary",type:"text",disabled:this.disabled})),i(d,{key:"b7458313a43d454ad8988f1e4548c7034a5d09d8",helpText:this.helpText,name:this.name}),i(p,{key:"8e59747949f4fa6697a3b7c083bcd6584d1f5411",errorText:this.errorText,name:this.name})))}static get watchers(){return{defaultValue:["handleDefaultValueChange"]}}};export{m as form_control_monetary_provisioning}
1
+ import{r as t,c as s,h as i,H as a}from"./p-DOjVAAtq.js";import{I as e}from"./p-Ce_F4E0f.js";import{C as r}from"./p-B-iV5cYd.js";import{a3 as h,l as o,V as n,b as c,U as l,a as f}from"./p-xDbRW9xn.js";import{F as d}from"./p-D6BImiVi.js";import{F as m}from"./p-NAjz1Xfo.js";import"./p-CZfYo5-1.js";const p=class{constructor(i){t(this,i),this.formControlInput=s(this,"formControlInput"),this.formControlBlur=s(this,"formControlBlur"),this.imask=null,this.isFocused=!1,this.maskOptions=r.DECIMAL,this.initializeIMask=()=>{this.textInput&&(this.imask=e(this.textInput,this.maskOptions),this.imask.on("accept",(()=>{const t=this.imask.unmaskedValue;this.inputHandler(this.name,t),this.formControlInput.emit({name:this.name,value:t})})),this.textInput.addEventListener("blur",(()=>this.formControlBlur.emit())))},this.handleFormControlInput=t=>{const s=t.target.getAttribute("name");this.formControlInput.emit({name:s,value:this.imask.unmaskedValue})},this.updateInput=t=>{this.imask&&(this.imask.value=String(t))}}handleDefaultValueChange(t){this.updateInput(t)}componentDidLoad(){this.initializeIMask(),this.updateInput(this.defaultValue)}disconnectedCallback(){var t;null===(t=this.imask)||void 0===t||t.destroy()}get inputPart(){let t=h;return this.errorText&&(t=c),this.disabled&&(t=l),this.isFocused&&(t=f),t}render(){return i(a,{key:"8378b6d06aeeb48d1e3efed4d16b22655e2c23ff"},i("div",{key:"cc432cb0a138c336def8b55ac06aa933407d38ef",class:"form-group d-flex flex-column"},i("label",{key:"08119d56a108275c4f25d28f7b8074ca134c3b72",part:o,class:"form-label",htmlFor:this.name},this.label),i("div",{key:"bcf621d3cae2636304185197cb8d3f40f3f0f173",class:"input-group"},i("span",{key:"3ee602416b555c9bf561abc4055f0a2485762551",class:"input-group-text",part:n},"$"),i("input",{key:"54c1257a97daae319f5c0ce7556638790e3f286b",ref:t=>this.textInput=t,id:this.name,name:this.name,onFocus:()=>this.isFocused=!0,onBlur:()=>{this.isFocused=!1,this.formControlBlur.emit()},onInput:this.handleFormControlInput,part:this.inputPart,class:this.errorText?"form-control monetary is-invalid":"form-control monetary",type:"text",disabled:this.disabled})),i(d,{key:"b7458313a43d454ad8988f1e4548c7034a5d09d8",helpText:this.helpText,name:this.name}),i(m,{key:"8e59747949f4fa6697a3b7c083bcd6584d1f5411",errorText:this.errorText,name:this.name})))}static get watchers(){return{defaultValue:["handleDefaultValueChange"]}}};export{p as form_control_monetary_provisioning}
@@ -0,0 +1 @@
1
+ import{r as e,c as t,h as a}from"./p-DOjVAAtq.js";import{X as s,Y as c,Z as d}from"./p-xDbRW9xn.js";const i=class{constructor(a){e(this,a),this.selectedQuantityChange=t(this,"selectedQuantityChange"),this.limit=1/0,this.selectedQuantity=0,this.removeUnit=()=>{this.selectedQuantity>0&&(this.selectedQuantity--,this.selectedQuantityChange.emit({modelName:this.modelName,quantity:this.selectedQuantity}))},this.addUnit=()=>{this.limit>0&&(this.selectedQuantity++,this.selectedQuantityChange.emit({modelName:this.modelName,quantity:this.selectedQuantity}))}}render(){return a("div",{key:"5a0ac226861b9349ad26e184d9295052ca987ba5",class:"rounded shadow-sm card p-2",part:d},a("div",{key:"89d2c494975c1a2d2c71d9047c44119a48c5ba11",class:"d-flex gap-3"},a("div",{key:"ca30020f4b3469df0a59f5ca5fa8b81a039f9d5f",class:"d-flex align-items-center"},a("img",{key:"291fc116fff8b4d33ba3fc1bfb2ec3bd59bef007",src:this.imageUrl,alt:this.modelName,height:75,width:75,part:s})),a("div",{key:"56466b3e7a47f7156b40bc0e60d8158d63f5700a",class:"d-flex flex-column flex-grow-1 gap-3 p-4 justify-content-center"},a("div",{key:"871c7d5d2575a6a26ee11d817b1cce5ce42cbffb",class:"row"},a("div",{key:"12e3e653243d07dc4a712f9127927924e13c411a",class:"col-6 d-flex gap-2"},this.modelName,a("form-control-tooltip",{key:"a69d9738422defbb50ec1abb951b049e53fb5f8c",helpText:this.description})),a("div",{key:"84bc103439e64acc04b20afd0295a792c78595c5",class:"col-6 d-flex justify-content-end align-items-center"},a("button",{key:"e245dfcc301ef1efe2aed937af3d21eecff1004e",class:"p-0 minus btn",onClick:this.removeUnit,part:c},"-"),a("div",{key:"30827d9946f4d82b57ee3967ab2cfe475e9ab65c",class:"w-25 text-center"},this.selectedQuantity),a("button",{key:"758b3a72d98a540b8b92dc8b86c8abdd7d19d2a9",class:"p-0 plus btn",onClick:this.addUnit,part:c},"+"))))))}};export{i as terminal_quantity_selector}