@justifi/webcomponents 5.4.1 → 5.4.3

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 (213) hide show
  1. package/dist/cjs/{Checkout-f10bed8c.js → Checkout-5352009d.js} +1 -1
  2. package/dist/cjs/{Payment-3f483b7a.js → Payment-bccd8f7d.js} +1 -1
  3. package/dist/cjs/{SubAccount-a27d4e9f.js → SubAccount-2a302ead.js} +2 -1
  4. package/dist/cjs/additional-questions-details_5.cjs.entry.js +1 -1
  5. package/dist/cjs/bank-account-document-form-inputs_4.cjs.entry.js +4 -4
  6. package/dist/cjs/bank-account-form_9.cjs.entry.js +2 -2
  7. package/dist/cjs/billing-form_3.cjs.entry.js +1 -1
  8. package/dist/cjs/{check-pkg-version-75cc34ca.js → check-pkg-version-64d3381a.js} +1 -1
  9. package/dist/cjs/{checkout.service-61616349.js → checkout.service-0a7835dc.js} +3 -3
  10. package/dist/cjs/checkouts-list-core.cjs.entry.js +5 -5
  11. package/dist/cjs/{checkouts-table-14fcebd0.js → checkouts-table-8a1b49ff.js} +1 -1
  12. package/dist/cjs/{dispute.service-b68fdcc4.js → dispute.service-6efc7d7f.js} +3 -3
  13. package/dist/cjs/form-control-monetary.cjs.entry.js +1 -1
  14. package/dist/cjs/{get-payout-csv-f0c04d96.js → get-payout-csv-7607c71e.js} +3 -3
  15. package/dist/cjs/{get-subaccounts-330a9e85.js → get-subaccounts-ae5b35a8.js} +3 -3
  16. package/dist/cjs/gross-payment-chart-core.cjs.entry.js +1 -1
  17. package/dist/cjs/justifi-additional-questions-form-step-core_6.cjs.entry.js +4 -4
  18. package/dist/cjs/justifi-additional-questions-form-step_9.cjs.entry.js +4 -4
  19. package/dist/cjs/justifi-business-details.cjs.entry.js +2 -2
  20. package/dist/cjs/justifi-business-form.cjs.entry.js +6 -6
  21. package/dist/cjs/justifi-checkout-core.cjs.entry.js +2 -2
  22. package/dist/cjs/justifi-checkout.cjs.entry.js +7 -7
  23. package/dist/cjs/justifi-checkouts-list-filters.cjs.entry.js +4 -4
  24. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +9 -9
  25. package/dist/cjs/justifi-dispute-management.cjs.entry.js +7 -7
  26. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +7 -7
  27. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +2 -2
  28. package/dist/cjs/justifi-order-terminals.cjs.entry.js +12 -10
  29. package/dist/cjs/justifi-payment-details.cjs.entry.js +7 -7
  30. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +2 -2
  31. package/dist/cjs/justifi-payments-list-filters.cjs.entry.js +1 -1
  32. package/dist/cjs/justifi-payments-list.cjs.entry.js +8 -8
  33. package/dist/cjs/justifi-payout-details.cjs.entry.js +7 -7
  34. package/dist/cjs/justifi-payouts-list-filters.cjs.entry.js +1 -1
  35. package/dist/cjs/justifi-payouts-list.cjs.entry.js +9 -9
  36. package/dist/cjs/justifi-refund-payment.cjs.entry.js +29 -32
  37. package/dist/cjs/justifi-season-interruption-insurance-core.cjs.entry.js +1 -1
  38. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +6 -6
  39. package/dist/cjs/justifi-terminal-orders-list-filters.cjs.entry.js +4 -4
  40. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +7 -7
  41. package/dist/cjs/justifi-terminals-list-filters.cjs.entry.js +4 -4
  42. package/dist/cjs/justifi-terminals-list.cjs.entry.js +9 -9
  43. package/dist/cjs/justifi-tokenize-payment-method.cjs.entry.js +6 -6
  44. package/dist/cjs/loader.cjs.js +1 -1
  45. package/dist/cjs/{package-459e93fd.js → package-99f9fc82.js} +1 -1
  46. package/dist/cjs/payment-details-core.cjs.entry.js +1 -1
  47. package/dist/cjs/{payment.service-ff43bfc4.js → payment.service-537e049d.js} +3 -3
  48. package/dist/cjs/payments-list-core.cjs.entry.js +5 -5
  49. package/dist/cjs/{payments-table-802d767d.js → payments-table-a076755a.js} +1 -1
  50. package/dist/cjs/payout-details-core.cjs.entry.js +1 -1
  51. package/dist/cjs/payouts-list-core.cjs.entry.js +5 -5
  52. package/dist/cjs/{payouts-table-194a4343.js → payouts-table-aedce326.js} +1 -1
  53. package/dist/cjs/terminal-orders-list-core.cjs.entry.js +5 -5
  54. package/dist/cjs/{terminal-orders-table-4df19497.js → terminal-orders-table-3b247193.js} +3 -1
  55. package/dist/cjs/{terminal.service-56397d88.js → terminal.service-ab62c344.js} +3 -3
  56. package/dist/cjs/terminals-list-core.cjs.entry.js +5 -5
  57. package/dist/cjs/{terminals-table-9b313566.js → terminals-table-6710a76c.js} +1 -1
  58. package/dist/cjs/{utils-54719fda.js → utils-4120664c.js} +13 -1
  59. package/dist/cjs/webcomponents.cjs.js +1 -1
  60. package/dist/collection/api/TerminalOrder.js +1 -0
  61. package/dist/collection/components/order-terminals/order-terminals.js +24 -3
  62. package/dist/collection/components/refund-payment/refund-payment.js +97 -52
  63. package/dist/collection/components/terminal-orders-list/terminal-orders-table.js +2 -0
  64. package/dist/collection/utils/utils.js +12 -2
  65. package/dist/docs.json +116 -43
  66. package/dist/esm/{Checkout-ba139944.js → Checkout-18d8bf94.js} +1 -1
  67. package/dist/esm/{Payment-39bfdd06.js → Payment-806af354.js} +1 -1
  68. package/dist/esm/{SubAccount-68403637.js → SubAccount-7520271c.js} +2 -1
  69. package/dist/esm/additional-questions-details_5.entry.js +1 -1
  70. package/dist/esm/bank-account-document-form-inputs_4.entry.js +4 -4
  71. package/dist/esm/bank-account-form_9.entry.js +2 -2
  72. package/dist/esm/billing-form_3.entry.js +1 -1
  73. package/dist/esm/{check-pkg-version-b4d631be.js → check-pkg-version-bbd75fa0.js} +1 -1
  74. package/dist/esm/{checkout.service-e59354cc.js → checkout.service-e38e477f.js} +3 -3
  75. package/dist/esm/checkouts-list-core.entry.js +5 -5
  76. package/dist/esm/{checkouts-table-58604210.js → checkouts-table-39a031a0.js} +1 -1
  77. package/dist/esm/{dispute.service-8312d46a.js → dispute.service-7ba6d5a4.js} +3 -3
  78. package/dist/esm/form-control-monetary.entry.js +1 -1
  79. package/dist/esm/{get-payout-csv-74397995.js → get-payout-csv-fa34f40b.js} +3 -3
  80. package/dist/esm/{get-subaccounts-f8bd5c96.js → get-subaccounts-3c6b9e84.js} +3 -3
  81. package/dist/esm/gross-payment-chart-core.entry.js +1 -1
  82. package/dist/esm/justifi-additional-questions-form-step-core_6.entry.js +4 -4
  83. package/dist/esm/justifi-additional-questions-form-step_9.entry.js +4 -4
  84. package/dist/esm/justifi-business-details.entry.js +2 -2
  85. package/dist/esm/justifi-business-form.entry.js +6 -6
  86. package/dist/esm/justifi-checkout-core.entry.js +2 -2
  87. package/dist/esm/justifi-checkout.entry.js +7 -7
  88. package/dist/esm/justifi-checkouts-list-filters.entry.js +4 -4
  89. package/dist/esm/justifi-checkouts-list.entry.js +9 -9
  90. package/dist/esm/justifi-dispute-management.entry.js +7 -7
  91. package/dist/esm/justifi-dispute-notification_3.entry.js +7 -7
  92. package/dist/esm/justifi-gross-payment-chart.entry.js +2 -2
  93. package/dist/esm/justifi-order-terminals.entry.js +12 -10
  94. package/dist/esm/justifi-payment-details.entry.js +7 -7
  95. package/dist/esm/justifi-payment-provisioning.entry.js +2 -2
  96. package/dist/esm/justifi-payments-list-filters.entry.js +1 -1
  97. package/dist/esm/justifi-payments-list.entry.js +8 -8
  98. package/dist/esm/justifi-payout-details.entry.js +7 -7
  99. package/dist/esm/justifi-payouts-list-filters.entry.js +1 -1
  100. package/dist/esm/justifi-payouts-list.entry.js +9 -9
  101. package/dist/esm/justifi-refund-payment.entry.js +29 -32
  102. package/dist/esm/justifi-season-interruption-insurance-core.entry.js +1 -1
  103. package/dist/esm/justifi-season-interruption-insurance.entry.js +6 -6
  104. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +4 -4
  105. package/dist/esm/justifi-terminal-orders-list.entry.js +7 -7
  106. package/dist/esm/justifi-terminals-list-filters.entry.js +4 -4
  107. package/dist/esm/justifi-terminals-list.entry.js +9 -9
  108. package/dist/esm/justifi-tokenize-payment-method.entry.js +6 -6
  109. package/dist/esm/loader.js +1 -1
  110. package/dist/esm/{package-53180f2a.js → package-01997353.js} +1 -1
  111. package/dist/esm/payment-details-core.entry.js +1 -1
  112. package/dist/esm/{payment.service-b9ec64c9.js → payment.service-af5bd8be.js} +3 -3
  113. package/dist/esm/payments-list-core.entry.js +5 -5
  114. package/dist/esm/{payments-table-26054032.js → payments-table-8134f5e1.js} +1 -1
  115. package/dist/esm/payout-details-core.entry.js +1 -1
  116. package/dist/esm/payouts-list-core.entry.js +5 -5
  117. package/dist/esm/{payouts-table-7f31db9d.js → payouts-table-c1ced46a.js} +1 -1
  118. package/dist/esm/terminal-orders-list-core.entry.js +5 -5
  119. package/dist/esm/{terminal-orders-table-1f6156c9.js → terminal-orders-table-93e84d25.js} +3 -1
  120. package/dist/esm/{terminal.service-fff19896.js → terminal.service-d173566d.js} +3 -3
  121. package/dist/esm/terminals-list-core.entry.js +5 -5
  122. package/dist/esm/{terminals-table-7d54e359.js → terminals-table-5eb287ca.js} +1 -1
  123. package/dist/esm/{utils-dc86cdde.js → utils-ec50661e.js} +13 -2
  124. package/dist/esm/webcomponents.js +1 -1
  125. package/dist/module/SubAccount.js +1 -0
  126. package/dist/module/justifi-order-terminals.js +7 -3
  127. package/dist/module/justifi-payments-list-filters.js +1 -1
  128. package/dist/module/justifi-payouts-list-filters.js +1 -1
  129. package/dist/module/justifi-refund-payment.js +31 -31
  130. package/dist/module/justifi-terminal-orders-list-filters.js +1 -1
  131. package/dist/module/package.js +1 -1
  132. package/dist/module/payments-list-core2.js +1 -1
  133. package/dist/module/payouts-list-core2.js +1 -1
  134. package/dist/module/season-interruption-insurance-core.js +1 -1
  135. package/dist/module/terminal-orders-list-core2.js +3 -1
  136. package/dist/module/terminals-list-core2.js +1 -1
  137. package/dist/module/utils2.js +13 -2
  138. package/dist/types/api/TerminalOrder.d.ts +2 -0
  139. package/dist/types/components/order-terminals/order-terminals.d.ts +2 -0
  140. package/dist/types/components/refund-payment/refund-payment.d.ts +9 -36
  141. package/dist/types/components/terminal-orders-list/terminal-orders-table.d.ts +2 -0
  142. package/dist/types/components.d.ts +11 -35
  143. package/dist/types/utils/utils.d.ts +1 -0
  144. package/dist/webcomponents/{p-f247b169.entry.js → p-07fbeff3.entry.js} +1 -1
  145. package/dist/webcomponents/{p-59eef054.entry.js → p-0c7ec110.entry.js} +1 -1
  146. package/dist/webcomponents/{p-bae35151.entry.js → p-0f0020e1.entry.js} +1 -1
  147. package/dist/webcomponents/{p-6d3611b6.entry.js → p-0fa216eb.entry.js} +1 -1
  148. package/dist/webcomponents/{p-d9dc15d4.entry.js → p-0fc1d3bb.entry.js} +1 -1
  149. package/dist/webcomponents/{p-d70610de.entry.js → p-1134e1d3.entry.js} +1 -1
  150. package/dist/webcomponents/{p-422948eb.js → p-1366a019.js} +1 -1
  151. package/dist/webcomponents/{p-745a577c.entry.js → p-13717638.entry.js} +1 -1
  152. package/dist/webcomponents/p-1c38ec65.entry.js +1 -0
  153. package/dist/webcomponents/{p-bdbbee07.entry.js → p-1ce63001.entry.js} +1 -1
  154. package/dist/webcomponents/{p-1aa973c4.entry.js → p-25b82529.entry.js} +1 -1
  155. package/dist/webcomponents/{p-5b459422.entry.js → p-290fa30d.entry.js} +1 -1
  156. package/dist/webcomponents/p-2a9d7f6b.js +1 -0
  157. package/dist/webcomponents/{p-cd5883b9.js → p-3188f72a.js} +1 -1
  158. package/dist/webcomponents/{p-942d5e8f.entry.js → p-3cc7527a.entry.js} +1 -1
  159. package/dist/webcomponents/{p-b323bbde.entry.js → p-3cf317d3.entry.js} +1 -1
  160. package/dist/webcomponents/{p-4e010557.js → p-3f5e6602.js} +1 -1
  161. package/dist/webcomponents/p-4598482c.entry.js +1 -0
  162. package/dist/webcomponents/{p-a1be025c.entry.js → p-536497fe.entry.js} +1 -1
  163. package/dist/webcomponents/p-536fb8e2.js +1 -0
  164. package/dist/webcomponents/p-54556fc6.js +1 -0
  165. package/dist/webcomponents/{p-00ae938e.entry.js → p-645db2cb.entry.js} +1 -1
  166. package/dist/webcomponents/{p-4484aa3b.entry.js → p-65cb72e4.entry.js} +1 -1
  167. package/dist/webcomponents/{p-d903d838.entry.js → p-6a5eab1f.entry.js} +1 -1
  168. package/dist/webcomponents/{p-26a2e837.js → p-701a13ca.js} +1 -1
  169. package/dist/webcomponents/{p-6c79e7c3.entry.js → p-753d983c.entry.js} +1 -1
  170. package/dist/webcomponents/{p-cedad1b6.entry.js → p-7b793901.entry.js} +1 -1
  171. package/dist/webcomponents/{p-ed9d22d5.entry.js → p-7c333590.entry.js} +1 -1
  172. package/dist/webcomponents/p-81a6c3e2.entry.js +1 -0
  173. package/dist/webcomponents/{p-64443fc0.js → p-87a4fb5b.js} +1 -1
  174. package/dist/webcomponents/{p-5efe6236.js → p-88a37837.js} +1 -1
  175. package/dist/webcomponents/{p-38900c29.entry.js → p-8a6a06e6.entry.js} +1 -1
  176. package/dist/webcomponents/{p-43e225d2.entry.js → p-8d4a0192.entry.js} +1 -1
  177. package/dist/webcomponents/{p-4ef98c7a.js → p-953e9dba.js} +1 -1
  178. package/dist/webcomponents/{p-c8fa00fd.entry.js → p-96c23cda.entry.js} +1 -1
  179. package/dist/webcomponents/{p-a99525c5.js → p-9a9732e1.js} +1 -1
  180. package/dist/webcomponents/p-9fecad5a.js +1 -0
  181. package/dist/webcomponents/{p-d9b5140e.entry.js → p-a07e021f.entry.js} +1 -1
  182. package/dist/webcomponents/p-a6976c9c.entry.js +1 -0
  183. package/dist/webcomponents/{p-45f48dce.entry.js → p-a8c69f51.entry.js} +1 -1
  184. package/dist/webcomponents/{p-58476602.entry.js → p-ab3a8004.entry.js} +1 -1
  185. package/dist/webcomponents/{p-dbf21732.js → p-ae7edce5.js} +1 -1
  186. package/dist/webcomponents/{p-92e96b57.entry.js → p-af3315b5.entry.js} +1 -1
  187. package/dist/webcomponents/{p-5ae9faf6.entry.js → p-b082f07a.entry.js} +1 -1
  188. package/dist/webcomponents/{p-ba6fd830.entry.js → p-b218af87.entry.js} +1 -1
  189. package/dist/webcomponents/{p-ee539373.entry.js → p-b979fcb0.entry.js} +1 -1
  190. package/dist/webcomponents/{p-a5b52c1d.js → p-ca6cdfe6.js} +1 -1
  191. package/dist/webcomponents/{p-7a6feb58.entry.js → p-caa29469.entry.js} +1 -1
  192. package/dist/webcomponents/p-cbad44b7.js +1 -0
  193. package/dist/webcomponents/{p-ddb642a4.entry.js → p-cd93c62b.entry.js} +1 -1
  194. package/dist/webcomponents/{p-385d3637.entry.js → p-dd2938d3.entry.js} +1 -1
  195. package/dist/webcomponents/p-e3855f51.entry.js +1 -0
  196. package/dist/webcomponents/{p-0151a19f.entry.js → p-e73be1b9.entry.js} +1 -1
  197. package/dist/webcomponents/p-e817d131.entry.js +1 -0
  198. package/dist/webcomponents/{p-03c2261c.js → p-f4aeb100.js} +1 -1
  199. package/dist/webcomponents/{p-08b64251.js → p-f8fccf44.js} +1 -1
  200. package/dist/webcomponents/{p-df20bbb3.entry.js → p-fb2db8da.entry.js} +1 -1
  201. package/dist/webcomponents/webcomponents.esm.js +1 -1
  202. package/package.json +1 -1
  203. package/dist/webcomponents/p-2c65389c.entry.js +0 -1
  204. package/dist/webcomponents/p-4fc263b2.js +0 -1
  205. package/dist/webcomponents/p-80867635.entry.js +0 -1
  206. package/dist/webcomponents/p-ac40e667.js +0 -1
  207. package/dist/webcomponents/p-ae9ef225.js +0 -1
  208. package/dist/webcomponents/p-bdcf3a3c.entry.js +0 -1
  209. package/dist/webcomponents/p-c4f8ed38.js +0 -1
  210. package/dist/webcomponents/p-c93d643b.js +0 -1
  211. package/dist/webcomponents/p-d7bf921d.entry.js +0 -1
  212. package/dist/webcomponents/p-db973fa9.entry.js +0 -1
  213. package/dist/webcomponents/p-fc43d1c8.entry.js +0 -1
@@ -1 +1 @@
1
- import{r as s,c as i,h as t}from"./p-2783e363.js";import{f as e}from"./p-08b64251.js";import{C as o}from"./p-422948eb.js";import{a}from"./p-9dd8685c.js";import{i as d,v as c,H as r,a as h}from"./p-673c1bca.js";import{B as n}from"./p-bfc2d88a.js";import{S as l}from"./p-bfe9748b.js";import{t as f,a0 as v}from"./p-bf195b35.js";import{S as m}from"./p-56c7fc8d.js";import{H as b}from"./p-275c3dc9.js";import"./p-f20b6ce1.js";const p=class{constructor(t){s(this,t),this.submitEvent=i(this,"submit-event",7),this.errorEvent=i(this,"error-event",7),this.loaded=i(this,"loaded",7),this.completeCheckout=async s=>{this.complete({payment:s,onSuccess:this.onSubmitted,onError:this.onError})},this.onSubmitted=s=>{this.submitEvent.emit({response:s}),this.renderState="success"},this.onError=({error:s,code:i,severity:t})=>{this.serverError=s,this.errorEvent.emit({errorCode:i,message:s,severity:t}),this.renderState="error"},this.authToken=void 0,this.getCheckout=void 0,this.complete=void 0,this.checkoutId=void 0,this.iframeOrigin=void 0,this.disableCreditCard=void 0,this.disableBankAccount=void 0,this.disableBnpl=void 0,this.disablePaymentMethodGroup=void 0,this.hideCardBillingForm=void 0,this.hasLoadedFonts=!1,this.checkout=void 0,this.serverError=void 0,this.renderState="loading",this.creatingNewPaymentMethod=!1,this.insuranceToggled=!1}async fillBillingForm(s){this.paymentMethodOptionsRef.fillBillingForm(s)}componentWillLoad(){this.getCheckout&&(this.fetchData(),d("set",(s=>{const i=h[s];void 0!==i&&(this.insuranceToggled=i,this.fetchData())})))}fetchData(){this.renderState="loading",this.getCheckout({onSuccess:({checkout:s})=>{this.checkout=new o(s);const{status:i}=this.checkout;this.loaded.emit({checkout_status:i}),this.renderState="success"},onError:({error:s,code:i,severity:t})=>{this.serverError=s,this.renderState="error",this.errorEvent.emit({errorCode:i,message:s,severity:t})}})}async submit(s){var i;s.preventDefault(),this.renderState="loading";const t=c(),e=await this.paymentMethodOptionsRef.resolvePaymentMethod(t);e.validationError?this.renderState="error":e.error?(this.renderState="error",this.serverError=e.error.message,this.onError({code:e.error.code,error:e.error.message,severity:a.ERROR})):e.token?this.completeCheckout({payment_mode:"ecom",payment_token:e.token}):"success"===(null===(i=e.bnpl)||void 0===i?void 0:i.status)?this.completeCheckout({payment_mode:"bnpl"}):this.renderState="error"}get isLoading(){return"loading"===this.renderState}get isError(){return"error"===this.renderState}get paymentType(){var s,i,e,o,a;return t("section",null,t("div",{class:!this.isLoading&&"visually-hidden"},t(m,{height:"300px"})),t("div",{class:this.isLoading&&"visually-hidden"},t("justifi-payment-method-options",{ref:s=>this.paymentMethodOptionsRef=s,"show-card":!this.disableCreditCard,"show-ach":!this.disableBankAccount,"show-bnpl":!this.disableBnpl,paymentMethodGroupId:null===(s=this.checkout)||void 0===s?void 0:s.payment_method_group_id,"show-saved-payment-methods":!this.disablePaymentMethodGroup,hideCardBillingForm:this.hideCardBillingForm,bnpl:null===(i=this.checkout)||void 0===i?void 0:i.bnpl,authToken:this.authToken,"account-id":null===(e=this.checkout)||void 0===e?void 0:e.account_id,savedPaymentMethods:(null===(o=this.checkout)||void 0===o?void 0:o.payment_methods)||[],paymentAmount:null===(a=this.checkout)||void 0===a?void 0:a.payment_amount,insuranceToggled:this.insuranceToggled,iframeOrigin:this.iframeOrigin})))}get summary(){var s,i;return t("section",null,t("div",{class:!this.isLoading&&"visually-hidden"},t(m,{height:"24px"})),t("div",{class:this.isLoading&&"visually-hidden"},t("div",{part:f},null===(s=this.checkout)||void 0===s?void 0:s.payment_description),t("div",null,t("span",{part:f},"Total")," ",t("span",{part:f},e(+(null===(i=this.checkout)||void 0===i?void 0:i.total_amount))))))}render(){return t(l,{key:"5a3131312064d08358320f15562cd3130f125c4c"},t("div",{key:"a048e80b026c9cebbed53fac3acffb3db49599c2",class:"row gy-3 jfi-checkout-core"},t("div",{key:"2c99697464195f90d96cc58ad68d2fd6147b80b1",class:"col-12",part:v},t(r,{key:"1b49acf33c004c11554825f5cb1341a3224c452c",text:"Summary",class:"fs-5 fw-bold pb-3"}),this.summary),t("div",{key:"f7513e8c9cb88f77cddae02c299e66435863ba72",class:"col-12"},t("slot",{key:"0ae73bf9497ac5d458a816ede988f6176cdbc30f",name:"insurance"})),t("div",{key:"4395884ff39c9e2919af1cc8328a66aa409f5389",class:"col-12 mt-4"},t(r,{key:"26b5631b8c3fc3f8bd2cf8c6b5fb14db49e5e187",text:"Payment",class:"fs-5 fw-bold pb-3"}),t(b,{key:"abb63414930c847d1db7680e81bed30af974344a",text:"Select payment type",class:"fs-6 fw-bold lh-lg"}),t("div",{key:"fdbbbfa789f092d9f90ad15f755d529d399e2bc4",class:"d-flex flex-column"},this.paymentType)),t("div",{key:"a0d8329b680e6a30da5d5a11b51e2e1018068674",class:"col-12"},t("div",{key:"40f932b56cdd2e68bf2a1e023939d3ce7764eedb",class:"d-flex justify-content-end"},t(n,{key:"c98e7e15f6258a700c3dc96003048f3b5c84e582",type:"submit",variant:"primary",onClick:s=>this.submit(s),disabled:this.isLoading,isLoading:this.isLoading,style:{width:"100%"}},"Pay")))))}};export{p as justifi_checkout_core}
1
+ import{r as s,c as i,h as t}from"./p-2783e363.js";import{f as e}from"./p-f8fccf44.js";import{C as o}from"./p-1366a019.js";import{a}from"./p-9dd8685c.js";import{i as d,v as c,H as r,a as h}from"./p-673c1bca.js";import{B as n}from"./p-bfc2d88a.js";import{S as l}from"./p-bfe9748b.js";import{t as f,a0 as v}from"./p-bf195b35.js";import{S as m}from"./p-56c7fc8d.js";import{H as p}from"./p-275c3dc9.js";import"./p-f20b6ce1.js";const b=class{constructor(t){s(this,t),this.submitEvent=i(this,"submit-event",7),this.errorEvent=i(this,"error-event",7),this.loaded=i(this,"loaded",7),this.completeCheckout=async s=>{this.complete({payment:s,onSuccess:this.onSubmitted,onError:this.onError})},this.onSubmitted=s=>{this.submitEvent.emit({response:s}),this.renderState="success"},this.onError=({error:s,code:i,severity:t})=>{this.serverError=s,this.errorEvent.emit({errorCode:i,message:s,severity:t}),this.renderState="error"},this.authToken=void 0,this.getCheckout=void 0,this.complete=void 0,this.checkoutId=void 0,this.iframeOrigin=void 0,this.disableCreditCard=void 0,this.disableBankAccount=void 0,this.disableBnpl=void 0,this.disablePaymentMethodGroup=void 0,this.hideCardBillingForm=void 0,this.hasLoadedFonts=!1,this.checkout=void 0,this.serverError=void 0,this.renderState="loading",this.creatingNewPaymentMethod=!1,this.insuranceToggled=!1}async fillBillingForm(s){this.paymentMethodOptionsRef.fillBillingForm(s)}componentWillLoad(){this.getCheckout&&(this.fetchData(),d("set",(s=>{const i=h[s];void 0!==i&&(this.insuranceToggled=i,this.fetchData())})))}fetchData(){this.renderState="loading",this.getCheckout({onSuccess:({checkout:s})=>{this.checkout=new o(s);const{status:i}=this.checkout;this.loaded.emit({checkout_status:i}),this.renderState="success"},onError:({error:s,code:i,severity:t})=>{this.serverError=s,this.renderState="error",this.errorEvent.emit({errorCode:i,message:s,severity:t})}})}async submit(s){var i;s.preventDefault(),this.renderState="loading";const t=c(),e=await this.paymentMethodOptionsRef.resolvePaymentMethod(t);e.validationError?this.renderState="error":e.error?(this.renderState="error",this.serverError=e.error.message,this.onError({code:e.error.code,error:e.error.message,severity:a.ERROR})):e.token?this.completeCheckout({payment_mode:"ecom",payment_token:e.token}):"success"===(null===(i=e.bnpl)||void 0===i?void 0:i.status)?this.completeCheckout({payment_mode:"bnpl"}):this.renderState="error"}get isLoading(){return"loading"===this.renderState}get isError(){return"error"===this.renderState}get paymentType(){var s,i,e,o,a;return t("section",null,t("div",{class:!this.isLoading&&"visually-hidden"},t(m,{height:"300px"})),t("div",{class:this.isLoading&&"visually-hidden"},t("justifi-payment-method-options",{ref:s=>this.paymentMethodOptionsRef=s,"show-card":!this.disableCreditCard,"show-ach":!this.disableBankAccount,"show-bnpl":!this.disableBnpl,paymentMethodGroupId:null===(s=this.checkout)||void 0===s?void 0:s.payment_method_group_id,"show-saved-payment-methods":!this.disablePaymentMethodGroup,hideCardBillingForm:this.hideCardBillingForm,bnpl:null===(i=this.checkout)||void 0===i?void 0:i.bnpl,authToken:this.authToken,"account-id":null===(e=this.checkout)||void 0===e?void 0:e.account_id,savedPaymentMethods:(null===(o=this.checkout)||void 0===o?void 0:o.payment_methods)||[],paymentAmount:null===(a=this.checkout)||void 0===a?void 0:a.payment_amount,insuranceToggled:this.insuranceToggled,iframeOrigin:this.iframeOrigin})))}get summary(){var s,i;return t("section",null,t("div",{class:!this.isLoading&&"visually-hidden"},t(m,{height:"24px"})),t("div",{class:this.isLoading&&"visually-hidden"},t("div",{part:f},null===(s=this.checkout)||void 0===s?void 0:s.payment_description),t("div",null,t("span",{part:f},"Total")," ",t("span",{part:f},e(+(null===(i=this.checkout)||void 0===i?void 0:i.total_amount))))))}render(){return t(l,{key:"5a3131312064d08358320f15562cd3130f125c4c"},t("div",{key:"a048e80b026c9cebbed53fac3acffb3db49599c2",class:"row gy-3 jfi-checkout-core"},t("div",{key:"2c99697464195f90d96cc58ad68d2fd6147b80b1",class:"col-12",part:v},t(r,{key:"1b49acf33c004c11554825f5cb1341a3224c452c",text:"Summary",class:"fs-5 fw-bold pb-3"}),this.summary),t("div",{key:"f7513e8c9cb88f77cddae02c299e66435863ba72",class:"col-12"},t("slot",{key:"0ae73bf9497ac5d458a816ede988f6176cdbc30f",name:"insurance"})),t("div",{key:"4395884ff39c9e2919af1cc8328a66aa409f5389",class:"col-12 mt-4"},t(r,{key:"26b5631b8c3fc3f8bd2cf8c6b5fb14db49e5e187",text:"Payment",class:"fs-5 fw-bold pb-3"}),t(p,{key:"abb63414930c847d1db7680e81bed30af974344a",text:"Select payment type",class:"fs-6 fw-bold lh-lg"}),t("div",{key:"fdbbbfa789f092d9f90ad15f755d529d399e2bc4",class:"d-flex flex-column"},this.paymentType)),t("div",{key:"a0d8329b680e6a30da5d5a11b51e2e1018068674",class:"col-12"},t("div",{key:"40f932b56cdd2e68bf2a1e023939d3ce7764eedb",class:"d-flex justify-content-end"},t(n,{key:"c98e7e15f6258a700c3dc96003048f3b5c84e582",type:"submit",variant:"primary",onClick:s=>this.submit(s),disabled:this.isLoading,isLoading:this.isLoading,style:{width:"100%"}},"Pay")))))}};export{b as justifi_checkout_core}
@@ -0,0 +1 @@
1
+ import{A as t}from"./p-5f6b4bc9.js";import"./p-9dd8685c.js";import"./p-1366a019.js";import"./p-56f6ce4c.js";import"./p-3f5e6602.js";import"./p-2a9d7f6b.js";import"./p-61f0a2ce.js";class p{async fetchPayments(p,s,a,i="https://wc-proxy.justifi.ai"){return t({authToken:s,apiOrigin:i}).get(`account/${p}/payments`,a)}async fetchPayment(p,s){const a=`payments/${p}`;return t({authToken:s,apiOrigin:"https://wc-proxy.justifi.ai"}).get(a)}}export{p as P}
@@ -0,0 +1 @@
1
+ import{A as t}from"./p-5f6b4bc9.js";import"./p-9dd8685c.js";import"./p-1366a019.js";import"./p-56f6ce4c.js";import"./p-3f5e6602.js";import"./p-2a9d7f6b.js";import"./p-61f0a2ce.js";class c{async fetchCheckout(c,o){const p=`checkouts/${o}`;return t({authToken:c,apiOrigin:"https://wc-proxy.justifi.ai"}).get(p)}async fetchCheckouts(c,o,p,s){s||(s="https://wc-proxy.justifi.ai");const i={Account:c};return t({authToken:o,apiOrigin:s}).get("checkouts",p,null,i)}async complete(c,o,p){const s=`checkouts/${o}/complete`,i={payment_mode:p.payment_mode};return p.payment_token&&(i.payment_token=p.payment_token),t({authToken:c,apiOrigin:"https://wc-proxy.justifi.ai"}).post(s,i)}}export{c as C}
@@ -1 +1 @@
1
- import{h as s,r as t,c as e}from"./p-2783e363.js";import{a as i,b as o}from"./p-537bce77.js";import{F as r,c as n}from"./p-01033194.js";import{A as a,C as l,R as h,c}from"./p-5d1d2fd7.js";import{C as d,P as u}from"./p-525db3e8.js";import{h as m}from"./p-bf195b35.js";import{S as p}from"./p-56c7fc8d.js";import{a as v,r as f,s as b,b as y}from"./p-c9b78275.js";import{a as g,B as w}from"./p-73f9be7c.js";import{z as _,A as x,u as j,B as S,C as T,D as O,E as k,F as C}from"./p-bf12999f.js";import{C as L,a as H}from"./p-9dd8685c.js";import"./p-422948eb.js";import"./p-56f6ce4c.js";import"./p-4e010557.js";import"./p-c4f8ed38.js";import{a as E,b as D}from"./p-61f0a2ce.js";import{n as V}from"./p-e3c22aa9.js";import{B as A}from"./p-bfc2d88a.js";import{i as P,a as B}from"./p-d757fcf5.js";import{S as I}from"./p-6078a370.js";import"./p-1ff8810b.js";import"./p-08b64251.js";import"./p-abdbcd8e.js";class W{constructor(s){this.id=s.id,this.account_owner_name=s.account_owner_name,this.full_name=s.full_name,this.account_type=s.account_type,this.account_number=s.account_number,this.acct_last_four=s.acct_last_four,this.account_number_last4=s.account_number_last4,this.routing_number=s.routing_number,this.bank_name=s.bank_name,this.country=s.country,this.currency=s.currency,this.nickname=s.nickname,this.metadata=s.metadata,this.business_id=s.business_id,this.platform_account_id=s.platform_account_id,this.created_at=s.created_at,this.updated_at=s.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=()=>s("div",{class:"row gap-3"},s("div",{class:"col-12"},s(p,{width:"25%"})),s("div",{class:"col-12"},s(p,{width:"100%"})),s("div",{class:"col-12 d-flex gap-3"},s(p,{width:"50%"}),s(p,{width:"50%"})),s("div",{class:"col-12 d-flex gap-3"},s(p,{width:"65%"}),s(p,{width:"35%"}))),N=()=>s("div",{class:"row gap-5"},s("div",{class:"col-12"},s(p,{width:"40%",height:"40px"})),s(F,null),s(F,null),s(F,null)),U=class{constructor(s){t(this,s),this.stepCompleteEvent=e(this,"complete-form-step-event",7),this.errorEvent=e(this,"error-event",7),this.formLoading=e(this,"formLoading",7),this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:s=>{this.additional_questions=new a(s.data.additional_questions||{}),this.formController.setInitialValues(Object.assign({},this.additional_questions))},onError:({error:s,code:t,severity:e})=>{this.errorEvent.emit({message:s,errorCode:t,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=s=>{let t;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{t=e,s()},onError:({error:s,code:e,severity:i})=>{t=s,this.errorEvent.emit({message:s,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:t,formStep:g.additionalQuestions}),this.formLoading.emit(!1)}})},this.inputHandler=(s,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[s]:t})),this.additional_questions=new a(Object.assign(Object.assign({},this.formController.values.getValue()),{[s]:t}))},this.formController=void 0,this.errors={},this.additional_questions={},this.recurringPayments=!1,this.isLoading=!1,this.getBusiness=void 0,this.patchBusiness=void 0,this.allowOptionalFields=void 0}recurringPaymentsWatcher(s){this.recurringPayments="Yes"===(null==s?void 0:s.business_recurring_payments)}async validateAndSubmit({onSuccess:s}){this.formController.validateAndSubmit((()=>this.sendData(s)))}get patchPayload(){return{additional_questions:new a(this.formController.values.getValue()).payload}}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new r(i(this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((s=>{this.errors=Object.assign({},s)}))}render(){var t,e,i,o,r,n,a;const l=this.formController.getInitialValues();return this.isLoading?s(N,null):s("form",null,s("fieldset",null,s("div",{class:"d-flex align-items-center gap-2"},s("legend",{class:"mb-0",part:m},"Additional Questions"),s("form-control-tooltip",{helpText:"This information helps us understand the business and identify and monitor trends to safeguard you and your customers."})),s("hr",{class:"mt-2"}),s("div",{class:"row gy-3"},s("div",{class:"col-12 col-md-6"},s("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===(t=this.errors)||void 0===t?void 0:t.business_revenue,defaultValue:null==l?void 0:l.business_revenue,maskOptions:d.WHOLE})),s("div",{class:"col-12 col-md-6"},s("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:d.WHOLE})),s("div",{class:"col-12"},s("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})),s("div",{class:"col-12"},s("form-control-select",{name:"business_recurring_payments",label:"Does your business offer recurring payments?",inputHandler:this.inputHandler,errorText:null===(o=this.errors)||void 0===o?void 0:o.business_recurring_payments,options:f,defaultValue:null==l?void 0:l.business_recurring_payments})),s("div",{class:"col-12",hidden:!this.recurringPayments},s("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===(r=this.errors)||void 0===r?void 0:r.business_recurring_payments_percentage,defaultValue:null==l?void 0:l.business_recurring_payments_percentage,helpText:"For example: 50% monthly, 50% annual."})),s("div",{class:"col-12"},s("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:b,defaultValue:null==l?void 0:l.business_seasonal})),s("div",{class:"col-12"},s("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=(s,t)=>{const e=n({bank_name:_.required("Enter bank name"),nickname:x.required("Enter nickname"),account_owner_name:j.required("Enter account owner name"),account_type:S.required("Select account type"),account_number:T.required("Enter account number"),routing_number:O.required("Enter routing number"),voided_check:k(s,t),bank_statement:C(s,t)}),i=n({bank_name:_.nullable(),nickname:x.nullable(),account_owner_name:j.nullable(),account_type:S.nullable(),account_number:T.nullable(),routing_number:O.nullable(),voided_check:k(s,t),bank_statement:C(s,t)});return t?i:e},R=class{constructor(s){t(this,s),this.stepCompleteEvent=e(this,"complete-form-step-event",7),this.errorEvent=e(this,"error-event",7),this.formLoading=e(this,"formLoading",7),this.initializeFormController=()=>{this.formController=new r(q(this.existingDocuments,this.allowOptionalFields)),this.formController.setInitialValues(Object.assign({},this.bankAccount)),this.formController.errors.subscribe((s=>{this.errors=Object.assign({},s)}))},this.inputHandler=(s,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[s]:t}))},this.storeFiles=s=>{const t=Array.from(s.detail.fileList),e=s.detail.document_type,i=t.map((s=>new E({file:s,document_type:e},this.businessId)));this.documentData[e]=i},this.getData=()=>{this.isLoading=!0,this.getBusiness({onSuccess:s=>{s.data.bank_accounts.length>0?this.bankAccount=new W(s.data.bank_accounts[0]):(this.bankAccount=new W({}),this.bankAccount.business_id=this.businessId),this.existingDocuments=s.data.documents},onError:({error:s,code:t,severity:e})=>{this.errorEvent.emit({message:s,errorCode:t,severity:e})},final:()=>{this.initializeFormController(),this.isLoading=!1}})},this.postDocumentRecordData=async s=>{this.isLoading=!0;const t=s.record_data;return new Promise((e=>{this.postDocumentRecord({payload:t,onSuccess:t=>{e(this.handleDocRecordResponse(s,t))},onError:({error:s,code:t,severity:i})=>{this.errorEvent.emit({message:s,errorCode:t,severity:i}),e(!1)}})}))},this.handleDocRecordResponse=(s,t)=>t.error?(this.errorEvent.emit({errorCode:L.POST_ERROR,message:t.error.message,severity:H.ERROR,data:t.error}),!1):(s.setPresignedUrl(t.data.presigned_url),!0),this.uploadDocument=async s=>{if(!s.presigned_url)throw new Error("Presigned URL is not set");const t=await fetch(s.presigned_url,{method:"PUT",body:s.fileString});return this.handleUploadResponse(t)},this.handleUploadResponse=s=>!s.error||(this.errorEvent.emit({errorCode:L.POST_ERROR,message:s.error.message,severity:H.ERROR,data:s.error}),!1),this.formController=void 0,this.errors={},this.bankAccount={},this.existingDocuments=[],this.documentData=new D,this.isLoading=!1,this.businessId=void 0,this.getBusiness=void 0,this.postBankAccount=void 0,this.postDocumentRecord=void 0,this.allowOptionalFields=void 0}watchHandler(s){this.formLoading.emit(s)}async validateAndSubmit({onSuccess:s}){this.existingBankAccount?this.sendData(s):this.formController.validateAndSubmit((()=>this.sendData(s)))}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new r(q(this.existingDocuments,this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((s=>{this.errors=Object.assign({},s)}))}get postPayload(){return new W(this.formController.values.getValue()).payload}get existingBankAccount(){var s;return!!(null===(s=this.bankAccount)||void 0===s?void 0:s.id)}async sendData(s){try{if(!this.existingBankAccount&&!await this.postBankAccountData())return;if(!await this.postBusinessDocuments())return;s()}catch(s){this.errorEvent.emit({message:s,errorCode:L.POST_ERROR,severity:H.ERROR})}}async postBankAccountData(){let s;return this.isLoading=!0,new Promise((t=>{let e=!1;this.postBankAccount({payload:this.postPayload,onSuccess:t=>{s=t,e=!0},onError:({error:s,code:t,severity:i})=>{e=!1,this.errorEvent.emit({message:s,errorCode:t,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:s,formStep:g.bankAccount}),this.isLoading=!1,t(e)}})}))}async postBusinessDocuments(){this.isLoading=!0;try{const s=Object.values(this.documentData).flat();return!s.length||!(await Promise.all(s.map((s=>this.postDocumentRecordData(s))))).includes(!1)&&!(await Promise.all(s.map((s=>this.uploadDocument(s))))).includes(!1)}finally{this.isLoading=!1}}render(){const t=this.formController.getInitialValues();return this.isLoading?s(N,null):s("form",null,s("fieldset",{class:"mb-4"},s("div",{class:"d-flex align-items-center gap-2"},s("legend",{class:"mb-0",part:m},"Bank Account Info"),s("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."})),s("hr",{class:"mt-2"}),s("bank-account-form-inputs",{defaultValue:t,errors:this.errors,inputHandler:this.inputHandler,formDisabled:this.existingBankAccount})),s("fieldset",{class:"mt-4"},s("div",{class:"d-flex align-items-center gap-2"},s("legend",{class:"mb-0",part:m},"Document Uploads"),s("form-control-tooltip",{helpText:"These documents are required for underwriting purposes. Various file formats such as PDF, DOC, DOCX, JPEG, and others are accepted. Multiple files can be uploaded for each document category."})),s("hr",{class:"mt-2"}),s("business-documents-on-file",{documents:this.existingDocuments,isLoading:this.isLoading}),s("bank-account-document-form-inputs",{inputHandler:this.inputHandler,errors:this.errors,storeFiles:this.storeFiles})))}static get watchers(){return{isLoading:["watchHandler"]}}},Y=class{constructor(s){t(this,s),this.stepCompleteEvent=e(this,"complete-form-step-event",7),this.errorEvent=e(this,"error-event",7),this.formLoading=e(this,"formLoading",7),this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:s=>{this.coreInfo=new l(s.data),this.formController.setInitialValues(Object.assign({},this.coreInfo))},onError:({error:s,code:t,severity:e})=>{this.errorEvent.emit({message:s,errorCode:t,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=s=>{let t;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{t=e,s()},onError:({error:s,code:e,severity:i})=>{t=s,this.errorEvent.emit({message:s,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:t,formStep:g.businessInfo}),this.formLoading.emit(!1)}})},this.inputHandler=(s,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[s]:t}))},this.formController=void 0,this.errors={},this.coreInfo={},this.isLoading=!1,this.businessId=void 0,this.getBusiness=void 0,this.patchBusiness=void 0,this.allowOptionalFields=void 0}async validateAndSubmit({onSuccess:s}){this.formController.validateAndSubmit((()=>this.sendData(s)))}get patchPayload(){return new l(this.formController.values.getValue()).payload}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new r(o(this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((s=>{this.errors=Object.assign({},s)}))}render(){const t=this.formController.getInitialValues();return this.isLoading?s(N,null):s("form",null,s("fieldset",null,s("div",{class:"d-flex align-items-center gap-2"},s("legend",{class:"mb-0",part:m},"Business Information")),s("hr",{class:"mt-2"}),s("div",{class:"row gy-3"},s("div",{class:"col-12"},s("form-control-text",{name:"legal_name",label:"Business Name",defaultValue:t.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)."})),s("div",{class:"col-12"},s("form-control-text",{name:"doing_business_as",label:"Doing Business As (DBA)",defaultValue:t.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)"})),s("div",{class:"col-12 col-md-8"},s("form-control-select",{name:"classification",label:"Business Classification",options:y,defaultValue:t.classification,errorText:this.errors.classification,inputHandler:this.inputHandler})),s("div",{class:"col-12 col-md-4"},s("form-control-date",{name:"date_of_incorporation",label:"Date of Incorporation",defaultValue:t.date_of_incorporation,errorText:this.errors.date_of_incorporation,inputHandler:this.inputHandler})),s("div",{class:"col-12 col-md-6"},s("form-control-text",{name:"industry",label:"Industry",defaultValue:t.industry,errorText:this.errors.industry,inputHandler:this.inputHandler,helpText:"Describe what you sell"})),s("div",{class:"col-12 col-md-6"},s("form-control-text",{name:"tax_id",label:"Tax ID (EIN or SSN)",defaultValue:t.tax_id,errorText:this.errors.tax_id,inputHandler:this.inputHandler,keyDownHandler:V,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."})),s("div",{class:"col-12"},s("form-control-text",{name:"website_url",label:"Business Website URL",defaultValue:t.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."})),s("div",{class:"col-12 col-md-6"},s("form-control-text",{name:"email",label:"Business Email Address",defaultValue:t.email,errorText:this.errors.email,inputHandler:this.inputHandler})),s("div",{class:"col-12 col-md-6"},s("form-control-number-masked",{name:"phone",label:"Business Phone Number",defaultValue:t.phone,errorText:this.errors.phone,inputHandler:this.inputHandler,mask:u.US})))))}},z=class{constructor(s){t(this,s),this.clickEvent=e(this,"click-event",7),this.stepCompleteEvent=e(this,"complete-form-step-event",7),this.errorEvent=e(this,"error-event",7),this.formLoading=e(this,"formLoading",7),this.matchRef=(s,t)=>{const e=this.refs.findIndex((s=>s===t));-1!==e&&(this.refs[e]=s)},this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:s=>{s.data.owners.length?this.ownersPayload=s.data.owners.map((s=>({id:s.id}))):this.addOwnerForm()},onError:({error:s,code:t,severity:e})=>{this.errorEvent.emit({message:s,errorCode:t,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1,this.manageRefs()}})},this.sendData=async s=>{let t;this.formLoading.emit(!0),this.patchBusiness({payload:{owners:this.ownersPayload},onSuccess:e=>{t=e,s()},onError:({error:s,code:e,severity:i})=>{t=s,this.errorEvent.emit({message:s,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:t,formStep:g.owners}),this.formLoading.emit(!1)}})},this.addOwnerForm=s=>{this.newFormOpen=!0,this.ownersPayload=[...this.ownersPayload,{id:""}],s&&this.clickEvent.emit({name:w.addOwnerForm})},this.removeOwnerForm=s=>{this.ownersPayload=this.ownersPayload.filter((t=>t.id!==s)),this.newFormOpen&&(this.newFormOpen=!1)},this.ownersPayload=[],this.refs=[],this.newFormOpen=void 0,this.isLoading=!1,this.authToken=void 0,this.businessId=void 0,this.getBusiness=void 0,this.patchBusiness=void 0,this.allowOptionalFields=void 0}get showAddOwnerButton(){return this.ownersPayload.length<4&&!this.newFormOpen}manageRefs(){this.refs=this.ownersPayload.map((s=>s.id))}async validateAndSubmit({onSuccess:s}){const t=this.refs.map((s=>s.validate()));if(!(await Promise.all(t)).every((s=>s)))return;const e=this.refs.map((s=>s.submit()));(await Promise.all(e)).every((s=>s))&&this.sendData(s)}componentWillLoad(){this.getBusiness&&this.getData()}ownersWatcher(){this.manageRefs()}handleOwnerSubmit(s){const t=s.detail,e=this.ownersPayload.map((s=>s.id===t.id?t:s));e.includes(t)||(e[this.ownersPayload.findIndex((s=>!s.id))]=t,this.newFormOpen&&(this.newFormOpen=!1)),this.ownersPayload=e}render(){return this.isLoading?s(N,null):s("div",null,s("div",{class:"d-flex align-items-center gap-2"},s("legend",{class:"mb-0",part:m},"Owners"),s("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."})),s("hr",{class:"mt-2"}),s("div",{class:"row gy-3"},this.ownersPayload.map((t=>s("justifi-owner-form",{key:t.id,authToken:this.authToken,businessId:this.businessId,ownerId:t.id,removeOwner:this.removeOwnerForm,newFormOpen:this.newFormOpen,ownersLength:this.ownersPayload.length,allowOptionalFields:this.allowOptionalFields,ref:s=>this.matchRef(s,t.id)})))),s("div",{class:"d-flex justify-content-start"},s("div",{class:"gap-2"},s(A,{variant:"primary",onClick:()=>this.addOwnerForm(!0),hidden:!this.showAddOwnerButton},"Add Owner"))))}static get watchers(){return{ownersPayload:["ownersWatcher"]}}},G=class{constructor(s){t(this,s),this.stepCompleteEvent=e(this,"complete-form-step-event",7),this.errorEvent=e(this,"error-event",7),this.formLoading=e(this,"formLoading",7),this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:s=>{this.representative=new h(s.data.representative||{}),this.formController.setInitialValues(Object.assign({},this.representative))},onError:({error:s,code:t,severity:e})=>{this.errorEvent.emit({message:s,errorCode:t,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=s=>{let t;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{t=e,s()},onError:({error:s,code:e,severity:i})=>{t=s,this.errorEvent.emit({message:s,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:t,formStep:g.representative}),this.formLoading.emit(!1)}})},this.formController=void 0,this.errors={},this.representative={},this.isLoading=!1,this.getBusiness=void 0,this.patchBusiness=void 0,this.allowOptionalFields=void 0}async validateAndSubmit({onSuccess:s}){this.formController.validateAndSubmit((()=>this.sendData(s)))}get patchPayload(){return{representative:new h(this.formController.values.getValue()).payload}}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new r(P("representative",this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((s=>{this.errors=Object.assign({},s)}))}render(){return this.isLoading?s(N,null):s("justifi-business-representative-form-inputs",{representativeDefaultValue:this.formController.getInitialValues(),errors:this.errors,formController:this.formController})}},J=class{constructor(s){t(this,s),this.stepCompleteEvent=e(this,"complete-form-step-event",7),this.errorEvent=e(this,"error-event",7),this.formLoading=e(this,"formLoading",7),this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:s=>{this.legal_address=new c(s.data.legal_address||{}),this.formController.setInitialValues(Object.assign({},this.legal_address))},onError:({error:s,code:t,severity:e})=>{this.errorEvent.emit({message:s,errorCode:t,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=s=>{let t;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{t=e,s()},onError:({error:s,code:e,severity:i})=>{t=s,this.errorEvent.emit({message:s,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:t,formStep:g.legalAddress}),this.formLoading.emit(!1)}})},this.inputHandler=(s,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[s]:t}))},this.formController=void 0,this.errors={},this.legal_address={},this.isLoading=!1,this.getBusiness=void 0,this.patchBusiness=void 0,this.allowOptionalFields=void 0}async validateAndSubmit({onSuccess:s}){this.formController.validateAndSubmit((()=>this.sendData(s)))}get patchPayload(){return{legal_address:new c(this.formController.values.getValue()).payload}}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new r(B(this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((s=>{this.errors=Object.assign({},s)}))}render(){var t,e,i,o,r,n;const a=this.formController.getInitialValues();return this.isLoading?s(N,null):s("form",null,s("fieldset",null,s("div",{class:"d-flex align-items-center gap-2"},s("legend",{class:"mb-0",part:m},"Legal Address of your Business"),s("form-control-tooltip",{helpText:"No PO Boxes."})),s("hr",{class:"mt-2"}),s("div",{class:"row gy-3"},s("div",{class:"col-12"},s("form-control-text",{name:"line1",label:"Legal Address",inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.line1,errorText:null===(t=this.errors)||void 0===t?void 0:t.line1})),s("div",{class:"col-12"},s("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})),s("div",{class:"col-12"},s("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})),s("div",{class:"col-12"},s("form-control-select",{name:"state",label:"State",options:I,inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.state,errorText:null===(o=this.errors)||void 0===o?void 0:o.state})),s("div",{class:"col-12"},s("form-control-text",{name:"postal_code",label:"Postal Code",inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.postal_code,errorText:null===(r=this.errors)||void 0===r?void 0:r.postal_code,maxLength:5,keyDownHandler:V})),s("div",{class:"col-12"},s("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{U as justifi_additional_questions_form_step_core,R as justifi_business_bank_account_form_step_core,Y as justifi_business_core_info_form_step_core,z as justifi_business_owners_form_step_core,G as justifi_business_representative_form_step_core,J as justifi_legal_address_form_step_core}
1
+ import{h as s,r as t,c as e}from"./p-2783e363.js";import{a as i,b as o}from"./p-537bce77.js";import{F as r,c as n}from"./p-01033194.js";import{A as a,C as l,R as h,c}from"./p-5d1d2fd7.js";import{C as d,P as u}from"./p-525db3e8.js";import{h as m}from"./p-bf195b35.js";import{S as p}from"./p-56c7fc8d.js";import{a as f,r as v,s as b,b as y}from"./p-c9b78275.js";import{a as g,B as w}from"./p-73f9be7c.js";import{z as _,A as x,u as j,B as S,C as T,D as O,E as k,F as C}from"./p-bf12999f.js";import{C as L,a as H}from"./p-9dd8685c.js";import"./p-1366a019.js";import"./p-56f6ce4c.js";import"./p-3f5e6602.js";import"./p-2a9d7f6b.js";import{a as E,b as D}from"./p-61f0a2ce.js";import{n as V}from"./p-e3c22aa9.js";import{B as A}from"./p-bfc2d88a.js";import{i as P,a as B}from"./p-d757fcf5.js";import{S as I}from"./p-6078a370.js";import"./p-1ff8810b.js";import"./p-f8fccf44.js";import"./p-abdbcd8e.js";class W{constructor(s){this.id=s.id,this.account_owner_name=s.account_owner_name,this.full_name=s.full_name,this.account_type=s.account_type,this.account_number=s.account_number,this.acct_last_four=s.acct_last_four,this.account_number_last4=s.account_number_last4,this.routing_number=s.routing_number,this.bank_name=s.bank_name,this.country=s.country,this.currency=s.currency,this.nickname=s.nickname,this.metadata=s.metadata,this.business_id=s.business_id,this.platform_account_id=s.platform_account_id,this.created_at=s.created_at,this.updated_at=s.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=()=>s("div",{class:"row gap-3"},s("div",{class:"col-12"},s(p,{width:"25%"})),s("div",{class:"col-12"},s(p,{width:"100%"})),s("div",{class:"col-12 d-flex gap-3"},s(p,{width:"50%"}),s(p,{width:"50%"})),s("div",{class:"col-12 d-flex gap-3"},s(p,{width:"65%"}),s(p,{width:"35%"}))),N=()=>s("div",{class:"row gap-5"},s("div",{class:"col-12"},s(p,{width:"40%",height:"40px"})),s(F,null),s(F,null),s(F,null)),U=class{constructor(s){t(this,s),this.stepCompleteEvent=e(this,"complete-form-step-event",7),this.errorEvent=e(this,"error-event",7),this.formLoading=e(this,"formLoading",7),this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:s=>{this.additional_questions=new a(s.data.additional_questions||{}),this.formController.setInitialValues(Object.assign({},this.additional_questions))},onError:({error:s,code:t,severity:e})=>{this.errorEvent.emit({message:s,errorCode:t,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=s=>{let t;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{t=e,s()},onError:({error:s,code:e,severity:i})=>{t=s,this.errorEvent.emit({message:s,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:t,formStep:g.additionalQuestions}),this.formLoading.emit(!1)}})},this.inputHandler=(s,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[s]:t})),this.additional_questions=new a(Object.assign(Object.assign({},this.formController.values.getValue()),{[s]:t}))},this.formController=void 0,this.errors={},this.additional_questions={},this.recurringPayments=!1,this.isLoading=!1,this.getBusiness=void 0,this.patchBusiness=void 0,this.allowOptionalFields=void 0}recurringPaymentsWatcher(s){this.recurringPayments="Yes"===(null==s?void 0:s.business_recurring_payments)}async validateAndSubmit({onSuccess:s}){this.formController.validateAndSubmit((()=>this.sendData(s)))}get patchPayload(){return{additional_questions:new a(this.formController.values.getValue()).payload}}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new r(i(this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((s=>{this.errors=Object.assign({},s)}))}render(){var t,e,i,o,r,n,a;const l=this.formController.getInitialValues();return this.isLoading?s(N,null):s("form",null,s("fieldset",null,s("div",{class:"d-flex align-items-center gap-2"},s("legend",{class:"mb-0",part:m},"Additional Questions"),s("form-control-tooltip",{helpText:"This information helps us understand the business and identify and monitor trends to safeguard you and your customers."})),s("hr",{class:"mt-2"}),s("div",{class:"row gy-3"},s("div",{class:"col-12 col-md-6"},s("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===(t=this.errors)||void 0===t?void 0:t.business_revenue,defaultValue:null==l?void 0:l.business_revenue,maskOptions:d.WHOLE})),s("div",{class:"col-12 col-md-6"},s("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:d.WHOLE})),s("div",{class:"col-12"},s("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:f,defaultValue:null==l?void 0:l.business_when_service_received})),s("div",{class:"col-12"},s("form-control-select",{name:"business_recurring_payments",label:"Does your business offer recurring payments?",inputHandler:this.inputHandler,errorText:null===(o=this.errors)||void 0===o?void 0:o.business_recurring_payments,options:v,defaultValue:null==l?void 0:l.business_recurring_payments})),s("div",{class:"col-12",hidden:!this.recurringPayments},s("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===(r=this.errors)||void 0===r?void 0:r.business_recurring_payments_percentage,defaultValue:null==l?void 0:l.business_recurring_payments_percentage,helpText:"For example: 50% monthly, 50% annual."})),s("div",{class:"col-12"},s("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:b,defaultValue:null==l?void 0:l.business_seasonal})),s("div",{class:"col-12"},s("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=(s,t)=>{const e=n({bank_name:_.required("Enter bank name"),nickname:x.required("Enter nickname"),account_owner_name:j.required("Enter account owner name"),account_type:S.required("Select account type"),account_number:T.required("Enter account number"),routing_number:O.required("Enter routing number"),voided_check:k(s,t),bank_statement:C(s,t)}),i=n({bank_name:_.nullable(),nickname:x.nullable(),account_owner_name:j.nullable(),account_type:S.nullable(),account_number:T.nullable(),routing_number:O.nullable(),voided_check:k(s,t),bank_statement:C(s,t)});return t?i:e},R=class{constructor(s){t(this,s),this.stepCompleteEvent=e(this,"complete-form-step-event",7),this.errorEvent=e(this,"error-event",7),this.formLoading=e(this,"formLoading",7),this.initializeFormController=()=>{this.formController=new r(q(this.existingDocuments,this.allowOptionalFields)),this.formController.setInitialValues(Object.assign({},this.bankAccount)),this.formController.errors.subscribe((s=>{this.errors=Object.assign({},s)}))},this.inputHandler=(s,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[s]:t}))},this.storeFiles=s=>{const t=Array.from(s.detail.fileList),e=s.detail.document_type,i=t.map((s=>new E({file:s,document_type:e},this.businessId)));this.documentData[e]=i},this.getData=()=>{this.isLoading=!0,this.getBusiness({onSuccess:s=>{s.data.bank_accounts.length>0?this.bankAccount=new W(s.data.bank_accounts[0]):(this.bankAccount=new W({}),this.bankAccount.business_id=this.businessId),this.existingDocuments=s.data.documents},onError:({error:s,code:t,severity:e})=>{this.errorEvent.emit({message:s,errorCode:t,severity:e})},final:()=>{this.initializeFormController(),this.isLoading=!1}})},this.postDocumentRecordData=async s=>{this.isLoading=!0;const t=s.record_data;return new Promise((e=>{this.postDocumentRecord({payload:t,onSuccess:t=>{e(this.handleDocRecordResponse(s,t))},onError:({error:s,code:t,severity:i})=>{this.errorEvent.emit({message:s,errorCode:t,severity:i}),e(!1)}})}))},this.handleDocRecordResponse=(s,t)=>t.error?(this.errorEvent.emit({errorCode:L.POST_ERROR,message:t.error.message,severity:H.ERROR,data:t.error}),!1):(s.setPresignedUrl(t.data.presigned_url),!0),this.uploadDocument=async s=>{if(!s.presigned_url)throw new Error("Presigned URL is not set");const t=await fetch(s.presigned_url,{method:"PUT",body:s.fileString});return this.handleUploadResponse(t)},this.handleUploadResponse=s=>!s.error||(this.errorEvent.emit({errorCode:L.POST_ERROR,message:s.error.message,severity:H.ERROR,data:s.error}),!1),this.formController=void 0,this.errors={},this.bankAccount={},this.existingDocuments=[],this.documentData=new D,this.isLoading=!1,this.businessId=void 0,this.getBusiness=void 0,this.postBankAccount=void 0,this.postDocumentRecord=void 0,this.allowOptionalFields=void 0}watchHandler(s){this.formLoading.emit(s)}async validateAndSubmit({onSuccess:s}){this.existingBankAccount?this.sendData(s):this.formController.validateAndSubmit((()=>this.sendData(s)))}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new r(q(this.existingDocuments,this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((s=>{this.errors=Object.assign({},s)}))}get postPayload(){return new W(this.formController.values.getValue()).payload}get existingBankAccount(){var s;return!!(null===(s=this.bankAccount)||void 0===s?void 0:s.id)}async sendData(s){try{if(!this.existingBankAccount&&!await this.postBankAccountData())return;if(!await this.postBusinessDocuments())return;s()}catch(s){this.errorEvent.emit({message:s,errorCode:L.POST_ERROR,severity:H.ERROR})}}async postBankAccountData(){let s;return this.isLoading=!0,new Promise((t=>{let e=!1;this.postBankAccount({payload:this.postPayload,onSuccess:t=>{s=t,e=!0},onError:({error:s,code:t,severity:i})=>{e=!1,this.errorEvent.emit({message:s,errorCode:t,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:s,formStep:g.bankAccount}),this.isLoading=!1,t(e)}})}))}async postBusinessDocuments(){this.isLoading=!0;try{const s=Object.values(this.documentData).flat();return!s.length||!(await Promise.all(s.map((s=>this.postDocumentRecordData(s))))).includes(!1)&&!(await Promise.all(s.map((s=>this.uploadDocument(s))))).includes(!1)}finally{this.isLoading=!1}}render(){const t=this.formController.getInitialValues();return this.isLoading?s(N,null):s("form",null,s("fieldset",{class:"mb-4"},s("div",{class:"d-flex align-items-center gap-2"},s("legend",{class:"mb-0",part:m},"Bank Account Info"),s("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."})),s("hr",{class:"mt-2"}),s("bank-account-form-inputs",{defaultValue:t,errors:this.errors,inputHandler:this.inputHandler,formDisabled:this.existingBankAccount})),s("fieldset",{class:"mt-4"},s("div",{class:"d-flex align-items-center gap-2"},s("legend",{class:"mb-0",part:m},"Document Uploads"),s("form-control-tooltip",{helpText:"These documents are required for underwriting purposes. Various file formats such as PDF, DOC, DOCX, JPEG, and others are accepted. Multiple files can be uploaded for each document category."})),s("hr",{class:"mt-2"}),s("business-documents-on-file",{documents:this.existingDocuments,isLoading:this.isLoading}),s("bank-account-document-form-inputs",{inputHandler:this.inputHandler,errors:this.errors,storeFiles:this.storeFiles})))}static get watchers(){return{isLoading:["watchHandler"]}}},Y=class{constructor(s){t(this,s),this.stepCompleteEvent=e(this,"complete-form-step-event",7),this.errorEvent=e(this,"error-event",7),this.formLoading=e(this,"formLoading",7),this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:s=>{this.coreInfo=new l(s.data),this.formController.setInitialValues(Object.assign({},this.coreInfo))},onError:({error:s,code:t,severity:e})=>{this.errorEvent.emit({message:s,errorCode:t,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=s=>{let t;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{t=e,s()},onError:({error:s,code:e,severity:i})=>{t=s,this.errorEvent.emit({message:s,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:t,formStep:g.businessInfo}),this.formLoading.emit(!1)}})},this.inputHandler=(s,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[s]:t}))},this.formController=void 0,this.errors={},this.coreInfo={},this.isLoading=!1,this.businessId=void 0,this.getBusiness=void 0,this.patchBusiness=void 0,this.allowOptionalFields=void 0}async validateAndSubmit({onSuccess:s}){this.formController.validateAndSubmit((()=>this.sendData(s)))}get patchPayload(){return new l(this.formController.values.getValue()).payload}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new r(o(this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((s=>{this.errors=Object.assign({},s)}))}render(){const t=this.formController.getInitialValues();return this.isLoading?s(N,null):s("form",null,s("fieldset",null,s("div",{class:"d-flex align-items-center gap-2"},s("legend",{class:"mb-0",part:m},"Business Information")),s("hr",{class:"mt-2"}),s("div",{class:"row gy-3"},s("div",{class:"col-12"},s("form-control-text",{name:"legal_name",label:"Business Name",defaultValue:t.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)."})),s("div",{class:"col-12"},s("form-control-text",{name:"doing_business_as",label:"Doing Business As (DBA)",defaultValue:t.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)"})),s("div",{class:"col-12 col-md-8"},s("form-control-select",{name:"classification",label:"Business Classification",options:y,defaultValue:t.classification,errorText:this.errors.classification,inputHandler:this.inputHandler})),s("div",{class:"col-12 col-md-4"},s("form-control-date",{name:"date_of_incorporation",label:"Date of Incorporation",defaultValue:t.date_of_incorporation,errorText:this.errors.date_of_incorporation,inputHandler:this.inputHandler})),s("div",{class:"col-12 col-md-6"},s("form-control-text",{name:"industry",label:"Industry",defaultValue:t.industry,errorText:this.errors.industry,inputHandler:this.inputHandler,helpText:"Describe what you sell"})),s("div",{class:"col-12 col-md-6"},s("form-control-text",{name:"tax_id",label:"Tax ID (EIN or SSN)",defaultValue:t.tax_id,errorText:this.errors.tax_id,inputHandler:this.inputHandler,keyDownHandler:V,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."})),s("div",{class:"col-12"},s("form-control-text",{name:"website_url",label:"Business Website URL",defaultValue:t.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."})),s("div",{class:"col-12 col-md-6"},s("form-control-text",{name:"email",label:"Business Email Address",defaultValue:t.email,errorText:this.errors.email,inputHandler:this.inputHandler})),s("div",{class:"col-12 col-md-6"},s("form-control-number-masked",{name:"phone",label:"Business Phone Number",defaultValue:t.phone,errorText:this.errors.phone,inputHandler:this.inputHandler,mask:u.US})))))}},z=class{constructor(s){t(this,s),this.clickEvent=e(this,"click-event",7),this.stepCompleteEvent=e(this,"complete-form-step-event",7),this.errorEvent=e(this,"error-event",7),this.formLoading=e(this,"formLoading",7),this.matchRef=(s,t)=>{const e=this.refs.findIndex((s=>s===t));-1!==e&&(this.refs[e]=s)},this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:s=>{s.data.owners.length?this.ownersPayload=s.data.owners.map((s=>({id:s.id}))):this.addOwnerForm()},onError:({error:s,code:t,severity:e})=>{this.errorEvent.emit({message:s,errorCode:t,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1,this.manageRefs()}})},this.sendData=async s=>{let t;this.formLoading.emit(!0),this.patchBusiness({payload:{owners:this.ownersPayload},onSuccess:e=>{t=e,s()},onError:({error:s,code:e,severity:i})=>{t=s,this.errorEvent.emit({message:s,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:t,formStep:g.owners}),this.formLoading.emit(!1)}})},this.addOwnerForm=s=>{this.newFormOpen=!0,this.ownersPayload=[...this.ownersPayload,{id:""}],s&&this.clickEvent.emit({name:w.addOwnerForm})},this.removeOwnerForm=s=>{this.ownersPayload=this.ownersPayload.filter((t=>t.id!==s)),this.newFormOpen&&(this.newFormOpen=!1)},this.ownersPayload=[],this.refs=[],this.newFormOpen=void 0,this.isLoading=!1,this.authToken=void 0,this.businessId=void 0,this.getBusiness=void 0,this.patchBusiness=void 0,this.allowOptionalFields=void 0}get showAddOwnerButton(){return this.ownersPayload.length<4&&!this.newFormOpen}manageRefs(){this.refs=this.ownersPayload.map((s=>s.id))}async validateAndSubmit({onSuccess:s}){const t=this.refs.map((s=>s.validate()));if(!(await Promise.all(t)).every((s=>s)))return;const e=this.refs.map((s=>s.submit()));(await Promise.all(e)).every((s=>s))&&this.sendData(s)}componentWillLoad(){this.getBusiness&&this.getData()}ownersWatcher(){this.manageRefs()}handleOwnerSubmit(s){const t=s.detail,e=this.ownersPayload.map((s=>s.id===t.id?t:s));e.includes(t)||(e[this.ownersPayload.findIndex((s=>!s.id))]=t,this.newFormOpen&&(this.newFormOpen=!1)),this.ownersPayload=e}render(){return this.isLoading?s(N,null):s("div",null,s("div",{class:"d-flex align-items-center gap-2"},s("legend",{class:"mb-0",part:m},"Owners"),s("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."})),s("hr",{class:"mt-2"}),s("div",{class:"row gy-3"},this.ownersPayload.map((t=>s("justifi-owner-form",{key:t.id,authToken:this.authToken,businessId:this.businessId,ownerId:t.id,removeOwner:this.removeOwnerForm,newFormOpen:this.newFormOpen,ownersLength:this.ownersPayload.length,allowOptionalFields:this.allowOptionalFields,ref:s=>this.matchRef(s,t.id)})))),s("div",{class:"d-flex justify-content-start"},s("div",{class:"gap-2"},s(A,{variant:"primary",onClick:()=>this.addOwnerForm(!0),hidden:!this.showAddOwnerButton},"Add Owner"))))}static get watchers(){return{ownersPayload:["ownersWatcher"]}}},G=class{constructor(s){t(this,s),this.stepCompleteEvent=e(this,"complete-form-step-event",7),this.errorEvent=e(this,"error-event",7),this.formLoading=e(this,"formLoading",7),this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:s=>{this.representative=new h(s.data.representative||{}),this.formController.setInitialValues(Object.assign({},this.representative))},onError:({error:s,code:t,severity:e})=>{this.errorEvent.emit({message:s,errorCode:t,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=s=>{let t;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{t=e,s()},onError:({error:s,code:e,severity:i})=>{t=s,this.errorEvent.emit({message:s,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:t,formStep:g.representative}),this.formLoading.emit(!1)}})},this.formController=void 0,this.errors={},this.representative={},this.isLoading=!1,this.getBusiness=void 0,this.patchBusiness=void 0,this.allowOptionalFields=void 0}async validateAndSubmit({onSuccess:s}){this.formController.validateAndSubmit((()=>this.sendData(s)))}get patchPayload(){return{representative:new h(this.formController.values.getValue()).payload}}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new r(P("representative",this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((s=>{this.errors=Object.assign({},s)}))}render(){return this.isLoading?s(N,null):s("justifi-business-representative-form-inputs",{representativeDefaultValue:this.formController.getInitialValues(),errors:this.errors,formController:this.formController})}},J=class{constructor(s){t(this,s),this.stepCompleteEvent=e(this,"complete-form-step-event",7),this.errorEvent=e(this,"error-event",7),this.formLoading=e(this,"formLoading",7),this.getData=()=>{this.formLoading.emit(!0),this.isLoading=!0,this.getBusiness({onSuccess:s=>{this.legal_address=new c(s.data.legal_address||{}),this.formController.setInitialValues(Object.assign({},this.legal_address))},onError:({error:s,code:t,severity:e})=>{this.errorEvent.emit({message:s,errorCode:t,severity:e})},final:()=>{this.formLoading.emit(!1),this.isLoading=!1}})},this.sendData=s=>{let t;this.formLoading.emit(!0),this.patchBusiness({payload:this.patchPayload,onSuccess:e=>{t=e,s()},onError:({error:s,code:e,severity:i})=>{t=s,this.errorEvent.emit({message:s,errorCode:e,severity:i})},final:()=>{this.stepCompleteEvent.emit({response:t,formStep:g.legalAddress}),this.formLoading.emit(!1)}})},this.inputHandler=(s,t)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[s]:t}))},this.formController=void 0,this.errors={},this.legal_address={},this.isLoading=!1,this.getBusiness=void 0,this.patchBusiness=void 0,this.allowOptionalFields=void 0}async validateAndSubmit({onSuccess:s}){this.formController.validateAndSubmit((()=>this.sendData(s)))}get patchPayload(){return{legal_address:new c(this.formController.values.getValue()).payload}}componentWillLoad(){this.getBusiness&&this.getData(),this.formController=new r(B(this.allowOptionalFields))}componentDidLoad(){this.formController.errors.subscribe((s=>{this.errors=Object.assign({},s)}))}render(){var t,e,i,o,r,n;const a=this.formController.getInitialValues();return this.isLoading?s(N,null):s("form",null,s("fieldset",null,s("div",{class:"d-flex align-items-center gap-2"},s("legend",{class:"mb-0",part:m},"Legal Address of your Business"),s("form-control-tooltip",{helpText:"No PO Boxes."})),s("hr",{class:"mt-2"}),s("div",{class:"row gy-3"},s("div",{class:"col-12"},s("form-control-text",{name:"line1",label:"Legal Address",inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.line1,errorText:null===(t=this.errors)||void 0===t?void 0:t.line1})),s("div",{class:"col-12"},s("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})),s("div",{class:"col-12"},s("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})),s("div",{class:"col-12"},s("form-control-select",{name:"state",label:"State",options:I,inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.state,errorText:null===(o=this.errors)||void 0===o?void 0:o.state})),s("div",{class:"col-12"},s("form-control-text",{name:"postal_code",label:"Postal Code",inputHandler:this.inputHandler,defaultValue:null==a?void 0:a.postal_code,errorText:null===(r=this.errors)||void 0===r?void 0:r.postal_code,maxLength:5,keyDownHandler:V})),s("div",{class:"col-12"},s("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{U as justifi_additional_questions_form_step_core,R as justifi_business_bank_account_form_step_core,Y as justifi_business_core_info_form_step_core,z as justifi_business_owners_form_step_core,G as justifi_business_representative_form_step_core,J as justifi_legal_address_form_step_core}
@@ -1 +1 @@
1
- import{r as s,c as i,h as t}from"./p-2783e363.js";import{c as e,J as o}from"./p-cd5883b9.js";import{C as r,a as n}from"./p-9dd8685c.js";import{m as a,a as h}from"./p-b84ee6d8.js";import{B as p}from"./p-76549a24.js";import{A as d}from"./p-5f6b4bc9.js";import"./p-5efe6236.js";import"./p-87f8c596.js";class c{async postProvisioning(s,i,t){const e={business_id:i,product_category:t};return d({authToken:s,apiOrigin:"https://wc-proxy.justifi.ai"}).post("entities/provisioning",e)}}const u=class{constructor(t){s(this,t),this.errorEvent=i(this,"error-event",7),this.postProvisioning=void 0,this.getBusiness=void 0,this.businessId=void 0,this.authToken=void 0,this.allowOptionalFields=!1,this.formTitle="Business Information"}propChanged(){this.initializeApi()}componentWillLoad(){e(),this.analytics=new o(this),this.initializeApi()}disconnectedCallback(){this.analytics.cleanup()}initializeApi(){this.authToken&&this.businessId?(this.getBusiness=a({authToken:this.authToken,businessId:this.businessId,service:new p}),this.postProvisioning=h({authToken:this.authToken,businessId:this.businessId,product:"payment",service:new c})):this.errorEvent.emit({message:"auth-token and business-id are required",errorCode:r.MISSING_PROPS,severity:n.ERROR})}render(){return t("justifi-payment-provisioning-core",{key:"ab584a720ecfc7ec4e68082fefadeb11fd2884d2",businessId:this.businessId,authToken:this.authToken,allowOptionalFields:this.allowOptionalFields,formTitle:this.formTitle,getBusiness:this.getBusiness,postProvisioning:this.postProvisioning})}static get watchers(){return{authToken:["propChanged"],businessId:["propChanged"]}}};export{u as justifi_payment_provisioning}
1
+ import{r as s,c as i,h as t}from"./p-2783e363.js";import{c as e,J as o}from"./p-3188f72a.js";import{C as r,a as n}from"./p-9dd8685c.js";import{m as a,a as h}from"./p-b84ee6d8.js";import{B as p}from"./p-76549a24.js";import{A as d}from"./p-5f6b4bc9.js";import"./p-88a37837.js";import"./p-87f8c596.js";class c{async postProvisioning(s,i,t){const e={business_id:i,product_category:t};return d({authToken:s,apiOrigin:"https://wc-proxy.justifi.ai"}).post("entities/provisioning",e)}}const u=class{constructor(t){s(this,t),this.errorEvent=i(this,"error-event",7),this.postProvisioning=void 0,this.getBusiness=void 0,this.businessId=void 0,this.authToken=void 0,this.allowOptionalFields=!1,this.formTitle="Business Information"}propChanged(){this.initializeApi()}componentWillLoad(){e(),this.analytics=new o(this),this.initializeApi()}disconnectedCallback(){this.analytics.cleanup()}initializeApi(){this.authToken&&this.businessId?(this.getBusiness=a({authToken:this.authToken,businessId:this.businessId,service:new p}),this.postProvisioning=h({authToken:this.authToken,businessId:this.businessId,product:"payment",service:new c})):this.errorEvent.emit({message:"auth-token and business-id are required",errorCode:r.MISSING_PROPS,severity:n.ERROR})}render(){return t("justifi-payment-provisioning-core",{key:"ab584a720ecfc7ec4e68082fefadeb11fd2884d2",businessId:this.businessId,authToken:this.authToken,allowOptionalFields:this.allowOptionalFields,formTitle:this.formTitle,getBusiness:this.getBusiness,postProvisioning:this.postProvisioning})}static get watchers(){return{authToken:["propChanged"],businessId:["propChanged"]}}};export{u as justifi_payment_provisioning}
@@ -1 +1 @@
1
- import{r as e,h as n,H as t,c as i,g as o}from"./p-2783e363.js";import{c as a,F as r}from"./p-01033194.js";import{u as s,l as c,k as d,m as f,n as l,q as u}from"./p-bf12999f.js";import{n as h}from"./p-e3c22aa9.js";import{S as m}from"./p-6078a370.js";import{F as b}from"./p-dbc1a95b.js";import{p as w}from"./p-5efe6236.js";import{a as p}from"./p-4cc3c7f9.js";import{i as g,b as y,a as v,c as k,l as x}from"./p-bf195b35.js";import"./p-c9b78275.js";import"./p-5d1d2fd7.js";import"./p-1ff8810b.js";import"./p-61f0a2ce.js";import"./p-f20b6ce1.js";const j=a({name:s.required("Enter full name"),address_line1:c.required("Enter street address"),address_line2:d.nullable(),address_city:f.required("Enter city"),address_state:l.required("Select state"),address_postal_code:u.required("Enter postal code")}),I=a({address_postal_code:u.required("Enter postal code")}),z=class{constructor(n){e(this,n),this.inputHandler=(e,n)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:n}))},this.legend=void 0,this.formController=void 0,this.billingInfo=void 0,this.errors={}}componentWillLoad(){this.formController=new r(j)}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()}}render(){const e=this.formController.getInitialValues();return n(t,{key:"4e04724997c5fda2b4a18b8567da9cd5b0e5e1df"},n("form",{key:"3ad1b5cf693a428fccc6dcdb2da3456012a7e5bc"},n("fieldset",{key:"25701e25d37ceff483328dc0fdc38ed03d982a1d"},this.legend&&n("legend",{key:"c3f8bf4e1aa05446c9cce72f7abb3eb264eb1822"},this.legend),n("div",{key:"5ceaf13100d39a8107a5695a0140426f5db0ea50",class:"row gy-3"},n("div",{key:"3e0933b0d4398d1ee3b0b377c65cf2e2e663223b",class:"col-12"},n("form-control-text",{key:"13b37a27bfa031e03827cb5396b96ee4cbbe419c",name:"name",label:"Full Name",defaultValue:e.name,errorText:this.errors.name,inputHandler:this.inputHandler})),n("div",{key:"3e6616197e464a7532945fcd158fc36728a05485",class:"col-12"},n("form-control-text",{key:"5d6ebbf9e49eedb378d812a1c24bdfbaaf5e5fab",name:"address_line1",label:"Street Address",defaultValue:e.address_line1,errorText:this.errors.address_line1,inputHandler:this.inputHandler})),n("div",{key:"b0a7141b5d60cee445f69200979f97e86e8f0e3d",class:"col-12"},n("form-control-text",{key:"221f411f92bb92e753d5e2fc7e92e9ffe6d20da4",name:"address_line2",label:"Apartment, Suite, etc. (optional)",defaultValue:e.address_line2,errorText:this.errors.address_line2,inputHandler:this.inputHandler})),n("div",{key:"189854bdd6dc09039751f81fd65fd3e685731a99",class:"col-12"},n("form-control-text",{key:"cc815e308a51d23b139ecaa80afad76b58e761d7",name:"address_city",label:"City",defaultValue:e.address_city,errorText:this.errors.address_city,inputHandler:this.inputHandler})),n("div",{key:"d876d68af601bec261b6ad0728f8218b605714ff",class:"col-12"},n("form-control-select",{key:"d2ab5a47330708030eb904a1463a8fe71553921e",name:"address_state",label:"State",options:m,defaultValue:e.address_state,errorText:this.errors.address_state,inputHandler:this.inputHandler})),n("div",{key:"152b2e798fbeddcd493479fa15dcb31fe87adc69",class:"col-12"},n("form-control-text",{key:"050e2be5b9874d2e16eee050b2f9352c4c468657",name:"address_postal_code",label:"ZIP",defaultValue:e.address_postal_code,errorText:this.errors.address_postal_code,inputHandler:this.inputHandler,maxLength:5,keyDownHandler:h}))))))}};var O,M={exports:{}};O=M,console.info("\nIFRAME-RESIZER\n\nIframe-Resizer 5 is now available via the following two packages:\n\n * @iframe-resizer/parent\n * @iframe-resizer/child\n\nAdditionally their are also new versions of iframe-resizer for React, Vue, and jQuery.\n\nVersion 5 of iframe-resizer has been extensively rewritten to use modern browser APIs, which has enabled significantly better performance and greater accuracy in the detection of content resizing events.\n\nPlease see https://iframe-resizer.com/upgrade for more details.\n"),function(e){if("undefined"!=typeof window){var n,t,i=0,o=!1,a=!1,r=7,s="[iFrameSizer]",c=s.length,d=null,f=window.requestAnimationFrame,l=Object.freeze({max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),u={},h=null,m=Object.freeze({autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,inPageLinks:!1,enablePublicMethods:!0,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,license:"1jqr0si6pnt",log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,mouseEvents:!0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){x("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return!0}}),b={};window.jQuery!==e&&((t=window.jQuery).fn?t.fn.iFrameResize||(t.fn.iFrameResize=function(e){return this.filter("iframe").each((function(n,t){C(t,e)})).end()}):k("","Unable to bind to jQuery, it is not fully loaded.")),"function"==typeof e&&e.amd?e([],P):O.exports=P(),window.iFrameResize=window.iFrameResize||P()}function w(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function p(e,n,t){e.addEventListener(n,t,!1)}function g(e,n,t){e.removeEventListener(n,t,!1)}function y(e){return u[e]?u[e].log:o}function v(e,n){j("log",e,n,y(e))}function k(e,n){j("info",e,n,y(e))}function x(e,n){j("warn",e,n,!0)}function j(e,n,t,i){!0===i&&"object"==typeof window.console&&console[e](function(e){return s+"["+function(e){var n="Host page: "+e;return window.top!==window.self&&(n=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e),n}(e)+"]"}(n),t)}function I(e){function n(){t("Height"),t("Width"),N((function(){H(_),S(W),m("onResized",_)}),_,"init")}function t(e){var n=Number(u[W]["max"+e]),t=Number(u[W]["min"+e]),i=e.toLowerCase(),o=Number(_[i]);v(W,"Checking "+i+" is in range "+t+"-"+n),o<t&&(o=t,v(W,"Set "+i+" to min value")),o>n&&(o=n,v(W,"Set "+i+" to max value")),_[i]=""+o}function i(e){return C.slice(C.indexOf(":")+r+e)}function o(e,n){var t,i;t=function(){var t,i;L("Send Page Info","pageInfo:"+(t=document.body.getBoundingClientRect(),i=_.iframe.getBoundingClientRect(),JSON.stringify({iframeHeight:i.height,iframeWidth:i.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(i.top-t.top,10),offsetLeft:parseInt(i.left-t.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})),e,n)},b[i=n]||(b[i]=setTimeout((function(){b[i]=null,t()}),32))}function a(e){var n=e.getBoundingClientRect();return T(W),{x:Math.floor(Number(n.left)+Number(d.x)),y:Math.floor(Number(n.top)+Number(d.y))}}function f(e){var n=e?a(_.iframe):{x:0,y:0},t={x:Number(_.width)+n.x,y:Number(_.height)+n.y};v(W,"Reposition requested from iFrame (offset x:"+n.x+" y:"+n.y+")"),window.top===window.self?(d=t,l(),v(W,"--")):window.parentIFrame?window.parentIFrame["scrollTo"+(e?"Offset":"")](t.x,t.y):x(W,"Unable to scroll to requested position, window.parentIFrame not found")}function l(){!1===m("onScroll",d)?R():S(W)}function h(e){var n={};if(0===Number(_.width)&&0===Number(_.height)){var t=i(9).split(":");n={x:t[1],y:t[0]}}else n={x:_.width,y:_.height};m(e,{iframe:_.iframe,screenX:Number(n.x),screenY:Number(n.y),type:_.type})}function m(e,n){return z(W,e,n)}var w,y,j,I,O,M,C=e.data,_={},W=null;"[iFrameResizerChild]Ready"===C?function(){for(var e in u)L("iFrame requested init",V(e),u[e].iframe,e)}():s===(""+C).slice(0,c)&&C.slice(c).split(":")[0]in u?(I=(j=C.slice(c).split(":"))[1]?parseInt(j[1],10):0,O=u[j[0]]&&u[j[0]].iframe,M=getComputedStyle(O),_={iframe:O,id:j[0],height:I+function(e){return"border-box"!==e.boxSizing?0:(e.paddingTop?parseInt(e.paddingTop,10):0)+(e.paddingBottom?parseInt(e.paddingBottom,10):0)}(M)+function(e){return"border-box"!==e.boxSizing?0:(e.borderTopWidth?parseInt(e.borderTopWidth,10):0)+(e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0)}(M),width:j[2],type:j[3]},u[W=_.id]&&(u[W].loaded=!0),(y=_.type in{true:1,false:1,undefined:1})&&v(W,"Ignoring init message from meta parent page"),!y&&function(e){var n=!0;return u[e]||(n=!1,x(_.type+" No settings for "+e+". Message was: "+C)),n}(W)&&(v(W,"Received: "+C),w=!0,null===_.iframe&&(x(W,"IFrame ("+_.id+") not found"),w=!1),w&&function(){var n,t=e.origin,i=u[W]&&u[W].checkOrigin;if(i&&""+t!="null"&&!(i.constructor===Array?function(){var e=0,n=!1;for(v(W,"Checking connection is from allowed list of origins: "+i);e<i.length;e++)if(i[e]===t){n=!0;break}return n}():(v(W,"Checking connection is from: "+(n=u[W]&&u[W].remoteHost)),t===n)))throw new Error("Unexpected message received from: "+t+" for "+_.iframe.id+". Message was: "+e.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.");return!0}()&&function(){switch(u[W]&&u[W].firstRun&&u[W]&&(u[W].firstRun=!1),_.type){case"close":F(_.iframe);break;case"message":c=i(6),v(W,"onMessage passed: {iframe: "+_.iframe.id+", message: "+c+"}"),m("onMessage",{iframe:_.iframe,message:JSON.parse(c)}),v(W,"--");break;case"mouseenter":h("onMouseEnter");break;case"mouseleave":h("onMouseLeave");break;case"autoResize":u[W].autoResize=JSON.parse(i(9));break;case"scrollTo":f(!1);break;case"scrollToOffset":f(!0);break;case"pageInfo":o(u[W]&&u[W].iframe,W),function(){function e(e,i){function a(){u[t]?o(u[t].iframe,t):n()}["scroll","resize"].forEach((function(n){v(t,e+n+" listener for sendPageInfo"),i(window,n,a)}))}function n(){e("Remove ",g)}var t=W;e("Add ",p),u[t]&&(u[t].stopPageInfo=n)}();break;case"pageInfoStop":u[W]&&u[W].stopPageInfo&&(u[W].stopPageInfo(),delete u[W].stopPageInfo);break;case"inPageLink":t=i(9).split("#")[1]||"",r=decodeURIComponent(t),(s=document.getElementById(r)||document.getElementsByName(r)[0])?(e=a(s),v(W,"Moving to in page link (#"+t+") at x: "+e.x+" y: "+e.y),d={x:e.x,y:e.y},l(),v(W,"--")):window.top===window.self?v(W,"In page link #"+t+" not found"):window.parentIFrame?window.parentIFrame.moveToAnchor(t):v(W,"In page link #"+t+" not found and window.parentIFrame not found");break;case"reset":E(_);break;case"init":n(),m("onInit",_.iframe);break;default:0===Number(_.width)&&0===Number(_.height)?x("Unsupported message received ("+_.type+"), this is likely due to the iframe containing a later version of iframe-resizer than the parent page"):n()}var e,t,r,s,c}())):k(W,"Ignored: "+C)}function z(e,n,t){var i=null,o=null;if(u[e]){if("function"!=typeof(i=u[e][n]))throw new TypeError(n+" on iFrame["+e+"] is not a function");o=i(t)}return o}function M(e){delete u[e.id]}function F(e){var t=e.id;if(!1!==z(t,"onClose",t)){v(t,"Removing iFrame: "+t);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){x(e)}z(t,"onClosed",t),v(t,"--"),M(e),n&&(n.disconnect(),n=null)}else v(t,"Close iframe cancelled by onClose event")}function T(n){null===d&&v(n,"Get page position: "+(d={x:window.pageXOffset===e?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===e?document.documentElement.scrollTop:window.pageYOffset}).x+","+d.y)}function S(e){null!==d&&(window.scrollTo(d.x,d.y),v(e,"Set page position: "+d.x+","+d.y),R())}function R(){d=null}function E(e){v(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame")),T(e.id),N((function(){H(e),L("reset","reset",e.iframe,e.id)}),e,"reset")}function H(e){function n(n){a||"0"!==e[n]||(a=!0,v(i,"Hidden iFrame detected, creating visibility listener"),function(){function e(){Object.keys(u).forEach((function(e){!function(e){function n(n){return"0px"===(u[e]&&u[e].iframe.style[n])}u[e]&&null!==u[e].iframe.offsetParent&&(n("height")||n("width"))&&L("Visibility change","resize",u[e].iframe,e)}(e)}))}function n(n){v("window","Mutation observed: "+n[0].target+" "+n[0].type),_(e,16)}var t,i=w();i&&(t=document.querySelector("body"),new i(n).observe(t,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}))}())}function t(t){!function(n){e.id?(e.iframe.style[n]=e[n]+"px",v(e.id,"IFrame ("+i+") "+n+" set to "+e[n]+"px")):v("undefined","messageData id not set")}(t),n(t)}var i=e.iframe.id;u[i]&&(u[i].sizeHeight&&t("height"),u[i].sizeWidth&&t("width"))}function N(e,n,t){t!==n.type&&f&&!window.jasmine?(v(n.id,"Requesting animation frame"),f(e)):e()}function L(e,n,t,i,o){var a,r=!1;u[i=i||t.id]&&(t&&"contentWindow"in t&&null!==t.contentWindow?(v(i,"["+e+"] Sending msg to iframe["+i+"] ("+n+") targetOrigin: "+(a=u[i]&&u[i].targetOrigin)),t.contentWindow.postMessage(s+n,a)):x(i,"["+e+"] IFrame("+i+") not found"),o&&u[i]&&u[i].warningTimeout&&(u[i].msgTimeout=setTimeout((function(){!u[i]||u[i].loaded||r||(r=!0,x(i,"IFrame has not responded within "+u[i].warningTimeout/1e3+" seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning."))}),u[i].warningTimeout)))}function V(e){return e+":"+u[e].bodyMarginV1+":"+u[e].sizeWidth+":"+u[e].log+":"+u[e].interval+":"+u[e].enablePublicMethods+":"+u[e].autoResize+":"+u[e].bodyMargin+":"+u[e].heightCalculationMethod+":"+u[e].bodyBackground+":"+u[e].bodyPadding+":"+u[e].tolerance+":"+u[e].inPageLinks+":"+u[e].resizeFrom+":"+u[e].widthCalculationMethod+":"+u[e].mouseEvents}function C(t,a){function r(e){var n=e.split("Callback");if(2===n.length){var t="on"+n[0].charAt(0).toUpperCase()+n[0].slice(1);this[t]=this[e],delete this[e],x(d,"Deprecated: '"+e+"' has been renamed '"+t+"'. The old method will be removed in the next major version.")}}var s,c,d=function(e){if("string"!=typeof e)throw new TypeError("Invaild id for iFrame. Expected String");var n;return""===e&&(t.id=(n=a&&a.id||m.id+i++,null!==document.getElementById(n)&&(n+=i++),e=n),o=(a||{}).log,v(e,"Added missing iframe ID: "+e+" ("+t.src+")")),e}(t.id);d in u&&"iFrameResizer"in t?x(d,"Ignored iFrame, already setup."):(function(e){var n;e=e||{},u[d]=Object.create(null),u[d].iframe=t,u[d].firstRun=!0,u[d].remoteHost=t.src&&t.src.split("/").slice(0,3).join("/"),function(e){if("object"!=typeof e)throw new TypeError("Options is not an object")}(e),Object.keys(e).forEach(r,e),function(e){for(var n in m)Object.prototype.hasOwnProperty.call(m,n)&&(u[d][n]=Object.prototype.hasOwnProperty.call(e,n)?e[n]:m[n])}(e),u[d]&&(u[d].targetOrigin=!0===u[d].checkOrigin?""===(n=u[d].remoteHost)||null!==n.match(/^(about:blank|javascript:|file:\/\/)/)?"*":n:"*")}(a),function(){switch(v(d,"IFrame scrolling "+(u[d]&&u[d].scrolling?"enabled":"disabled")+" for "+d),t.style.overflow=!1===(u[d]&&u[d].scrolling)?"hidden":"auto",u[d]&&u[d].scrolling){case"omit":break;case!0:t.scrolling="yes";break;case!1:t.scrolling="no";break;default:t.scrolling=u[d]?u[d].scrolling:"no"}}(),function(){function e(e){var n=u[d][e];1/0!==n&&0!==n&&(t.style[e]="number"==typeof n?n+"px":n,v(d,"Set "+e+" = "+t.style[e]))}function n(e){if(u[d]["min"+e]>u[d]["max"+e])throw new Error("Value for min"+e+" can not be greater than max"+e)}n("Height"),n("Width"),e("maxHeight"),e("minHeight"),e("maxWidth"),e("minWidth")}(),"number"!=typeof(u[d]&&u[d].bodyMargin)&&"0"!==(u[d]&&u[d].bodyMargin)||(u[d].bodyMarginV1=u[d].bodyMargin,u[d].bodyMargin=u[d].bodyMargin+"px"),s=V(d),(c=w())&&(n=function(e){if(!t.parentNode)return null;var n=new e((function(e){e.forEach((function(e){Array.prototype.slice.call(e.removedNodes).forEach((function(e){e===t&&F(t)}))}))}));return n.observe(t.parentNode,{childList:!0}),n}(c)),p(t,"load",(function(){L("iFrame.onload",s,t,e,!0),(!u[d]||!u[d].firstRun)&&u[d]&&u[d].heightCalculationMethod in l&&E({iframe:t,height:0,width:0,type:"init"})})),L("init",s,t,e,!0),u[d]&&(u[d].iframe.iFrameResizer={close:F.bind(null,u[d].iframe),removeListeners:M.bind(null,u[d].iframe),resize:L.bind(null,"Window resize","resize",u[d].iframe),moveToAnchor:function(e){L("Move to anchor","moveToAnchor:"+e,u[d].iframe,d)},sendMessage:function(e){L("Send Message","message:"+(e=JSON.stringify(e)),u[d].iframe,d)}}))}function _(e,n){null===h&&(h=setTimeout((function(){h=null,e()}),n))}function W(){"hidden"!==document.visibilityState&&(v("document","Trigger event: Visibility change"),_((function(){A("Tab Visible","resize")}),16))}function A(e,n){Object.keys(u).forEach((function(t){(function(e){return u[e]&&"parent"===u[e].resizeFrom&&u[e].autoResize&&!u[e].firstRun})(t)&&L(e,n,u[t].iframe,t)}))}function P(){function n(e,n){n&&(function(){if(!n.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRAME"!==n.tagName.toUpperCase())throw new TypeError("Expected <IFRAME> tag, found <"+n.tagName+">")}(),C(n,e),t.push(n))}var t;return function(){var e,n=["moz","webkit","o","ms"];for(e=0;e<n.length&&!f;e+=1)f=window[n[e]+"RequestAnimationFrame"];f?f=f.bind(window):v("setup","RequestAnimationFrame not supported")}(),p(window,"message",I),p(window,"resize",(function(){v("window","Trigger event: resize"),_((function(){A("Window resize","resize")}),16)})),p(document,"visibilitychange",W),p(document,"-webkit-visibilitychange",W),function(i,o){switch(t=[],function(e){e&&e.enablePublicMethods&&x("enablePublicMethods option has been removed, public methods are now always available in the iFrame")}(i),typeof o){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(o||"iframe"),n.bind(e,i));break;case"object":n(i,o);break;default:throw new TypeError("Unexpected data type ("+typeof o+")")}return t}}}();const F=M.exports;class T{constructor(e,n){this.iframe=e,this.iframeOrigin=n}postMessage(e,n){const t=Object.assign({eventType:e},n);this.iframe.contentWindow.postMessage(t,this.iframeOrigin)}addMessageListener(e){window.addEventListener("message",e)}removeMessageListener(e){window.removeEventListener("message",e)}postMessageWithResponseListener(e,n){return new Promise((t=>{const i=n=>{n.data.eventType===e&&(window.removeEventListener("message",i),t(n.data.data))};window.addEventListener("message",i),this.postMessage(e,n)}))}}const S=class{constructor(n){e(this,n),this.iframeLoaded=i(this,"iframeLoaded",7),this.dispatchMessageEvent=e=>{const{eventType:n,data:t}=e.data;(null==t?void 0:t.id)===this.inputId&&("focused"===n&&(this.isFocused=!0),"blurred"===n&&(this.isFocused=!1))},this.isFocused=!1,this.isValid=!0,this.errorText=void 0,this.inputId=void 0,this.label=void 0,this.iframeOrigin=void 0}disconnectedCallback(){this.frameService.removeMessageListener(this.dispatchMessageEvent)}async validate(){const e=await this.frameService.postMessageWithResponseListener("validate");return this.isValid=e.isValid,this.errorText=e.error.message,e}async tokenize(e,n,t){return this.frameService.postMessageWithResponseListener("tokenize",{clientId:e,paymentMethodMetadata:n,account:t,componentVersion:w.version})}initializeFrameCommunicationService(){var e;this.frameService=new T(this.iframeElement,this.iframeOrigin),null===(e=this.frameService)||void 0===e||e.addMessageListener(this.dispatchMessageEvent)}get part(){return this.isFocused&&!this.isValid?g:this.isValid?this.isFocused?v:k:y}get style(){return this.isFocused?this.isValid?p.focused:p.focusedAndInvalid:null}get urlParams(){const e=Object.fromEntries(Object.entries(p.fontStyles).map((([e,n])=>[e,btoa(String(n))])));return new URLSearchParams(e).toString()}render(){return n(t,{key:"0c7696f592d079436b8a91d33474f74de2922917",class:"form-group d-flex flex-column"},n("div",{key:"947cd055eb77e78ec719da130fab97ca093e4954",style:{visibility:this.iframeLoaded?"visible":"hidden",height:this.iframeLoaded?"auto":"0"}},n("label",{key:"59dfc89fb0ffb5163b9ea6c7eef12b1ff5bab5d2",class:"form-label",htmlFor:"",part:x},this.label||""),n("div",{key:"cad88a50d0381285a1c125e1331c3e401327554d",class:"p-0 d-flex form-control "+(this.isValid?"":"is-invalid"),part:this.part,style:Object.assign(Object.assign({},this.style),{overflow:"hidden"})},n("iframe",{key:"bf4af4cc965ddd4376b5780ea53824cb268c1952",id:this.inputId,name:this.inputId,src:`${this.iframeOrigin}?${this.urlParams}`,ref:e=>{this.iframeElement=e,this.initializeFrameCommunicationService()},width:"100%",onLoad:()=>{F({log:!1,onResized:()=>{this.iframeLoaded.emit()}},this.iframeElement)}})),n(b,{key:"785e5ad09f32240299116d906f5a5dbf3f03ed5e",errorText:this.errorText,name:this.inputId})))}get el(){return o(this)}},R=class{constructor(n){e(this,n),this.inputHandler=(e,n)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:n}))},this.legend=void 0,this.formController=void 0,this.billingInfo=void 0,this.errors={}}componentWillLoad(){this.formController=new r(I)}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()}}render(){const e=this.formController.getInitialValues();return n(t,{key:"3d70df5d84e1ee5bf9dfac6802d363e06341174e"},n("form",{key:"f91ec1a5078461075c419be4402a8df393bae499"},n("fieldset",{key:"25ccb09388339cab44e70319c9d918c51d6049bf"},this.legend&&n("legend",{key:"292c52a34f7eba726121c68ced16e91d7f442b7f"},this.legend),n("div",{key:"a29e228daceb269c8d2137aed1cfe6db8eb7d821",class:"row gy-3"},n("div",{key:"b4bf02f82a7048051fe72c409da6612533ee2645",class:"col-12"},n("form-control-text",{key:"43ef0840e700024c2aeab32cf8e2f4bd3b360de6",name:"address_postal_code",label:"ZIP",defaultValue:e.address_postal_code,errorText:this.errors.address_postal_code,inputHandler:this.inputHandler,maxLength:5,keyDownHandler:h}))))))}};export{z as billing_form,S as iframe_input,R as postal_form}
1
+ import{r as e,h as n,H as t,c as i,g as o}from"./p-2783e363.js";import{c as a,F as r}from"./p-01033194.js";import{u as s,l as c,k as d,m as f,n as l,q as u}from"./p-bf12999f.js";import{n as h}from"./p-e3c22aa9.js";import{S as m}from"./p-6078a370.js";import{F as b}from"./p-dbc1a95b.js";import{p as w}from"./p-88a37837.js";import{a as p}from"./p-4cc3c7f9.js";import{i as g,b as y,a as v,c as k,l as x}from"./p-bf195b35.js";import"./p-c9b78275.js";import"./p-5d1d2fd7.js";import"./p-1ff8810b.js";import"./p-61f0a2ce.js";import"./p-f20b6ce1.js";const j=a({name:s.required("Enter full name"),address_line1:c.required("Enter street address"),address_line2:d.nullable(),address_city:f.required("Enter city"),address_state:l.required("Select state"),address_postal_code:u.required("Enter postal code")}),I=a({address_postal_code:u.required("Enter postal code")}),z=class{constructor(n){e(this,n),this.inputHandler=(e,n)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:n}))},this.legend=void 0,this.formController=void 0,this.billingInfo=void 0,this.errors={}}componentWillLoad(){this.formController=new r(j)}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()}}render(){const e=this.formController.getInitialValues();return n(t,{key:"4e04724997c5fda2b4a18b8567da9cd5b0e5e1df"},n("form",{key:"3ad1b5cf693a428fccc6dcdb2da3456012a7e5bc"},n("fieldset",{key:"25701e25d37ceff483328dc0fdc38ed03d982a1d"},this.legend&&n("legend",{key:"c3f8bf4e1aa05446c9cce72f7abb3eb264eb1822"},this.legend),n("div",{key:"5ceaf13100d39a8107a5695a0140426f5db0ea50",class:"row gy-3"},n("div",{key:"3e0933b0d4398d1ee3b0b377c65cf2e2e663223b",class:"col-12"},n("form-control-text",{key:"13b37a27bfa031e03827cb5396b96ee4cbbe419c",name:"name",label:"Full Name",defaultValue:e.name,errorText:this.errors.name,inputHandler:this.inputHandler})),n("div",{key:"3e6616197e464a7532945fcd158fc36728a05485",class:"col-12"},n("form-control-text",{key:"5d6ebbf9e49eedb378d812a1c24bdfbaaf5e5fab",name:"address_line1",label:"Street Address",defaultValue:e.address_line1,errorText:this.errors.address_line1,inputHandler:this.inputHandler})),n("div",{key:"b0a7141b5d60cee445f69200979f97e86e8f0e3d",class:"col-12"},n("form-control-text",{key:"221f411f92bb92e753d5e2fc7e92e9ffe6d20da4",name:"address_line2",label:"Apartment, Suite, etc. (optional)",defaultValue:e.address_line2,errorText:this.errors.address_line2,inputHandler:this.inputHandler})),n("div",{key:"189854bdd6dc09039751f81fd65fd3e685731a99",class:"col-12"},n("form-control-text",{key:"cc815e308a51d23b139ecaa80afad76b58e761d7",name:"address_city",label:"City",defaultValue:e.address_city,errorText:this.errors.address_city,inputHandler:this.inputHandler})),n("div",{key:"d876d68af601bec261b6ad0728f8218b605714ff",class:"col-12"},n("form-control-select",{key:"d2ab5a47330708030eb904a1463a8fe71553921e",name:"address_state",label:"State",options:m,defaultValue:e.address_state,errorText:this.errors.address_state,inputHandler:this.inputHandler})),n("div",{key:"152b2e798fbeddcd493479fa15dcb31fe87adc69",class:"col-12"},n("form-control-text",{key:"050e2be5b9874d2e16eee050b2f9352c4c468657",name:"address_postal_code",label:"ZIP",defaultValue:e.address_postal_code,errorText:this.errors.address_postal_code,inputHandler:this.inputHandler,maxLength:5,keyDownHandler:h}))))))}};var O,M={exports:{}};O=M,console.info("\nIFRAME-RESIZER\n\nIframe-Resizer 5 is now available via the following two packages:\n\n * @iframe-resizer/parent\n * @iframe-resizer/child\n\nAdditionally their are also new versions of iframe-resizer for React, Vue, and jQuery.\n\nVersion 5 of iframe-resizer has been extensively rewritten to use modern browser APIs, which has enabled significantly better performance and greater accuracy in the detection of content resizing events.\n\nPlease see https://iframe-resizer.com/upgrade for more details.\n"),function(e){if("undefined"!=typeof window){var n,t,i=0,o=!1,a=!1,r=7,s="[iFrameSizer]",c=s.length,d=null,f=window.requestAnimationFrame,l=Object.freeze({max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),u={},h=null,m=Object.freeze({autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,inPageLinks:!1,enablePublicMethods:!0,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,license:"1jqr0si6pnt",log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,mouseEvents:!0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){x("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return!0}}),b={};window.jQuery!==e&&((t=window.jQuery).fn?t.fn.iFrameResize||(t.fn.iFrameResize=function(e){return this.filter("iframe").each((function(n,t){C(t,e)})).end()}):k("","Unable to bind to jQuery, it is not fully loaded.")),"function"==typeof e&&e.amd?e([],P):O.exports=P(),window.iFrameResize=window.iFrameResize||P()}function w(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function p(e,n,t){e.addEventListener(n,t,!1)}function g(e,n,t){e.removeEventListener(n,t,!1)}function y(e){return u[e]?u[e].log:o}function v(e,n){j("log",e,n,y(e))}function k(e,n){j("info",e,n,y(e))}function x(e,n){j("warn",e,n,!0)}function j(e,n,t,i){!0===i&&"object"==typeof window.console&&console[e](function(e){return s+"["+function(e){var n="Host page: "+e;return window.top!==window.self&&(n=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e),n}(e)+"]"}(n),t)}function I(e){function n(){t("Height"),t("Width"),N((function(){H(_),S(W),m("onResized",_)}),_,"init")}function t(e){var n=Number(u[W]["max"+e]),t=Number(u[W]["min"+e]),i=e.toLowerCase(),o=Number(_[i]);v(W,"Checking "+i+" is in range "+t+"-"+n),o<t&&(o=t,v(W,"Set "+i+" to min value")),o>n&&(o=n,v(W,"Set "+i+" to max value")),_[i]=""+o}function i(e){return C.slice(C.indexOf(":")+r+e)}function o(e,n){var t,i;t=function(){var t,i;L("Send Page Info","pageInfo:"+(t=document.body.getBoundingClientRect(),i=_.iframe.getBoundingClientRect(),JSON.stringify({iframeHeight:i.height,iframeWidth:i.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(i.top-t.top,10),offsetLeft:parseInt(i.left-t.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})),e,n)},b[i=n]||(b[i]=setTimeout((function(){b[i]=null,t()}),32))}function a(e){var n=e.getBoundingClientRect();return T(W),{x:Math.floor(Number(n.left)+Number(d.x)),y:Math.floor(Number(n.top)+Number(d.y))}}function f(e){var n=e?a(_.iframe):{x:0,y:0},t={x:Number(_.width)+n.x,y:Number(_.height)+n.y};v(W,"Reposition requested from iFrame (offset x:"+n.x+" y:"+n.y+")"),window.top===window.self?(d=t,l(),v(W,"--")):window.parentIFrame?window.parentIFrame["scrollTo"+(e?"Offset":"")](t.x,t.y):x(W,"Unable to scroll to requested position, window.parentIFrame not found")}function l(){!1===m("onScroll",d)?R():S(W)}function h(e){var n={};if(0===Number(_.width)&&0===Number(_.height)){var t=i(9).split(":");n={x:t[1],y:t[0]}}else n={x:_.width,y:_.height};m(e,{iframe:_.iframe,screenX:Number(n.x),screenY:Number(n.y),type:_.type})}function m(e,n){return z(W,e,n)}var w,y,j,I,O,M,C=e.data,_={},W=null;"[iFrameResizerChild]Ready"===C?function(){for(var e in u)L("iFrame requested init",V(e),u[e].iframe,e)}():s===(""+C).slice(0,c)&&C.slice(c).split(":")[0]in u?(I=(j=C.slice(c).split(":"))[1]?parseInt(j[1],10):0,O=u[j[0]]&&u[j[0]].iframe,M=getComputedStyle(O),_={iframe:O,id:j[0],height:I+function(e){return"border-box"!==e.boxSizing?0:(e.paddingTop?parseInt(e.paddingTop,10):0)+(e.paddingBottom?parseInt(e.paddingBottom,10):0)}(M)+function(e){return"border-box"!==e.boxSizing?0:(e.borderTopWidth?parseInt(e.borderTopWidth,10):0)+(e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0)}(M),width:j[2],type:j[3]},u[W=_.id]&&(u[W].loaded=!0),(y=_.type in{true:1,false:1,undefined:1})&&v(W,"Ignoring init message from meta parent page"),!y&&function(e){var n=!0;return u[e]||(n=!1,x(_.type+" No settings for "+e+". Message was: "+C)),n}(W)&&(v(W,"Received: "+C),w=!0,null===_.iframe&&(x(W,"IFrame ("+_.id+") not found"),w=!1),w&&function(){var n,t=e.origin,i=u[W]&&u[W].checkOrigin;if(i&&""+t!="null"&&!(i.constructor===Array?function(){var e=0,n=!1;for(v(W,"Checking connection is from allowed list of origins: "+i);e<i.length;e++)if(i[e]===t){n=!0;break}return n}():(v(W,"Checking connection is from: "+(n=u[W]&&u[W].remoteHost)),t===n)))throw new Error("Unexpected message received from: "+t+" for "+_.iframe.id+". Message was: "+e.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.");return!0}()&&function(){switch(u[W]&&u[W].firstRun&&u[W]&&(u[W].firstRun=!1),_.type){case"close":F(_.iframe);break;case"message":c=i(6),v(W,"onMessage passed: {iframe: "+_.iframe.id+", message: "+c+"}"),m("onMessage",{iframe:_.iframe,message:JSON.parse(c)}),v(W,"--");break;case"mouseenter":h("onMouseEnter");break;case"mouseleave":h("onMouseLeave");break;case"autoResize":u[W].autoResize=JSON.parse(i(9));break;case"scrollTo":f(!1);break;case"scrollToOffset":f(!0);break;case"pageInfo":o(u[W]&&u[W].iframe,W),function(){function e(e,i){function a(){u[t]?o(u[t].iframe,t):n()}["scroll","resize"].forEach((function(n){v(t,e+n+" listener for sendPageInfo"),i(window,n,a)}))}function n(){e("Remove ",g)}var t=W;e("Add ",p),u[t]&&(u[t].stopPageInfo=n)}();break;case"pageInfoStop":u[W]&&u[W].stopPageInfo&&(u[W].stopPageInfo(),delete u[W].stopPageInfo);break;case"inPageLink":t=i(9).split("#")[1]||"",r=decodeURIComponent(t),(s=document.getElementById(r)||document.getElementsByName(r)[0])?(e=a(s),v(W,"Moving to in page link (#"+t+") at x: "+e.x+" y: "+e.y),d={x:e.x,y:e.y},l(),v(W,"--")):window.top===window.self?v(W,"In page link #"+t+" not found"):window.parentIFrame?window.parentIFrame.moveToAnchor(t):v(W,"In page link #"+t+" not found and window.parentIFrame not found");break;case"reset":E(_);break;case"init":n(),m("onInit",_.iframe);break;default:0===Number(_.width)&&0===Number(_.height)?x("Unsupported message received ("+_.type+"), this is likely due to the iframe containing a later version of iframe-resizer than the parent page"):n()}var e,t,r,s,c}())):k(W,"Ignored: "+C)}function z(e,n,t){var i=null,o=null;if(u[e]){if("function"!=typeof(i=u[e][n]))throw new TypeError(n+" on iFrame["+e+"] is not a function");o=i(t)}return o}function M(e){delete u[e.id]}function F(e){var t=e.id;if(!1!==z(t,"onClose",t)){v(t,"Removing iFrame: "+t);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){x(e)}z(t,"onClosed",t),v(t,"--"),M(e),n&&(n.disconnect(),n=null)}else v(t,"Close iframe cancelled by onClose event")}function T(n){null===d&&v(n,"Get page position: "+(d={x:window.pageXOffset===e?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===e?document.documentElement.scrollTop:window.pageYOffset}).x+","+d.y)}function S(e){null!==d&&(window.scrollTo(d.x,d.y),v(e,"Set page position: "+d.x+","+d.y),R())}function R(){d=null}function E(e){v(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame")),T(e.id),N((function(){H(e),L("reset","reset",e.iframe,e.id)}),e,"reset")}function H(e){function n(n){a||"0"!==e[n]||(a=!0,v(i,"Hidden iFrame detected, creating visibility listener"),function(){function e(){Object.keys(u).forEach((function(e){!function(e){function n(n){return"0px"===(u[e]&&u[e].iframe.style[n])}u[e]&&null!==u[e].iframe.offsetParent&&(n("height")||n("width"))&&L("Visibility change","resize",u[e].iframe,e)}(e)}))}function n(n){v("window","Mutation observed: "+n[0].target+" "+n[0].type),_(e,16)}var t,i=w();i&&(t=document.querySelector("body"),new i(n).observe(t,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}))}())}function t(t){!function(n){e.id?(e.iframe.style[n]=e[n]+"px",v(e.id,"IFrame ("+i+") "+n+" set to "+e[n]+"px")):v("undefined","messageData id not set")}(t),n(t)}var i=e.iframe.id;u[i]&&(u[i].sizeHeight&&t("height"),u[i].sizeWidth&&t("width"))}function N(e,n,t){t!==n.type&&f&&!window.jasmine?(v(n.id,"Requesting animation frame"),f(e)):e()}function L(e,n,t,i,o){var a,r=!1;u[i=i||t.id]&&(t&&"contentWindow"in t&&null!==t.contentWindow?(v(i,"["+e+"] Sending msg to iframe["+i+"] ("+n+") targetOrigin: "+(a=u[i]&&u[i].targetOrigin)),t.contentWindow.postMessage(s+n,a)):x(i,"["+e+"] IFrame("+i+") not found"),o&&u[i]&&u[i].warningTimeout&&(u[i].msgTimeout=setTimeout((function(){!u[i]||u[i].loaded||r||(r=!0,x(i,"IFrame has not responded within "+u[i].warningTimeout/1e3+" seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning."))}),u[i].warningTimeout)))}function V(e){return e+":"+u[e].bodyMarginV1+":"+u[e].sizeWidth+":"+u[e].log+":"+u[e].interval+":"+u[e].enablePublicMethods+":"+u[e].autoResize+":"+u[e].bodyMargin+":"+u[e].heightCalculationMethod+":"+u[e].bodyBackground+":"+u[e].bodyPadding+":"+u[e].tolerance+":"+u[e].inPageLinks+":"+u[e].resizeFrom+":"+u[e].widthCalculationMethod+":"+u[e].mouseEvents}function C(t,a){function r(e){var n=e.split("Callback");if(2===n.length){var t="on"+n[0].charAt(0).toUpperCase()+n[0].slice(1);this[t]=this[e],delete this[e],x(d,"Deprecated: '"+e+"' has been renamed '"+t+"'. The old method will be removed in the next major version.")}}var s,c,d=function(e){if("string"!=typeof e)throw new TypeError("Invaild id for iFrame. Expected String");var n;return""===e&&(t.id=(n=a&&a.id||m.id+i++,null!==document.getElementById(n)&&(n+=i++),e=n),o=(a||{}).log,v(e,"Added missing iframe ID: "+e+" ("+t.src+")")),e}(t.id);d in u&&"iFrameResizer"in t?x(d,"Ignored iFrame, already setup."):(function(e){var n;e=e||{},u[d]=Object.create(null),u[d].iframe=t,u[d].firstRun=!0,u[d].remoteHost=t.src&&t.src.split("/").slice(0,3).join("/"),function(e){if("object"!=typeof e)throw new TypeError("Options is not an object")}(e),Object.keys(e).forEach(r,e),function(e){for(var n in m)Object.prototype.hasOwnProperty.call(m,n)&&(u[d][n]=Object.prototype.hasOwnProperty.call(e,n)?e[n]:m[n])}(e),u[d]&&(u[d].targetOrigin=!0===u[d].checkOrigin?""===(n=u[d].remoteHost)||null!==n.match(/^(about:blank|javascript:|file:\/\/)/)?"*":n:"*")}(a),function(){switch(v(d,"IFrame scrolling "+(u[d]&&u[d].scrolling?"enabled":"disabled")+" for "+d),t.style.overflow=!1===(u[d]&&u[d].scrolling)?"hidden":"auto",u[d]&&u[d].scrolling){case"omit":break;case!0:t.scrolling="yes";break;case!1:t.scrolling="no";break;default:t.scrolling=u[d]?u[d].scrolling:"no"}}(),function(){function e(e){var n=u[d][e];1/0!==n&&0!==n&&(t.style[e]="number"==typeof n?n+"px":n,v(d,"Set "+e+" = "+t.style[e]))}function n(e){if(u[d]["min"+e]>u[d]["max"+e])throw new Error("Value for min"+e+" can not be greater than max"+e)}n("Height"),n("Width"),e("maxHeight"),e("minHeight"),e("maxWidth"),e("minWidth")}(),"number"!=typeof(u[d]&&u[d].bodyMargin)&&"0"!==(u[d]&&u[d].bodyMargin)||(u[d].bodyMarginV1=u[d].bodyMargin,u[d].bodyMargin=u[d].bodyMargin+"px"),s=V(d),(c=w())&&(n=function(e){if(!t.parentNode)return null;var n=new e((function(e){e.forEach((function(e){Array.prototype.slice.call(e.removedNodes).forEach((function(e){e===t&&F(t)}))}))}));return n.observe(t.parentNode,{childList:!0}),n}(c)),p(t,"load",(function(){L("iFrame.onload",s,t,e,!0),(!u[d]||!u[d].firstRun)&&u[d]&&u[d].heightCalculationMethod in l&&E({iframe:t,height:0,width:0,type:"init"})})),L("init",s,t,e,!0),u[d]&&(u[d].iframe.iFrameResizer={close:F.bind(null,u[d].iframe),removeListeners:M.bind(null,u[d].iframe),resize:L.bind(null,"Window resize","resize",u[d].iframe),moveToAnchor:function(e){L("Move to anchor","moveToAnchor:"+e,u[d].iframe,d)},sendMessage:function(e){L("Send Message","message:"+(e=JSON.stringify(e)),u[d].iframe,d)}}))}function _(e,n){null===h&&(h=setTimeout((function(){h=null,e()}),n))}function W(){"hidden"!==document.visibilityState&&(v("document","Trigger event: Visibility change"),_((function(){A("Tab Visible","resize")}),16))}function A(e,n){Object.keys(u).forEach((function(t){(function(e){return u[e]&&"parent"===u[e].resizeFrom&&u[e].autoResize&&!u[e].firstRun})(t)&&L(e,n,u[t].iframe,t)}))}function P(){function n(e,n){n&&(function(){if(!n.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRAME"!==n.tagName.toUpperCase())throw new TypeError("Expected <IFRAME> tag, found <"+n.tagName+">")}(),C(n,e),t.push(n))}var t;return function(){var e,n=["moz","webkit","o","ms"];for(e=0;e<n.length&&!f;e+=1)f=window[n[e]+"RequestAnimationFrame"];f?f=f.bind(window):v("setup","RequestAnimationFrame not supported")}(),p(window,"message",I),p(window,"resize",(function(){v("window","Trigger event: resize"),_((function(){A("Window resize","resize")}),16)})),p(document,"visibilitychange",W),p(document,"-webkit-visibilitychange",W),function(i,o){switch(t=[],function(e){e&&e.enablePublicMethods&&x("enablePublicMethods option has been removed, public methods are now always available in the iFrame")}(i),typeof o){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(o||"iframe"),n.bind(e,i));break;case"object":n(i,o);break;default:throw new TypeError("Unexpected data type ("+typeof o+")")}return t}}}();const F=M.exports;class T{constructor(e,n){this.iframe=e,this.iframeOrigin=n}postMessage(e,n){const t=Object.assign({eventType:e},n);this.iframe.contentWindow.postMessage(t,this.iframeOrigin)}addMessageListener(e){window.addEventListener("message",e)}removeMessageListener(e){window.removeEventListener("message",e)}postMessageWithResponseListener(e,n){return new Promise((t=>{const i=n=>{n.data.eventType===e&&(window.removeEventListener("message",i),t(n.data.data))};window.addEventListener("message",i),this.postMessage(e,n)}))}}const S=class{constructor(n){e(this,n),this.iframeLoaded=i(this,"iframeLoaded",7),this.dispatchMessageEvent=e=>{const{eventType:n,data:t}=e.data;(null==t?void 0:t.id)===this.inputId&&("focused"===n&&(this.isFocused=!0),"blurred"===n&&(this.isFocused=!1))},this.isFocused=!1,this.isValid=!0,this.errorText=void 0,this.inputId=void 0,this.label=void 0,this.iframeOrigin=void 0}disconnectedCallback(){this.frameService.removeMessageListener(this.dispatchMessageEvent)}async validate(){const e=await this.frameService.postMessageWithResponseListener("validate");return this.isValid=e.isValid,this.errorText=e.error.message,e}async tokenize(e,n,t){return this.frameService.postMessageWithResponseListener("tokenize",{clientId:e,paymentMethodMetadata:n,account:t,componentVersion:w.version})}initializeFrameCommunicationService(){var e;this.frameService=new T(this.iframeElement,this.iframeOrigin),null===(e=this.frameService)||void 0===e||e.addMessageListener(this.dispatchMessageEvent)}get part(){return this.isFocused&&!this.isValid?g:this.isValid?this.isFocused?v:k:y}get style(){return this.isFocused?this.isValid?p.focused:p.focusedAndInvalid:null}get urlParams(){const e=Object.fromEntries(Object.entries(p.fontStyles).map((([e,n])=>[e,btoa(String(n))])));return new URLSearchParams(e).toString()}render(){return n(t,{key:"0c7696f592d079436b8a91d33474f74de2922917",class:"form-group d-flex flex-column"},n("div",{key:"947cd055eb77e78ec719da130fab97ca093e4954",style:{visibility:this.iframeLoaded?"visible":"hidden",height:this.iframeLoaded?"auto":"0"}},n("label",{key:"59dfc89fb0ffb5163b9ea6c7eef12b1ff5bab5d2",class:"form-label",htmlFor:"",part:x},this.label||""),n("div",{key:"cad88a50d0381285a1c125e1331c3e401327554d",class:"p-0 d-flex form-control "+(this.isValid?"":"is-invalid"),part:this.part,style:Object.assign(Object.assign({},this.style),{overflow:"hidden"})},n("iframe",{key:"bf4af4cc965ddd4376b5780ea53824cb268c1952",id:this.inputId,name:this.inputId,src:`${this.iframeOrigin}?${this.urlParams}`,ref:e=>{this.iframeElement=e,this.initializeFrameCommunicationService()},width:"100%",onLoad:()=>{F({log:!1,onResized:()=>{this.iframeLoaded.emit()}},this.iframeElement)}})),n(b,{key:"785e5ad09f32240299116d906f5a5dbf3f03ed5e",errorText:this.errorText,name:this.inputId})))}get el(){return o(this)}},R=class{constructor(n){e(this,n),this.inputHandler=(e,n)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:n}))},this.legend=void 0,this.formController=void 0,this.billingInfo=void 0,this.errors={}}componentWillLoad(){this.formController=new r(I)}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()}}render(){const e=this.formController.getInitialValues();return n(t,{key:"3d70df5d84e1ee5bf9dfac6802d363e06341174e"},n("form",{key:"f91ec1a5078461075c419be4402a8df393bae499"},n("fieldset",{key:"25ccb09388339cab44e70319c9d918c51d6049bf"},this.legend&&n("legend",{key:"292c52a34f7eba726121c68ced16e91d7f442b7f"},this.legend),n("div",{key:"a29e228daceb269c8d2137aed1cfe6db8eb7d821",class:"row gy-3"},n("div",{key:"b4bf02f82a7048051fe72c409da6612533ee2645",class:"col-12"},n("form-control-text",{key:"43ef0840e700024c2aeab32cf8e2f4bd3b360de6",name:"address_postal_code",label:"ZIP",defaultValue:e.address_postal_code,errorText:this.errors.address_postal_code,inputHandler:this.inputHandler,maxLength:5,keyDownHandler:h}))))))}};export{z as billing_form,S as iframe_input,R as postal_form}
@@ -1 +1 @@
1
- import{h as t}from"./p-2783e363.js";import{M as a}from"./p-a5579f53.js";import{c as e}from"./p-08b64251.js";import{k as p,m as o}from"./p-bf195b35.js";const s="created_at,amount,status,payment_type,description,payers_name,last_four_digits",r={created_at:()=>t("th",{part:p,scope:"col",title:"The date and time each payment was made"},"Date"),amount:()=>t("th",{part:p,scope:"col",title:"The dollar amount of each payment"},"Amount"),status:()=>t("th",{part:p,scope:"col",title:"The current status of each payment"},"Status"),payment_type:()=>t("th",{part:p,scope:"col",title:"The type of each payment"},"Type"),description:()=>t("th",{part:p,scope:"col",title:"The payment description, if you provided one"},"Description"),payers_name:()=>t("th",{part:p,scope:"col",title:"The name associated with the payment method"},"Account Holder"),last_four_digits:()=>t("th",{part:p,scope:"col",title:"The brand and last 4 digits of the payment method"},"Payment Method")},i={created_at:(a,p)=>t("td",{part:o(p)},t("div",{class:"fw-bold"},e(a.created_at,{showDisplayDate:!0})),t("div",{class:"fw-bold"},e(a.created_at,{showTime:!0}))),amount:(a,e)=>t("td",{part:o(e)},a.formattedPaymentAmount(a.amount)),status:(e,p)=>t("td",{part:o(p)},a(e.status)),payment_type:(a,e)=>t("td",{part:o(e)},a.payment_type),description:(a,e)=>t("td",{part:o(e)},a.description),payers_name:(a,e)=>t("td",{part:o(e)},a.payers_name),last_four_digits:(a,e)=>t("td",{part:o(e)},a.last_four_digits)};export{i as a,s as d,r as p}
1
+ import{h as t}from"./p-2783e363.js";import{M as a}from"./p-a5579f53.js";import{d as e}from"./p-f8fccf44.js";import{k as p,m as o}from"./p-bf195b35.js";const s="created_at,amount,status,payment_type,description,payers_name,last_four_digits",r={created_at:()=>t("th",{part:p,scope:"col",title:"The date and time each payment was made"},"Date"),amount:()=>t("th",{part:p,scope:"col",title:"The dollar amount of each payment"},"Amount"),status:()=>t("th",{part:p,scope:"col",title:"The current status of each payment"},"Status"),payment_type:()=>t("th",{part:p,scope:"col",title:"The type of each payment"},"Type"),description:()=>t("th",{part:p,scope:"col",title:"The payment description, if you provided one"},"Description"),payers_name:()=>t("th",{part:p,scope:"col",title:"The name associated with the payment method"},"Account Holder"),last_four_digits:()=>t("th",{part:p,scope:"col",title:"The brand and last 4 digits of the payment method"},"Payment Method")},i={created_at:(a,p)=>t("td",{part:o(p)},t("div",{class:"fw-bold"},e(a.created_at,{showDisplayDate:!0})),t("div",{class:"fw-bold"},e(a.created_at,{showTime:!0}))),amount:(a,e)=>t("td",{part:o(e)},a.formattedPaymentAmount(a.amount)),status:(e,p)=>t("td",{part:o(p)},a(e.status)),payment_type:(a,e)=>t("td",{part:o(e)},a.payment_type),description:(a,e)=>t("td",{part:o(e)},a.description),payers_name:(a,e)=>t("td",{part:o(e)},a.payers_name),last_four_digits:(a,e)=>t("td",{part:o(e)},a.last_four_digits)};export{i as a,s as d,r as p}
@@ -1 +1 @@
1
- import{h as t,r as i,H as e,c as s}from"./p-2783e363.js";import{S as a}from"./p-56c7fc8d.js";import{i as n}from"./p-4cc3c7f9.js";import{i as o,b as d,a as h,c as r,a4 as c,a5 as l}from"./p-bf195b35.js";import{H as f}from"./p-275c3dc9.js";import{a as m}from"./p-4e010557.js";import{k as u,f as b}from"./p-08b64251.js";import"./p-f20b6ce1.js";import"./p-abdbcd8e.js";const p=i=>{const{isReady:e}=i;return e?null:t("div",{class:"container-fluid p-0"},t("div",{class:"row mb-3"},t("div",{class:"col-12 align-content-end"},t(a,{height:"18px",width:"120px"}),t(a,{height:"36px"}))),t("div",{class:"row"},t("div",{class:"col-12 align-content-end"},t(a,{height:"18px",width:"110px"}),t(a,{height:"36px"}))))},v=class{constructor(t){i(this,t),this.iframeOrigin=void 0,this.isReady=!1}async validate(){const t=await this.accountNumberIframeElement.validate(),i=await this.routingNumberIframeElement.validate();return t&&i}async tokenize(t,i,e){return this.accountNumberIframeElement.tokenize(t,i,e)}componentDidRender(){Promise.all([this.accountNumberIframeElement,this.routingNumberIframeElement].map((t=>new Promise((i=>{t.addEventListener("iframeLoaded",(()=>{i()}))}))))).then((()=>{this.isReady=!0}))}render(){return t(e,{key:"3d21d5269871beaffeffaef8b9c5104da59c1783"},t(p,{key:"eb14285f2f0994085423901139f717c3b644273b",isReady:this.isReady}),t("div",{key:"906895204049f1113d596bade78de29bd5def6c2",class:"container-fluid p-0",style:{opacity:this.isReady?"1":"0",height:this.isReady?"auto":"0"}},t("div",{key:"c56aa2cdec0c8be615dee4388346e890b2610b82",class:"row mb-3"},t("iframe-input",{key:"5dd97225f360e267abf0c772b28ba890edf284db",inputId:"accountNumber",ref:t=>this.accountNumberIframeElement=t,label:"Account Number",iframeOrigin:`${this.iframeOrigin}/v2/accountNumber`})),t("div",{key:"20504c4b3c984c907765b99051a9e44ad6b5a37a",class:"row"},t("iframe-input",{key:"a85f47d87b01e099ac54969ce482abcc1fcb5366",inputId:"routingNumber",ref:t=>this.routingNumberIframeElement=t,label:"Routing Number",iframeOrigin:`${this.iframeOrigin}/v2/routingNumber`}))))}},y=i=>{const{isReady:e}=i;return e?null:t("div",{class:"container-fluid p-0"},t("div",{class:"mb-3"},t(a,{height:"18px",width:"100px"}),t(a,{height:"36px"})),t("div",{class:"row"},t("div",{class:"col-4 align-content-end"},t(a,{height:"18px",width:"80px"}),t(a,{height:"36px"})),t("div",{class:"col-4 align-content-end"},t(a,{height:"36px"})),t("div",{class:"col-4 align-content-end"},t(a,{height:"18px",width:"30px"}),t(a,{height:"36px"}))))},g=class{constructor(t){i(this,t),this.iframeOrigin=void 0,this.isReady=!1}componentDidRender(){Promise.all([this.cardNumberIframeElement,this.expirationMonthIframeElement,this.expirationYearIframeElement,this.cvvIframeElement].map((t=>new Promise((i=>{t.addEventListener("iframeLoaded",(()=>{i()}))}))))).then((()=>{this.isReady=!0}))}async validate(){const t=await this.cardNumberIframeElement.validate(),i=await this.expirationMonthIframeElement.validate(),e=await this.expirationYearIframeElement.validate(),s=await this.cvvIframeElement.validate();return t&&i&&e&&s}async tokenize(t,i,e){return this.cardNumberIframeElement.tokenize(t,i,e)}render(){return t(e,{key:"fdbbbe01ef33117408fd49e1b478a6c3f0be56a6"},t(y,{key:"859d45e5e9aa80f999aeece561e7d7971289786b",isReady:this.isReady}),t("div",{key:"586ca0f390ed57f34432930298662d2f85341dfa",class:"container-fluid p-0",style:{opacity:this.isReady?"1":"0",height:this.isReady?"auto":"0"}},t("div",{key:"61f374b426d49a29f16ca1d56d5d9e82e74f12aa",class:"mb-3"},t("iframe-input",{key:"965ad04d1ea086a026917078f7e8fc7b24d2c02e",inputId:"cardNumber",ref:t=>this.cardNumberIframeElement=t,label:"Card Number",iframeOrigin:`${this.iframeOrigin}/v2/cardNumber`})),t("div",{key:"0485b76a5b5f2d524eb942a7a36e534953730a4e",class:"row"},t("div",{key:"9ffbe45585e6989e096430310dd21d5e31f1aa2f",class:"col-4 align-content-end"},t("iframe-input",{key:"5fc0327c43a2823245261391074aba703791ecc7",inputId:"expirationMonth",ref:t=>this.expirationMonthIframeElement=t,label:"Expiration",iframeOrigin:`${this.iframeOrigin}/v2/expirationMonth`})),t("div",{key:"22090d11cf2e4f017db46a7d2525f65d1e85a469",class:"col-4 align-content-end"},t("iframe-input",{key:"a7b220a1081a241663b71619dad519611c2b98f5",inputId:"expirationYear",ref:t=>this.expirationYearIframeElement=t,label:"",iframeOrigin:`${this.iframeOrigin}/v2/expirationYear`})),t("div",{key:"9b6b26802c21b0b73fe71f251a584f33bed6179f",class:"col-4 align-content-end"},t("iframe-input",{key:"59094373c4476437645d96779d65d5cea3f690d0",inputId:"CVV",ref:t=>this.cvvIframeElement=t,label:"CVV",iframeOrigin:`${this.iframeOrigin}/v2/CVV`})))))}},k=class{constructor(t){i(this,t),this.isFocused=!1,this.errorText=""}async componentDidLoad(){const t=await this.getBaseFontStyles();n("fontStyles",t);const i=await this.getFocusedStyles();n("focused",i);const e=await this.getFocusedAndInvalidStyles();n("focusedAndInvalid",e)}async getBaseFontStyles(){return new Promise((t=>{setTimeout((()=>{const i=getComputedStyle(this.hiddenInput);t({fontFamily:i.fontFamily,fontSize:i.fontSize,fontWeight:i.fontWeight,lineHeight:i.lineHeight,margin:i.margin,padding:i.padding,color:i.color})}),500)}))}async getFocusedStyles(){return new Promise((t=>{this.hiddenInput.focus(),setTimeout((()=>{this.hiddenInput.blur();let i=getComputedStyle(this.hiddenInput);t({boxShadow:i.boxShadow,border:i.border})}),500)}))}async getFocusedAndInvalidStyles(){return new Promise((t=>{this.hiddenInput.focus(),this.errorText="Error",setTimeout((()=>{const i=getComputedStyle(this.hiddenInput),e={boxShadow:i.boxShadow,border:i.border};this.hiddenInput.blur(),t(e)}),500)}))}get part(){return this.isFocused&&this.errorText?o:this.errorText?d:this.isFocused?h:r}render(){return t(e,{key:"bd707d25b1b5f0a870ff6c778291cf008ecd212b"},t("input",{key:"639af920d20d2d5e9c2791c251f00368137c7798",ref:t=>this.hiddenInput=t,type:"text",class:this.errorText?"form-control is-invalid":"form-control",onFocus:()=>this.isFocused=!0,onBlur:()=>this.isFocused=!1,part:this.part,tabindex:"-1",style:{height:"0",opacity:"0",pointerEvents:"none",animation:"none"}}))}},w=class{constructor(t){i(this,t),this.legend=void 0,this.hideCardBillingForm=void 0,this.paymentMethodType=void 0}get hideFullBillingForm(){return this.hideCardBillingForm&&"card"===this.paymentMethodType}async fill(t){this.hideFullBillingForm?this.postalFormRef.fill(t):this.billingFormRef.fill(t)}async getValues(){return this.hideFullBillingForm?this.postalFormRef.getValues():this.billingFormRef.getValues()}async validate(){return this.hideFullBillingForm?this.postalFormRef.validate():this.billingFormRef.validate()}get renderedForm(){return this.hideFullBillingForm?t("postal-form",{ref:t=>this.postalFormRef=t}):t("div",null,t(f,{text:"Billing address",class:"fs-6 fw-bold lh-lg mb-4"}),t("billing-form",{ref:t=>this.billingFormRef=t}))}render(){return t(e,{key:"be6dea58ab65001a820f6c0bb62f91f8b5698c76"},t("div",{key:"7f69a59cdfb80ac8723b07243379ba61bb1f30c9",part:c},this.renderedForm))}},x={bankAccount:"New bank account",card:"New credit or debit card"},_=class{constructor(t){i(this,t),this.paymentMethodOptionSelected=s(this,"paymentMethodOptionSelected",7),this.onPaymentMethodOptionClick=t=>{t.preventDefault(),this.paymentMethodOptionSelected.emit(this.paymentMethodOption)},this.authToken=void 0,this.accountId=void 0,this.paymentMethodOption=void 0,this.paymentMethodGroupId=void 0,this.isSelected=void 0,this.hideCardBillingForm=void 0,this.iframeOrigin=void 0,this.saveNewPaymentMethodChecked=!1}handleCheckboxChanged(t){this.saveNewPaymentMethodChecked=t.detail}async fillBillingForm(t){this.billingFormWrapperRef.fill(t)}async resolvePaymentMethod(t){var i,e;if(this.paymentMethodFormRef&&this.billingFormWrapperRef)try{if(!await this.validate()||!t.isValid)return{validationError:!0};const s=await this.tokenize();if(s.error)return{error:s.error};{const t=s.data;return{token:(null===(i=t.card)||void 0===i?void 0:i.token)||(null===(e=t.bank_account)||void 0===e?void 0:e.token),data:t}}}catch(t){return{error:t}}}async validate(){const t=await this.billingFormWrapperRef.validate(),i=await this.paymentMethodFormRef.validate();return t.isValid&&i.isValid}async tokenize(){try{const t=await this.billingFormWrapperRef.getValues();let i;i=this.saveNewPaymentMethodChecked?Object.assign(Object.assign({},t),{payment_method_group_id:this.paymentMethodGroupId}):Object.assign({},t);const e=this.authToken;return await this.paymentMethodFormRef.tokenize(e,i,this.accountId)}catch(t){return t}}showNewPaymentMethodForm(){var i;const e=null===(i=this.paymentMethodOption)||void 0===i?void 0:i.id;return t("div",{class:"mt-4 pb-4"},t("hidden-input",null),t("div",{class:"mb-4"},t("card"===e?"card-form":"bank-account-form",{ref:t=>this.paymentMethodFormRef=t,iframeOrigin:this.iframeOrigin})),t("justifi-billing-form-wrapper",{ref:t=>this.billingFormWrapperRef=t,hideCardBillingForm:this.hideCardBillingForm,paymentMethodType:e}),t("justifi-save-new-payment-method",{hidden:!this.paymentMethodGroupId}))}render(){var i,s;return t(e,{key:"6d2d33cea2442744a4593e0635b1b2fcd6197275",class:"payment-method"},t("div",{key:"5dc7a8e50668c3abf7b43a4251a6bbaa17c624d2",class:"radio-list-item p-3",part:l,onClick:this.onPaymentMethodOptionClick},t("form-control-radio",{key:"2bd2cdff094dc1c103fe1c79a6a8a4ee7f6c17be",name:"paymentMethodType",value:null===(i=this.paymentMethodOption)||void 0===i?void 0:i.id,checked:this.isSelected,label:x[null===(s=this.paymentMethodOption)||void 0===s?void 0:s.id]})),this.isSelected?this.showNewPaymentMethodForm():null)}};class C{constructor(t){this.id=t.id,this.brand=t.brand,this.acct_last_four=t.acct_last_four,this.type=u(t.type)}}var M;!function(t){t.american_express="American Express",t.diners_club="Diners Club",t.discover="Discover",t.jcb="JCB",t.mastercard="Mastercard",t.china_unionpay="UnionPay",t.visa="Visa",t.unknown="Unknown"}(M||(M={}));const j=class{constructor(t){i(this,t),this.showCard=void 0,this.showAch=void 0,this.showBnpl=void 0,this.showSavedPaymentMethods=void 0,this.paymentMethodGroupId=void 0,this.bnpl=void 0,this.insuranceToggled=void 0,this.authToken=void 0,this.accountId=void 0,this.savedPaymentMethods=[],this.paymentAmount=void 0,this.hideCardBillingForm=void 0,this.iframeOrigin=void 0,this.selectedPaymentMethodId=void 0,this.paymentMethodOptions=[]}async fillBillingForm(t){const i=this.selectedPaymentMethodOptionRef;i.fillBillingForm&&i.fillBillingForm(t)}connectedCallback(){this.paymentMethodsChanged()}paymentMethodsChanged(){var t,i;this.paymentMethodOptions=this.savedPaymentMethods.map((t=>new C(t))).filter((t=>(this.showCard||t.type!==m.card)&&(this.showAch||t.type!==m.bankAccount))),this.showBnpl&&"sezzle"===(null===(t=this.bnpl)||void 0===t?void 0:t.provider)&&!this.insuranceToggled&&this.paymentMethodOptions.push(new C({id:m.sezzle})),this.showCard&&this.paymentMethodOptions.push(new C({id:m.card})),this.showAch&&this.paymentMethodOptions.push(new C({id:m.bankAccount})),this.selectedPaymentMethodId||(this.selectedPaymentMethodId=null===(i=this.paymentMethodOptions[0])||void 0===i?void 0:i.id)}paymentMethodOptionSelected(t){this.selectedPaymentMethodId=t.detail.id}async resolvePaymentMethod(t){var i;return await(null===(i=this.selectedPaymentMethodOptionRef)||void 0===i?void 0:i.resolvePaymentMethod(t))}render(){var i;return t(e,{key:"2d3dc8bc98cea3efbcf342a31b6883f30099b031"},null===(i=this.paymentMethodOptions)||void 0===i?void 0:i.map((i=>{const e=this.selectedPaymentMethodId===i.id,s=i.id===m.sezzle;return i.id===m.card||i.id===m.bankAccount?t("justifi-new-payment-method",{paymentMethodOption:i,authToken:this.authToken,"account-id":this.accountId,"is-selected":e,paymentMethodGroupId:this.paymentMethodGroupId,hideCardBillingForm:this.hideCardBillingForm,iframeOrigin:this.iframeOrigin,ref:t=>{e&&(this.selectedPaymentMethodOptionRef=t)}}):s?t("justifi-sezzle-payment-method",{paymentMethodOption:i,"is-selected":e,paymentAmount:this.paymentAmount,bnpl:this.bnpl,ref:t=>{e&&(this.selectedPaymentMethodOptionRef=t)}}):this.showSavedPaymentMethods?t("justifi-saved-payment-method",{paymentMethodOption:i,"is-selected":e,ref:t=>{e&&(this.selectedPaymentMethodOptionRef=t)}}):void 0})))}static get watchers(){return{savedPaymentMethods:["paymentMethodsChanged"]}}},z=class{constructor(t){i(this,t),this.checkboxChanged=s(this,"checkboxChanged",7),this.isChecked=!1}handleCheckboxChange(t,i){this.isChecked=i,this.checkboxChanged.emit(this.isChecked)}render(){return t("div",{key:"e6e7a75237ec2062188bf85deadac58892663b3b",class:"mt-4 form-check"},t("form-control-checkbox",{key:"abbaeb4e9119c4d41f0a727c7a070c14b7418302",label:"Save new payment method",name:"saveNewPaymentMethod",checked:this.isChecked,inputHandler:this.handleCheckboxChange.bind(this)}))}},O=class{constructor(t){i(this,t),this.paymentMethodOptionSelected=s(this,"paymentMethodOptionSelected",7),this.onPaymentMethodOptionClick=t=>{t.preventDefault(),this.paymentMethodOptionSelected.emit(this.paymentMethodOption)},this.paymentMethodOption=void 0,this.isSelected=void 0}async resolvePaymentMethod(t){var i;return t.isValid?{token:null===(i=this.paymentMethodOption)||void 0===i?void 0:i.id}:{validationError:!0}}render(){var i,s,a;return t(e,{key:"78487e52f549547f4c89f48a238a8916d77d4f1c",class:"payment-method"},t("div",{key:"d437a5f9e79356b1177703da2b5d7f4ca98072ce",class:"radio-list-item p-3",part:l,onClick:this.onPaymentMethodOptionClick},t("form-control-radio",{key:"0dd03b9ebae98c441c63717aba310d77e587b1c8",name:"paymentMethodType",value:null===(i=this.paymentMethodOption)||void 0===i?void 0:i.id,checked:this.isSelected,label:`${M[null===(s=this.paymentMethodOption)||void 0===s?void 0:s.brand]||""} *${null===(a=this.paymentMethodOption)||void 0===a?void 0:a.acct_last_four}`})))}},S=t("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"}}),P=class{constructor(t){i(this,t),this.paymentMethodOptionSelected=s(this,"paymentMethodOptionSelected",7),this.onPaymentMethodOptionClick=t=>{t.preventDefault(),this.paymentMethodOptionSelected.emit(this.paymentMethodOption)},this.initializeSezzleCheckout=()=>{let t;this.sezzlePromise=new Promise((i=>{t=i}));const i=this.bnpl,e=+this.paymentAmount,s=new(0,window.Checkout)({mode:"popup",publicKey:i.provider_client_id,apiMode:i.provider_mode,apiVersion:i.provider_api_version});s.sezzleButtonElement=this.sezzleButtonRef,s.init({onClick:function(t){t.preventDefault(),s.startCheckout({checkout_url:i.provider_checkout_url})},onComplete:i=>t({bnpl:i.data}),onCancel:i=>t({bnpl:i.data}),onFailure:i=>t({bnpl:i.data})}),this.sezzleCheckout=s,this.installmentPlan=this.sezzleCheckout.getInstallmentPlan(e)},this.bnpl=void 0,this.clientId=void 0,this.accountId=void 0,this.paymentMethodOption=void 0,this.isSelected=void 0,this.paymentAmount=void 0,this.installmentPlan=void 0,this.sezzleCheckout=void 0,this.sezzlePromise=void 0}componentDidRender(){this.scriptRef.onload=()=>{this.sezzleButtonRef=document.createElement("button"),this.initializeSezzleCheckout()}}async resolvePaymentMethod(t){return t.isValid?(this.sezzleButtonRef.click(),this.sezzlePromise):{validationError:!0}}render(){var i,s,a;return t(e,{key:"4ae50e7bbb15d0049d069edacd0d95ba7c13dbe5",class:"payment-method"},t("script",{key:"42a0590d89626ba7a93852e421eb121626b48375",src:"https://checkout-sdk.sezzle.com/checkout.min.js",async:!0,ref:t=>this.scriptRef=t}),t("div",{key:"31a2a72650486c258267c6d4de3723f7afa5b063",class:"radio-list-item p-3",part:l,onClick:this.onPaymentMethodOptionClick},t("form-control-radio",{key:"eac1adbcd82fcb4f9c440c53c40ce34af6092991",name:"paymentMethodType",value:null===(i=this.paymentMethodOption)||void 0===i?void 0:i.id,checked:this.isSelected,label:t("div",null,t("div",null,"Buy now, pay later with ",S),this.installmentPlan&&t("small",null,t("span",null,null===(s=this.installmentPlan)||void 0===s?void 0:s.installments.length)," ",t("span",null,this.installmentPlan.schedule," payments of")," ",t("span",{class:"fw-bold"},b(null===(a=this.installmentPlan)||void 0===a?void 0:a.installments[0].amountInCents))))})))}};export{v as bank_account_form,g as card_form,k as hidden_input,w as justifi_billing_form_wrapper,_ as justifi_new_payment_method,j as justifi_payment_method_options,z as justifi_save_new_payment_method,O as justifi_saved_payment_method,P as justifi_sezzle_payment_method}
1
+ import{h as t,r as i,H as e,c as s}from"./p-2783e363.js";import{S as a}from"./p-56c7fc8d.js";import{i as n}from"./p-4cc3c7f9.js";import{i as o,b as d,a as h,c as r,a4 as c,a5 as l}from"./p-bf195b35.js";import{H as f}from"./p-275c3dc9.js";import{a as m}from"./p-3f5e6602.js";import{l as u,f as b}from"./p-f8fccf44.js";import"./p-f20b6ce1.js";import"./p-abdbcd8e.js";const p=i=>{const{isReady:e}=i;return e?null:t("div",{class:"container-fluid p-0"},t("div",{class:"row mb-3"},t("div",{class:"col-12 align-content-end"},t(a,{height:"18px",width:"120px"}),t(a,{height:"36px"}))),t("div",{class:"row"},t("div",{class:"col-12 align-content-end"},t(a,{height:"18px",width:"110px"}),t(a,{height:"36px"}))))},v=class{constructor(t){i(this,t),this.iframeOrigin=void 0,this.isReady=!1}async validate(){const t=await this.accountNumberIframeElement.validate(),i=await this.routingNumberIframeElement.validate();return t&&i}async tokenize(t,i,e){return this.accountNumberIframeElement.tokenize(t,i,e)}componentDidRender(){Promise.all([this.accountNumberIframeElement,this.routingNumberIframeElement].map((t=>new Promise((i=>{t.addEventListener("iframeLoaded",(()=>{i()}))}))))).then((()=>{this.isReady=!0}))}render(){return t(e,{key:"3d21d5269871beaffeffaef8b9c5104da59c1783"},t(p,{key:"eb14285f2f0994085423901139f717c3b644273b",isReady:this.isReady}),t("div",{key:"906895204049f1113d596bade78de29bd5def6c2",class:"container-fluid p-0",style:{opacity:this.isReady?"1":"0",height:this.isReady?"auto":"0"}},t("div",{key:"c56aa2cdec0c8be615dee4388346e890b2610b82",class:"row mb-3"},t("iframe-input",{key:"5dd97225f360e267abf0c772b28ba890edf284db",inputId:"accountNumber",ref:t=>this.accountNumberIframeElement=t,label:"Account Number",iframeOrigin:`${this.iframeOrigin}/v2/accountNumber`})),t("div",{key:"20504c4b3c984c907765b99051a9e44ad6b5a37a",class:"row"},t("iframe-input",{key:"a85f47d87b01e099ac54969ce482abcc1fcb5366",inputId:"routingNumber",ref:t=>this.routingNumberIframeElement=t,label:"Routing Number",iframeOrigin:`${this.iframeOrigin}/v2/routingNumber`}))))}},y=i=>{const{isReady:e}=i;return e?null:t("div",{class:"container-fluid p-0"},t("div",{class:"mb-3"},t(a,{height:"18px",width:"100px"}),t(a,{height:"36px"})),t("div",{class:"row"},t("div",{class:"col-4 align-content-end"},t(a,{height:"18px",width:"80px"}),t(a,{height:"36px"})),t("div",{class:"col-4 align-content-end"},t(a,{height:"36px"})),t("div",{class:"col-4 align-content-end"},t(a,{height:"18px",width:"30px"}),t(a,{height:"36px"}))))},g=class{constructor(t){i(this,t),this.iframeOrigin=void 0,this.isReady=!1}componentDidRender(){Promise.all([this.cardNumberIframeElement,this.expirationMonthIframeElement,this.expirationYearIframeElement,this.cvvIframeElement].map((t=>new Promise((i=>{t.addEventListener("iframeLoaded",(()=>{i()}))}))))).then((()=>{this.isReady=!0}))}async validate(){const t=await this.cardNumberIframeElement.validate(),i=await this.expirationMonthIframeElement.validate(),e=await this.expirationYearIframeElement.validate(),s=await this.cvvIframeElement.validate();return t&&i&&e&&s}async tokenize(t,i,e){return this.cardNumberIframeElement.tokenize(t,i,e)}render(){return t(e,{key:"fdbbbe01ef33117408fd49e1b478a6c3f0be56a6"},t(y,{key:"859d45e5e9aa80f999aeece561e7d7971289786b",isReady:this.isReady}),t("div",{key:"586ca0f390ed57f34432930298662d2f85341dfa",class:"container-fluid p-0",style:{opacity:this.isReady?"1":"0",height:this.isReady?"auto":"0"}},t("div",{key:"61f374b426d49a29f16ca1d56d5d9e82e74f12aa",class:"mb-3"},t("iframe-input",{key:"965ad04d1ea086a026917078f7e8fc7b24d2c02e",inputId:"cardNumber",ref:t=>this.cardNumberIframeElement=t,label:"Card Number",iframeOrigin:`${this.iframeOrigin}/v2/cardNumber`})),t("div",{key:"0485b76a5b5f2d524eb942a7a36e534953730a4e",class:"row"},t("div",{key:"9ffbe45585e6989e096430310dd21d5e31f1aa2f",class:"col-4 align-content-end"},t("iframe-input",{key:"5fc0327c43a2823245261391074aba703791ecc7",inputId:"expirationMonth",ref:t=>this.expirationMonthIframeElement=t,label:"Expiration",iframeOrigin:`${this.iframeOrigin}/v2/expirationMonth`})),t("div",{key:"22090d11cf2e4f017db46a7d2525f65d1e85a469",class:"col-4 align-content-end"},t("iframe-input",{key:"a7b220a1081a241663b71619dad519611c2b98f5",inputId:"expirationYear",ref:t=>this.expirationYearIframeElement=t,label:"",iframeOrigin:`${this.iframeOrigin}/v2/expirationYear`})),t("div",{key:"9b6b26802c21b0b73fe71f251a584f33bed6179f",class:"col-4 align-content-end"},t("iframe-input",{key:"59094373c4476437645d96779d65d5cea3f690d0",inputId:"CVV",ref:t=>this.cvvIframeElement=t,label:"CVV",iframeOrigin:`${this.iframeOrigin}/v2/CVV`})))))}},k=class{constructor(t){i(this,t),this.isFocused=!1,this.errorText=""}async componentDidLoad(){const t=await this.getBaseFontStyles();n("fontStyles",t);const i=await this.getFocusedStyles();n("focused",i);const e=await this.getFocusedAndInvalidStyles();n("focusedAndInvalid",e)}async getBaseFontStyles(){return new Promise((t=>{setTimeout((()=>{const i=getComputedStyle(this.hiddenInput);t({fontFamily:i.fontFamily,fontSize:i.fontSize,fontWeight:i.fontWeight,lineHeight:i.lineHeight,margin:i.margin,padding:i.padding,color:i.color})}),500)}))}async getFocusedStyles(){return new Promise((t=>{this.hiddenInput.focus(),setTimeout((()=>{this.hiddenInput.blur();let i=getComputedStyle(this.hiddenInput);t({boxShadow:i.boxShadow,border:i.border})}),500)}))}async getFocusedAndInvalidStyles(){return new Promise((t=>{this.hiddenInput.focus(),this.errorText="Error",setTimeout((()=>{const i=getComputedStyle(this.hiddenInput),e={boxShadow:i.boxShadow,border:i.border};this.hiddenInput.blur(),t(e)}),500)}))}get part(){return this.isFocused&&this.errorText?o:this.errorText?d:this.isFocused?h:r}render(){return t(e,{key:"bd707d25b1b5f0a870ff6c778291cf008ecd212b"},t("input",{key:"639af920d20d2d5e9c2791c251f00368137c7798",ref:t=>this.hiddenInput=t,type:"text",class:this.errorText?"form-control is-invalid":"form-control",onFocus:()=>this.isFocused=!0,onBlur:()=>this.isFocused=!1,part:this.part,tabindex:"-1",style:{height:"0",opacity:"0",pointerEvents:"none",animation:"none"}}))}},w=class{constructor(t){i(this,t),this.legend=void 0,this.hideCardBillingForm=void 0,this.paymentMethodType=void 0}get hideFullBillingForm(){return this.hideCardBillingForm&&"card"===this.paymentMethodType}async fill(t){this.hideFullBillingForm?this.postalFormRef.fill(t):this.billingFormRef.fill(t)}async getValues(){return this.hideFullBillingForm?this.postalFormRef.getValues():this.billingFormRef.getValues()}async validate(){return this.hideFullBillingForm?this.postalFormRef.validate():this.billingFormRef.validate()}get renderedForm(){return this.hideFullBillingForm?t("postal-form",{ref:t=>this.postalFormRef=t}):t("div",null,t(f,{text:"Billing address",class:"fs-6 fw-bold lh-lg mb-4"}),t("billing-form",{ref:t=>this.billingFormRef=t}))}render(){return t(e,{key:"be6dea58ab65001a820f6c0bb62f91f8b5698c76"},t("div",{key:"7f69a59cdfb80ac8723b07243379ba61bb1f30c9",part:c},this.renderedForm))}},x={bankAccount:"New bank account",card:"New credit or debit card"},_=class{constructor(t){i(this,t),this.paymentMethodOptionSelected=s(this,"paymentMethodOptionSelected",7),this.onPaymentMethodOptionClick=t=>{t.preventDefault(),this.paymentMethodOptionSelected.emit(this.paymentMethodOption)},this.authToken=void 0,this.accountId=void 0,this.paymentMethodOption=void 0,this.paymentMethodGroupId=void 0,this.isSelected=void 0,this.hideCardBillingForm=void 0,this.iframeOrigin=void 0,this.saveNewPaymentMethodChecked=!1}handleCheckboxChanged(t){this.saveNewPaymentMethodChecked=t.detail}async fillBillingForm(t){this.billingFormWrapperRef.fill(t)}async resolvePaymentMethod(t){var i,e;if(this.paymentMethodFormRef&&this.billingFormWrapperRef)try{if(!await this.validate()||!t.isValid)return{validationError:!0};const s=await this.tokenize();if(s.error)return{error:s.error};{const t=s.data;return{token:(null===(i=t.card)||void 0===i?void 0:i.token)||(null===(e=t.bank_account)||void 0===e?void 0:e.token),data:t}}}catch(t){return{error:t}}}async validate(){const t=await this.billingFormWrapperRef.validate(),i=await this.paymentMethodFormRef.validate();return t.isValid&&i.isValid}async tokenize(){try{const t=await this.billingFormWrapperRef.getValues();let i;i=this.saveNewPaymentMethodChecked?Object.assign(Object.assign({},t),{payment_method_group_id:this.paymentMethodGroupId}):Object.assign({},t);const e=this.authToken;return await this.paymentMethodFormRef.tokenize(e,i,this.accountId)}catch(t){return t}}showNewPaymentMethodForm(){var i;const e=null===(i=this.paymentMethodOption)||void 0===i?void 0:i.id;return t("div",{class:"mt-4 pb-4"},t("hidden-input",null),t("div",{class:"mb-4"},t("card"===e?"card-form":"bank-account-form",{ref:t=>this.paymentMethodFormRef=t,iframeOrigin:this.iframeOrigin})),t("justifi-billing-form-wrapper",{ref:t=>this.billingFormWrapperRef=t,hideCardBillingForm:this.hideCardBillingForm,paymentMethodType:e}),t("justifi-save-new-payment-method",{hidden:!this.paymentMethodGroupId}))}render(){var i,s;return t(e,{key:"6d2d33cea2442744a4593e0635b1b2fcd6197275",class:"payment-method"},t("div",{key:"5dc7a8e50668c3abf7b43a4251a6bbaa17c624d2",class:"radio-list-item p-3",part:l,onClick:this.onPaymentMethodOptionClick},t("form-control-radio",{key:"2bd2cdff094dc1c103fe1c79a6a8a4ee7f6c17be",name:"paymentMethodType",value:null===(i=this.paymentMethodOption)||void 0===i?void 0:i.id,checked:this.isSelected,label:x[null===(s=this.paymentMethodOption)||void 0===s?void 0:s.id]})),this.isSelected?this.showNewPaymentMethodForm():null)}};class C{constructor(t){this.id=t.id,this.brand=t.brand,this.acct_last_four=t.acct_last_four,this.type=u(t.type)}}var M;!function(t){t.american_express="American Express",t.diners_club="Diners Club",t.discover="Discover",t.jcb="JCB",t.mastercard="Mastercard",t.china_unionpay="UnionPay",t.visa="Visa",t.unknown="Unknown"}(M||(M={}));const j=class{constructor(t){i(this,t),this.showCard=void 0,this.showAch=void 0,this.showBnpl=void 0,this.showSavedPaymentMethods=void 0,this.paymentMethodGroupId=void 0,this.bnpl=void 0,this.insuranceToggled=void 0,this.authToken=void 0,this.accountId=void 0,this.savedPaymentMethods=[],this.paymentAmount=void 0,this.hideCardBillingForm=void 0,this.iframeOrigin=void 0,this.selectedPaymentMethodId=void 0,this.paymentMethodOptions=[]}async fillBillingForm(t){const i=this.selectedPaymentMethodOptionRef;i.fillBillingForm&&i.fillBillingForm(t)}connectedCallback(){this.paymentMethodsChanged()}paymentMethodsChanged(){var t,i;this.paymentMethodOptions=this.savedPaymentMethods.map((t=>new C(t))).filter((t=>(this.showCard||t.type!==m.card)&&(this.showAch||t.type!==m.bankAccount))),this.showBnpl&&"sezzle"===(null===(t=this.bnpl)||void 0===t?void 0:t.provider)&&!this.insuranceToggled&&this.paymentMethodOptions.push(new C({id:m.sezzle})),this.showCard&&this.paymentMethodOptions.push(new C({id:m.card})),this.showAch&&this.paymentMethodOptions.push(new C({id:m.bankAccount})),this.selectedPaymentMethodId||(this.selectedPaymentMethodId=null===(i=this.paymentMethodOptions[0])||void 0===i?void 0:i.id)}paymentMethodOptionSelected(t){this.selectedPaymentMethodId=t.detail.id}async resolvePaymentMethod(t){var i;return await(null===(i=this.selectedPaymentMethodOptionRef)||void 0===i?void 0:i.resolvePaymentMethod(t))}render(){var i;return t(e,{key:"2d3dc8bc98cea3efbcf342a31b6883f30099b031"},null===(i=this.paymentMethodOptions)||void 0===i?void 0:i.map((i=>{const e=this.selectedPaymentMethodId===i.id,s=i.id===m.sezzle;return i.id===m.card||i.id===m.bankAccount?t("justifi-new-payment-method",{paymentMethodOption:i,authToken:this.authToken,"account-id":this.accountId,"is-selected":e,paymentMethodGroupId:this.paymentMethodGroupId,hideCardBillingForm:this.hideCardBillingForm,iframeOrigin:this.iframeOrigin,ref:t=>{e&&(this.selectedPaymentMethodOptionRef=t)}}):s?t("justifi-sezzle-payment-method",{paymentMethodOption:i,"is-selected":e,paymentAmount:this.paymentAmount,bnpl:this.bnpl,ref:t=>{e&&(this.selectedPaymentMethodOptionRef=t)}}):this.showSavedPaymentMethods?t("justifi-saved-payment-method",{paymentMethodOption:i,"is-selected":e,ref:t=>{e&&(this.selectedPaymentMethodOptionRef=t)}}):void 0})))}static get watchers(){return{savedPaymentMethods:["paymentMethodsChanged"]}}},z=class{constructor(t){i(this,t),this.checkboxChanged=s(this,"checkboxChanged",7),this.isChecked=!1}handleCheckboxChange(t,i){this.isChecked=i,this.checkboxChanged.emit(this.isChecked)}render(){return t("div",{key:"e6e7a75237ec2062188bf85deadac58892663b3b",class:"mt-4 form-check"},t("form-control-checkbox",{key:"abbaeb4e9119c4d41f0a727c7a070c14b7418302",label:"Save new payment method",name:"saveNewPaymentMethod",checked:this.isChecked,inputHandler:this.handleCheckboxChange.bind(this)}))}},O=class{constructor(t){i(this,t),this.paymentMethodOptionSelected=s(this,"paymentMethodOptionSelected",7),this.onPaymentMethodOptionClick=t=>{t.preventDefault(),this.paymentMethodOptionSelected.emit(this.paymentMethodOption)},this.paymentMethodOption=void 0,this.isSelected=void 0}async resolvePaymentMethod(t){var i;return t.isValid?{token:null===(i=this.paymentMethodOption)||void 0===i?void 0:i.id}:{validationError:!0}}render(){var i,s,a;return t(e,{key:"78487e52f549547f4c89f48a238a8916d77d4f1c",class:"payment-method"},t("div",{key:"d437a5f9e79356b1177703da2b5d7f4ca98072ce",class:"radio-list-item p-3",part:l,onClick:this.onPaymentMethodOptionClick},t("form-control-radio",{key:"0dd03b9ebae98c441c63717aba310d77e587b1c8",name:"paymentMethodType",value:null===(i=this.paymentMethodOption)||void 0===i?void 0:i.id,checked:this.isSelected,label:`${M[null===(s=this.paymentMethodOption)||void 0===s?void 0:s.brand]||""} *${null===(a=this.paymentMethodOption)||void 0===a?void 0:a.acct_last_four}`})))}},S=t("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"}}),P=class{constructor(t){i(this,t),this.paymentMethodOptionSelected=s(this,"paymentMethodOptionSelected",7),this.onPaymentMethodOptionClick=t=>{t.preventDefault(),this.paymentMethodOptionSelected.emit(this.paymentMethodOption)},this.initializeSezzleCheckout=()=>{let t;this.sezzlePromise=new Promise((i=>{t=i}));const i=this.bnpl,e=+this.paymentAmount,s=new(0,window.Checkout)({mode:"popup",publicKey:i.provider_client_id,apiMode:i.provider_mode,apiVersion:i.provider_api_version});s.sezzleButtonElement=this.sezzleButtonRef,s.init({onClick:function(t){t.preventDefault(),s.startCheckout({checkout_url:i.provider_checkout_url})},onComplete:i=>t({bnpl:i.data}),onCancel:i=>t({bnpl:i.data}),onFailure:i=>t({bnpl:i.data})}),this.sezzleCheckout=s,this.installmentPlan=this.sezzleCheckout.getInstallmentPlan(e)},this.bnpl=void 0,this.clientId=void 0,this.accountId=void 0,this.paymentMethodOption=void 0,this.isSelected=void 0,this.paymentAmount=void 0,this.installmentPlan=void 0,this.sezzleCheckout=void 0,this.sezzlePromise=void 0}componentDidRender(){this.scriptRef.onload=()=>{this.sezzleButtonRef=document.createElement("button"),this.initializeSezzleCheckout()}}async resolvePaymentMethod(t){return t.isValid?(this.sezzleButtonRef.click(),this.sezzlePromise):{validationError:!0}}render(){var i,s,a;return t(e,{key:"4ae50e7bbb15d0049d069edacd0d95ba7c13dbe5",class:"payment-method"},t("script",{key:"42a0590d89626ba7a93852e421eb121626b48375",src:"https://checkout-sdk.sezzle.com/checkout.min.js",async:!0,ref:t=>this.scriptRef=t}),t("div",{key:"31a2a72650486c258267c6d4de3723f7afa5b063",class:"radio-list-item p-3",part:l,onClick:this.onPaymentMethodOptionClick},t("form-control-radio",{key:"eac1adbcd82fcb4f9c440c53c40ce34af6092991",name:"paymentMethodType",value:null===(i=this.paymentMethodOption)||void 0===i?void 0:i.id,checked:this.isSelected,label:t("div",null,t("div",null,"Buy now, pay later with ",S),this.installmentPlan&&t("small",null,t("span",null,null===(s=this.installmentPlan)||void 0===s?void 0:s.installments.length)," ",t("span",null,this.installmentPlan.schedule," payments of")," ",t("span",{class:"fw-bold"},b(null===(a=this.installmentPlan)||void 0===a?void 0:a.installments[0].amountInCents))))})))}};export{v as bank_account_form,g as card_form,k as hidden_input,w as justifi_billing_form_wrapper,_ as justifi_new_payment_method,j as justifi_payment_method_options,z as justifi_save_new_payment_method,O as justifi_saved_payment_method,P as justifi_sezzle_payment_method}
@@ -1 +1 @@
1
- import{r as t,c as s,h as i}from"./p-2783e363.js";import{P as e}from"./p-4fc263b2.js";import{a as r,C as o}from"./p-9dd8685c.js";import"./p-422948eb.js";import"./p-56f6ce4c.js";import{P as a}from"./p-4e010557.js";import"./p-c4f8ed38.js";import"./p-61f0a2ce.js";import{g as p,a as n}from"./p-87f8c596.js";import{c,J as h}from"./p-cd5883b9.js";import{S as d}from"./p-bfe9748b.js";import{d as m}from"./p-26a2e837.js";import"./p-5f6b4bc9.js";import"./p-08b64251.js";import"./p-abdbcd8e.js";import"./p-5efe6236.js";import"./p-a5579f53.js";import"./p-c8b78136.js";import"./p-bf195b35.js";const f=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event",7),this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)},this.getPayments=void 0,this.errorMessage=null,this.accountId=void 0,this.authToken=void 0,this.apiOrigin="https://wc-proxy.justifi.ai",this.columns=m}componentWillLoad(){c(),this.analytics=new h(this),this.initializeGetPayments()}disconnectedCallback(){this.analytics.cleanup()}propChanged(){this.initializeGetPayments()}initializeGetPayments(){this.accountId&&this.authToken?this.getPayments=(({id:t,authToken:s,service:i,apiOrigin:e})=>async({params:o,onSuccess:c,onError:h,final:d})=>{var m,f;try{const d=await i.fetchPayments(t,s,o,e);if(d.error)return h({error:p(d.error),code:n(null===(f=d.error)||void 0===f?void 0:f.code),severity:r.ERROR});{const t=Object.assign({},d.page_info);c({payments:(null===(m=d.data)||void 0===m?void 0:m.map((t=>new a(t))))||[],pagingInfo:t})}}catch(t){const s=n(null==t?void 0:t.code);return h({error:t.message||t,code:s,severity:r.ERROR})}finally{return d()}})({id:this.accountId,authToken:this.authToken,service:new e,apiOrigin:this.apiOrigin}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:o.MISSING_PROPS,message:this.errorMessage,severity:r.ERROR}))}render(){return i(d,{key:"6882456e9e7af8dd5e8023cf649d967551689c20"},i("payments-list-core",{key:"7df305455ba20e2eede8c5146edb5db2e7c412c8",getPayments:this.getPayments,"onError-event":this.handleErrorEvent,columns:this.columns}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{f as justifi_payments_list}
1
+ import{r as t,c as s,h as i}from"./p-2783e363.js";import{P as r}from"./p-536fb8e2.js";import{a as e,C as o}from"./p-9dd8685c.js";import"./p-1366a019.js";import"./p-56f6ce4c.js";import{P as a}from"./p-3f5e6602.js";import"./p-2a9d7f6b.js";import"./p-61f0a2ce.js";import{g as p,a as n}from"./p-87f8c596.js";import{c,J as h}from"./p-3188f72a.js";import{S as d}from"./p-bfe9748b.js";import{d as m}from"./p-701a13ca.js";import"./p-5f6b4bc9.js";import"./p-f8fccf44.js";import"./p-abdbcd8e.js";import"./p-88a37837.js";import"./p-a5579f53.js";import"./p-c8b78136.js";import"./p-bf195b35.js";const f=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event",7),this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)},this.getPayments=void 0,this.errorMessage=null,this.accountId=void 0,this.authToken=void 0,this.apiOrigin="https://wc-proxy.justifi.ai",this.columns=m}componentWillLoad(){c(),this.analytics=new h(this),this.initializeGetPayments()}disconnectedCallback(){this.analytics.cleanup()}propChanged(){this.initializeGetPayments()}initializeGetPayments(){this.accountId&&this.authToken?this.getPayments=(({id:t,authToken:s,service:i,apiOrigin:r})=>async({params:o,onSuccess:c,onError:h,final:d})=>{var m,f;try{const d=await i.fetchPayments(t,s,o,r);if(d.error)return h({error:p(d.error),code:n(null===(f=d.error)||void 0===f?void 0:f.code),severity:e.ERROR});{const t=Object.assign({},d.page_info);c({payments:(null===(m=d.data)||void 0===m?void 0:m.map((t=>new a(t))))||[],pagingInfo:t})}}catch(t){const s=n(null==t?void 0:t.code);return h({error:t.message||t,code:s,severity:e.ERROR})}finally{return d()}})({id:this.accountId,authToken:this.authToken,service:new r,apiOrigin:this.apiOrigin}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:o.MISSING_PROPS,message:this.errorMessage,severity:e.ERROR}))}render(){return i(d,{key:"6882456e9e7af8dd5e8023cf649d967551689c20"},i("payments-list-core",{key:"7df305455ba20e2eede8c5146edb5db2e7c412c8",getPayments:this.getPayments,"onError-event":this.handleErrorEvent,columns:this.columns}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{f as justifi_payments_list}
@@ -1 +1 @@
1
- import{r as s,c as i,h as t,H as o}from"./p-2783e363.js";import{E as r}from"./p-12074378.js";import{B as e}from"./p-76549a24.js";import{m as p}from"./p-86605101.js";import{C as a,a as h}from"./p-9dd8685c.js";import{c as m,J as n}from"./p-cd5883b9.js";import"./p-bf195b35.js";import"./p-5f6b4bc9.js";import"./p-5d1d2fd7.js";import"./p-1ff8810b.js";import"./p-6078a370.js";import"./p-87f8c596.js";import"./p-5efe6236.js";const d=class{constructor(t){s(this,t),this.errorEvent=i(this,"error-event",7),this.businessId=void 0,this.authToken=void 0,this.errorMessage=void 0,this.getBusiness=void 0}componentWillLoad(){m(),this.analytics=new n(this),this.initializeGetBusiness()}disconnectedCallback(){this.analytics.cleanup()}initializeGetBusiness(){if(!this.businessId||!this.authToken)return this.errorMessage="Invalid business id or auth token",void this.errorEvent.emit({errorCode:a.MISSING_PROPS,message:this.errorMessage,severity:h.ERROR});this.getBusiness=p({id:this.businessId,authToken:this.authToken,service:new e})}render(){return t(o,null,this.errorMessage?r(this.errorMessage):t("business-details-core",{getBusiness:this.getBusiness}))}};export{d as justifi_business_details}
1
+ import{r as s,c as i,h as t,H as o}from"./p-2783e363.js";import{E as r}from"./p-12074378.js";import{B as e}from"./p-76549a24.js";import{m as p}from"./p-86605101.js";import{C as a,a as h}from"./p-9dd8685c.js";import{c as m,J as n}from"./p-3188f72a.js";import"./p-bf195b35.js";import"./p-5f6b4bc9.js";import"./p-5d1d2fd7.js";import"./p-1ff8810b.js";import"./p-6078a370.js";import"./p-87f8c596.js";import"./p-88a37837.js";const d=class{constructor(t){s(this,t),this.errorEvent=i(this,"error-event",7),this.businessId=void 0,this.authToken=void 0,this.errorMessage=void 0,this.getBusiness=void 0}componentWillLoad(){m(),this.analytics=new n(this),this.initializeGetBusiness()}disconnectedCallback(){this.analytics.cleanup()}initializeGetBusiness(){if(!this.businessId||!this.authToken)return this.errorMessage="Invalid business id or auth token",void this.errorEvent.emit({errorCode:a.MISSING_PROPS,message:this.errorMessage,severity:h.ERROR});this.getBusiness=p({id:this.businessId,authToken:this.authToken,service:new e})}render(){return t(o,null,this.errorMessage?r(this.errorMessage):t("business-details-core",{getBusiness:this.getBusiness}))}};export{d as justifi_business_details}
@@ -0,0 +1 @@
1
+ import{r as e,c as t,h as a}from"./p-2783e363.js";import{c as s,a as i,F as r}from"./p-01033194.js";import{f as o}from"./p-f8fccf44.js";import{A as n}from"./p-5f6b4bc9.js";import{C as d,a as f}from"./p-9dd8685c.js";import"./p-1366a019.js";import"./p-56f6ce4c.js";import"./p-3f5e6602.js";import"./p-2a9d7f6b.js";import"./p-61f0a2ce.js";import{B as c}from"./p-bfc2d88a.js";import{S as u}from"./p-bfe9748b.js";import"./p-abdbcd8e.js";import"./p-bf195b35.js";const m=[{label:"Select a reason",value:""},{label:"Customer requested a refund",value:"customer_request"},{label:"Customer was double-charged",value:"duplicate"},{label:"Payment was reported as fraud",value:"fraudulent"}],b=class{constructor(a){e(this,a),this.errorEvent=t(this,"error-event",7),this.submitEvent=t(this,"submit-event",7),this.authToken=void 0,this.paymentId=void 0,this.hideSubmitButton=!1,this.apiOrigin="https://wc-proxy.justifi.ai",this.paymentAmountRefundable=0,this.errorMessage=null,this.errors={},this.values={},this.isLoading=!1}componentWillLoad(){this.formController=new r((()=>{const e=+this.paymentAmountRefundable.toString();return s().shape({amount:i().required("Amount is required").typeError("Amount must be a number").test("amount",`Refund amount cannot be more than ${o(e)}`,(function(t){return+t<=e})).nullable()})})()),this.initializeApi()}componentDidLoad(){this.formController.errors.subscribe((e=>{this.errors=Object.assign({},e)})),this.formController.values.subscribe((e=>{this.values=Object.assign({},e)}))}async handleSubmit(e){e.preventDefault(),this.formController.validateAndSubmit(this.submitRefund)}async submitRefund(e){let t;this.isLoading=!0;try{t=await this.api.post(`payments/${this.paymentId}/refunds`,e)}catch(e){console.error("Error submitting refund:",e),this.errorEvent.emit(e)}finally{this.submitEvent.emit({response:t}),this.isLoading=!1}}handleInput(e,t){this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[e]:t}))}initializeApi(){this.paymentId&&this.authToken?this.api=n({authToken:this.authToken,apiOrigin:"https://wc-proxy.justifi.ai"}):(this.errorMessage="Payment ID and Auth Token are required",this.errorEvent.emit({errorCode:d.MISSING_PROPS,message:this.errorMessage,severity:f.ERROR}))}render(){return a(u,{key:"ea0429d62ea383b6525251150978bb0ebfb2704e"},a("form",{key:"8f2e00b871ee896ba82311d8975574e5a2cbf6e3"},a("div",{key:"fa6476367e4a8b7fd7cdfff906671ef597b453de",class:"row gy-3"},a("div",{key:"72a48181200d6116ceb4bb511bdd33c8c8197742",class:"form-group"},a("form-control-monetary",{key:"f6a3b3a7d8d8c733cb032db96878ad64ff712356",name:"amount",label:"Refund Amount",inputHandler:(e,t)=>this.handleInput(e,t),errorText:this.errors.amount,defaultValue:this.paymentAmountRefundable.toString()})),a("div",{key:"47e6dc07510e192caf00ce959348a2a9472f48f8",class:"form-group"},a("form-control-select",{key:"9f9b761eea9964c7f6ac1dd907a4fee8cd63c906",label:"Reason for refund (optional)",options:m,name:"reason",defaultValue:""})),a("div",{key:"daa4bf44ec311e0554ea28f97a0932673d542a31",class:"form-group"},a("form-control-textarea",{key:"a03d055e6462b9a23e714ca58a942a6da0365919",name:"description",label:"Note (optional)",inputHandler:(e,t)=>this.handleInput(e,t),errorText:this.errors.description,maxLength:250})),a("div",{key:"b744d28ff0a2d6aa37b1ebe2b7ea6d9b3edbbc39",class:"form-group d-flex flex-row-reverse"},a(c,{key:"3f62881a5fa333277478d35a7c19a8c4ca8bb929",variant:"primary",type:"submit",onClick:e=>this.handleSubmit(e),isLoading:this.isLoading,hidden:this.hideSubmitButton},`Refund ${o(+this.values.amount)}`)))))}};export{b as justifi_refund_payment}
@@ -1 +1 @@
1
- import{A as r}from"./p-5f6b4bc9.js";import"./p-9dd8685c.js";import"./p-422948eb.js";import"./p-56f6ce4c.js";import"./p-4e010557.js";import"./p-c4f8ed38.js";import"./p-61f0a2ce.js";class n{async fetchTerminals(n,t,s,i="https://wc-proxy.justifi.ai"){const e={Account:n};return r({authToken:t,apiOrigin:i}).get("terminals",s,null,e)}async fetchTerminal(n,t,s="https://wc-proxy.justifi.ai"){const i=`terminals/${n}`;return r({authToken:t,apiOrigin:s}).get(i)}async fetchTerminalModels(n,t,s=""){const i={"sub-account":n};return r({authToken:t,apiOrigin:s}).get("terminals/order_models",null,null,i)}async orderTerminals(n,t,s=""){const i={"sub-account":t.sub_account_id};return r({authToken:n,apiOrigin:s}).post("terminals/orders",t,null,null,i)}}export{n as T}
1
+ import{A as r}from"./p-5f6b4bc9.js";import"./p-9dd8685c.js";import"./p-1366a019.js";import"./p-56f6ce4c.js";import"./p-3f5e6602.js";import"./p-2a9d7f6b.js";import"./p-61f0a2ce.js";class n{async fetchTerminals(n,t,s,i="https://wc-proxy.justifi.ai"){const a={Account:n};return r({authToken:t,apiOrigin:i}).get("terminals",s,null,a)}async fetchTerminal(n,t,s="https://wc-proxy.justifi.ai"){const i=`terminals/${n}`;return r({authToken:t,apiOrigin:s}).get(i)}async fetchTerminalModels(n,t,s=""){const i={"sub-account":n};return r({authToken:t,apiOrigin:s}).get("terminals/order_models",null,null,i)}async orderTerminals(n,t,s=""){const i={"sub-account":t.sub_account_id};return r({authToken:n,apiOrigin:s}).post("terminals/orders",t,null,null,i)}}export{n as T}
@@ -1 +1 @@
1
- const e={name:"@justifi/webcomponents",version:"5.4.1",description:"JustiFi Web Components",collection:"dist/collection/collection-manifest.json",main:"dist/index.cjs.js",module:"dist/module/index.js",types:"dist/module/index.d.ts",repository:{type:"git",url:"git+https://github.com/justifi-tech/web-component-library.git"},homepage:"https://storybook.justifi.ai/?path=/docs/introduction--docs",publishConfig:{registry:"https://registry.npmjs.org"},files:["dist/"],scripts:{build:"stencil build --docs",dev:"stencil build --watch",lint:"eslint . --max-warnings 0",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",generate:"stencil generate",test:"TZ=utc stencil test --spec","test:watch":"TZ=utc stencil test --spec --watchAll","test:file":"stencil test --spec --watch --"},dependencies:{"@popperjs/core":"^2.11.8","@stencil/core":"^4.0.5","@stencil/store":"^2.0.8",bootstrap:"^5.2.3","chart.js":"^4.4.1","date-fns":"^2.30.0","dinero.js":"^1.9.1","iframe-resizer":"^4.3.7",imask:"^7.6.1",lodash:"^4.17.21",rxjs:"^7.8.1","ts-dedent":"^2.2.0",uuid:"^9.0.0",yup:"^1.0.0"},devDependencies:{"@babel/preset-env":"^7.21.5","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.21.5","@rollup/plugin-replace":"^6.0.1","@stencil/sass":"^3.0.1","@types/jest":"27.0.3","@types/react":"^18.0.37","@types/react-dom":"^18.0.11",dotenv:"^16.3.1",jest:"^29.7.0","jest-cli":"^29.7.0","jest-environment-node":"^29.7.0","ts-jest":"^29.1.2"},license:"MIT",gitHead:"507bac1d941eae6e1f56e185ecd9bc9d22637783"};export{e as p}
1
+ const e={name:"@justifi/webcomponents",version:"5.4.3",description:"JustiFi Web Components",collection:"dist/collection/collection-manifest.json",main:"dist/index.cjs.js",module:"dist/module/index.js",types:"dist/module/index.d.ts",repository:{type:"git",url:"git+https://github.com/justifi-tech/web-component-library.git"},homepage:"https://storybook.justifi.ai/?path=/docs/introduction--docs",publishConfig:{registry:"https://registry.npmjs.org"},files:["dist/"],scripts:{build:"stencil build --docs",dev:"stencil build --watch",lint:"eslint . --max-warnings 0",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",generate:"stencil generate",test:"TZ=utc stencil test --spec","test:watch":"TZ=utc stencil test --spec --watchAll","test:file":"stencil test --spec --watch --"},dependencies:{"@popperjs/core":"^2.11.8","@stencil/core":"^4.0.5","@stencil/store":"^2.0.8",bootstrap:"^5.2.3","chart.js":"^4.4.1","date-fns":"^2.30.0","dinero.js":"^1.9.1","iframe-resizer":"^4.3.7",imask:"^7.6.1",lodash:"^4.17.21",rxjs:"^7.8.1","ts-dedent":"^2.2.0",uuid:"^9.0.0",yup:"^1.0.0"},devDependencies:{"@babel/preset-env":"^7.21.5","@babel/preset-react":"^7.18.6","@babel/preset-typescript":"^7.21.5","@rollup/plugin-replace":"^6.0.1","@stencil/sass":"^3.0.1","@types/jest":"27.0.3","@types/react":"^18.0.37","@types/react-dom":"^18.0.11",dotenv:"^16.3.1",jest:"^29.7.0","jest-cli":"^29.7.0","jest-environment-node":"^29.7.0","ts-jest":"^29.1.2"},license:"MIT",gitHead:"507bac1d941eae6e1f56e185ecd9bc9d22637783"};export{e as p}
@@ -1 +1 @@
1
- import{r as s,c as t,h as r}from"./p-2783e363.js";import{A as i}from"./p-5f6b4bc9.js";import{a as o,C as e}from"./p-9dd8685c.js";import{g as a,a as h}from"./p-87f8c596.js";import{E as n}from"./p-12074378.js";import{c,J as p}from"./p-cd5883b9.js";import"./p-bf195b35.js";import"./p-5efe6236.js";class d{async fetchGrossVolumeChartData(s,t){return i({authToken:t,apiOrigin:"https://wc-proxy.justifi.ai"}).get(`account/${s}/reports/gross_volume`)}}const m=class{constructor(r){s(this,r),this.errorEvent=t(this,"error-event",7),this.handleErrorEvent=s=>{this.errorMessage=s.detail.message,this.errorEvent.emit(s.detail)},this.accountId=void 0,this.authToken=void 0,this.getGrossPayment=void 0,this.errorMessage=null}componentWillLoad(){c(),this.analytics=new p(this),this.initializeGetGrossPayment()}disconnectedCallback(){this.analytics.cleanup()}propChanged(){this.initializeGetGrossPayment()}initializeGetGrossPayment(){this.accountId&&this.authToken?this.getGrossPayment=(({id:s,authToken:t,service:r})=>async({onSuccess:i,onError:e})=>{var n;try{const c=await r.fetchGrossVolumeChartData(s,t);c.error?e({error:a(c.error),code:h(null===(n=c.error)||void 0===n?void 0:n.code),severity:o.ERROR}):i(c.data)}catch(s){const t=h(null==s?void 0:s.code);e({error:a(s),code:t,severity:o.ERROR})}})({id:this.accountId,authToken:this.authToken,service:new d}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:e.MISSING_PROPS,message:this.errorMessage,severity:o.ERROR}))}render(){return this.errorMessage?n(this.errorMessage):r("gross-payment-chart-core",{getGrossPayment:this.getGrossPayment,"onError-event":this.handleErrorEvent})}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{m as justifi_gross_payment_chart}
1
+ import{r as s,c as t,h as r}from"./p-2783e363.js";import{A as i}from"./p-5f6b4bc9.js";import{a as o,C as e}from"./p-9dd8685c.js";import{g as a,a as h}from"./p-87f8c596.js";import{E as n}from"./p-12074378.js";import{c,J as p}from"./p-3188f72a.js";import"./p-bf195b35.js";import"./p-88a37837.js";class d{async fetchGrossVolumeChartData(s,t){return i({authToken:t,apiOrigin:"https://wc-proxy.justifi.ai"}).get(`account/${s}/reports/gross_volume`)}}const m=class{constructor(r){s(this,r),this.errorEvent=t(this,"error-event",7),this.handleErrorEvent=s=>{this.errorMessage=s.detail.message,this.errorEvent.emit(s.detail)},this.accountId=void 0,this.authToken=void 0,this.getGrossPayment=void 0,this.errorMessage=null}componentWillLoad(){c(),this.analytics=new p(this),this.initializeGetGrossPayment()}disconnectedCallback(){this.analytics.cleanup()}propChanged(){this.initializeGetGrossPayment()}initializeGetGrossPayment(){this.accountId&&this.authToken?this.getGrossPayment=(({id:s,authToken:t,service:r})=>async({onSuccess:i,onError:e})=>{var n;try{const c=await r.fetchGrossVolumeChartData(s,t);c.error?e({error:a(c.error),code:h(null===(n=c.error)||void 0===n?void 0:n.code),severity:o.ERROR}):i(c.data)}catch(s){const t=h(null==s?void 0:s.code);e({error:a(s),code:t,severity:o.ERROR})}})({id:this.accountId,authToken:this.authToken,service:new d}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:e.MISSING_PROPS,message:this.errorMessage,severity:o.ERROR}))}render(){return this.errorMessage?n(this.errorMessage):r("gross-payment-chart-core",{getGrossPayment:this.getGrossPayment,"onError-event":this.handleErrorEvent})}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{m as justifi_gross_payment_chart}
@@ -1 +1 @@
1
- import{r as t,c as s,h as e}from"./p-2783e363.js";import{P as i}from"./p-4fc263b2.js";import{a as r,C as o}from"./p-9dd8685c.js";import"./p-422948eb.js";import"./p-56f6ce4c.js";import{P as a}from"./p-4e010557.js";import"./p-c4f8ed38.js";import"./p-61f0a2ce.js";import{g as p,a as n}from"./p-87f8c596.js";import{E as h}from"./p-12074378.js";import{c,J as m}from"./p-cd5883b9.js";import"./p-5f6b4bc9.js";import"./p-08b64251.js";import"./p-abdbcd8e.js";import"./p-bf195b35.js";import"./p-5efe6236.js";const d=class{constructor(e){t(this,e),this.errorEvent=s(this,"error-event",7),this.paymentService=new i,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)},this.paymentId=void 0,this.authToken=void 0,this.getPaymentDetails=void 0,this.errorMessage=null}componentWillLoad(){c(),this.analytics=new m(this),this.initializeGetPaymentDetails()}disconnectedCallback(){this.analytics.cleanup()}propChanged(){this.initializeGetPaymentDetails()}initializeGetPaymentDetails(){this.paymentId&&this.authToken?this.getPaymentDetails=(({id:t,authToken:s,service:e})=>async({onSuccess:i,onError:o})=>{var h;try{const c=await e.fetchPayment(t,s);c.error?o({error:p(c.error),code:n(null===(h=c.error)||void 0===h?void 0:h.code),severity:r.ERROR}):i({payment:new a(c.data)})}catch(t){const s=n(null==t?void 0:t.code);o({error:p(t),code:s,severity:r.ERROR})}})({id:this.paymentId,authToken:this.authToken,service:new i}):(this.errorMessage="Payment ID and Auth Token are required",this.errorEvent.emit({message:this.errorMessage,errorCode:o.MISSING_PROPS,severity:r.ERROR}))}render(){return this.errorMessage?h(this.errorMessage):e("payment-details-core",{getPaymentDetails:this.getPaymentDetails,"onError-event":this.handleErrorEvent})}static get watchers(){return{paymentId:["propChanged"],authToken:["propChanged"]}}};export{d as justifi_payment_details}
1
+ import{r as t,c as s,h as i}from"./p-2783e363.js";import{P as e}from"./p-536fb8e2.js";import{a as r,C as o}from"./p-9dd8685c.js";import"./p-1366a019.js";import"./p-56f6ce4c.js";import{P as a}from"./p-3f5e6602.js";import"./p-2a9d7f6b.js";import"./p-61f0a2ce.js";import{g as p,a as n}from"./p-87f8c596.js";import{E as h}from"./p-12074378.js";import{c,J as m}from"./p-3188f72a.js";import"./p-5f6b4bc9.js";import"./p-f8fccf44.js";import"./p-abdbcd8e.js";import"./p-bf195b35.js";import"./p-88a37837.js";const d=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event",7),this.paymentService=new e,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)},this.paymentId=void 0,this.authToken=void 0,this.getPaymentDetails=void 0,this.errorMessage=null}componentWillLoad(){c(),this.analytics=new m(this),this.initializeGetPaymentDetails()}disconnectedCallback(){this.analytics.cleanup()}propChanged(){this.initializeGetPaymentDetails()}initializeGetPaymentDetails(){this.paymentId&&this.authToken?this.getPaymentDetails=(({id:t,authToken:s,service:i})=>async({onSuccess:e,onError:o})=>{var h;try{const c=await i.fetchPayment(t,s);c.error?o({error:p(c.error),code:n(null===(h=c.error)||void 0===h?void 0:h.code),severity:r.ERROR}):e({payment:new a(c.data)})}catch(t){const s=n(null==t?void 0:t.code);o({error:p(t),code:s,severity:r.ERROR})}})({id:this.paymentId,authToken:this.authToken,service:new e}):(this.errorMessage="Payment ID and Auth Token are required",this.errorEvent.emit({message:this.errorMessage,errorCode:o.MISSING_PROPS,severity:r.ERROR}))}render(){return this.errorMessage?h(this.errorMessage):i("payment-details-core",{getPaymentDetails:this.getPaymentDetails,"onError-event":this.handleErrorEvent})}static get watchers(){return{paymentId:["propChanged"],authToken:["propChanged"]}}};export{d as justifi_payment_details}
@@ -1 +1 @@
1
- import{h as t}from"./p-2783e363.js";import{B as e,a as i}from"./p-c8b78136.js";import{k as a,m as r}from"./p-bf195b35.js";import{e as n}from"./p-08b64251.js";const o="nickname,provider_serial_number,status",s={nickname:()=>t("th",{part:a,scope:"col",title:"The nickname associated with the terminal"},"Nickname"),model_name:()=>t("th",{part:a,scope:"col",title:"The model name of the terminal"},"Model Name"),id:()=>t("th",{part:a,scope:"col",title:"The ID of the terminal"},"ID"),provider:()=>t("th",{part:a,scope:"col",title:"The provider of the terminal"},"Provider"),provider_serial_number:()=>t("th",{part:a,scope:"col",title:"The serial number of the terminal"},"Serial Number"),provider_id:()=>t("th",{part:a,scope:"col",title:"The provider ID of the terminal"},"Provider ID"),sub_account_name:()=>t("th",{part:a,scope:"col",title:"The sub account associated with the terminal"},"Sub Account"),status:()=>t("th",{part:a,scope:"col",title:"The current status of each terminal"},"Status")},c={nickname:(e,i)=>t("td",{part:r(i)},e.nickname),model_name:(e,i)=>t("td",{part:r(i)},e.model_name),id:(e,i)=>t("td",{part:r(i)},e.id),provider:(e,i)=>t("td",{part:r(i)},n(e.provider)),provider_serial_number:(e,i)=>t("td",{part:r(i)},e.provider_serial_number),provider_id:(e,i)=>t("td",{part:r(i)},e.provider_id),sub_account_name:(e,i)=>t("td",{part:r(i)},e.sub_account_name),status:(a,n)=>t("td",{part:r(n)},t(e,Object.assign({},{connected:{variant:i.SUCCESS,title:"This terminal is connected",text:"Connected"},disconnected:{variant:i.DANGER,title:"This terminal is disconnected",text:"Disconnected"},unknown:{variant:i.SECONDARY,title:"The status of this terminal is unknown",text:"Unknown"},pending_configuration:{variant:i.WARNING,title:"This terminal is pending configuration",text:"Pending configuration"}}[a.status])))};export{c as a,o as d,s as t}
1
+ import{h as t}from"./p-2783e363.js";import{B as e,a as i}from"./p-c8b78136.js";import{k as a,m as r}from"./p-bf195b35.js";import{g as n}from"./p-f8fccf44.js";const o="nickname,provider_serial_number,status",s={nickname:()=>t("th",{part:a,scope:"col",title:"The nickname associated with the terminal"},"Nickname"),model_name:()=>t("th",{part:a,scope:"col",title:"The model name of the terminal"},"Model Name"),id:()=>t("th",{part:a,scope:"col",title:"The ID of the terminal"},"ID"),provider:()=>t("th",{part:a,scope:"col",title:"The provider of the terminal"},"Provider"),provider_serial_number:()=>t("th",{part:a,scope:"col",title:"The serial number of the terminal"},"Serial Number"),provider_id:()=>t("th",{part:a,scope:"col",title:"The provider ID of the terminal"},"Provider ID"),sub_account_name:()=>t("th",{part:a,scope:"col",title:"The sub account associated with the terminal"},"Sub Account"),status:()=>t("th",{part:a,scope:"col",title:"The current status of each terminal"},"Status")},c={nickname:(e,i)=>t("td",{part:r(i)},e.nickname),model_name:(e,i)=>t("td",{part:r(i)},e.model_name),id:(e,i)=>t("td",{part:r(i)},e.id),provider:(e,i)=>t("td",{part:r(i)},n(e.provider)),provider_serial_number:(e,i)=>t("td",{part:r(i)},e.provider_serial_number),provider_id:(e,i)=>t("td",{part:r(i)},e.provider_id),sub_account_name:(e,i)=>t("td",{part:r(i)},e.sub_account_name),status:(a,n)=>t("td",{part:r(n)},t(e,Object.assign({},{connected:{variant:i.SUCCESS,title:"This terminal is connected",text:"Connected"},disconnected:{variant:i.DANGER,title:"This terminal is disconnected",text:"Disconnected"},unknown:{variant:i.SECONDARY,title:"The status of this terminal is unknown",text:"Unknown"},pending_configuration:{variant:i.WARNING,title:"This terminal is pending configuration",text:"Pending configuration"}}[a.status])))};export{c as a,o as d,s as t}
@@ -1 +1 @@
1
- import{r as t,c as s,h as i,H as e}from"./p-2783e363.js";import{b as a,$ as o,a as h,c as r,l as c,t as f}from"./p-bf195b35.js";import{F as n}from"./p-2123c150.js";import{F as d}from"./p-dbc1a95b.js";import{f as l}from"./p-08b64251.js";const b=class{constructor(i){t(this,i),this.formControlInput=s(this,"formControlInput",7),this.formControlBlur=s(this,"formControlBlur",7),this.formatRawValue=t=>t.replace(/\D/g,""),this.formatDisplayValue=t=>l(+t,void 0,!0),this.updateInput=t=>{const s=this.formControl.name,i=this.formatRawValue(t);this.formControl.value=this.formatDisplayValue(i),this.inputHandler(s,i),this.formControlInput.emit({name:s,value:i})},this.isFocused=!1,this.name=void 0,this.label=void 0,this.inputHandler=void 0,this.defaultValue="0",this.helpText=void 0,this.errorText=void 0,this.maxLength=void 0,this.keyDownHandler=void 0,this.disabled=void 0}handleDefaultValueChange(t){this.updateInput(t)}componentDidLoad(){this.updateInput(this.defaultValue)}get part(){return this.errorText?a:this.disabled?o:this.isFocused?h:r}render(){return i(e,{key:"58676b687868b5a2d242bc929cae09afb5ae6fbf"},i("div",{key:"8046cc1e2fa66c5601e370e6dccfa25714649823",class:"form-group d-flex flex-column"},i("label",{key:"e4b085b30ee0c7b884204fa9bf467875247bcac0",part:c,class:"form-label",htmlFor:this.name},this.label),i(n,{key:"79bf26bc54c9cc94fedd3af56779de1554e62ce2",name:this.name,helpText:this.helpText}),i("div",{key:"453cb229e64e9429a26b38ffa62693793e5e48f8",class:"input-group"},i("span",{key:"663753b8d9c6a098326bd325822586c704624bc4",class:"input-group-text",part:f},"$"),i("input",{key:"9314ad2b99762df1a46c0e0f4632da4a091c59ef",ref:t=>this.formControl=t,id:this.name,name:this.name,onFocus:()=>this.isFocused=!0,onBlur:()=>{this.isFocused=!1,this.formControlBlur.emit()},onInput:t=>this.updateInput(t.target.value),onKeyDown:this.keyDownHandler,onPaste:this.keyDownHandler,maxLength:this.maxLength,part:this.part,class:this.errorText?"form-control is-invalid":"form-control",type:"text",disabled:this.disabled})),i(d,{key:"382864114f66187237ce08c12afb13abed2c298d",errorText:this.errorText,name:this.name})))}static get watchers(){return{defaultValue:["handleDefaultValueChange"]}}};export{b as form_control_monetary}
1
+ import{r as t,c as s,h as i,H as e}from"./p-2783e363.js";import{b as a,$ as o,a as h,c as r,l as c,t as f}from"./p-bf195b35.js";import{F as n}from"./p-2123c150.js";import{F as d}from"./p-dbc1a95b.js";import{f as l}from"./p-f8fccf44.js";const b=class{constructor(i){t(this,i),this.formControlInput=s(this,"formControlInput",7),this.formControlBlur=s(this,"formControlBlur",7),this.formatRawValue=t=>t.replace(/\D/g,""),this.formatDisplayValue=t=>l(+t,void 0,!0),this.updateInput=t=>{const s=this.formControl.name,i=this.formatRawValue(t);this.formControl.value=this.formatDisplayValue(i),this.inputHandler(s,i),this.formControlInput.emit({name:s,value:i})},this.isFocused=!1,this.name=void 0,this.label=void 0,this.inputHandler=void 0,this.defaultValue="0",this.helpText=void 0,this.errorText=void 0,this.maxLength=void 0,this.keyDownHandler=void 0,this.disabled=void 0}handleDefaultValueChange(t){this.updateInput(t)}componentDidLoad(){this.updateInput(this.defaultValue)}get part(){return this.errorText?a:this.disabled?o:this.isFocused?h:r}render(){return i(e,{key:"58676b687868b5a2d242bc929cae09afb5ae6fbf"},i("div",{key:"8046cc1e2fa66c5601e370e6dccfa25714649823",class:"form-group d-flex flex-column"},i("label",{key:"e4b085b30ee0c7b884204fa9bf467875247bcac0",part:c,class:"form-label",htmlFor:this.name},this.label),i(n,{key:"79bf26bc54c9cc94fedd3af56779de1554e62ce2",name:this.name,helpText:this.helpText}),i("div",{key:"453cb229e64e9429a26b38ffa62693793e5e48f8",class:"input-group"},i("span",{key:"663753b8d9c6a098326bd325822586c704624bc4",class:"input-group-text",part:f},"$"),i("input",{key:"9314ad2b99762df1a46c0e0f4632da4a091c59ef",ref:t=>this.formControl=t,id:this.name,name:this.name,onFocus:()=>this.isFocused=!0,onBlur:()=>{this.isFocused=!1,this.formControlBlur.emit()},onInput:t=>this.updateInput(t.target.value),onKeyDown:this.keyDownHandler,onPaste:this.keyDownHandler,maxLength:this.maxLength,part:this.part,class:this.errorText?"form-control is-invalid":"form-control",type:"text",disabled:this.disabled})),i(d,{key:"382864114f66187237ce08c12afb13abed2c298d",errorText:this.errorText,name:this.name})))}static get watchers(){return{defaultValue:["handleDefaultValueChange"]}}};export{b as form_control_monetary}
@@ -1 +1 @@
1
- import{A as t}from"./p-5f6b4bc9.js";import{a}from"./p-9dd8685c.js";import"./p-422948eb.js";import"./p-56f6ce4c.js";import"./p-4e010557.js";import"./p-c4f8ed38.js";import"./p-61f0a2ce.js";import{g as r,a as o}from"./p-87f8c596.js";class s{async fetchPayouts(a,r,o,s="https://wc-proxy.justifi.ai"){return t({authToken:r,apiOrigin:s}).get(`account/${a}/payouts`,o)}async fetchPayout(a,r,o="https://wc-proxy.justifi.ai"){return t({authToken:r,apiOrigin:o}).get(`payouts/${a}`)}async fetchCSV(a,r,o="https://wc-proxy.justifi.ai"){return t({authToken:r,apiOrigin:o}).get(`reports/payouts/${a}`)}}const i=({authToken:t,service:s,apiOrigin:i})=>async({payoutId:p,onError:c})=>{try{const{data:a}=await s.fetchCSV(p,t,i),r=document.createElement("a");r.href=a.csv_url,r.click()}catch(t){c({error:r(t),code:o(null==t?void 0:t.code),severity:a.ERROR})}};export{s as P,i as m}
1
+ import{A as t}from"./p-5f6b4bc9.js";import{a}from"./p-9dd8685c.js";import"./p-1366a019.js";import"./p-56f6ce4c.js";import"./p-3f5e6602.js";import"./p-2a9d7f6b.js";import"./p-61f0a2ce.js";import{g as r,a as o}from"./p-87f8c596.js";class s{async fetchPayouts(a,r,o,s="https://wc-proxy.justifi.ai"){return t({authToken:r,apiOrigin:s}).get(`account/${a}/payouts`,o)}async fetchPayout(a,r,o="https://wc-proxy.justifi.ai"){return t({authToken:r,apiOrigin:o}).get(`payouts/${a}`)}async fetchCSV(a,r,o="https://wc-proxy.justifi.ai"){return t({authToken:r,apiOrigin:o}).get(`reports/payouts/${a}`)}}const i=({authToken:t,service:s,apiOrigin:i})=>async({payoutId:p,onError:c})=>{try{const{data:a}=await s.fetchCSV(p,t,i),r=document.createElement("a");r.href=a.csv_url,r.click()}catch(t){c({error:r(t),code:o(null==t?void 0:t.code),severity:a.ERROR})}};export{s as P,i as m}
@@ -0,0 +1 @@
1
+ import{h as t}from"./p-2783e363.js";import{k as e,m as a}from"./p-bf195b35.js";import{d as r}from"./p-f8fccf44.js";import{B as s,a as d}from"./p-c8b78136.js";const o="created_at,updated_at,order_status,quantity",i={created_at:()=>t("th",{part:e,scope:"col",title:"The date and time the order was created"},"Created At"),updated_at:()=>t("th",{part:e,scope:"col",title:"The date and time the order was last updated"},"Updated At"),order_status:()=>t("th",{part:e,scope:"col",title:"The current status of the order"},"Order Status"),business_id:()=>t("th",{part:e,scope:"col",title:"The business ID associated with the order"},"Business ID"),company_name:()=>t("th",{part:e,scope:"col",title:"The business name associated with the order"},"Business Name"),provider:()=>t("th",{part:e,scope:"col",title:"The provider associated with the order"},"Provider"),order_type:()=>t("th",{part:e,scope:"col",title:"The type of order"},"Order Type"),quantity:()=>t("th",{part:e,scope:"col",title:"The number of terminals associated with the order"},"Order Quantity")},p={created_at:(e,s)=>t("td",{part:a(s)},t("div",{class:"fw-bold"},r(e.created_at,{showDisplayDate:!0})),t("div",{class:"fw-bold"},r(e.created_at,{showTime:!0}))),updated_at:(e,s)=>t("td",{part:a(s)},t("div",{class:"fw-bold"},r(e.updated_at,{showDisplayDate:!0})),t("div",{class:"fw-bold"},r(e.updated_at,{showTime:!0}))),order_status:(e,r)=>t("td",{part:a(r)},t(s,Object.assign({},{submitted:{variant:d.PRIMARY,title:"This order is submitted",text:"Submitted"},completed:{variant:d.SUCCESS,title:"This order has been completed",text:"Completed"},created:{variant:d.SECONDARY,title:"This order is created",text:"Created"}}[e.order_status]))),business_id:(e,r)=>t("td",{part:a(r)},e.business_id),company_name:(e,r)=>t("td",{part:a(r)},e.company_name),provider:(e,r)=>t("td",{part:a(r)},e.provider),order_type:(e,r)=>t("td",{part:a(r)},e.order_type),quantity:(e,r)=>t("td",{part:a(r)},e.terminals.length)};export{p as a,o as d,i as t}