@justifi/webcomponents 6.2.0 → 6.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/dist/cjs/bank-account-document-form-inputs_6.cjs.entry.js +2 -2
  2. package/dist/cjs/{business-additional-questions-schema-BzHg6qqg.js → business-additional-questions-schema-CE-z5qrr.js} +1 -1
  3. package/dist/cjs/{business-identity-schema-Di-jf6nr.js → business-identity-schema-rMMiHyPz.js} +2 -2
  4. package/dist/cjs/{check-pkg-version-Cz6cM3zf.js → check-pkg-version-BVyea38i.js} +1 -1
  5. package/dist/cjs/{checkout.store-BiT7zKgX.js → checkout.store-BA6h-dp2.js} +2 -0
  6. package/dist/cjs/custom-popper.cjs.entry.js +2 -2
  7. package/dist/cjs/form-control-file-v2_2.cjs.entry.js +3 -3
  8. package/dist/cjs/form-control-monetary.cjs.entry.js +2 -2
  9. package/dist/cjs/form-control-number-masked_3.cjs.entry.js +2 -2
  10. package/dist/cjs/form-control-number.cjs.entry.js +2 -2
  11. package/dist/cjs/form-control-radio.cjs.entry.js +2 -2
  12. package/dist/cjs/form-control-select_3.cjs.entry.js +2 -2
  13. package/dist/cjs/hidden-input_2.cjs.entry.js +5 -5
  14. package/dist/cjs/{justifi-bank-account-billing-form-simple_9.cjs.entry.js → internal-tokenize-payment-method_7.cjs.entry.js} +254 -139
  15. package/dist/cjs/justifi-additional-questions-form-step-core_6.cjs.entry.js +3 -3
  16. package/dist/cjs/{justifi-apple-pay_8.cjs.entry.js → justifi-apple-pay_7.cjs.entry.js} +4 -259
  17. package/dist/cjs/justifi-bank-account-billing-form-simple_3.cjs.entry.js +147 -0
  18. package/dist/cjs/justifi-business-details.cjs.entry.js +2 -2
  19. package/dist/cjs/justifi-business-form.cjs.entry.js +5 -5
  20. package/dist/cjs/justifi-checkout.cjs.entry.js +6 -5
  21. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +2 -2
  22. package/dist/cjs/justifi-dispute-management.cjs.entry.js +2 -2
  23. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +2 -2
  24. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +2 -2
  25. package/dist/cjs/justifi-order-terminals.cjs.entry.js +2 -2
  26. package/dist/cjs/justifi-owner-form_3.cjs.entry.js +2 -2
  27. package/dist/cjs/justifi-payment-details.cjs.entry.js +2 -2
  28. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +2 -2
  29. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +2 -2
  30. package/dist/cjs/justifi-payments-list.cjs.entry.js +2 -2
  31. package/dist/cjs/justifi-payout-details.cjs.entry.js +2 -2
  32. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +2 -2
  33. package/dist/cjs/justifi-payouts-list.cjs.entry.js +2 -2
  34. package/dist/cjs/justifi-refund-payment.cjs.entry.js +2 -2
  35. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +3 -3
  36. package/dist/cjs/justifi-skeleton.cjs.entry.js +1 -1
  37. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +2 -2
  38. package/dist/cjs/justifi-terminals-list.cjs.entry.js +2 -2
  39. package/dist/cjs/justifi-tokenize-payment-method.cjs.entry.js +15 -0
  40. package/dist/cjs/loader.cjs.js +1 -1
  41. package/dist/cjs/{package-CHe5hX1H.js → package-keJMf4WX.js} +1 -1
  42. package/dist/cjs/{schema-validations-AxtufX7q.js → schema-validations-BOiGVUHM.js} +1 -1
  43. package/dist/cjs/webcomponents.cjs.js +1 -1
  44. package/dist/collection/collection-manifest.json +1 -0
  45. package/dist/collection/components/business-forms/schemas/business-address-schema.js +2 -2
  46. package/dist/collection/components/business-forms/schemas/schema-validations.js +1 -1
  47. package/dist/collection/components/checkout/checkout.js +31 -2
  48. package/dist/collection/components/modular-checkout/sub-components/billing-form-full.js +1 -2
  49. package/dist/collection/components/modular-checkout/sub-components/card-billing-form-simple.js +1 -2
  50. package/dist/collection/components/tokenize-payment-method/internal-tokenize-payment-method.js +626 -0
  51. package/dist/collection/components/tokenize-payment-method/tokenize-payment-method.js +2 -422
  52. package/dist/collection/store/checkout.store.js +2 -0
  53. package/dist/collection/ui-components/custom-popper/custom-popper.js +2 -2
  54. package/dist/collection/ui-components/form/form-control-file-v2.js +1 -1
  55. package/dist/collection/ui-components/form/form-control-file.js +2 -2
  56. package/dist/collection/ui-components/form/form-control-monetary.js +2 -2
  57. package/dist/collection/ui-components/form/form-control-number-masked.js +2 -2
  58. package/dist/collection/ui-components/form/form-control-number.js +2 -2
  59. package/dist/collection/ui-components/form/form-control-radio.js +2 -2
  60. package/dist/collection/ui-components/form/form-control-text.js +2 -2
  61. package/dist/collection/ui-components/form/form-control-textarea.js +2 -2
  62. package/dist/collection/ui-components/form/hidden-input.js +1 -1
  63. package/dist/collection/ui-components/form/iframe-input.js +3 -3
  64. package/dist/collection/ui-components/shadow-dom-components/justifi-button.js +1 -1
  65. package/dist/collection/ui-components/shadow-dom-components/justifi-header.js +1 -1
  66. package/dist/collection/ui-components/shadow-dom-components/justifi-skeleton.js +1 -1
  67. package/dist/docs.json +590 -242
  68. package/dist/esm/additional-questions-details_5.entry.js +2 -2
  69. package/dist/esm/{badge-BkjjtNUQ.js → badge-Bgosx-DC.js} +1 -1
  70. package/dist/esm/bank-account-document-form-inputs_6.entry.js +5 -5
  71. package/dist/esm/bank-account-form.entry.js +2 -2
  72. package/dist/esm/{business-additional-questions-schema-BCXg6YTP.js → business-additional-questions-schema-QFJEOHF5.js} +1 -1
  73. package/dist/esm/business-details-core.entry.js +3 -3
  74. package/dist/esm/{business-identity-schema-CvzdGI9h.js → business-identity-schema-DB_Hhjld.js} +2 -2
  75. package/dist/esm/{button-DHljyr0K.js → button-DBmjN7Ra.js} +1 -1
  76. package/dist/esm/card-form.entry.js +2 -2
  77. package/dist/esm/{check-pkg-version-DrqnlTa_.js → check-pkg-version-BZb5Z6DW.js} +1 -1
  78. package/dist/esm/{checkout.store-CMsV0tl9.js → checkout.store-CaS_htQd.js} +2 -0
  79. package/dist/esm/checkouts-list-core.entry.js +5 -5
  80. package/dist/esm/{checkouts-table-Dn1sFyZs.js → checkouts-table-lgbZpF1o.js} +2 -2
  81. package/dist/esm/custom-popper.entry.js +2 -2
  82. package/dist/esm/form-alert_5.entry.js +1 -1
  83. package/dist/esm/form-control-checkbox.entry.js +3 -3
  84. package/dist/esm/form-control-date.entry.js +2 -2
  85. package/dist/esm/{form-control-error-text-Cje0veu2.js → form-control-error-text-B5LSdUXI.js} +1 -1
  86. package/dist/esm/form-control-file-v2_2.entry.js +5 -5
  87. package/dist/esm/{form-control-help-text-ClJnecm3.js → form-control-help-text-BK9RNOf-.js} +1 -1
  88. package/dist/esm/form-control-monetary-provisioning.entry.js +3 -3
  89. package/dist/esm/form-control-monetary.entry.js +5 -5
  90. package/dist/esm/form-control-number-masked_3.entry.js +4 -4
  91. package/dist/esm/form-control-number.entry.js +5 -5
  92. package/dist/esm/form-control-radio.entry.js +3 -3
  93. package/dist/esm/form-control-select_3.entry.js +4 -4
  94. package/dist/esm/gross-payment-chart-core.entry.js +3 -3
  95. package/dist/esm/{header-1-uiFiNrVs.js → header-1-CPF3S2CC.js} +1 -1
  96. package/dist/esm/{header-3-BVYYTpLc.js → header-3-Cah707hu.js} +1 -1
  97. package/dist/esm/hidden-input_2.entry.js +7 -7
  98. package/dist/esm/{insurance-state-iJs0LRg_.js → insurance-state-DRe0g_wf.js} +1 -1
  99. package/dist/esm/internal-tokenize-payment-method_7.entry.js +460 -0
  100. package/dist/esm/justifi-additional-questions-form-step-core_6.entry.js +6 -6
  101. package/dist/esm/justifi-additional-questions-form-step_9.entry.js +2 -2
  102. package/dist/esm/justifi-additional-statement_8.entry.js +1 -1
  103. package/dist/esm/{justifi-apple-pay_8.entry.js → justifi-apple-pay_7.entry.js} +10 -264
  104. package/dist/esm/justifi-bank-account-billing-form-simple_3.entry.js +143 -0
  105. package/dist/esm/justifi-business-details.entry.js +4 -4
  106. package/dist/esm/justifi-business-form.entry.js +9 -9
  107. package/dist/esm/justifi-business-representative-form-inputs.entry.js +1 -1
  108. package/dist/esm/justifi-checkout.entry.js +7 -6
  109. package/dist/esm/justifi-checkouts-list-filters.entry.js +1 -1
  110. package/dist/esm/justifi-checkouts-list.entry.js +5 -5
  111. package/dist/esm/justifi-details.entry.js +2 -2
  112. package/dist/esm/justifi-dispute-management.entry.js +2 -2
  113. package/dist/esm/justifi-dispute-notification_3.entry.js +5 -5
  114. package/dist/esm/justifi-gross-payment-chart.entry.js +4 -4
  115. package/dist/esm/justifi-order-terminals.entry.js +4 -4
  116. package/dist/esm/justifi-owner-form_3.entry.js +4 -4
  117. package/dist/esm/justifi-payment-details.entry.js +4 -4
  118. package/dist/esm/justifi-payment-provisioning-core.entry.js +2 -2
  119. package/dist/esm/justifi-payment-provisioning.entry.js +2 -2
  120. package/dist/esm/justifi-payment-transactions-list.entry.js +5 -5
  121. package/dist/esm/justifi-payments-list-filters.entry.js +1 -1
  122. package/dist/esm/justifi-payments-list.entry.js +6 -6
  123. package/dist/esm/justifi-payout-details.entry.js +4 -4
  124. package/dist/esm/justifi-payout-transactions-list.entry.js +5 -5
  125. package/dist/esm/justifi-payouts-list-filters.entry.js +1 -1
  126. package/dist/esm/justifi-payouts-list.entry.js +6 -6
  127. package/dist/esm/justifi-refund-payment.entry.js +5 -5
  128. package/dist/esm/justifi-saved-payment-method.entry.js +1 -1
  129. package/dist/esm/justifi-season-interruption-insurance.entry.js +6 -6
  130. package/dist/esm/justifi-skeleton.entry.js +3 -3
  131. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +1 -1
  132. package/dist/esm/justifi-terminal-orders-list.entry.js +5 -5
  133. package/dist/esm/justifi-terminals-list-filters.entry.js +1 -1
  134. package/dist/esm/justifi-terminals-list.entry.js +5 -5
  135. package/dist/esm/justifi-tokenize-payment-method.entry.js +13 -0
  136. package/dist/esm/loader.js +1 -1
  137. package/dist/esm/{package-BjCdImSF.js → package-C19Xk7z3.js} +1 -1
  138. package/dist/esm/pagination-menu.entry.js +1 -1
  139. package/dist/esm/{parts-Dj_zevuD.js → parts-wtuY7MT2.js} +1 -1
  140. package/dist/esm/payment-details-core.entry.js +5 -5
  141. package/dist/esm/payment-method-option.entry.js +1 -1
  142. package/dist/esm/payments-list-core.entry.js +6 -6
  143. package/dist/esm/{payments-status-DK2me5T2.js → payments-status-Dypl6WFL.js} +1 -1
  144. package/dist/esm/{payments-table-DxRdl7-E.js → payments-table-CK9BRZEz.js} +2 -2
  145. package/dist/esm/payout-details-core.entry.js +6 -6
  146. package/dist/esm/payouts-list-core.entry.js +6 -6
  147. package/dist/esm/{payouts-status-BfEM6F8q.js → payouts-status-hTCBgpLW.js} +1 -1
  148. package/dist/esm/{payouts-table-C2binjIW.js → payouts-table-Dd8IDBBX.js} +2 -2
  149. package/dist/esm/{schema-validations-CoIE0a4H.js → schema-validations-B5sfox_4.js} +2 -2
  150. package/dist/esm/{skeleton-DdynMBnt.js → skeleton-BmRZRW5K.js} +1 -1
  151. package/dist/esm/{spinner-BRMSkfVc.js → spinner-tU4D9iak.js} +1 -1
  152. package/dist/esm/{table-DYlsfkCm.js → table-Cjq1A6mO.js} +2 -2
  153. package/dist/esm/table-filters-menu.entry.js +2 -2
  154. package/dist/esm/terminal-orders-list-core.entry.js +5 -5
  155. package/dist/esm/{terminal-orders-table-zf0ASRCr.js → terminal-orders-table-CMWBIr9y.js} +2 -2
  156. package/dist/esm/terminal-quantity-selector.entry.js +1 -1
  157. package/dist/esm/terminals-list-core.entry.js +5 -5
  158. package/dist/esm/{terminals-table-DNUTk3gi.js → terminals-table-D9okETJr.js} +2 -2
  159. package/dist/esm/{utils-DUz-H1tG.js → utils-BX7Rjm1M.js} +1 -1
  160. package/dist/esm/webcomponents.js +1 -1
  161. package/dist/module/Refund.js +1 -1
  162. package/dist/module/additional-statement.js +1 -1
  163. package/dist/module/billing-form-full.js +1 -2
  164. package/dist/module/billing-form-schema.js +1 -1
  165. package/dist/module/business-additional-questions-form-step.js +1 -1
  166. package/dist/module/business-additional-questions-schema.js +1 -1
  167. package/dist/module/business-address-schema.js +2 -2
  168. package/dist/module/business-bank-account-form-step-core.js +1 -1
  169. package/dist/module/business-bank-account-form-step.js +1 -1
  170. package/dist/module/business-core-info-form-step.js +1 -1
  171. package/dist/module/business-owners-form-step.js +1 -1
  172. package/dist/module/business-representative-form-step.js +1 -1
  173. package/dist/module/business-terms-conditions-form-step.js +1 -1
  174. package/dist/module/button.js +1 -1
  175. package/dist/module/cancellation-policy.js +1 -1
  176. package/dist/module/card-billing-form-simple.js +1 -2
  177. package/dist/module/checkout.store.js +2 -0
  178. package/dist/module/custom-popper2.js +2 -2
  179. package/dist/module/customer-details.js +1 -1
  180. package/dist/module/dispute-response-actions.js +1 -1
  181. package/dist/module/dispute-response.js +1 -1
  182. package/dist/module/duplicate-charge.js +1 -1
  183. package/dist/module/electronic-evidence.js +1 -1
  184. package/dist/module/form-control-file-v22.js +1 -1
  185. package/dist/module/form-control-file2.js +2 -2
  186. package/dist/module/form-control-monetary2.js +2 -2
  187. package/dist/module/form-control-number-masked2.js +2 -2
  188. package/dist/module/form-control-number.js +2 -2
  189. package/dist/module/form-control-radio2.js +2 -2
  190. package/dist/module/form-control-text2.js +2 -2
  191. package/dist/module/form-control-textarea2.js +2 -2
  192. package/dist/module/get-business.js +1 -1
  193. package/dist/module/get-payment-details.js +1 -1
  194. package/dist/module/get-payout-csv.js +1 -1
  195. package/dist/module/get-subaccounts.js +1 -1
  196. package/dist/module/hidden-input2.js +1 -1
  197. package/dist/module/iframe-input2.js +3 -3
  198. package/dist/module/internal-tokenize-payment-method.d.ts +11 -0
  199. package/dist/module/internal-tokenize-payment-method.js +6 -0
  200. package/dist/module/{tokenize-payment-method.js → internal-tokenize-payment-method2.js} +8 -8
  201. package/dist/module/justifi-business-details.js +1 -1
  202. package/dist/module/justifi-business-form.js +1 -1
  203. package/dist/module/justifi-button2.js +1 -1
  204. package/dist/module/justifi-checkout.js +39 -37
  205. package/dist/module/justifi-checkouts-list.js +1 -1
  206. package/dist/module/justifi-dispute-management.js +1 -1
  207. package/dist/module/justifi-gross-payment-chart.js +1 -1
  208. package/dist/module/justifi-header2.js +1 -1
  209. package/dist/module/justifi-order-terminals.js +2 -2
  210. package/dist/module/justifi-payment-details.js +1 -1
  211. package/dist/module/justifi-payment-provisioning.js +1 -1
  212. package/dist/module/justifi-payment-transactions-list.js +1 -1
  213. package/dist/module/justifi-payments-list.js +1 -1
  214. package/dist/module/justifi-payout-details.js +1 -1
  215. package/dist/module/justifi-payout-transactions-list.js +1 -1
  216. package/dist/module/justifi-payouts-list.js +1 -1
  217. package/dist/module/justifi-refund-payment.js +1 -1
  218. package/dist/module/justifi-season-interruption-insurance.js +1 -1
  219. package/dist/module/justifi-skeleton.js +1 -1
  220. package/dist/module/justifi-terminal-orders-list.js +1 -1
  221. package/dist/module/justifi-terminals-list.js +1 -1
  222. package/dist/module/justifi-tokenize-payment-method.js +154 -1
  223. package/dist/module/legal-address-form-step.js +1 -1
  224. package/dist/module/modular-checkout.js +1 -1
  225. package/dist/module/package.js +1 -1
  226. package/dist/module/parts.js +1 -1
  227. package/dist/module/payment-provisioning-actions.js +1 -1
  228. package/dist/module/payment-provisioning-core.js +1 -1
  229. package/dist/module/payouts-list-core2.js +1 -1
  230. package/dist/module/plaid-payment-method.js +1 -1
  231. package/dist/module/product-or-service.js +1 -1
  232. package/dist/module/refund-policy.js +1 -1
  233. package/dist/module/schema-validations.js +2 -2
  234. package/dist/module/shipping-details.js +1 -1
  235. package/dist/module/utils4.js +1 -1
  236. package/dist/types/components/checkout/checkout.d.ts +4 -2
  237. package/dist/types/components/tokenize-payment-method/internal-tokenize-payment-method.d.ts +60 -0
  238. package/dist/types/components/tokenize-payment-method/tokenize-payment-method.d.ts +0 -47
  239. package/dist/types/components.d.ts +97 -56
  240. package/dist/types/store/checkout.store.d.ts +1 -0
  241. package/dist/webcomponents/{p-73e766d2.entry.js → p-00e0a745.entry.js} +1 -1
  242. package/dist/webcomponents/{p-6c2b5d37.entry.js → p-087a81ff.entry.js} +1 -1
  243. package/dist/webcomponents/{p-56d9a8f1.entry.js → p-0ce046fd.entry.js} +1 -1
  244. package/dist/webcomponents/{p-62cdb2b1.entry.js → p-1193a1ac.entry.js} +1 -1
  245. package/dist/webcomponents/{p-e3a41b95.entry.js → p-14d2f6c6.entry.js} +1 -1
  246. package/dist/webcomponents/{p-264d9183.entry.js → p-1eae32ac.entry.js} +1 -1
  247. package/dist/webcomponents/{p-198a6ae3.entry.js → p-1edec396.entry.js} +1 -1
  248. package/dist/webcomponents/{p-065eafc5.entry.js → p-20a8b0c0.entry.js} +1 -1
  249. package/dist/webcomponents/{p-3cb3a241.entry.js → p-22f74666.entry.js} +1 -1
  250. package/dist/webcomponents/p-2769f945.entry.js +1 -0
  251. package/dist/webcomponents/{p-f87b9b86.entry.js → p-2cd5733e.entry.js} +1 -1
  252. package/dist/webcomponents/p-30f61f44.entry.js +1 -0
  253. package/dist/webcomponents/{p-5aa27e1b.entry.js → p-37a55eaf.entry.js} +1 -1
  254. package/dist/webcomponents/p-3c38cec5.entry.js +1 -0
  255. package/dist/webcomponents/p-40d3a480.entry.js +1 -0
  256. package/dist/webcomponents/{p-82b13550.entry.js → p-45936490.entry.js} +1 -1
  257. package/dist/webcomponents/{p-abf2073d.entry.js → p-4761e0aa.entry.js} +1 -1
  258. package/dist/webcomponents/{p-91f22211.entry.js → p-4c3eea2b.entry.js} +1 -1
  259. package/dist/webcomponents/{p-27acf7cc.entry.js → p-4dcbc0af.entry.js} +1 -1
  260. package/dist/webcomponents/{p-46d7ca2f.entry.js → p-4e23116c.entry.js} +4 -4
  261. package/dist/webcomponents/{p-910af6e1.entry.js → p-5464b902.entry.js} +1 -1
  262. package/dist/webcomponents/{p-ab1ef223.entry.js → p-54facfdc.entry.js} +1 -1
  263. package/dist/webcomponents/{p-85336b64.entry.js → p-56a8e07d.entry.js} +1 -1
  264. package/dist/webcomponents/{p-52cb10a7.entry.js → p-58ae4f9e.entry.js} +1 -1
  265. package/dist/webcomponents/p-5d1fb433.entry.js +1 -0
  266. package/dist/webcomponents/p-5f81a3d6.entry.js +1 -0
  267. package/dist/webcomponents/{p-ccc771d0.entry.js → p-696a5c8e.entry.js} +1 -1
  268. package/dist/webcomponents/p-6b6003d2.entry.js +1 -0
  269. package/dist/webcomponents/{p-590290a2.entry.js → p-716ddc27.entry.js} +1 -1
  270. package/dist/webcomponents/{p-9633fbb8.entry.js → p-7218c312.entry.js} +1 -1
  271. package/dist/webcomponents/{p-83cd698c.entry.js → p-75c65531.entry.js} +1 -1
  272. package/dist/webcomponents/{p-d217f6ea.entry.js → p-800660f2.entry.js} +1 -1
  273. package/dist/webcomponents/p-84e2bd93.entry.js +1 -0
  274. package/dist/webcomponents/{p-6677f09f.entry.js → p-8681f258.entry.js} +1 -1
  275. package/dist/webcomponents/{p-98a50760.entry.js → p-87a2a830.entry.js} +1 -1
  276. package/dist/webcomponents/{p-e788ecc9.entry.js → p-89518b26.entry.js} +1 -1
  277. package/dist/webcomponents/{p-e549cd33.entry.js → p-95593721.entry.js} +1 -1
  278. package/dist/webcomponents/{p-e29bdbc2.entry.js → p-9d914297.entry.js} +1 -1
  279. package/dist/webcomponents/{p-5eb2698f.entry.js → p-9f70ce93.entry.js} +1 -1
  280. package/dist/webcomponents/p-B-0a8Xqm.js +1 -0
  281. package/dist/webcomponents/{p-D2DVDmwd.js → p-BNqo3kt0.js} +1 -1
  282. package/dist/webcomponents/{p-B-7rLJIB.js → p-BTzt8N0l.js} +1 -1
  283. package/dist/webcomponents/{p-C9Ho60F2.js → p-BitGlMSc.js} +1 -1
  284. package/dist/webcomponents/p-Bli6WznP.js +1 -0
  285. package/dist/webcomponents/{p-DkOvNRJs.js → p-Bqlcv3ZV.js} +1 -1
  286. package/dist/webcomponents/p-BuCKkdLM.js +1 -0
  287. package/dist/webcomponents/{p-BB3MQDQq.js → p-BydKIJVC.js} +1 -1
  288. package/dist/webcomponents/p-C-2kW6Al.js +1 -0
  289. package/dist/webcomponents/p-C19Xk7z3.js +1 -0
  290. package/dist/webcomponents/{p-D8HCCl2t.js → p-CkN7DFFn.js} +1 -1
  291. package/dist/webcomponents/p-D1WQG4I7.js +1 -0
  292. package/dist/webcomponents/{p-Cu1FEdFr.js → p-DOLBAxYf.js} +1 -1
  293. package/dist/webcomponents/p-DU8dqq9U.js +1 -0
  294. package/dist/webcomponents/{p-pV1ZX4A8.js → p-DV4RaYYL.js} +1 -1
  295. package/dist/webcomponents/{p-fDGfMEwy.js → p-DkOiS6Zr.js} +1 -1
  296. package/dist/webcomponents/{p-BVWZSqCK.js → p-KPmnq8xf.js} +1 -1
  297. package/dist/webcomponents/{p-28c28c0b.entry.js → p-a655b996.entry.js} +1 -1
  298. package/dist/webcomponents/{p-ad4900de.entry.js → p-a6e37d4a.entry.js} +1 -1
  299. package/dist/webcomponents/{p-256a95eb.entry.js → p-a8f7cf9b.entry.js} +1 -1
  300. package/dist/webcomponents/{p-8993c961.entry.js → p-ae7a027b.entry.js} +1 -1
  301. package/dist/webcomponents/{p-1414e80b.entry.js → p-aec9185f.entry.js} +1 -1
  302. package/dist/webcomponents/p-avgjSJ1d.js +1 -0
  303. package/dist/webcomponents/{p-97bfb8d5.entry.js → p-b07470fa.entry.js} +1 -1
  304. package/dist/webcomponents/{p-93806238.entry.js → p-b2f969a6.entry.js} +1 -1
  305. package/dist/webcomponents/p-b4d8a3f6.entry.js +1 -0
  306. package/dist/webcomponents/{p-q6C7btl0.js → p-bolTb61p.js} +1 -1
  307. package/dist/webcomponents/p-c0198eef.entry.js +1 -0
  308. package/dist/webcomponents/{p-2a53a095.entry.js → p-c1831747.entry.js} +1 -1
  309. package/dist/webcomponents/{p-99af02c9.entry.js → p-c31fe838.entry.js} +1 -1
  310. package/dist/webcomponents/p-c3b71a1f.entry.js +1 -0
  311. package/dist/webcomponents/{p-4e90834e.entry.js → p-c7279bc6.entry.js} +1 -1
  312. package/dist/webcomponents/p-c7MCfTgE.js +1 -0
  313. package/dist/webcomponents/{p-e06327aa.entry.js → p-c8f40375.entry.js} +1 -1
  314. package/dist/webcomponents/{p-7f8cd8dd.entry.js → p-d182f489.entry.js} +1 -1
  315. package/dist/webcomponents/{p-728158a8.entry.js → p-d4b8274f.entry.js} +1 -1
  316. package/dist/webcomponents/{p-071c1047.entry.js → p-d86b8ce7.entry.js} +1 -1
  317. package/dist/webcomponents/p-dc0d3484.entry.js +1 -0
  318. package/dist/webcomponents/{p-24be9ef6.entry.js → p-dfe68bf0.entry.js} +1 -1
  319. package/dist/webcomponents/{p-BfYkosa4.js → p-dgG_o6wN.js} +1 -1
  320. package/dist/webcomponents/{p-f02ab3fd.entry.js → p-e2e6c201.entry.js} +1 -1
  321. package/dist/webcomponents/{p-238859ef.entry.js → p-eb56ba9b.entry.js} +1 -1
  322. package/dist/webcomponents/{p-0d928de1.entry.js → p-ed55d333.entry.js} +1 -1
  323. package/dist/webcomponents/p-edcb84bf.entry.js +1 -0
  324. package/dist/webcomponents/{p-9db64da8.entry.js → p-f1af630f.entry.js} +1 -1
  325. package/dist/webcomponents/{p-6023553c.entry.js → p-f5fb1af2.entry.js} +1 -1
  326. package/dist/webcomponents/{p-79cb28bd.entry.js → p-fab28b02.entry.js} +1 -1
  327. package/dist/webcomponents/p-fda2d53b.entry.js +1 -0
  328. package/dist/webcomponents/{p-DsR5Dt9w.js → p-jTVpG8Gt.js} +1 -1
  329. package/dist/webcomponents/{p-DwLZbA7D.js → p-nrZ9yHcl.js} +1 -1
  330. package/dist/webcomponents/{p-Dj_zevuD.js → p-wtuY7MT2.js} +1 -1
  331. package/dist/webcomponents/p-zNSPsvs3.js +1 -0
  332. package/dist/webcomponents/webcomponents.esm.js +1 -1
  333. package/package.json +2 -1
  334. package/dist/esm/justifi-bank-account-billing-form-simple_9.entry.js +0 -343
  335. package/dist/webcomponents/p-20a85390.entry.js +0 -1
  336. package/dist/webcomponents/p-2859a8e3.entry.js +0 -1
  337. package/dist/webcomponents/p-336b08de.entry.js +0 -1
  338. package/dist/webcomponents/p-36259848.entry.js +0 -1
  339. package/dist/webcomponents/p-568577d4.entry.js +0 -1
  340. package/dist/webcomponents/p-6b563428.entry.js +0 -1
  341. package/dist/webcomponents/p-92f0e010.entry.js +0 -1
  342. package/dist/webcomponents/p-BHe87s0Y.js +0 -1
  343. package/dist/webcomponents/p-BjCdImSF.js +0 -1
  344. package/dist/webcomponents/p-C2gAiiwJ.js +0 -1
  345. package/dist/webcomponents/p-C7m-gAAM.js +0 -1
  346. package/dist/webcomponents/p-CO8ZJ0jB.js +0 -1
  347. package/dist/webcomponents/p-CbBTgsKC.js +0 -1
  348. package/dist/webcomponents/p-CgbXzEbz.js +0 -1
  349. package/dist/webcomponents/p-Cpp4qrH2.js +0 -1
  350. package/dist/webcomponents/p-JvWiY69B.js +0 -1
  351. package/dist/webcomponents/p-VhOlg78I.js +0 -1
  352. package/dist/webcomponents/p-a49ca7d8.entry.js +0 -1
  353. package/dist/webcomponents/p-cdf94860.entry.js +0 -1
  354. package/dist/webcomponents/p-d8fc3996.entry.js +0 -1
  355. package/dist/webcomponents/p-e77490af.entry.js +0 -1
  356. package/dist/webcomponents/p-f17188cf.entry.js +0 -1
@@ -0,0 +1,460 @@
1
+ import { r as registerInstance, c as createEvent, h, g as getElement, H as Host } from './index-DwYM91AU.js';
2
+ import { S as StyledHost } from './styled-host-DhOcKWqZ.js';
3
+ import './event-types-CZfYo5-1.js';
4
+ import { c as checkPkgVersion, J as JustifiAnalytics } from './check-pkg-version-BZb5Z6DW.js';
5
+ import { w as waitForConfig, c as configState } from './config-state-C2NXATwF.js';
6
+ import './dinero-HXpYMWUU.js';
7
+ import { a as ComponentErrorCodes, C as ComponentErrorSeverity } from './ComponentError-Cjcsf8ku.js';
8
+ import './Refund-L_muwEAh.js';
9
+ import './Pagination-CLHwhyvu.js';
10
+ import './Business-B5rtFhtR.js';
11
+ import './Dispute-BH0Xfn-F.js';
12
+ import { c as checkoutStore } from './checkout.store-CaS_htQd.js';
13
+ import { P as PAYMENT_METHODS } from './index-DCIW8z1f.js';
14
+ import { S as Skeleton } from './skeleton-BmRZRW5K.js';
15
+ import { B as Button } from './button-DBmjN7Ra.js';
16
+ import { r as radioListItem } from './parts-wtuY7MT2.js';
17
+ import './package-C19Xk7z3.js';
18
+ import './Api-DX-IWyBw.js';
19
+ import './utils-CIaHqjQt.js';
20
+ import './index-B-fWxE5e.js';
21
+
22
+ const JustifiRadioListItem = class {
23
+ constructor(hostRef) {
24
+ registerInstance(this, hostRef);
25
+ this.radioClick = createEvent(this, "radio-click");
26
+ this.checked = false;
27
+ this.hidden = false;
28
+ this.handleClick = () => {
29
+ this.radioClick.emit(this.value);
30
+ };
31
+ }
32
+ render() {
33
+ return (h(StyledHost, { key: '1ae40f787970160e38b72f917bda96f480d2a890' }, h("div", { key: '2130596c8294cc38365e6126806735da0f93ef4a', class: `radio-list-item p-3 ${this.class || ''}`, part: radioListItem, onClick: this.handleClick, hidden: this.hidden }, h("form-control-radio", { key: '7d5524f518430f2bfd1c9863f354318929353cfb', name: this.name, value: this.value, checked: this.checked, label: this.label, inputHandler: () => null }))));
34
+ }
35
+ };
36
+
37
+ // Constants
38
+ const PAYMENT_METHOD_TYPE_LABELS = {
39
+ [PAYMENT_METHODS.NEW_BANK_ACCOUNT]: 'New bank account',
40
+ [PAYMENT_METHODS.NEW_CARD]: 'New credit or debit card',
41
+ };
42
+ const ERROR_MESSAGES = {
43
+ AUTH_TOKEN_REQUIRED: 'Auth token is required when using the tokenize-payment-method component not slotted in justifi-modular-checkout',
44
+ ACCOUNT_ID_REQUIRED: 'Account ID is required when using the tokenize-payment-method component not slotted in justifi-modular-checkout',
45
+ FORM_NOT_READY: 'Payment form not ready',
46
+ VALIDATION_ERROR: 'Validation error',
47
+ };
48
+ const InternalTokenizePaymentMethod = class {
49
+ constructor(hostRef) {
50
+ registerInstance(this, hostRef);
51
+ this.errorEvent = createEvent(this, "error-event");
52
+ this.submitEvent = createEvent(this, "submit-event");
53
+ this.computedHideSubmitButton = false;
54
+ this.isLoading = false;
55
+ this.submitButtonText = 'Submit';
56
+ }
57
+ paymentMethodsChanged() {
58
+ this.setDefaultSelectedPaymentMethod();
59
+ }
60
+ connectedCallback() {
61
+ this.setDefaultSelectedPaymentMethod();
62
+ this.setComputedHideSubmitButton();
63
+ }
64
+ disconnectedCallback() {
65
+ var _a;
66
+ (_a = this.analytics) === null || _a === void 0 ? void 0 : _a.cleanup();
67
+ if (this.unsubscribeFromStore) {
68
+ this.unsubscribeFromStore();
69
+ }
70
+ }
71
+ componentWillLoad() {
72
+ checkPkgVersion();
73
+ this.analytics = new JustifiAnalytics(this);
74
+ }
75
+ handleRadioClick(event) {
76
+ this.selectedPaymentMethod = event.detail;
77
+ checkoutStore.selectedPaymentMethod = { type: event.detail };
78
+ }
79
+ async fillBillingForm(fields) {
80
+ var _a;
81
+ (_a = this.billingFormRef) === null || _a === void 0 ? void 0 : _a.fill(fields);
82
+ }
83
+ async tokenizePaymentMethod(event) {
84
+ event === null || event === void 0 ? void 0 : event.preventDefault();
85
+ this.validateRequiredProps();
86
+ this.isLoading = true;
87
+ try {
88
+ const validation = await this.validate();
89
+ if (!validation.isValid) {
90
+ this.errorEvent.emit({
91
+ errorCode: ComponentErrorCodes.TOKENIZE_ERROR,
92
+ message: ERROR_MESSAGES.VALIDATION_ERROR,
93
+ });
94
+ this.isLoading = false;
95
+ return;
96
+ }
97
+ const tokenizeResponse = await this.resolvePaymentMethod({ isValid: true });
98
+ if (tokenizeResponse.error) {
99
+ this.emitError({
100
+ errorCode: tokenizeResponse.error.code,
101
+ message: tokenizeResponse.error.message,
102
+ });
103
+ }
104
+ this.submitEvent.emit({ response: tokenizeResponse });
105
+ return tokenizeResponse;
106
+ }
107
+ catch (error) {
108
+ const errorResponse = this.createErrorResponse(ComponentErrorCodes.TOKENIZE_ERROR, error.message);
109
+ this.emitError({
110
+ errorCode: ComponentErrorCodes.TOKENIZE_ERROR,
111
+ message: error.message,
112
+ });
113
+ this.submitEvent.emit({ response: errorResponse });
114
+ return errorResponse;
115
+ }
116
+ finally {
117
+ this.isLoading = false;
118
+ }
119
+ }
120
+ async validate() {
121
+ if (!this.areFormsReady()) {
122
+ return { isValid: false, errors: { general: ERROR_MESSAGES.FORM_NOT_READY } };
123
+ }
124
+ const [billingValidation, paymentMethodValidation] = await Promise.all([
125
+ this.billingFormRef.validate(),
126
+ this.paymentMethodFormRef.validate(),
127
+ ]);
128
+ const result = {
129
+ isValid: billingValidation.isValid && paymentMethodValidation.isValid,
130
+ errors: Object.assign(Object.assign({}, billingValidation.errors), paymentMethodValidation.errors),
131
+ };
132
+ return result;
133
+ }
134
+ async tokenize() {
135
+ try {
136
+ const billingFormFieldValues = await this.billingFormRef.getValues();
137
+ const config = {
138
+ clientId: this.authToken || checkoutStore.authToken,
139
+ account: this.accountId || checkoutStore.accountId,
140
+ paymentMethodMetadata: this.buildPaymentMethodMetadata(billingFormFieldValues),
141
+ };
142
+ return await this.paymentMethodFormRef.tokenize(config);
143
+ }
144
+ catch (error) {
145
+ return error;
146
+ }
147
+ }
148
+ // 9. Local methods
149
+ validateRequiredProps() {
150
+ if (!this.authToken && !checkoutStore.authToken) {
151
+ this.emitError({
152
+ errorCode: ComponentErrorCodes.TOKENIZE_ERROR,
153
+ message: ERROR_MESSAGES.AUTH_TOKEN_REQUIRED,
154
+ });
155
+ }
156
+ if (!this.accountId && !checkoutStore.accountId) {
157
+ this.emitError({
158
+ errorCode: ComponentErrorCodes.TOKENIZE_ERROR,
159
+ message: ERROR_MESSAGES.ACCOUNT_ID_REQUIRED,
160
+ });
161
+ }
162
+ }
163
+ setDefaultSelectedPaymentMethod() {
164
+ if (this.selectedPaymentMethod) {
165
+ return;
166
+ }
167
+ if (!this.disableCreditCard) {
168
+ this.selectedPaymentMethod = PAYMENT_METHODS.NEW_CARD;
169
+ checkoutStore.selectedPaymentMethod = { type: PAYMENT_METHODS.NEW_CARD };
170
+ }
171
+ else if (!this.disableBankAccount) {
172
+ this.selectedPaymentMethod = PAYMENT_METHODS.NEW_BANK_ACCOUNT;
173
+ checkoutStore.selectedPaymentMethod = { type: PAYMENT_METHODS.NEW_BANK_ACCOUNT };
174
+ }
175
+ }
176
+ setComputedHideSubmitButton() {
177
+ // If hideSubmitButton prop is explicitly set, use that value
178
+ if (this.hideSubmitButton !== undefined) {
179
+ this.computedHideSubmitButton = this.hideSubmitButton;
180
+ return;
181
+ }
182
+ // Otherwise, auto-detect if component is slotted within modular-checkout
183
+ const isWithinModularCheckout = this.isSlottedWithinModularCheckout();
184
+ this.computedHideSubmitButton = isWithinModularCheckout;
185
+ }
186
+ isSlottedWithinModularCheckout() {
187
+ var _a;
188
+ let parent = (_a = this.host) === null || _a === void 0 ? void 0 : _a.parentElement;
189
+ while (parent) {
190
+ if (parent.tagName === 'JUSTIFI-MODULAR-CHECKOUT') {
191
+ return true;
192
+ }
193
+ parent = parent.parentElement;
194
+ }
195
+ return false;
196
+ }
197
+ get availablePaymentMethods() {
198
+ const methods = [];
199
+ if (!this.disableCreditCard) {
200
+ methods.push(PAYMENT_METHODS.NEW_CARD);
201
+ }
202
+ if (!this.disableBankAccount) {
203
+ methods.push(PAYMENT_METHODS.NEW_BANK_ACCOUNT);
204
+ }
205
+ return methods;
206
+ }
207
+ areFormsReady() {
208
+ return !!(this.billingFormRef && this.paymentMethodFormRef);
209
+ }
210
+ emitError(errorData) {
211
+ this.errorEvent.emit(Object.assign(Object.assign({}, errorData), { severity: ComponentErrorSeverity.ERROR }));
212
+ }
213
+ createErrorResponse(code, message) {
214
+ return {
215
+ error: {
216
+ code: code,
217
+ message,
218
+ decline_code: undefined,
219
+ },
220
+ };
221
+ }
222
+ async resolvePaymentMethod(insuranceValidation) {
223
+ if (!this.areFormsReady()) {
224
+ return this.createErrorResponse('form_not_ready', ERROR_MESSAGES.FORM_NOT_READY);
225
+ }
226
+ try {
227
+ const validation = await this.validate();
228
+ if (!validation.isValid || !insuranceValidation.isValid) {
229
+ const errorMessage = Object.values(validation.errors)[0] || ERROR_MESSAGES.VALIDATION_ERROR;
230
+ return {
231
+ validationError: true,
232
+ error: {
233
+ code: 'validation_error',
234
+ message: String(errorMessage),
235
+ decline_code: undefined,
236
+ },
237
+ };
238
+ }
239
+ const result = await this.performTokenization();
240
+ return result;
241
+ }
242
+ catch (error) {
243
+ return { error };
244
+ }
245
+ }
246
+ async performTokenization() {
247
+ var _a, _b;
248
+ const tokenizeResponse = await this.tokenize();
249
+ if (tokenizeResponse.error) {
250
+ return { error: tokenizeResponse.error };
251
+ }
252
+ const tokenizeResponseData = tokenizeResponse.data;
253
+ return {
254
+ token: ((_a = tokenizeResponseData.card) === null || _a === void 0 ? void 0 : _a.token) || ((_b = tokenizeResponseData.bank_account) === null || _b === void 0 ? void 0 : _b.token),
255
+ data: tokenizeResponseData,
256
+ };
257
+ }
258
+ buildPaymentMethodMetadata(billingFormFieldValues) {
259
+ return this.shouldSavePaymentMethod
260
+ ? Object.assign(Object.assign({}, billingFormFieldValues), { payment_method_group_id: this.paymentMethodGroupID }) : Object.assign({}, billingFormFieldValues);
261
+ }
262
+ get paymentMethodGroupID() {
263
+ return this.paymentMethodGroupId || checkoutStore.paymentMethodGroupId;
264
+ }
265
+ get shouldSavePaymentMethod() {
266
+ return !!(this.paymentMethodGroupId || checkoutStore.savePaymentMethod);
267
+ }
268
+ get shouldHideRadioInput() {
269
+ return this.disableCreditCard || this.disableBankAccount;
270
+ }
271
+ renderPaymentMethodOption(paymentMethodType) {
272
+ const isSelected = this.selectedPaymentMethod === paymentMethodType && checkoutStore.selectedPaymentMethod.id === undefined;
273
+ return (h("div", { class: "payment-method" }, h("justifi-radio-list-item", { name: "paymentMethodType", value: paymentMethodType, checked: isSelected, label: PAYMENT_METHOD_TYPE_LABELS[paymentMethodType], hidden: this.shouldHideRadioInput }), isSelected && this.renderSelectedPaymentMethodForm(paymentMethodType)));
274
+ }
275
+ renderSelectedPaymentMethodForm(paymentMethodType) {
276
+ return (h("div", { class: "mt-4 pb-4" }, this.renderPaymentMethodForm(paymentMethodType), h("div", { class: "mt-4" }, h("justifi-billing-form", { ref: (el) => (this.billingFormRef = el), hideCardBillingForm: this.hideCardBillingForm, hideBankAccountBillingForm: this.hideBankAccountBillingForm, paymentMethodType: paymentMethodType })), h("div", { class: "mt-4" }, h("justifi-save-new-payment-method", { hidden: !this.paymentMethodGroupID, label: this.savePaymentMethodLabel }))));
277
+ }
278
+ renderPaymentMethodForm(paymentMethodType) {
279
+ return paymentMethodType === PAYMENT_METHODS.NEW_CARD ? (h("justifi-card-form", { ref: (el) => (this.paymentMethodFormRef = el) })) : (h("justifi-bank-account-form", { ref: (el) => (this.paymentMethodFormRef = el) }));
280
+ }
281
+ render() {
282
+ return (h(StyledHost, { key: 'e1ee33f08d3eaff9a2951bd30ef9814a5d959b35' }, h("form", { key: 'df73d7965968c0efc3ee2b35a9a85d551915e5a1' }, h("fieldset", { key: '2967ed65f1c0af42082a8b7c255db5fdc1c78019' }, h("div", { key: 'f45b8e074f39ec6abefc8f7e30bdf0ae57b1272c', class: "row gy-3" }, h("div", { key: 'fe9c90b34d60802f4d0dc51863874151f4a17b2b', class: "col-12" }, this.availablePaymentMethods.map((method) => this.renderPaymentMethodOption(method))), h("div", { key: 'ff1b8332d70fe68c3d3140c5a173dd8b419b6a8e', class: "col-12" }, h("justifi-button", { key: 'bf2ced1a5164a9c9af2bf2c5b750c5f9734dc86b', text: this.submitButtonText, variant: "primary", type: "submit", clickHandler: (e) => this.tokenizePaymentMethod(e), isLoading: this.isLoading, "data-testid": "submit-button", hidden: this.computedHideSubmitButton })))))));
283
+ }
284
+ get host() { return getElement(this); }
285
+ static get watchers() { return {
286
+ "disableCreditCard": ["paymentMethodsChanged"],
287
+ "disableBankAccount": ["paymentMethodsChanged"]
288
+ }; }
289
+ };
290
+
291
+ const BankAccountFormSkeleton = (props) => {
292
+ const { isReady } = props;
293
+ if (isReady) {
294
+ return null;
295
+ }
296
+ return (h("div", { class: "container-fluid p-0" }, h("div", { class: "row mb-3" }, h("div", { class: "col-12 align-content-end" }, h(Skeleton, { height: "18px", width: "120px" }), h(Skeleton, { height: "36px" }))), h("div", { class: "row" }, h("div", { class: "col-12 align-content-end" }, h(Skeleton, { height: "18px", width: "110px" }), h(Skeleton, { height: "36px" })))));
297
+ };
298
+
299
+ const BankAccountForm = class {
300
+ constructor(hostRef) {
301
+ registerInstance(this, hostRef);
302
+ this.isReady = false;
303
+ }
304
+ async componentWillLoad() {
305
+ await waitForConfig();
306
+ this.iframeOrigin = configState.iframeOrigin;
307
+ checkPkgVersion();
308
+ this.analytics = new JustifiAnalytics(this);
309
+ }
310
+ componentDidRender() {
311
+ const elements = [
312
+ this.accountNumberIframeElement,
313
+ this.routingNumberIframeElement,
314
+ ];
315
+ Promise.all(elements.map((element) => {
316
+ return new Promise((resolve) => {
317
+ element.addEventListener('iframeLoaded', () => { resolve(); });
318
+ });
319
+ })).then(() => {
320
+ this.isReady = true;
321
+ });
322
+ }
323
+ disconnectedCallback() {
324
+ var _a;
325
+ (_a = this.analytics) === null || _a === void 0 ? void 0 : _a.cleanup();
326
+ }
327
+ async validate() {
328
+ const accountNumberIsValid = await this.accountNumberIframeElement.validate();
329
+ const routingNumberIsValid = await this.routingNumberIframeElement.validate();
330
+ return accountNumberIsValid && routingNumberIsValid;
331
+ }
332
+ async tokenize({ clientId, paymentMethodMetadata, account }) {
333
+ return this.accountNumberIframeElement.tokenize(clientId, paymentMethodMetadata, account);
334
+ }
335
+ render() {
336
+ return (h(StyledHost, { key: '62431aba939585a8a341942d9847e8d491b0a658' }, h(BankAccountFormSkeleton, { key: '2da8452c73e52a6fc67d80e483c40a2d0dd276f9', isReady: this.isReady }), h("hidden-input", { key: 'c34bc48ee7e1925ae272b5fe60fd362ddf2433eb' }), h("div", { key: '3fefe63e9f9c98d7e08e0ceac5df0f8008303aec', class: "container-fluid p-0", style: {
337
+ opacity: this.isReady ? '1' : '0',
338
+ height: this.isReady ? 'auto' : '0',
339
+ } }, h("div", { key: '6c19ea238eb0bff6b245f2f39028d651438c55d0', class: "row mb-3" }, h("iframe-input", { key: 'b5588dc21d24ec873fecedd91fbcb0344fbe324c', inputId: "accountNumber", ref: (el) => (this.accountNumberIframeElement = el), label: "Account Number", iframeOrigin: `${this.iframeOrigin}/v2/accountNumber` })), h("div", { key: '910f130a307449a3d60ef76eee6cc27fc86c3fe0', class: "row" }, h("iframe-input", { key: '72756b92912c3031cc472dee5bbf945f06c38920', inputId: "routingNumber", ref: (el) => (this.routingNumberIframeElement = el), label: "Routing Number", iframeOrigin: `${this.iframeOrigin}/v2/routingNumber` })))));
340
+ }
341
+ };
342
+
343
+ const BillingForm = class {
344
+ constructor(hostRef) {
345
+ registerInstance(this, hostRef);
346
+ }
347
+ get showSimpleCardBillingForm() {
348
+ return this.paymentMethodType === PAYMENT_METHODS.NEW_CARD && this.hideCardBillingForm;
349
+ }
350
+ get showSimpleBankAccountBillingForm() {
351
+ return this.paymentMethodType === PAYMENT_METHODS.NEW_BANK_ACCOUNT && this.hideBankAccountBillingForm;
352
+ }
353
+ async getValues() {
354
+ var _a;
355
+ return (_a = this.selectedFormRef) === null || _a === void 0 ? void 0 : _a.getValues();
356
+ }
357
+ async fill(fields) {
358
+ var _a;
359
+ (_a = this.selectedFormRef) === null || _a === void 0 ? void 0 : _a.fill(fields);
360
+ }
361
+ async validate() {
362
+ var _a;
363
+ return (_a = this.selectedFormRef) === null || _a === void 0 ? void 0 : _a.validate();
364
+ }
365
+ render() {
366
+ if (this.showSimpleBankAccountBillingForm) {
367
+ return (h(Host, null, h("justifi-bank-account-billing-form-simple", { legend: this.legend, ref: (el) => (this.selectedFormRef = el) })));
368
+ }
369
+ if (this.showSimpleCardBillingForm) {
370
+ return (h(Host, null, h("justifi-card-billing-form-simple", { legend: this.legend, ref: (el) => (this.selectedFormRef = el) })));
371
+ }
372
+ return (h(Host, null, h("justifi-billing-form-full", { legend: this.legend, ref: (el) => (this.selectedFormRef = el) })));
373
+ }
374
+ };
375
+
376
+ const JustifiButton = class {
377
+ constructor(hostRef) {
378
+ registerInstance(this, hostRef);
379
+ this.variant = 'primary';
380
+ this.type = 'button';
381
+ }
382
+ render() {
383
+ return (h(StyledHost, { key: 'e3b353dac8bf4c078fed17a4854c6ee1891df140' }, h(Button, { key: '76bfcc8763775a3442fe7f8c307400c1fa829da0', variant: this.variant, isLoading: this.isLoading, clickHandler: this.clickHandler, class: this.class, type: this.type, disabled: this.disabled, style: this.customStyle }, this.text)));
384
+ }
385
+ };
386
+
387
+ const CardFormSkeleton = (props) => {
388
+ const { isReady } = props;
389
+ if (isReady) {
390
+ return null;
391
+ }
392
+ return (h("div", { class: "container-fluid p-0" }, h("div", { class: "mb-3" }, h(Skeleton, { height: "18px", width: "100px" }), h(Skeleton, { height: "36px" })), h("div", { class: "row" }, h("div", { class: "col-4 align-content-end" }, h(Skeleton, { height: "18px", width: "80px" }), h(Skeleton, { height: "36px" })), h("div", { class: "col-4 align-content-end" }, h(Skeleton, { height: "36px" })), h("div", { class: "col-4 align-content-end" }, h(Skeleton, { height: "18px", width: "30px" }), h(Skeleton, { height: "36px" })))));
393
+ };
394
+
395
+ const JustifiCardForm = class {
396
+ constructor(hostRef) {
397
+ registerInstance(this, hostRef);
398
+ this.isReady = false;
399
+ }
400
+ async componentWillLoad() {
401
+ await waitForConfig();
402
+ this.iframeOrigin = configState.iframeOrigin;
403
+ checkPkgVersion();
404
+ this.analytics = new JustifiAnalytics(this);
405
+ }
406
+ componentDidRender() {
407
+ const elements = [
408
+ this.cardNumberIframeElement,
409
+ this.expirationMonthIframeElement,
410
+ this.expirationYearIframeElement,
411
+ this.cvvIframeElement,
412
+ ];
413
+ Promise.all(elements.map((element) => {
414
+ return new Promise((resolve) => {
415
+ element.addEventListener('iframeLoaded', () => { resolve(); });
416
+ });
417
+ })).then(() => {
418
+ this.isReady = true;
419
+ });
420
+ }
421
+ disconnectedCallback() {
422
+ var _a;
423
+ (_a = this.analytics) === null || _a === void 0 ? void 0 : _a.cleanup();
424
+ }
425
+ async validate() {
426
+ const cardNumberIsValid = await this.cardNumberIframeElement.validate();
427
+ const expirationMonthIsValid = await this.expirationMonthIframeElement.validate();
428
+ const expirationYearIsValid = await this.expirationYearIframeElement.validate();
429
+ const cvvIsValid = await this.cvvIframeElement.validate();
430
+ return cardNumberIsValid && expirationMonthIsValid && expirationYearIsValid && cvvIsValid;
431
+ }
432
+ async tokenize({ clientId, paymentMethodMetadata, account, }) {
433
+ return this.cardNumberIframeElement.tokenize(clientId, paymentMethodMetadata, account);
434
+ }
435
+ render() {
436
+ return (h(StyledHost, { key: '0db53b1dace76a8e02bab9f65fdc70e20f440a62' }, h(CardFormSkeleton, { key: 'ea756f1799b01b81a678ce5bd2592551edd81211', isReady: this.isReady }), h("hidden-input", { key: 'a6203630db26bfbb683e2b45174c79d753154eda' }), h("div", { key: 'dbb6328ba3a27106474f6b9af6fc3c347b99ae7d', class: "container-fluid p-0", style: {
437
+ opacity: this.isReady ? '1' : '0',
438
+ height: this.isReady ? 'auto' : '0',
439
+ } }, h("div", { key: '64055e42612ce94da35022d7e8314ed917f90f8a', class: "mb-3" }, h("iframe-input", { key: 'e99008d298b6ec6e22ff5a4e73042e3e8805f09b', inputId: "cardNumber", ref: (el) => (this.cardNumberIframeElement = el), label: "Card Number", iframeOrigin: `${this.iframeOrigin}/v2/cardNumber` })), h("div", { key: '34ed1849877a47fe6ec32f443472fa9c913dae67', class: "row" }, h("div", { key: '39bfdd5c8dd6271315a09cd3022083fe4b45f5ea', class: "col-4 align-content-end" }, h("iframe-input", { key: '981b65ebd142396312d09df8927fd5d08a5dea72', inputId: "expirationMonth", ref: (el) => (this.expirationMonthIframeElement = el), label: "Expiration", iframeOrigin: `${this.iframeOrigin}/v2/expirationMonth` })), h("div", { key: 'a6fee6c1cc609b665b3ba9935190a43a118c5e5c', class: "col-4 align-content-end" }, h("iframe-input", { key: '257b738139e182dc6e9f6a6893f8b6a0bc3f6b69', inputId: "expirationYear", ref: (el) => (this.expirationYearIframeElement = el), label: "", iframeOrigin: `${this.iframeOrigin}/v2/expirationYear` })), h("div", { key: '523316b64f673cdf89b5d01c1ecf4cf25ccef246', class: "col-4 align-content-end" }, h("iframe-input", { key: '37305b54e421d759ded57b0f9de7743a07be4b5b', inputId: "CVV", ref: (el) => (this.cvvIframeElement = el), label: "CVV", iframeOrigin: `${this.iframeOrigin}/v2/CVV` }))))));
440
+ }
441
+ };
442
+
443
+ const SaveNewPaymentMethod = class {
444
+ constructor(hostRef) {
445
+ registerInstance(this, hostRef);
446
+ this.checkboxChanged = createEvent(this, "checkboxChanged");
447
+ this.label = 'Save New Payment Method';
448
+ this.isChecked = false;
449
+ this.handleCheckboxChange = (_name, value) => {
450
+ this.isChecked = value;
451
+ checkoutStore.savePaymentMethod = value;
452
+ this.checkboxChanged.emit(this.isChecked);
453
+ };
454
+ }
455
+ render() {
456
+ return (h(StyledHost, { key: '9aa9ce812c0cb2fdc809c47060ed150903ad7cd5' }, h("form-control-checkbox", { key: '596bc9a145e363c751c8610f4b9f23ad31dab299', label: this.label || 'Save New Payment Method', name: "saveNewPaymentMethod", checked: this.isChecked, inputHandler: this.handleCheckboxChange })));
457
+ }
458
+ };
459
+
460
+ export { InternalTokenizePaymentMethod as internal_tokenize_payment_method, BankAccountForm as justifi_bank_account_form, BillingForm as justifi_billing_form, JustifiButton as justifi_button, JustifiCardForm as justifi_card_form, JustifiRadioListItem as justifi_radio_list_item, SaveNewPaymentMethod as justifi_save_new_payment_method };
@@ -1,23 +1,23 @@
1
1
  import { h, r as registerInstance, c as createEvent } from './index-DwYM91AU.js';
2
- import { a as additionalQuestionsSchema, c as businessCoreInfoSchemaCAN, b as businessCoreInfoSchemaUSA } from './business-additional-questions-schema-BCXg6YTP.js';
2
+ import { a as additionalQuestionsSchema, c as businessCoreInfoSchemaCAN, b as businessCoreInfoSchemaUSA } from './business-additional-questions-schema-QFJEOHF5.js';
3
3
  import { F as FormController, c as create$3, a as create$6, b as create$8 } from './index.esm-IWS0494Y.js';
4
4
  import { A as AdditionalQuestions, C as CountryCode, e as CoreBusinessInfo, R as Representative, f as Address } from './Business-B5rtFhtR.js';
5
5
  import { C as CURRENCY_MASK, P as PHONE_MASKS } from './form-input-masks-CVaOFfrI.js';
6
- import { G as heading2, l as label, U as inputDisabled, _ as buttonSecondary } from './parts-Dj_zevuD.js';
7
- import { S as Skeleton } from './skeleton-DdynMBnt.js';
6
+ import { G as heading2, l as label, U as inputDisabled, _ as buttonSecondary } from './parts-wtuY7MT2.js';
7
+ import { S as Skeleton } from './skeleton-BmRZRW5K.js';
8
8
  import './event-types-CZfYo5-1.js';
9
9
  import { b as businessServiceReceivedOptions, r as recurringPaymentsOptions, s as seasonalBusinessOptions, c as businessClassificationOptions } from './business-form-options-D6s5H4RI.js';
10
10
  import { a as BusinessFormStep, B as BusinessFormClickActions } from './event-types-XYgDHrVL.js';
11
11
  import { E as EntityDocumentType, l as EntityDocumentStorage, m as EntityDocument } from './Refund-L_muwEAh.js';
12
- import { B as accountNumberValidation, C as accountTypeValidation, z as identityNameValidation, D as nicknameValidation, E as bankNameValidation, F as numbersOnlyRegex, G as routingNumberValidation } from './schema-validations-CoIE0a4H.js';
12
+ import { C as accountNumberValidation, D as accountTypeValidation, y as identityNameValidation, E as nicknameValidation, F as bankNameValidation, G as numbersOnlyRegex, H as routingNumberValidation } from './schema-validations-B5sfox_4.js';
13
13
  import './config-state-C2NXATwF.js';
14
14
  import './dinero-HXpYMWUU.js';
15
15
  import { C as ComponentErrorSeverity, a as ComponentErrorCodes } from './ComponentError-Cjcsf8ku.js';
16
16
  import './Pagination-CLHwhyvu.js';
17
17
  import './Dispute-BH0Xfn-F.js';
18
18
  import { c as countryLabels } from './country-config-BQ4D46Lb.js';
19
- import { B as Button } from './button-DHljyr0K.js';
20
- import { d as identitySchemaByCountry, e as addressSchemaByCountry } from './business-identity-schema-CvzdGI9h.js';
19
+ import { B as Button } from './button-DBmjN7Ra.js';
20
+ import { d as identitySchemaByCountry, e as addressSchemaByCountry } from './business-identity-schema-DB_Hhjld.js';
21
21
  import './_commonjsHelpers-BFTU3MAI.js';
22
22
  import './utils-CIaHqjQt.js';
23
23
  import './index-B-fWxE5e.js';
@@ -10,9 +10,9 @@ import { C as CountryCode } from './Business-B5rtFhtR.js';
10
10
  import './Dispute-BH0Xfn-F.js';
11
11
  import { c as create$3, d as create$7, F as FormController } from './index.esm-IWS0494Y.js';
12
12
  import { A as Api } from './Api-DX-IWyBw.js';
13
- import { G as heading2 } from './parts-Dj_zevuD.js';
13
+ import { G as heading2 } from './parts-wtuY7MT2.js';
14
14
  import { a as BusinessFormStep, B as BusinessFormClickActions } from './event-types-XYgDHrVL.js';
15
- import { B as Button } from './button-DHljyr0K.js';
15
+ import { B as Button } from './button-DBmjN7Ra.js';
16
16
  import './event-types-CZfYo5-1.js';
17
17
  import './utils-BeQLScSm.js';
18
18
  import './index-B-fWxE5e.js';
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h } from './index-DwYM91AU.js';
2
2
  import { c as create$3, a as create$6, F as FormController } from './index.esm-IWS0494Y.js';
3
- import { an as heading5 } from './parts-Dj_zevuD.js';
3
+ import { ao as heading5 } from './parts-wtuY7MT2.js';
4
4
  import './_commonjsHelpers-BFTU3MAI.js';
5
5
 
6
6
  const AdditionalStatementSchema = create$3({