@justifi/webcomponents 6.4.3 → 6.5.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (543) hide show
  1. package/dist/cjs/{Refund-BnhHNKLz.js → GooglePay-D3zN44IX.js} +415 -0
  2. package/dist/cjs/bank-account-document-form-inputs_6.cjs.entry.js +8 -7
  3. package/dist/cjs/bank-account-form.cjs.entry.js +2 -2
  4. package/dist/cjs/{business.service-DIlSj5KT.js → business.service-88yKWtbE.js} +1 -1
  5. package/dist/cjs/card-form.cjs.entry.js +2 -2
  6. package/dist/cjs/{check-pkg-version-CnAkXgrN.js → check-pkg-version-DV1hwzA2.js} +2 -2
  7. package/dist/cjs/{checkout.service-Ce0F8cOf.js → checkout.service-Cj1RxduX.js} +1 -1
  8. package/dist/cjs/checkouts-list-core.cjs.entry.js +3 -2
  9. package/dist/cjs/custom-popper.cjs.entry.js +2 -2
  10. package/dist/cjs/{dispute.service-DuYeSUgK.js → dispute.service-AXzLxuOs.js} +1 -1
  11. package/dist/cjs/form-alert_5.cjs.entry.js +6 -6
  12. package/dist/cjs/form-control-checkbox.cjs.entry.js +2 -2
  13. package/dist/cjs/form-control-date.cjs.entry.js +2 -2
  14. package/dist/cjs/form-control-file-v2_2.cjs.entry.js +3 -3
  15. package/dist/cjs/form-control-monetary-provisioning.cjs.entry.js +2 -2
  16. package/dist/cjs/form-control-monetary.cjs.entry.js +2 -2
  17. package/dist/cjs/form-control-number-masked_3.cjs.entry.js +4 -4
  18. package/dist/cjs/form-control-number.cjs.entry.js +2 -2
  19. package/dist/cjs/form-control-radio.cjs.entry.js +2 -2
  20. package/dist/cjs/form-control-select_3.cjs.entry.js +4 -4
  21. package/dist/cjs/{get-payment-details-vVIxYblm.js → get-payment-details-DVBTf7h5.js} +2 -2
  22. package/dist/cjs/{get-subaccounts-yo2pT61R.js → get-subaccounts-DuYNs7Ny.js} +2 -2
  23. package/dist/cjs/gross-payment-chart-core.cjs.entry.js +1 -1
  24. package/dist/cjs/hidden-input_2.cjs.entry.js +5 -5
  25. package/dist/cjs/{index-C2ITzalN.js → index-CajjbB9t.js} +1 -0
  26. package/dist/cjs/index.cjs.js +1 -1
  27. package/dist/cjs/internal-tokenize-payment-method_7.cjs.entry.js +23 -24
  28. package/dist/cjs/justifi-additional-questions-form-step-core_6.cjs.entry.js +6 -5
  29. package/dist/cjs/justifi-additional-questions-form-step_9.cjs.entry.js +12 -11
  30. package/dist/cjs/justifi-additional-statement_8.cjs.entry.js +8 -8
  31. package/dist/cjs/{justifi-apple-pay_7.cjs.entry.js → justifi-apple-pay_8.cjs.entry.js} +903 -253
  32. package/dist/cjs/justifi-bank-account-billing-form-simple_3.cjs.entry.js +2 -2
  33. package/dist/cjs/justifi-business-details.cjs.entry.js +5 -4
  34. package/dist/cjs/justifi-business-form.cjs.entry.js +5 -4
  35. package/dist/cjs/justifi-business-representative-form-inputs.cjs.entry.js +2 -2
  36. package/dist/cjs/justifi-checkout.cjs.entry.js +14 -15
  37. package/dist/cjs/justifi-checkouts-list-filters.cjs.entry.js +9 -8
  38. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +8 -7
  39. package/dist/cjs/justifi-details.cjs.entry.js +1 -1
  40. package/dist/cjs/justifi-dispute-management-core.cjs.entry.js +1 -1
  41. package/dist/cjs/justifi-dispute-management.cjs.entry.js +6 -5
  42. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +9 -8
  43. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +4 -3
  44. package/dist/cjs/justifi-order-terminals.cjs.entry.js +10 -9
  45. package/dist/cjs/justifi-owner-form_3.cjs.entry.js +7 -6
  46. package/dist/cjs/justifi-payment-details.cjs.entry.js +6 -5
  47. package/dist/cjs/justifi-payment-provisioning-core.cjs.entry.js +1 -1
  48. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +6 -5
  49. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +7 -6
  50. package/dist/cjs/justifi-payments-list-filters.cjs.entry.js +2 -2
  51. package/dist/cjs/justifi-payments-list.cjs.entry.js +7 -6
  52. package/dist/cjs/justifi-payout-details.cjs.entry.js +6 -5
  53. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +7 -6
  54. package/dist/cjs/justifi-payouts-list-filters.cjs.entry.js +2 -2
  55. package/dist/cjs/justifi-payouts-list.cjs.entry.js +8 -7
  56. package/dist/cjs/justifi-refund-payment.cjs.entry.js +10 -9
  57. package/dist/cjs/justifi-saved-payment-method.cjs.entry.js +1 -1
  58. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +7 -8
  59. package/dist/cjs/justifi-skeleton.cjs.entry.js +1 -1
  60. package/dist/cjs/justifi-terminal-orders-list-filters.cjs.entry.js +12 -11
  61. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +7 -6
  62. package/dist/cjs/justifi-terminals-list-filters.cjs.entry.js +8 -7
  63. package/dist/cjs/justifi-terminals-list.cjs.entry.js +8 -7
  64. package/dist/cjs/justifi-tokenize-payment-method.cjs.entry.js +1 -1
  65. package/dist/cjs/loader.cjs.js +1 -1
  66. package/dist/cjs/{package-CfJO8jEa.js → package-MS7_CYge.js} +1 -1
  67. package/dist/cjs/pagination-menu.cjs.entry.js +3 -3
  68. package/dist/cjs/payment-details-core.cjs.entry.js +11 -10
  69. package/dist/cjs/payment-method-option.cjs.entry.js +1 -1
  70. package/dist/cjs/{payment.service-DLvoJ2K6.js → payment.service-7Ayen6ud.js} +1 -1
  71. package/dist/cjs/payments-list-core.cjs.entry.js +3 -2
  72. package/dist/cjs/payout-details-core.cjs.entry.js +3 -3
  73. package/dist/cjs/{payout.service-CrBp8aru.js → payout.service-6PsVtHcu.js} +1 -1
  74. package/dist/cjs/payouts-list-core.cjs.entry.js +3 -2
  75. package/dist/cjs/table-filters-menu.cjs.entry.js +1 -1
  76. package/dist/cjs/terminal-orders-list-core.cjs.entry.js +4 -3
  77. package/dist/cjs/{terminal-orders-table-8PxObvu8.js → terminal-orders-table-BQXO4z_E.js} +3 -3
  78. package/dist/cjs/terminal-quantity-selector.cjs.entry.js +1 -1
  79. package/dist/cjs/{terminal.service-D0fIw59V.js → terminal.service-DgE2p1j0.js} +1 -1
  80. package/dist/cjs/terminals-list-core.cjs.entry.js +3 -2
  81. package/dist/cjs/webcomponents.cjs.js +1 -1
  82. package/dist/collection/api/GooglePay.js +181 -0
  83. package/dist/collection/api/index.js +2 -0
  84. package/dist/collection/api/services/google-pay.service.js +240 -0
  85. package/dist/collection/collection-manifest.json +2 -1
  86. package/dist/collection/components/business-forms/business-form/additional-questions/additional-questions.js +7 -6
  87. package/dist/collection/components/business-forms/business-form/business-core-info/business-core-info.js +2 -2
  88. package/dist/collection/components/business-forms/business-form/business-representative/business-representative.js +8 -7
  89. package/dist/collection/components/business-forms/business-form/legal-address-form/legal-address-form.js +7 -6
  90. package/dist/collection/components/business-forms/owner-form/identity-address/identity-address-form.js +1 -1
  91. package/dist/collection/components/business-forms/owner-form/owner-form-core.js +1 -1
  92. package/dist/collection/components/business-forms/owner-form/owner-form-inputs.js +8 -7
  93. package/dist/collection/components/business-forms/owner-form/owner-form.js +1 -1
  94. package/dist/collection/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step.js +1 -1
  95. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-document-inputs.js +1 -1
  96. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-form-inputs-canada.js +1 -1
  97. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-form-inputs.js +1 -1
  98. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-read-only-value.js +1 -1
  99. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step.js +1 -1
  100. package/dist/collection/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step.js +1 -1
  101. package/dist/collection/components/business-forms/payment-provisioning/business-owners/business-owners-form-step.js +1 -1
  102. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-inputs.js +2 -2
  103. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.js +1 -1
  104. package/dist/collection/components/business-forms/payment-provisioning/form-address-fields/form-address-fields.js +1 -1
  105. package/dist/collection/components/business-forms/payment-provisioning/form-control-monetary-provisioning.js +2 -2
  106. package/dist/collection/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step.js +1 -1
  107. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-core.js +1 -1
  108. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-buttons.js +1 -1
  109. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-steps.js +1 -1
  110. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning.js +1 -1
  111. package/dist/collection/components/business-forms/payment-provisioning/terms-and-conditions/business-terms-conditions-form-step.js +1 -1
  112. package/dist/collection/components/checkout/bank-account-form/bank-account-form.js +2 -2
  113. package/dist/collection/components/checkout/card-form/card-form.js +2 -2
  114. package/dist/collection/components/checkout/checkout.js +2 -2
  115. package/dist/collection/components/checkout/save-new-payment-method.js +1 -1
  116. package/dist/collection/components/checkout/saved-payment-method.js +1 -1
  117. package/dist/collection/components/checkouts-list/checkouts-list-core.js +1 -1
  118. package/dist/collection/components/checkouts-list/checkouts-list-filters.js +1 -1
  119. package/dist/collection/components/checkouts-list/checkouts-list.js +1 -1
  120. package/dist/collection/components/dispute-management/dispute-management-core.js +1 -1
  121. package/dist/collection/components/dispute-management/dispute-management.js +1 -1
  122. package/dist/collection/components/dispute-management/dispute-notification.js +2 -2
  123. package/dist/collection/components/dispute-management/dispute-response/additional-statement.js +1 -1
  124. package/dist/collection/components/dispute-management/dispute-response/cancellation-policy.js +1 -1
  125. package/dist/collection/components/dispute-management/dispute-response/customer-details.js +1 -1
  126. package/dist/collection/components/dispute-management/dispute-response/dispute-response-core.js +1 -1
  127. package/dist/collection/components/dispute-management/dispute-response/dispute-response.js +1 -1
  128. package/dist/collection/components/dispute-management/dispute-response/duplicate-charge.js +1 -1
  129. package/dist/collection/components/dispute-management/dispute-response/electronic-evidence.js +1 -1
  130. package/dist/collection/components/dispute-management/dispute-response/product-or-service.js +1 -1
  131. package/dist/collection/components/dispute-management/dispute-response/refund-policy.js +1 -1
  132. package/dist/collection/components/dispute-management/dispute-response/shipping-details.js +1 -1
  133. package/dist/collection/components/filters/table-filters-menu.js +1 -1
  134. package/dist/collection/components/gross-payment-chart/gross-payment-chart-core.js +1 -1
  135. package/dist/collection/components/modular-checkout/ModularCheckout.js +1 -0
  136. package/dist/collection/components/modular-checkout/modular-checkout.js +46 -9
  137. package/dist/collection/components/modular-checkout/sub-components/bank-account-billing-form-simple.js +1 -1
  138. package/dist/collection/components/modular-checkout/sub-components/bank-account.js +2 -2
  139. package/dist/collection/components/modular-checkout/sub-components/card-billing-form-simple.js +1 -1
  140. package/dist/collection/components/modular-checkout/sub-components/card-form.js +2 -2
  141. package/dist/collection/components/modular-checkout/sub-components/google-pay-skeleton.js +10 -0
  142. package/dist/collection/components/modular-checkout/sub-components/google-pay.js +609 -0
  143. package/dist/collection/components/modular-checkout/sub-components/payment-method-option.js +1 -1
  144. package/dist/collection/components/modular-checkout/sub-components/summary.js +1 -1
  145. package/dist/collection/components/order-terminals/order-terminals.js +1 -1
  146. package/dist/collection/components/order-terminals/terminal-quantity-selector/terminal-quantity-selector.js +1 -1
  147. package/dist/collection/components/payment-details/payment-details-core.js +8 -8
  148. package/dist/collection/components/payment-transactions-list/payment-transactions-list.js +1 -1
  149. package/dist/collection/components/payments-list/payments-list-core.js +1 -1
  150. package/dist/collection/components/payments-list/payments-list-filters.js +2 -2
  151. package/dist/collection/components/payments-list/payments-list.js +1 -1
  152. package/dist/collection/components/payout-details/payout-details-core.js +3 -3
  153. package/dist/collection/components/payout-transactions-list/payout-transactions-list.js +1 -1
  154. package/dist/collection/components/payouts-list/payouts-list-core.js +1 -1
  155. package/dist/collection/components/payouts-list/payouts-list-filters.js +2 -2
  156. package/dist/collection/components/payouts-list/payouts-list.js +1 -1
  157. package/dist/collection/components/terminal-orders-list/terminal-orders-list-core.js +1 -1
  158. package/dist/collection/components/terminal-orders-list/terminal-orders-list-filters.js +2 -2
  159. package/dist/collection/components/terminal-orders-list/terminal-orders-list.js +1 -1
  160. package/dist/collection/components/terminals-list/terminals-list-core.js +1 -1
  161. package/dist/collection/components/terminals-list/terminals-list-filters.js +1 -1
  162. package/dist/collection/components/terminals-list/terminals-list.js +1 -1
  163. package/dist/collection/components/tokenize-payment-method/internal-tokenize-payment-method.js +3 -4
  164. package/dist/collection/components/tokenize-payment-method/tokenize-payment-method.js +5 -10
  165. package/dist/collection/store/checkout.store.js +4 -0
  166. package/dist/collection/ui-components/custom-popper/custom-popper.js +2 -2
  167. package/dist/collection/ui-components/details/details.js +1 -1
  168. package/dist/collection/ui-components/form/form-control-checkbox.js +2 -2
  169. package/dist/collection/ui-components/form/form-control-date.js +2 -2
  170. package/dist/collection/ui-components/form/form-control-file-v2.js +1 -1
  171. package/dist/collection/ui-components/form/form-control-file.js +2 -2
  172. package/dist/collection/ui-components/form/form-control-monetary.js +2 -2
  173. package/dist/collection/ui-components/form/form-control-number-masked.js +2 -2
  174. package/dist/collection/ui-components/form/form-control-number.js +2 -2
  175. package/dist/collection/ui-components/form/form-control-radio.js +2 -2
  176. package/dist/collection/ui-components/form/form-control-select.js +2 -2
  177. package/dist/collection/ui-components/form/form-control-text.js +2 -2
  178. package/dist/collection/ui-components/form/form-control-textarea.js +2 -2
  179. package/dist/collection/ui-components/form/hidden-input.js +1 -1
  180. package/dist/collection/ui-components/form/iframe-input.js +3 -3
  181. package/dist/collection/ui-components/google-pay-button.js +255 -0
  182. package/dist/collection/ui-components/pagination-menu/pagination-menu.js +3 -3
  183. package/dist/collection/ui-components/shadow-dom-components/justifi-button.js +1 -1
  184. package/dist/collection/ui-components/shadow-dom-components/justifi-header.js +1 -1
  185. package/dist/collection/ui-components/shadow-dom-components/justifi-radio-list-item.js +1 -1
  186. package/dist/collection/ui-components/shadow-dom-components/justifi-skeleton.js +1 -1
  187. package/dist/docs.json +567 -119
  188. package/dist/esm/{Refund-L_muwEAh.js → GooglePay-ChLgDgG7.js} +405 -1
  189. package/dist/esm/bank-account-document-form-inputs_6.entry.js +8 -7
  190. package/dist/esm/bank-account-form.entry.js +2 -2
  191. package/dist/esm/{business.service-CaEVmi4X.js → business.service-C0JaOBMs.js} +1 -1
  192. package/dist/esm/card-form.entry.js +2 -2
  193. package/dist/esm/{check-pkg-version-DrJd3vkn.js → check-pkg-version-BQxLpn00.js} +2 -2
  194. package/dist/esm/{checkout.service-BpaVN1_f.js → checkout.service-gxuAcx_d.js} +1 -1
  195. package/dist/esm/checkouts-list-core.entry.js +3 -2
  196. package/dist/esm/custom-popper.entry.js +2 -2
  197. package/dist/esm/{dispute.service-Dq1SPI2m.js → dispute.service-DmYLDaWO.js} +1 -1
  198. package/dist/esm/form-alert_5.entry.js +6 -6
  199. package/dist/esm/form-control-checkbox.entry.js +2 -2
  200. package/dist/esm/form-control-date.entry.js +2 -2
  201. package/dist/esm/form-control-file-v2_2.entry.js +3 -3
  202. package/dist/esm/form-control-monetary-provisioning.entry.js +2 -2
  203. package/dist/esm/form-control-monetary.entry.js +2 -2
  204. package/dist/esm/form-control-number-masked_3.entry.js +4 -4
  205. package/dist/esm/form-control-number.entry.js +2 -2
  206. package/dist/esm/form-control-radio.entry.js +2 -2
  207. package/dist/esm/form-control-select_3.entry.js +4 -4
  208. package/dist/esm/{get-payment-details-C2YiQBG7.js → get-payment-details-CJ6fHbft.js} +1 -1
  209. package/dist/esm/{get-subaccounts-Cjz3-2D3.js → get-subaccounts-3zYjlgWb.js} +1 -1
  210. package/dist/esm/gross-payment-chart-core.entry.js +1 -1
  211. package/dist/esm/hidden-input_2.entry.js +5 -5
  212. package/dist/esm/{index-DCIW8z1f.js → index-DkoufM1t.js} +1 -0
  213. package/dist/esm/index.js +1 -1
  214. package/dist/esm/internal-tokenize-payment-method_7.entry.js +12 -13
  215. package/dist/esm/justifi-additional-questions-form-step-core_6.entry.js +2 -1
  216. package/dist/esm/justifi-additional-questions-form-step_9.entry.js +12 -11
  217. package/dist/esm/justifi-additional-statement_8.entry.js +8 -8
  218. package/dist/esm/{justifi-apple-pay_7.entry.js → justifi-apple-pay_8.entry.js} +786 -137
  219. package/dist/esm/justifi-bank-account-billing-form-simple_3.entry.js +2 -2
  220. package/dist/esm/justifi-business-details.entry.js +5 -4
  221. package/dist/esm/justifi-business-form.entry.js +5 -4
  222. package/dist/esm/justifi-business-representative-form-inputs.entry.js +2 -2
  223. package/dist/esm/justifi-checkout.entry.js +7 -8
  224. package/dist/esm/justifi-checkouts-list-filters.entry.js +3 -2
  225. package/dist/esm/justifi-checkouts-list.entry.js +7 -6
  226. package/dist/esm/justifi-details.entry.js +1 -1
  227. package/dist/esm/justifi-dispute-management-core.entry.js +1 -1
  228. package/dist/esm/justifi-dispute-management.entry.js +6 -5
  229. package/dist/esm/justifi-dispute-notification_3.entry.js +9 -8
  230. package/dist/esm/justifi-gross-payment-chart.entry.js +4 -3
  231. package/dist/esm/justifi-order-terminals.entry.js +7 -6
  232. package/dist/esm/justifi-owner-form_3.entry.js +7 -6
  233. package/dist/esm/justifi-payment-details.entry.js +6 -5
  234. package/dist/esm/justifi-payment-provisioning-core.entry.js +1 -1
  235. package/dist/esm/justifi-payment-provisioning.entry.js +6 -5
  236. package/dist/esm/justifi-payment-transactions-list.entry.js +6 -5
  237. package/dist/esm/justifi-payments-list-filters.entry.js +2 -2
  238. package/dist/esm/justifi-payments-list.entry.js +6 -5
  239. package/dist/esm/justifi-payout-details.entry.js +5 -4
  240. package/dist/esm/justifi-payout-transactions-list.entry.js +6 -5
  241. package/dist/esm/justifi-payouts-list-filters.entry.js +2 -2
  242. package/dist/esm/justifi-payouts-list.entry.js +7 -6
  243. package/dist/esm/justifi-refund-payment.entry.js +6 -5
  244. package/dist/esm/justifi-saved-payment-method.entry.js +1 -1
  245. package/dist/esm/justifi-season-interruption-insurance.entry.js +4 -5
  246. package/dist/esm/justifi-skeleton.entry.js +1 -1
  247. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +4 -3
  248. package/dist/esm/justifi-terminal-orders-list.entry.js +6 -5
  249. package/dist/esm/justifi-terminals-list-filters.entry.js +3 -2
  250. package/dist/esm/justifi-terminals-list.entry.js +7 -6
  251. package/dist/esm/justifi-tokenize-payment-method.entry.js +1 -1
  252. package/dist/esm/loader.js +1 -1
  253. package/dist/esm/{package-DUwyoa82.js → package-CYxDR985.js} +1 -1
  254. package/dist/esm/pagination-menu.entry.js +3 -3
  255. package/dist/esm/payment-details-core.entry.js +10 -9
  256. package/dist/esm/payment-method-option.entry.js +1 -1
  257. package/dist/esm/{payment.service-4wGt-zDW.js → payment.service-CtzbcN40.js} +1 -1
  258. package/dist/esm/payments-list-core.entry.js +3 -2
  259. package/dist/esm/payout-details-core.entry.js +3 -3
  260. package/dist/esm/{payout.service-BYigYrQu.js → payout.service-BSepoyj1.js} +1 -1
  261. package/dist/esm/payouts-list-core.entry.js +3 -2
  262. package/dist/esm/table-filters-menu.entry.js +1 -1
  263. package/dist/esm/terminal-orders-list-core.entry.js +4 -3
  264. package/dist/esm/{terminal-orders-table-CMWBIr9y.js → terminal-orders-table-BDQyyZp2.js} +1 -1
  265. package/dist/esm/terminal-quantity-selector.entry.js +1 -1
  266. package/dist/esm/{terminal.service-RAu777Qf.js → terminal.service-DFPVyp0k.js} +1 -1
  267. package/dist/esm/terminals-list-core.entry.js +3 -2
  268. package/dist/esm/webcomponents.js +1 -1
  269. package/dist/module/Analytics.js +2 -0
  270. package/dist/module/ApplePay.js +121 -0
  271. package/dist/module/GooglePay.js +184 -0
  272. package/dist/module/ModularCheckout.js +1 -0
  273. package/dist/module/additional-questions.js +2 -2
  274. package/dist/module/additional-statement.js +1 -1
  275. package/dist/module/apple-pay.js +1 -120
  276. package/dist/module/bank-account-billing-form-simple.js +1 -1
  277. package/dist/module/bank-account-document-inputs.js +3 -1
  278. package/dist/module/bank-account-form-inputs-canada2.js +1 -1
  279. package/dist/module/bank-account-form-inputs2.js +1 -1
  280. package/dist/module/bank-account-form.js +2 -2
  281. package/dist/module/bank-account-read-only-value2.js +1 -1
  282. package/dist/module/bank-account.js +2 -2
  283. package/dist/module/business-additional-questions-form-step.js +1 -1
  284. package/dist/module/business-bank-account-form-step-core.js +2 -0
  285. package/dist/module/business-bank-account-form-step.js +3 -1
  286. package/dist/module/business-core-info-form-step.js +1 -1
  287. package/dist/module/business-core-info.js +2 -2
  288. package/dist/module/business-owners-form-step.js +1 -1
  289. package/dist/module/business-representative-form-inputs.js +2 -2
  290. package/dist/module/business-representative-form-step.js +1 -1
  291. package/dist/module/business-representative.js +3 -3
  292. package/dist/module/business-terms-conditions-form-step.js +3 -1
  293. package/dist/module/business.service.js +2 -0
  294. package/dist/module/cancellation-policy.js +1 -1
  295. package/dist/module/card-billing-form-simple.js +1 -1
  296. package/dist/module/card-form.js +2 -2
  297. package/dist/module/card-form2.js +2 -2
  298. package/dist/module/checkout.service.js +2 -0
  299. package/dist/module/checkout.store.js +4 -0
  300. package/dist/module/checkouts-list-core2.js +3 -1
  301. package/dist/module/custom-popper2.js +2 -2
  302. package/dist/module/customer-details.js +1 -1
  303. package/dist/module/details.js +1 -1
  304. package/dist/module/dispute-management-core.js +1 -1
  305. package/dist/module/dispute-notification.js +2 -2
  306. package/dist/module/dispute-response-actions.js +2 -0
  307. package/dist/module/dispute-response-core.js +1 -1
  308. package/dist/module/dispute-response.js +1 -1
  309. package/dist/module/duplicate-charge.js +1 -1
  310. package/dist/module/electronic-evidence.js +1 -1
  311. package/dist/module/form-address-fields.js +1 -1
  312. package/dist/module/form-control-checkbox2.js +2 -2
  313. package/dist/module/form-control-date2.js +2 -2
  314. package/dist/module/form-control-file-v22.js +1 -1
  315. package/dist/module/form-control-file2.js +2 -2
  316. package/dist/module/form-control-monetary-provisioning2.js +2 -2
  317. package/dist/module/form-control-monetary2.js +2 -2
  318. package/dist/module/form-control-number-masked2.js +2 -2
  319. package/dist/module/form-control-number.js +2 -2
  320. package/dist/module/form-control-radio2.js +2 -2
  321. package/dist/module/form-control-select2.js +2 -2
  322. package/dist/module/form-control-text2.js +2 -2
  323. package/dist/module/form-control-textarea2.js +2 -2
  324. package/dist/module/get-payment-details.js +2 -0
  325. package/dist/module/get-subaccounts.js +2 -0
  326. package/dist/module/google-pay.js +785 -0
  327. package/dist/module/gross-payment-chart-core2.js +1 -1
  328. package/dist/module/hidden-input2.js +1 -1
  329. package/dist/module/identity-address-form.js +1 -1
  330. package/dist/module/iframe-input2.js +3 -3
  331. package/dist/module/internal-tokenize-payment-method2.js +3 -1
  332. package/dist/module/justifi-business-form.js +2 -0
  333. package/dist/module/justifi-button2.js +1 -1
  334. package/dist/module/justifi-checkout.js +46 -40
  335. package/dist/module/justifi-checkouts-list-filters.js +3 -1
  336. package/dist/module/justifi-checkouts-list.js +3 -1
  337. package/dist/module/justifi-dispute-management.js +1 -1
  338. package/dist/module/justifi-google-pay.d.ts +11 -0
  339. package/dist/module/justifi-google-pay.js +6 -0
  340. package/dist/module/justifi-gross-payment-chart.js +2 -0
  341. package/dist/module/justifi-header2.js +1 -1
  342. package/dist/module/justifi-order-terminals.js +3 -1
  343. package/dist/module/justifi-payment-provisioning.js +3 -1
  344. package/dist/module/justifi-payment-transactions-list.js +3 -1
  345. package/dist/module/justifi-payments-list-filters.js +2 -2
  346. package/dist/module/justifi-payments-list.js +3 -1
  347. package/dist/module/justifi-payout-details.js +2 -0
  348. package/dist/module/justifi-payout-transactions-list.js +3 -1
  349. package/dist/module/justifi-payouts-list-filters.js +2 -2
  350. package/dist/module/justifi-payouts-list.js +3 -1
  351. package/dist/module/justifi-radio-list-item2.js +1 -1
  352. package/dist/module/justifi-refund-payment.js +2 -0
  353. package/dist/module/justifi-saved-payment-method.js +1 -1
  354. package/dist/module/justifi-season-interruption-insurance.js +2 -0
  355. package/dist/module/justifi-skeleton.js +1 -1
  356. package/dist/module/justifi-terminal-orders-list-filters.js +4 -2
  357. package/dist/module/justifi-terminal-orders-list.js +3 -1
  358. package/dist/module/justifi-terminals-list-filters.js +3 -1
  359. package/dist/module/justifi-terminals-list.js +3 -1
  360. package/dist/module/justifi-tokenize-payment-method.js +1 -1
  361. package/dist/module/legal-address-form-step.js +1 -1
  362. package/dist/module/legal-address-form.js +2 -2
  363. package/dist/module/modular-checkout.js +46 -6
  364. package/dist/module/owner-form-core2.js +1 -1
  365. package/dist/module/owner-form-inputs2.js +3 -3
  366. package/dist/module/owner-form.js +1 -1
  367. package/dist/module/package.js +1 -1
  368. package/dist/module/pagination-menu2.js +3 -3
  369. package/dist/module/payment-details-core2.js +10 -8
  370. package/dist/module/payment-method-option.js +1 -1
  371. package/dist/module/payment-provisioning-core.js +1 -1
  372. package/dist/module/payment-provisioning-form-buttons.js +1 -1
  373. package/dist/module/payment-provisioning-form-steps.js +1 -1
  374. package/dist/module/payment.service.js +2 -0
  375. package/dist/module/payments-list-core2.js +3 -1
  376. package/dist/module/payout-details-core2.js +3 -3
  377. package/dist/module/payout.service.js +2 -0
  378. package/dist/module/payouts-list-core2.js +3 -1
  379. package/dist/module/plaid.service.js +2 -0
  380. package/dist/module/product-or-service.js +1 -1
  381. package/dist/module/refund-policy.js +1 -1
  382. package/dist/module/save-new-payment-method.js +1 -1
  383. package/dist/module/shipping-details.js +1 -1
  384. package/dist/module/summary.js +1 -1
  385. package/dist/module/table-filters-menu2.js +1 -1
  386. package/dist/module/terminal-orders-list-core2.js +3 -1
  387. package/dist/module/terminal-quantity-selector2.js +1 -1
  388. package/dist/module/terminal.service.js +2 -0
  389. package/dist/module/terminals-list-core2.js +3 -1
  390. package/dist/types/api/Checkout.d.ts +2 -0
  391. package/dist/types/api/GooglePay.d.ts +271 -0
  392. package/dist/types/api/index.d.ts +2 -0
  393. package/dist/types/api/services/google-pay.service.d.ts +60 -0
  394. package/dist/types/components/business-forms/schemas/business-form-schema.d.ts +3 -3
  395. package/dist/types/components/checkout/checkout.d.ts +1 -0
  396. package/dist/types/components/modular-checkout/ModularCheckout.d.ts +2 -1
  397. package/dist/types/components/modular-checkout/modular-checkout.d.ts +5 -0
  398. package/dist/types/components/modular-checkout/sub-components/google-pay-skeleton.d.ts +6 -0
  399. package/dist/types/components/modular-checkout/sub-components/google-pay.d.ts +59 -0
  400. package/dist/types/components/tokenize-payment-method/tokenize-payment-method.d.ts +1 -1
  401. package/dist/types/components.d.ts +160 -22
  402. package/dist/types/store/checkout.store.d.ts +1 -0
  403. package/dist/types/ui-components/google-pay-button.d.ts +18 -0
  404. package/dist/webcomponents/index.esm.js +1 -1
  405. package/dist/webcomponents/p-032ee5b7.entry.js +1 -0
  406. package/dist/webcomponents/{p-aec9185f.entry.js → p-03c8c754.entry.js} +1 -1
  407. package/dist/webcomponents/p-0772719b.entry.js +1 -0
  408. package/dist/webcomponents/p-0c7db215.entry.js +1 -0
  409. package/dist/webcomponents/p-136b29e3.entry.js +1 -0
  410. package/dist/webcomponents/{p-1193a1ac.entry.js → p-19dabeab.entry.js} +1 -1
  411. package/dist/webcomponents/p-19ea1354.entry.js +1 -0
  412. package/dist/webcomponents/p-1ce0e372.entry.js +1 -0
  413. package/dist/webcomponents/p-1f196690.entry.js +1 -0
  414. package/dist/webcomponents/{p-800660f2.entry.js → p-270bf699.entry.js} +1 -1
  415. package/dist/webcomponents/{p-e23219c6.entry.js → p-2a14111e.entry.js} +1 -1
  416. package/dist/webcomponents/p-2aa04490.entry.js +1 -0
  417. package/dist/webcomponents/p-2da4e6ca.entry.js +1 -0
  418. package/dist/webcomponents/p-2eb123a3.entry.js +1 -0
  419. package/dist/webcomponents/p-34a87967.entry.js +1 -0
  420. package/dist/webcomponents/p-36ad1db9.entry.js +1 -0
  421. package/dist/webcomponents/p-383f8a27.entry.js +1 -0
  422. package/dist/webcomponents/p-3ac5ab7e.entry.js +1 -0
  423. package/dist/webcomponents/p-3ad906c1.entry.js +1 -0
  424. package/dist/webcomponents/p-3ae12b98.entry.js +1 -0
  425. package/dist/webcomponents/{p-58ae4f9e.entry.js → p-3bacf834.entry.js} +1 -1
  426. package/dist/webcomponents/p-4040df88.entry.js +1 -0
  427. package/dist/webcomponents/{p-e2e6c201.entry.js → p-48d1bc83.entry.js} +1 -1
  428. package/dist/webcomponents/{p-af48a6bb.entry.js → p-4e71de94.entry.js} +1 -1
  429. package/dist/webcomponents/p-4f102cfd.entry.js +1 -0
  430. package/dist/webcomponents/p-5ac8f679.entry.js +1 -0
  431. package/dist/webcomponents/p-5ba28ff0.entry.js +1 -0
  432. package/dist/webcomponents/p-6794a435.entry.js +1 -0
  433. package/dist/webcomponents/{p-CxPieTnF.js → p-7SgMy3r5.js} +1 -1
  434. package/dist/webcomponents/p-81c1ebd3.entry.js +1 -0
  435. package/dist/webcomponents/p-8332592a.entry.js +1 -0
  436. package/dist/webcomponents/p-849ad4d3.entry.js +1 -0
  437. package/dist/webcomponents/{p-1edec396.entry.js → p-86111a0a.entry.js} +1 -1
  438. package/dist/webcomponents/p-8b6b7e20.entry.js +1 -0
  439. package/dist/webcomponents/p-8fcd277c.entry.js +1 -0
  440. package/dist/webcomponents/p-914b590d.entry.js +1 -0
  441. package/dist/webcomponents/p-9a3225e2.entry.js +1 -0
  442. package/dist/webcomponents/{p-BItPr6Gj.js → p-B-9GGR7s.js} +1 -1
  443. package/dist/webcomponents/p-Boe55CYS.js +1 -0
  444. package/dist/webcomponents/{p-Do561C8g.js → p-BusXmwDe.js} +1 -1
  445. package/dist/webcomponents/{p-C9_8N76_.js → p-ByJiG6HY.js} +1 -1
  446. package/dist/webcomponents/p-CQsNLuzi.js +1 -0
  447. package/dist/webcomponents/{p-XqsvHFg_.js → p-CUkHRggn.js} +1 -1
  448. package/dist/webcomponents/p-CYxDR985.js +1 -0
  449. package/dist/webcomponents/{p-ZrJKEEoy.js → p-DELUWNSY.js} +1 -1
  450. package/dist/webcomponents/{p-wYnnDDuR.js → p-DjhbNep7.js} +1 -1
  451. package/dist/webcomponents/p-DkoufM1t.js +1 -0
  452. package/dist/webcomponents/{p-CriWtqRc.js → p-Ds2u5A8P.js} +1 -1
  453. package/dist/webcomponents/{p-jTVpG8Gt.js → p-E0ZPuuI7.js} +1 -1
  454. package/dist/webcomponents/p-a020c889.entry.js +1 -0
  455. package/dist/webcomponents/{p-0082f428.entry.js → p-a22d1078.entry.js} +1 -1
  456. package/dist/webcomponents/p-a6e816f6.entry.js +1 -0
  457. package/dist/webcomponents/{p-8681f258.entry.js → p-aaed4997.entry.js} +1 -1
  458. package/dist/webcomponents/p-ad9307c1.entry.js +1 -0
  459. package/dist/webcomponents/p-b46223fa.entry.js +1 -0
  460. package/dist/webcomponents/p-ba76226e.entry.js +1 -0
  461. package/dist/webcomponents/p-be3caaf8.entry.js +1 -0
  462. package/dist/webcomponents/p-c11f5079.entry.js +1 -0
  463. package/dist/webcomponents/p-c41191e7.entry.js +1 -0
  464. package/dist/webcomponents/p-c4c1c6d4.entry.js +1 -0
  465. package/dist/webcomponents/p-c621e7af.entry.js +1 -0
  466. package/dist/webcomponents/p-c8d15694.entry.js +1 -0
  467. package/dist/webcomponents/p-d13edf9f.entry.js +1 -0
  468. package/dist/webcomponents/p-d36351e9.entry.js +1 -0
  469. package/dist/webcomponents/p-d4738115.entry.js +1 -0
  470. package/dist/webcomponents/p-d913cb6b.entry.js +1 -0
  471. package/dist/webcomponents/p-dd0ac112.entry.js +1 -0
  472. package/dist/webcomponents/p-dd75958b.entry.js +1 -0
  473. package/dist/webcomponents/{p-2769f945.entry.js → p-e6507b93.entry.js} +1 -1
  474. package/dist/webcomponents/{p-ed55d333.entry.js → p-e7e5fee9.entry.js} +1 -1
  475. package/dist/webcomponents/{p-4e23116c.entry.js → p-f2650bfc.entry.js} +1 -1
  476. package/dist/webcomponents/p-f2a03f5d.entry.js +1 -0
  477. package/dist/webcomponents/p-f4cb581f.entry.js +1 -0
  478. package/dist/webcomponents/p-f528da70.entry.js +1 -0
  479. package/dist/webcomponents/p-f632894a.entry.js +1 -0
  480. package/dist/webcomponents/{p-9f70ce93.entry.js → p-fe862786.entry.js} +1 -1
  481. package/dist/webcomponents/p-ff2e2879.entry.js +1 -0
  482. package/dist/webcomponents/p-ffed8f86.entry.js +1 -0
  483. package/dist/webcomponents/webcomponents.esm.js +1 -1
  484. package/package.json +13 -13
  485. package/LICENSE +0 -21
  486. package/dist/cjs/checkout.store-BA6h-dp2.js +0 -107
  487. package/dist/esm/checkout.store-CaS_htQd.js +0 -101
  488. package/dist/webcomponents/p-087a81ff.entry.js +0 -1
  489. package/dist/webcomponents/p-1242bbf1.entry.js +0 -1
  490. package/dist/webcomponents/p-14d2f6c6.entry.js +0 -1
  491. package/dist/webcomponents/p-170700b1.entry.js +0 -1
  492. package/dist/webcomponents/p-1939d1e3.entry.js +0 -1
  493. package/dist/webcomponents/p-20a8b0c0.entry.js +0 -1
  494. package/dist/webcomponents/p-22f74666.entry.js +0 -1
  495. package/dist/webcomponents/p-30f61f44.entry.js +0 -1
  496. package/dist/webcomponents/p-3b49fc33.entry.js +0 -1
  497. package/dist/webcomponents/p-3c38cec5.entry.js +0 -1
  498. package/dist/webcomponents/p-45936490.entry.js +0 -1
  499. package/dist/webcomponents/p-4761e0aa.entry.js +0 -1
  500. package/dist/webcomponents/p-4c3eea2b.entry.js +0 -1
  501. package/dist/webcomponents/p-4da3e157.entry.js +0 -1
  502. package/dist/webcomponents/p-4dcbc0af.entry.js +0 -1
  503. package/dist/webcomponents/p-58dee174.entry.js +0 -1
  504. package/dist/webcomponents/p-69195676.entry.js +0 -1
  505. package/dist/webcomponents/p-716ddc27.entry.js +0 -1
  506. package/dist/webcomponents/p-7218c312.entry.js +0 -1
  507. package/dist/webcomponents/p-75c65531.entry.js +0 -1
  508. package/dist/webcomponents/p-8432a466.entry.js +0 -1
  509. package/dist/webcomponents/p-84a44362.entry.js +0 -1
  510. package/dist/webcomponents/p-84e2bd93.entry.js +0 -1
  511. package/dist/webcomponents/p-89518b26.entry.js +0 -1
  512. package/dist/webcomponents/p-8b2026d3.entry.js +0 -1
  513. package/dist/webcomponents/p-9d914297.entry.js +0 -1
  514. package/dist/webcomponents/p-CPKSE7M4.js +0 -1
  515. package/dist/webcomponents/p-D0YDz3L6.js +0 -1
  516. package/dist/webcomponents/p-DCIW8z1f.js +0 -1
  517. package/dist/webcomponents/p-DU8dqq9U.js +0 -1
  518. package/dist/webcomponents/p-DUwyoa82.js +0 -1
  519. package/dist/webcomponents/p-a655b996.entry.js +0 -1
  520. package/dist/webcomponents/p-a8f7cf9b.entry.js +0 -1
  521. package/dist/webcomponents/p-aa51df2c.entry.js +0 -1
  522. package/dist/webcomponents/p-ae7a027b.entry.js +0 -1
  523. package/dist/webcomponents/p-b4d8a3f6.entry.js +0 -1
  524. package/dist/webcomponents/p-bd73fba1.entry.js +0 -1
  525. package/dist/webcomponents/p-c1831747.entry.js +0 -1
  526. package/dist/webcomponents/p-c3b71a1f.entry.js +0 -1
  527. package/dist/webcomponents/p-c7279bc6.entry.js +0 -1
  528. package/dist/webcomponents/p-c7bfea00.entry.js +0 -1
  529. package/dist/webcomponents/p-c7f2cf51.entry.js +0 -1
  530. package/dist/webcomponents/p-c988bd84.entry.js +0 -1
  531. package/dist/webcomponents/p-cef213c3.entry.js +0 -1
  532. package/dist/webcomponents/p-d4b8274f.entry.js +0 -1
  533. package/dist/webcomponents/p-db651f27.entry.js +0 -1
  534. package/dist/webcomponents/p-dc0d3484.entry.js +0 -1
  535. package/dist/webcomponents/p-def857b8.entry.js +0 -1
  536. package/dist/webcomponents/p-df0e5377.entry.js +0 -1
  537. package/dist/webcomponents/p-e5caab42.entry.js +0 -1
  538. package/dist/webcomponents/p-eb56ba9b.entry.js +0 -1
  539. package/dist/webcomponents/p-edcb84bf.entry.js +0 -1
  540. package/dist/webcomponents/p-f1af630f.entry.js +0 -1
  541. package/dist/webcomponents/p-f5fb1af2.entry.js +0 -1
  542. package/dist/webcomponents/p-fab28b02.entry.js +0 -1
  543. package/dist/webcomponents/p-ff968ab6.entry.js +0 -1
@@ -0,0 +1,181 @@
1
+ import { checkoutStore } from "../store/checkout.store";
2
+ export var GooglePayButtonType;
3
+ (function (GooglePayButtonType) {
4
+ GooglePayButtonType["PLAIN"] = "plain";
5
+ GooglePayButtonType["BUY"] = "buy";
6
+ GooglePayButtonType["BOOK"] = "book";
7
+ GooglePayButtonType["CHECKOUT"] = "checkout";
8
+ GooglePayButtonType["DONATE"] = "donate";
9
+ GooglePayButtonType["ORDER"] = "order";
10
+ GooglePayButtonType["PAY"] = "pay";
11
+ GooglePayButtonType["SUBSCRIBE"] = "subscribe";
12
+ })(GooglePayButtonType || (GooglePayButtonType = {}));
13
+ export var GooglePayButtonStyle;
14
+ (function (GooglePayButtonStyle) {
15
+ GooglePayButtonStyle["BLACK"] = "black";
16
+ GooglePayButtonStyle["WHITE"] = "white";
17
+ })(GooglePayButtonStyle || (GooglePayButtonStyle = {}));
18
+ export var GooglePayButtonSizeMode;
19
+ (function (GooglePayButtonSizeMode) {
20
+ GooglePayButtonSizeMode["STATIC"] = "static";
21
+ GooglePayButtonSizeMode["FILL"] = "fill";
22
+ })(GooglePayButtonSizeMode || (GooglePayButtonSizeMode = {}));
23
+ export var GooglePayEnvironment;
24
+ (function (GooglePayEnvironment) {
25
+ GooglePayEnvironment["PRODUCTION"] = "PRODUCTION";
26
+ GooglePayEnvironment["TEST"] = "TEST";
27
+ })(GooglePayEnvironment || (GooglePayEnvironment = {}));
28
+ export class GooglePayConfig {
29
+ constructor(data) {
30
+ this.environment = data.environment;
31
+ this.merchantId = data.merchantId;
32
+ this.merchantName = data.merchantName;
33
+ this.buttonType = data.buttonType || GooglePayButtonType.PLAIN;
34
+ this.buttonStyle = data.buttonStyle || GooglePayButtonStyle.BLACK;
35
+ this.buttonSizeMode = data.buttonSizeMode || GooglePayButtonSizeMode.STATIC;
36
+ this.buttonLocale = data.buttonLocale || 'en';
37
+ }
38
+ get isValid() {
39
+ return !!(this.environment && this.merchantName);
40
+ }
41
+ }
42
+ export class GooglePayPaymentDataRequest {
43
+ constructor(data) {
44
+ this.apiVersion = data.apiVersion;
45
+ this.apiVersionMinor = data.apiVersionMinor;
46
+ this.allowedPaymentMethods = data.allowedPaymentMethods;
47
+ this.transactionInfo = data.transactionInfo;
48
+ this.merchantInfo = data.merchantInfo;
49
+ this.callbackIntents = data.callbackIntents;
50
+ this.shippingAddressRequired = data.shippingAddressRequired;
51
+ this.shippingAddressParameters = data.shippingAddressParameters;
52
+ this.emailRequired = data.emailRequired;
53
+ }
54
+ get isValid() {
55
+ var _a, _b, _c, _d;
56
+ const hasApiVersion = typeof this.apiVersion === 'number' && this.apiVersion > 0;
57
+ const hasApiVersionMinor = typeof this.apiVersionMinor === 'number' && this.apiVersionMinor >= 0;
58
+ const hasAllowedMethods = Array.isArray(this.allowedPaymentMethods) &&
59
+ this.allowedPaymentMethods.length > 0;
60
+ const hasTxnCountry = Boolean((_a = this.transactionInfo) === null || _a === void 0 ? void 0 : _a.countryCode);
61
+ const hasTxnCurrency = Boolean((_b = this.transactionInfo) === null || _b === void 0 ? void 0 : _b.currencyCode);
62
+ const hasTxnTotal = Boolean((_c = this.transactionInfo) === null || _c === void 0 ? void 0 : _c.totalPrice);
63
+ const hasMerchantName = Boolean((_d = this.merchantInfo) === null || _d === void 0 ? void 0 : _d.merchantName);
64
+ return (hasApiVersion &&
65
+ hasApiVersionMinor &&
66
+ hasAllowedMethods &&
67
+ hasTxnCountry &&
68
+ hasTxnCurrency &&
69
+ hasTxnTotal &&
70
+ hasMerchantName);
71
+ }
72
+ }
73
+ export class GooglePayHelpers {
74
+ /**
75
+ * Check if Google Pay is supported in the current environment
76
+ */
77
+ static isGooglePaySupported() {
78
+ return (typeof window !== 'undefined' &&
79
+ 'google' in window &&
80
+ 'payments' in window.google &&
81
+ 'api' in window.google.payments);
82
+ }
83
+ /**
84
+ * Create a Google Pay client instance
85
+ */
86
+ static createGooglePayClient(environment) {
87
+ if (!this.isGooglePaySupported()) {
88
+ return null;
89
+ }
90
+ try {
91
+ return new window.google.payments.api.PaymentsClient({
92
+ environment: environment === GooglePayEnvironment.PRODUCTION
93
+ ? 'PRODUCTION'
94
+ : 'TEST',
95
+ });
96
+ }
97
+ catch (_error) {
98
+ return null;
99
+ }
100
+ }
101
+ /**
102
+ * Format amount for Google Pay (expects string in full currency units)
103
+ */
104
+ static formatAmount(amount) {
105
+ return (amount / 100).toFixed(2);
106
+ }
107
+ /**
108
+ * Parse amount from Google Pay format to cents
109
+ */
110
+ static parseAmount(amount) {
111
+ return Math.round(parseFloat(amount) * 100);
112
+ }
113
+ /**
114
+ * Create a line item for Google Pay
115
+ */
116
+ static createLineItem(label, amount, type = 'LINE_ITEM') {
117
+ return {
118
+ label,
119
+ price: this.formatAmount(amount),
120
+ type,
121
+ };
122
+ }
123
+ /**
124
+ * Get default supported card networks
125
+ */
126
+ static getDefaultSupportedNetworks() {
127
+ return ['VISA', 'MASTERCARD', 'AMEX', 'DISCOVER'];
128
+ }
129
+ /**
130
+ * Get default allowed authentication methods
131
+ */
132
+ static getDefaultAuthMethods() {
133
+ return ['PAN_ONLY', 'CRYPTOGRAM_3DS'];
134
+ }
135
+ /**
136
+ * Create default card parameters
137
+ */
138
+ static createDefaultCardParameters() {
139
+ return {
140
+ allowedAuthMethods: this.getDefaultAuthMethods(),
141
+ allowedCardNetworks: this.getDefaultSupportedNetworks(),
142
+ billingAddressRequired: false,
143
+ };
144
+ }
145
+ /**
146
+ * Create default tokenization specification
147
+ */
148
+ static createTokenizationSpecification() {
149
+ return {
150
+ type: 'PAYMENT_GATEWAY',
151
+ parameters: {
152
+ gateway: 'justifi',
153
+ gatewayMerchantId: checkoutStore.accountId,
154
+ },
155
+ };
156
+ }
157
+ /**
158
+ * Create default payment method data
159
+ */
160
+ static createPaymentMethodData() {
161
+ return {
162
+ type: 'CARD',
163
+ parameters: this.createDefaultCardParameters(),
164
+ tokenizationSpecification: this.createTokenizationSpecification(),
165
+ };
166
+ }
167
+ /**
168
+ * Create base payment data request check
169
+ */
170
+ static createBasePaymentDataRequest() {
171
+ const base = {
172
+ apiVersion: 2,
173
+ apiVersionMinor: 0,
174
+ allowedPaymentMethods: [this.createPaymentMethodData()],
175
+ };
176
+ // For development and broader availability of the button, do not require an existing card
177
+ // This allows isReadyToPay to return true on supported browsers even without a saved payment method
178
+ base.existingPaymentMethodRequired = false;
179
+ return base;
180
+ }
181
+ }
@@ -18,5 +18,7 @@ export * from './Business';
18
18
  export * from './Identity';
19
19
  export * from './Dispute';
20
20
  export * from './GrossVolume';
21
+ export * from './ApplePay';
22
+ export * from './GooglePay';
21
23
  // In a future PR I would like to update the naming of the BankAccount Payment Method class in Payment.ts so this import can be updated to be written the same as the others in this file.
22
24
  export { BankAccount } from './BankAccount';
@@ -0,0 +1,240 @@
1
+ import { Api } from "../Api";
2
+ import { GooglePayHelpers, GooglePayConfig, GooglePayPaymentDataRequest, } from "../GooglePay";
3
+ const PROCESS_TOKEN_ENDPOINT = 'google_pay/process_token';
4
+ export class GooglePayService {
5
+ constructor() {
6
+ this.api = Api();
7
+ }
8
+ /**
9
+ * Initialize Google Pay configuration
10
+ */
11
+ initialize(googlePayConfig) {
12
+ this.googlePayConfig = new GooglePayConfig(googlePayConfig);
13
+ if (!this.googlePayConfig.isValid) {
14
+ throw new Error('Invalid Google Pay configuration provided');
15
+ }
16
+ // Create Google Pay client
17
+ this.googlePayClient = GooglePayHelpers.createGooglePayClient(this.googlePayConfig.environment);
18
+ if (!this.googlePayClient) {
19
+ throw new Error('Failed to create Google Pay client');
20
+ }
21
+ // No debug logs
22
+ }
23
+ /**
24
+ * Process Google Pay payment via API
25
+ */
26
+ async processPayment(authToken, accountId, payload) {
27
+ const endpoint = PROCESS_TOKEN_ENDPOINT;
28
+ try {
29
+ const result = await this.api.post({
30
+ endpoint,
31
+ authToken,
32
+ body: payload,
33
+ headers: {
34
+ 'sub-account': accountId,
35
+ },
36
+ });
37
+ return {
38
+ success: result.id && !!result.data.token,
39
+ data: result,
40
+ };
41
+ }
42
+ catch (_error) {
43
+ throw new Error('Google Pay payment processing failed');
44
+ }
45
+ }
46
+ /**
47
+ * Check if Google Pay is available on this device/browser
48
+ */
49
+ isAvailable() {
50
+ return GooglePayHelpers.isGooglePaySupported() && !!this.googlePayClient;
51
+ }
52
+ /**
53
+ * Check if the user can make payments with Google Pay
54
+ */
55
+ async canMakePayments() {
56
+ if (!this.googlePayClient || !this.googlePayConfig) {
57
+ return false;
58
+ }
59
+ try {
60
+ const baseRequest = GooglePayHelpers.createBasePaymentDataRequest();
61
+ const response = await this.googlePayClient.isReadyToPay(baseRequest);
62
+ return response.result;
63
+ }
64
+ catch (_error) {
65
+ return false;
66
+ }
67
+ }
68
+ /**
69
+ * Start Google Pay payment session
70
+ */
71
+ async startPaymentSession(paymentDataRequest, authToken, accountId) {
72
+ var _a;
73
+ if (!this.googlePayConfig || !this.googlePayClient) {
74
+ throw new Error('Google Pay not initialized. Call initialize() first.');
75
+ }
76
+ if (!this.isAvailable()) {
77
+ throw new Error('Google Pay is not available on this device/browser');
78
+ }
79
+ const request = new GooglePayPaymentDataRequest(paymentDataRequest);
80
+ if (!request.isValid) {
81
+ throw new Error('Invalid payment data request provided');
82
+ }
83
+ try {
84
+ const paymentData = await this.googlePayClient.loadPaymentData(request);
85
+ // Build top-level snake_case fields from Google Pay tokenizationData
86
+ const tokenizationData = (_a = paymentData === null || paymentData === void 0 ? void 0 : paymentData.paymentMethodData) === null || _a === void 0 ? void 0 : _a.tokenizationData;
87
+ const tokenObj = (() => {
88
+ if ((tokenizationData === null || tokenizationData === void 0 ? void 0 : tokenizationData.token) &&
89
+ typeof tokenizationData.token === 'string') {
90
+ try {
91
+ return JSON.parse(tokenizationData.token);
92
+ }
93
+ catch (_e) {
94
+ return tokenizationData;
95
+ }
96
+ }
97
+ return tokenizationData;
98
+ })();
99
+ const tokenProcessRequest = {
100
+ protocolVersion: tokenObj === null || tokenObj === void 0 ? void 0 : tokenObj.protocolVersion,
101
+ signature: tokenObj === null || tokenObj === void 0 ? void 0 : tokenObj.signature,
102
+ intermediateSigningKey: (tokenObj === null || tokenObj === void 0 ? void 0 : tokenObj.intermediateSigningKey)
103
+ ? {
104
+ signedKey: tokenObj.intermediateSigningKey.signedKey,
105
+ signatures: tokenObj.intermediateSigningKey.signatures,
106
+ }
107
+ : undefined,
108
+ signedMessage: tokenObj === null || tokenObj === void 0 ? void 0 : tokenObj.signedMessage,
109
+ };
110
+ const paymentResult = await this.processPayment(authToken, accountId, tokenProcessRequest);
111
+ if (paymentResult.success) {
112
+ return {
113
+ success: true,
114
+ paymentData: paymentData,
115
+ paymentMethodId: paymentResult.data.id,
116
+ };
117
+ }
118
+ else {
119
+ return {
120
+ success: false,
121
+ error: {
122
+ code: 'PAYMENT_PROCESSING_ERROR',
123
+ message: 'Payment processing failed',
124
+ },
125
+ };
126
+ }
127
+ }
128
+ catch (error) {
129
+ // Handle different types of errors
130
+ if (error && typeof error === 'object' && 'statusCode' in error) {
131
+ const googlePayError = error;
132
+ switch (googlePayError.statusCode) {
133
+ case 'CANCELED':
134
+ return {
135
+ success: false,
136
+ error: {
137
+ code: 'USER_CANCELLED',
138
+ message: 'User cancelled the Google Pay session',
139
+ },
140
+ };
141
+ case 'DEVELOPER_ERROR':
142
+ return {
143
+ success: false,
144
+ error: {
145
+ code: 'DEVELOPER_ERROR',
146
+ message: 'Google Pay configuration error',
147
+ },
148
+ };
149
+ default:
150
+ return {
151
+ success: false,
152
+ error: {
153
+ code: 'PAYMENT_ERROR',
154
+ message: googlePayError.statusMessage || 'Google Pay payment failed',
155
+ },
156
+ };
157
+ }
158
+ }
159
+ return {
160
+ success: false,
161
+ error: {
162
+ code: 'PAYMENT_ERROR',
163
+ message: error instanceof Error
164
+ ? error.message
165
+ : 'Google Pay payment failed',
166
+ },
167
+ };
168
+ }
169
+ }
170
+ /**
171
+ * Create Google Pay button element
172
+ */
173
+ createButton(options) {
174
+ if (!this.googlePayClient || !this.googlePayConfig) {
175
+ return null;
176
+ }
177
+ try {
178
+ return this.googlePayClient.createButton({
179
+ onClick: options.onClick,
180
+ buttonType: options.buttonType,
181
+ buttonSizeMode: options.buttonSizeMode,
182
+ buttonColor: options.buttonColor,
183
+ buttonLocale: options.buttonLocale,
184
+ });
185
+ }
186
+ catch (_error) {
187
+ return null;
188
+ }
189
+ }
190
+ /**
191
+ * Prefetch payment data for faster loading
192
+ */
193
+ prefetchPaymentData(paymentDataRequest) {
194
+ if (!this.googlePayClient) {
195
+ return;
196
+ }
197
+ const request = new GooglePayPaymentDataRequest(paymentDataRequest);
198
+ if (!request.isValid) {
199
+ return;
200
+ }
201
+ try {
202
+ this.googlePayClient.prefetchPaymentData(request);
203
+ }
204
+ catch (_error) { }
205
+ }
206
+ /**
207
+ * Create a basic payment data request
208
+ */
209
+ static createPaymentDataRequest(amount, label, countryCode = 'US', currencyCode = 'USD', merchantName) {
210
+ const request = {
211
+ apiVersion: 2,
212
+ apiVersionMinor: 0,
213
+ allowedPaymentMethods: [GooglePayHelpers.createPaymentMethodData()],
214
+ transactionInfo: {
215
+ countryCode,
216
+ currencyCode,
217
+ totalPriceStatus: 'FINAL',
218
+ totalPrice: GooglePayHelpers.formatAmount(amount),
219
+ totalPriceLabel: label,
220
+ },
221
+ merchantInfo: {
222
+ merchantName,
223
+ },
224
+ };
225
+ // No debug logs
226
+ return request;
227
+ }
228
+ /**
229
+ * Get current configuration
230
+ */
231
+ getGooglePayConfig() {
232
+ return this.googlePayConfig;
233
+ }
234
+ /**
235
+ * Get current Google Pay client
236
+ */
237
+ getGooglePayClient() {
238
+ return this.googlePayClient;
239
+ }
240
+ }
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "entries": [
3
- "ui-components/pagination-menu/pagination-menu.js",
4
3
  "ui-components/details/details.js",
5
4
  "ui-components/shadow-dom-components/justifi-radio-list-item.js",
6
5
  "components/business-details/business-details-core.js",
@@ -57,6 +56,7 @@
57
56
  "components/checkouts-list/checkouts-list-core.js",
58
57
  "components/checkouts-list/checkouts-list-filters.js",
59
58
  "components/checkouts-list/checkouts-list.js",
59
+ "ui-components/pagination-menu/pagination-menu.js",
60
60
  "components/filters/table-filters-menu.js",
61
61
  "ui-components/form/form-control-select.js",
62
62
  "components/config-provider/config-provider.js",
@@ -80,6 +80,7 @@
80
80
  "components/modular-checkout/sub-components/apple-pay.js",
81
81
  "components/modular-checkout/sub-components/bank-account.js",
82
82
  "components/modular-checkout/sub-components/card-form.js",
83
+ "components/modular-checkout/sub-components/google-pay.js",
83
84
  "components/modular-checkout/sub-components/payment-method-option.js",
84
85
  "components/modular-checkout/sub-components/plaid-payment-method.js",
85
86
  "components/modular-checkout/sub-components/saved-payment-methods.js",
@@ -18,22 +18,21 @@ export class AdditionalQuestions {
18
18
  render() {
19
19
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
20
20
  const additionalQuestionsDefaultValue = this.formController.getInitialValues().additional_questions;
21
- return (h(Host, { key: 'e3e354a7cf470f658e0f95d37186b1f45771b673' }, h("fieldset", { key: '7fb001177a4f907d513eb5955063d446234ede0c' }, h("legend", { key: 'ee6b045a438be9f56345daad752e105640f1ca3d', part: heading2 }, "Additional Questions"), h("div", { key: 'ed114675357f3b70c34a3eb941fdb30e6219cdc9', class: "row gy-3" }, h("div", { key: 'b85c27c827cf5e5d0d556c343315e5eec736f538', class: "col-12 col-md-6" }, h("form-control-monetary-provisioning", { key: '4576f67fa74ba7c2ca9730468ddc52b055a3c496', name: "business_revenue", label: "What is the business' estimated annual revenue from its primary business activities?", inputHandler: this.inputHandler, errorText: (_b = (_a = this.errors) === null || _a === void 0 ? void 0 : _a.additional_questions) === null || _b === void 0 ? void 0 : _b.business_revenue, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_revenue, maskOptions: CURRENCY_MASK.WHOLE })), h("div", { key: '0614c60cc7daaf890ccb4888d41b0260a26f9a0e', class: "col-12 col-md-6" }, h("form-control-monetary-provisioning", { key: '2c435c1553714d75542e0e3bcf1d723f26b37da8', name: "business_payment_volume", label: "What is the business' annual credit card & ACH volume anticipated to process?", inputHandler: this.inputHandler, errorText: (_d = (_c = this.errors) === null || _c === void 0 ? void 0 : _c.additional_questions) === null || _d === void 0 ? void 0 : _d.business_payment_volume, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_payment_volume, maskOptions: CURRENCY_MASK.WHOLE })), h("div", { key: '8d4a19eb0b6b5707f4a423543d86ae50f6492efc', class: "col-12" }, h("form-control-select", { key: '2e49f907bae85cd4901e4aa4413284596fbed365', 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: (_f = (_e = this.errors) === null || _e === void 0 ? void 0 : _e.additional_questions) === null || _f === void 0 ? void 0 : _f.business_when_service_received, options: businessServiceReceivedOptions, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_when_service_received })), h("div", { key: '11bc4e0bbe2122b977cf8bc29ac0601ef941881c', class: "col-12" }, h("form-control-select", { key: 'c511b728971250dc3272c1ef9ff96131a9ac6a2e', name: 'business_recurring_payments', label: 'Does your business offer recurring payments?', inputHandler: this.inputHandler, errorText: (_h = (_g = this.errors) === null || _g === void 0 ? void 0 : _g.additional_questions) === null || _h === void 0 ? void 0 : _h.business_recurring_payments, options: recurringPaymentsOptions, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_recurring_payments })), h("div", { key: '5a40dfe41a9fca815cdf0eb7455b41615d1e6c76', class: "col-12" }, h("form-control-text", { key: 'd8aaf0f6d7d44b1b15ec76af198a0117493f08c6', name: 'business_recurring_payments_percentage', label: 'What percent of revenue is generated from each recurring payment type offered?', inputHandler: this.inputHandler, errorText: (_k = (_j = this.errors) === null || _j === void 0 ? void 0 : _j.additional_questions) === null || _k === void 0 ? void 0 : _k.business_recurring_payments_percentage, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_recurring_payments_percentage })), h("div", { key: 'b211bb865a60baf1ea00c81f76f000ff2a31d7bd', class: "col-12" }, h("form-control-select", { key: '4b693e7425e690a59e2c70646cca2b886b8a8796', name: 'business_seasonal', label: 'Is this business seasonal?', inputHandler: this.inputHandler, errorText: (_m = (_l = this.errors) === null || _l === void 0 ? void 0 : _l.additional_questions) === null || _m === void 0 ? void 0 : _m.business_seasonal, options: seasonalBusinessOptions, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_seasonal })), h("div", { key: 'e85b7fceb9cdc808afaf3559609b7519c9630266', class: "col-12" }, h("form-control-text", { key: 'ae4a6518c7499826f30376f1c902f694244059c7', name: 'business_other_payment_details', label: 'Is there anything else you would like us to know about how your customers pay the business?', inputHandler: this.inputHandler, errorText: (_p = (_o = this.errors) === null || _o === void 0 ? void 0 : _o.additional_questions) === null || _p === void 0 ? void 0 : _p.business_other_payment_details, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_other_payment_details }))))));
21
+ return (h(Host, { key: '8f51222ff2a06a8636c2252a1df25803c464cd5a' }, h("fieldset", { key: 'c705274cb9e5cc651f8cedb5ac23714a75dca09a' }, h("legend", { key: '0e865f2763c872ccd65c7d255e0a49533bf8afbe', part: heading2 }, "Additional Questions"), h("div", { key: 'b5a9d2c8086820d837a6261c0fbbd1c4785e8cbe', class: "row gy-3" }, h("div", { key: 'b0174e926ef2726d9c1ce809d00cf8fef623207c', class: "col-12 col-md-6" }, h("form-control-monetary-provisioning", { key: '5553ed9ca690b4b7a54dfe864225fb4e10987c96', name: "business_revenue", label: "What is the business' estimated annual revenue from its primary business activities?", inputHandler: this.inputHandler, errorText: (_b = (_a = this.errors) === null || _a === void 0 ? void 0 : _a.additional_questions) === null || _b === void 0 ? void 0 : _b.business_revenue, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_revenue, maskOptions: CURRENCY_MASK.WHOLE })), h("div", { key: 'a01e709a65772041979e7b8c057b271e26524174', class: "col-12 col-md-6" }, h("form-control-monetary-provisioning", { key: '2e56403c3eb357dac7f6791e0c5fa4fca58e6cfb', name: "business_payment_volume", label: "What is the business' annual credit card & ACH volume anticipated to process?", inputHandler: this.inputHandler, errorText: (_d = (_c = this.errors) === null || _c === void 0 ? void 0 : _c.additional_questions) === null || _d === void 0 ? void 0 : _d.business_payment_volume, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_payment_volume, maskOptions: CURRENCY_MASK.WHOLE })), h("div", { key: '74318a7f6fdcc265d96827e5fb02d797631b3fd5', class: "col-12" }, h("form-control-select", { key: 'd166c9a1951afc9e1876d078ddc026671e8e0dcc', 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: (_f = (_e = this.errors) === null || _e === void 0 ? void 0 : _e.additional_questions) === null || _f === void 0 ? void 0 : _f.business_when_service_received, options: businessServiceReceivedOptions, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_when_service_received })), h("div", { key: 'e47aefb3a2274244d3e2561da7cfecb203445f1e', class: "col-12" }, h("form-control-select", { key: '33978d0af775cace90de84104f74b2d6c22ae1c0', name: 'business_recurring_payments', label: 'Does your business offer recurring payments?', inputHandler: this.inputHandler, errorText: (_h = (_g = this.errors) === null || _g === void 0 ? void 0 : _g.additional_questions) === null || _h === void 0 ? void 0 : _h.business_recurring_payments, options: recurringPaymentsOptions, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_recurring_payments })), h("div", { key: '93f996064e4055c9a81c0077a20fd878ad1a6c97', class: "col-12" }, h("form-control-text", { key: '68ac25357311838b8fa9a897fbb324f45f589f5f', name: 'business_recurring_payments_percentage', label: 'What percent of revenue is generated from each recurring payment type offered?', inputHandler: this.inputHandler, errorText: (_k = (_j = this.errors) === null || _j === void 0 ? void 0 : _j.additional_questions) === null || _k === void 0 ? void 0 : _k.business_recurring_payments_percentage, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_recurring_payments_percentage })), h("div", { key: 'f2dfe10a8ed19faa36a38a8192268813b03d454f', class: "col-12" }, h("form-control-select", { key: '1d6cf56564944d8dbef4f22c403232c9b7841018', name: 'business_seasonal', label: 'Is this business seasonal?', inputHandler: this.inputHandler, errorText: (_m = (_l = this.errors) === null || _l === void 0 ? void 0 : _l.additional_questions) === null || _m === void 0 ? void 0 : _m.business_seasonal, options: seasonalBusinessOptions, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_seasonal })), h("div", { key: 'fe75a54400d4614fe1d3ed9099ff5a5d3822c007', class: "col-12" }, h("form-control-text", { key: 'aa7609f7687a5c0666bf35119cd4af7ad4e68f89', name: 'business_other_payment_details', label: 'Is there anything else you would like us to know about how your customers pay the business?', inputHandler: this.inputHandler, errorText: (_p = (_o = this.errors) === null || _o === void 0 ? void 0 : _o.additional_questions) === null || _p === void 0 ? void 0 : _p.business_other_payment_details, defaultValue: additionalQuestionsDefaultValue === null || additionalQuestionsDefaultValue === void 0 ? void 0 : additionalQuestionsDefaultValue.business_other_payment_details }))))));
22
22
  }
23
23
  static get is() { return "justifi-additional-questions"; }
24
24
  static get properties() {
25
25
  return {
26
26
  "formController": {
27
- "type": "unknown",
27
+ "type": "any",
28
28
  "mutable": false,
29
29
  "complexType": {
30
30
  "original": "FormController",
31
31
  "resolved": "FormController",
32
32
  "references": {
33
33
  "FormController": {
34
- "location": "import",
35
- "path": "../../../../components",
36
- "id": "src/components.d.ts::FormController"
34
+ "location": "global",
35
+ "id": "global::FormController"
37
36
  }
38
37
  }
39
38
  },
@@ -44,7 +43,9 @@ export class AdditionalQuestions {
44
43
  "text": ""
45
44
  },
46
45
  "getter": false,
47
- "setter": false
46
+ "setter": false,
47
+ "reflect": false,
48
+ "attribute": "form-controller"
48
49
  }
49
50
  };
50
51
  }
@@ -30,10 +30,10 @@ export class BusinessCoreInfo {
30
30
  render() {
31
31
  var _a, _b;
32
32
  const coreInfoDefaultValue = this.formController.getInitialValues();
33
- return (h(Host, { key: '0dba6443b063d02368f93f3a336a8051364b5fca' }, h("fieldset", { key: '42eabe1f20623241291a8bc374c14b0727fae5cd' }, h("legend", { key: 'b74d116fa26b843eee56201c3997ecf916453a23', part: heading2 }, "General Info"), h("div", { key: '8370be848754f5730d1f5bffbfb51875cec01218', class: "row gy-3" }, h("div", { key: 'b891b5ce1820755b44a4d4d14240cd6f6f705114', class: "col-12" }, h("form-control-text", { key: '712f62f8feb4c34eb90048f29158c03cf71b38db', name: "legal_name", label: "Legal Name", defaultValue: coreInfoDefaultValue.legal_name, errorText: this.errors.legal_name, inputHandler: this.inputHandler })), h("div", { key: '52cb8a48648bb036b04fba034dc27a4b286bf7ce', class: "col-12" }, h("form-control-text", { key: '655edd4ae78b47fea221308ce9e582eb731454a7', name: "doing_business_as", label: "Doing Business As (DBA)", defaultValue: coreInfoDefaultValue.doing_business_as, errorText: this.errors.doing_business_as, inputHandler: this.inputHandler })), h("div", { key: '0cd13bcea3e7e1ef90e5d071ea40690f7a8ea022', class: "col-12 col-md-8" }, h("form-control-select", { key: '00a2173bda66d059f9ef7534b3535a4f36dbbbc1', name: "classification", label: "Business Classification", options: businessClassificationOptions, defaultValue: coreInfoDefaultValue.classification, errorText: this.errors.classification, inputHandler: this.inputHandler })), h("div", { key: '4c157888deded84baa24ffdd5c5d74e90590c5f8', class: "col-12 col-md-4" }, h("form-control-date", { key: '7af97d93cf2a9f7ff988621d53e528a8930932ed', name: "date_of_incorporation", label: "Date of Incorporation", defaultValue: coreInfoDefaultValue.date_of_incorporation, errorText: this.errors.date_of_incorporation, inputHandler: this.inputHandler })), h("div", { key: 'b5d0493b01ad9a0853bea95b76220c939cd43828', class: "col-12 col-md-6" }, h("form-control-text", { key: '5df583e04316c0afeaef771177dff20f6d266362', name: "industry", label: "Industry", defaultValue: coreInfoDefaultValue.industry, errorText: this.errors.industry, inputHandler: this.inputHandler })), h("div", { key: '0bd63d995778469190a97a21190e3da742a468fa', class: "col-12 col-md-6" }, (!((_a = this.coreInfo) === null || _a === void 0 ? void 0 : _a.tax_id_last4) || this.isEditingTaxId) ? (h("form-control-number-masked", { name: "tax_id", label: countryLabels[this.country].taxIdLabel, defaultValue: this.isEditingTaxId ? '' : coreInfoDefaultValue.tax_id, errorText: this.errors.tax_id, inputHandler: this.inputHandler, mask: IDENTITY_MASKS[this.country], helpText: countryLabels[this.country].taxIdHelpText })) : (h("div", null, h("label", { class: "form-label", part: label }, countryLabels[this.country].taxIdLabel), h("div", { class: "input-group mb-3" }, h("input", { type: "text", class: "form-control", part: inputDisabled, value: `****${(_b = this.coreInfo) === null || _b === void 0 ? void 0 : _b.tax_id_last4}`, disabled: true }), h("button", { class: "btn btn-secondary", type: "button", part: buttonSecondary, onClick: () => {
33
+ return (h(Host, { key: 'abe85b33019341e670263a3fabefe1c73c203a12' }, h("fieldset", { key: '12eb6d4e78e56c8771d95e03fa7d8c4c9ea6478f' }, h("legend", { key: '514cb38045c7d4a4a6746a3846c84013507d0691', part: heading2 }, "General Info"), h("div", { key: '30a509f2dd8ec2938dcc790d8891a917b76b91a0', class: "row gy-3" }, h("div", { key: 'ced24f46905abd380fd190bd56d56eba7ec65289', class: "col-12" }, h("form-control-text", { key: '26e986bef6cad147cd7e5b557e27ad8e61932e54', name: "legal_name", label: "Legal Name", defaultValue: coreInfoDefaultValue.legal_name, errorText: this.errors.legal_name, inputHandler: this.inputHandler })), h("div", { key: 'fabae43dc916ee087b73e366b01bc40fc29a4110', class: "col-12" }, h("form-control-text", { key: 'bf7e45fe95c0156c583c693006f4a65f2d1d6b1b', name: "doing_business_as", label: "Doing Business As (DBA)", defaultValue: coreInfoDefaultValue.doing_business_as, errorText: this.errors.doing_business_as, inputHandler: this.inputHandler })), h("div", { key: '12d52af1fb5dcef7382b8a36f44a048bcff5a752', class: "col-12 col-md-8" }, h("form-control-select", { key: '94ea7c2438e5fbb0b85a9df5915d78791ae026ea', name: "classification", label: "Business Classification", options: businessClassificationOptions, defaultValue: coreInfoDefaultValue.classification, errorText: this.errors.classification, inputHandler: this.inputHandler })), h("div", { key: '90800a655ff4470ea6de9f774dcdccc95862c821', class: "col-12 col-md-4" }, h("form-control-date", { key: '715436c7bf7d34ab2505b1005873ac549f351af1', name: "date_of_incorporation", label: "Date of Incorporation", defaultValue: coreInfoDefaultValue.date_of_incorporation, errorText: this.errors.date_of_incorporation, inputHandler: this.inputHandler })), h("div", { key: 'f4502deec218f3493210ecb6b1ad19fc7cf9f28f', class: "col-12 col-md-6" }, h("form-control-text", { key: '91614c8854a4b2e79fea028c1ad43ef751dacfb1', name: "industry", label: "Industry", defaultValue: coreInfoDefaultValue.industry, errorText: this.errors.industry, inputHandler: this.inputHandler })), h("div", { key: '9c7a45b88199e7d00673e6d569f45e2dcf3d242d', class: "col-12 col-md-6" }, (!((_a = this.coreInfo) === null || _a === void 0 ? void 0 : _a.tax_id_last4) || this.isEditingTaxId) ? (h("form-control-number-masked", { name: "tax_id", label: countryLabels[this.country].taxIdLabel, defaultValue: this.isEditingTaxId ? '' : coreInfoDefaultValue.tax_id, errorText: this.errors.tax_id, inputHandler: this.inputHandler, mask: IDENTITY_MASKS[this.country], helpText: countryLabels[this.country].taxIdHelpText })) : (h("div", null, h("label", { class: "form-label", part: label }, countryLabels[this.country].taxIdLabel), h("div", { class: "input-group mb-3" }, h("input", { type: "text", class: "form-control", part: inputDisabled, value: `****${(_b = this.coreInfo) === null || _b === void 0 ? void 0 : _b.tax_id_last4}`, disabled: true }), h("button", { class: "btn btn-secondary", type: "button", part: buttonSecondary, onClick: () => {
34
34
  this.isEditingTaxId = true;
35
35
  this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { tax_id: '' }));
36
- } }, "Change"))))), h("div", { key: '3decd3a593098a1c36e4baf1aeb846603b4a6769', class: "col-12" }, h("form-control-text", { key: 'e3cb697846ad086ca6f4998d302574bb4de4c4a6', name: "website_url", label: "Website URL", defaultValue: coreInfoDefaultValue.website_url, errorText: this.errors.website_url, inputHandler: this.inputHandler })), h("div", { key: '69c357ad3d2b5464d0c333c8fdc82353044b7301', class: "col-12 col-md-6" }, h("form-control-text", { key: '49857dc20c817d8c600dbeae9c8191452ec1898f', name: "email", label: "Email Address", defaultValue: coreInfoDefaultValue.email, errorText: this.errors.email, inputHandler: this.inputHandler })), h("div", { key: '1c9279a56b389fcd71ffeaad66df8a067a035334', class: "col-12 col-md-6" }, h("form-control-number-masked", { key: '7c329ae3c7dcff34d88bce2a64d9ccaa09384055', name: "phone", label: "Phone Number", defaultValue: coreInfoDefaultValue.phone, errorText: this.errors.phone, inputHandler: this.inputHandler, mask: PHONE_MASKS.US }))))));
36
+ } }, "Change"))))), h("div", { key: 'd0eb145c0afde23fd1dcf7837763971b259ff260', class: "col-12" }, h("form-control-text", { key: '7b2d6a1558b6be6adc87ff4109bca6e9238c2ecf', name: "website_url", label: "Website URL", defaultValue: coreInfoDefaultValue.website_url, errorText: this.errors.website_url, inputHandler: this.inputHandler })), h("div", { key: 'eb9637448b9f9a6e4a8b8a08ad9f7f48ff56ec4f', class: "col-12 col-md-6" }, h("form-control-text", { key: '1f2b0ce0c7dd02485635e8f666d59cd7ec792dbc', name: "email", label: "Email Address", defaultValue: coreInfoDefaultValue.email, errorText: this.errors.email, inputHandler: this.inputHandler })), h("div", { key: '46fa9ad350b8482296ce0a76db841b78efb9b83b', class: "col-12 col-md-6" }, h("form-control-number-masked", { key: '9d4376e2e1d4372470ba8483f8fe1c0992267e38', name: "phone", label: "Phone Number", defaultValue: coreInfoDefaultValue.phone, errorText: this.errors.phone, inputHandler: this.inputHandler, mask: PHONE_MASKS.US }))))));
37
37
  }
38
38
  static get is() { return "justifi-business-core-info"; }
39
39
  static get properties() {
@@ -32,26 +32,25 @@ export class BusinessRepresentative {
32
32
  render() {
33
33
  var _a, _b;
34
34
  const representativeDefaultValue = this.formController.getInitialValues().representative;
35
- return (h(Host, { key: '2d8a5324bfea8bd297b5db5f1e5aaf5d9aa51cb4' }, h("fieldset", { key: 'c25884a7aaa0ffb19316002e8ce9e158a1f0b8e9' }, h("legend", { key: 'af36d94625e4b82c8418079b60cade953ac53e8e', part: heading2 }, "Representative"), h("div", { key: 'c3ad5ca5e1c636db05fa3994c443975ecc363e62', class: "row gy-3" }, h("div", { key: '8b27315feb79cf08d69c5a108426705cb6445c71', class: "col-12 col-md-8" }, h("form-control-text", { key: 'f6ffb2619c6537f99bed5a35602d3d7d68f821ad', name: "name", label: "Full Name", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.name, errorText: this.errors.name, inputHandler: this.inputHandler })), h("div", { key: 'cde914c872fcfbe0395f358b570d9cefbf14872e', class: "col-12 col-md-4" }, h("form-control-text", { key: 'c70330625ed26d8d5e8d00af7df55571ef4ff32a', name: "title", label: "Title", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.title, errorText: this.errors.title, inputHandler: this.inputHandler })), h("div", { key: '64bba44c0facd07c8648fba1ce31385b33f94513', class: "col-12 col-md-6" }, h("form-control-text", { key: '33c7c4a365f6d7ce43e6b98b9ca3646f2263abd1', name: "email", label: "Email Address", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.email, errorText: this.errors.email, inputHandler: this.inputHandler })), h("div", { key: '5b96d76754918f37fc4f226a5c6656529b77b63f', class: "col-12 col-md-6" }, h("form-control-number-masked", { key: 'c7cf814cf84a0c69e547c0b60f643b7fb78490af', name: "phone", label: "Phone Number", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.phone, errorText: this.errors.phone, inputHandler: this.inputHandler, mask: PHONE_MASKS.US })), h("div", { key: 'e5c486242e9fb47c81a28831a9a648bee28e95d5', class: "col-12 col-md-4" }, h("form-control-date", { key: '519cc94edb63b5f465d0ada9fe905e68aca54e1e', name: "dob_full", label: "Birth Date", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.dob_full, errorText: this.errors.dob_full, inputHandler: this.inputHandler, onFormControlInput: this.onDateOfBirthUpdate })), h("div", { key: 'b971e1320a57061d9d1eae7adb28eda19ce855a4', class: "col-12 col-md-8" }, (!((_a = this.representative) === null || _a === void 0 ? void 0 : _a.ssn_last4) || this.isEditingIdentification) ? (h("form-control-number-masked", { name: "identification_number", label: this.identificationNumberLabel, defaultValue: this.isEditingIdentification ? '' : representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.identification_number, errorText: this.errors.identification_number, inputHandler: this.inputHandler, mask: IDENTITY_MASKS[this.country], helpText: countryLabels[this.country].identityHelpText })) : (h("div", null, h("label", { class: "form-label", part: label }, this.identificationNumberLabel), h("div", { class: "input-group mb-3" }, h("input", { type: "text", class: "form-control", part: inputDisabled, value: `****${(_b = this.representative) === null || _b === void 0 ? void 0 : _b.ssn_last4}`, disabled: true }), h("button", { class: "btn btn-secondary", type: "button", part: buttonSecondary, onClick: () => {
35
+ return (h(Host, { key: '1ce133c6cf1804607b661953bb9d952e6dfdede7' }, h("fieldset", { key: '759e0e7adc03c8814e09effd245e7c25f9fcf536' }, h("legend", { key: '625eb15226d9318075c57c7e13d6b8a04686f00f', part: heading2 }, "Representative"), h("div", { key: '8b11c10cd073c3ffcb7c52f97c463b91a5609afa', class: "row gy-3" }, h("div", { key: '35b0b9a741ee46dfc049ea5914dfa672e4bd64f3', class: "col-12 col-md-8" }, h("form-control-text", { key: '577cb8c5911c5a8364de282ca04e75b045d6de36', name: "name", label: "Full Name", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.name, errorText: this.errors.name, inputHandler: this.inputHandler })), h("div", { key: '3ebaa46f7045f1db417285fe3ef9c19310dbe0c6', class: "col-12 col-md-4" }, h("form-control-text", { key: '69eb59adf3da1d3d48b1d395badd4c76ac0d8383', name: "title", label: "Title", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.title, errorText: this.errors.title, inputHandler: this.inputHandler })), h("div", { key: 'd9ee1e3a4919e5d714f34ff1417677a48101166f', class: "col-12 col-md-6" }, h("form-control-text", { key: 'cc6c0e28dc815985be5309de33957fcd37f53b29', name: "email", label: "Email Address", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.email, errorText: this.errors.email, inputHandler: this.inputHandler })), h("div", { key: 'd40a0a637c921ca6e8fa4aa347369c029c4569cb', class: "col-12 col-md-6" }, h("form-control-number-masked", { key: 'ce15cd57570e34d14bc596c1b5f7e49d3f33ea36', name: "phone", label: "Phone Number", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.phone, errorText: this.errors.phone, inputHandler: this.inputHandler, mask: PHONE_MASKS.US })), h("div", { key: '1504ac209231141b564412af3719b2ab6d84e553', class: "col-12 col-md-4" }, h("form-control-date", { key: '8fe92ed396ab947f439a04e2b67787725b393dcb', name: "dob_full", label: "Birth Date", defaultValue: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.dob_full, errorText: this.errors.dob_full, inputHandler: this.inputHandler, onFormControlInput: this.onDateOfBirthUpdate })), h("div", { key: 'd8ee89f3f4124ebb222d99a9337db4be7ab7df61', class: "col-12 col-md-8" }, (!((_a = this.representative) === null || _a === void 0 ? void 0 : _a.ssn_last4) || this.isEditingIdentification) ? (h("form-control-number-masked", { name: "identification_number", label: this.identificationNumberLabel, defaultValue: this.isEditingIdentification ? '' : representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.identification_number, errorText: this.errors.identification_number, inputHandler: this.inputHandler, mask: IDENTITY_MASKS[this.country], helpText: countryLabels[this.country].identityHelpText })) : (h("div", null, h("label", { class: "form-label", part: label }, this.identificationNumberLabel), h("div", { class: "input-group mb-3" }, h("input", { type: "text", class: "form-control", part: inputDisabled, value: `****${(_b = this.representative) === null || _b === void 0 ? void 0 : _b.ssn_last4}`, disabled: true }), h("button", { class: "btn btn-secondary", type: "button", part: buttonSecondary, onClick: () => {
36
36
  this.isEditingIdentification = true;
37
37
  // Clear last4 and current value to force validation
38
38
  this.formController.setValues(Object.assign(Object.assign({}, this.formController.values.getValue()), { representative: Object.assign(Object.assign({}, this.formController.values.getValue().representative), { ssn_last4: null, identification_number: '' }) }));
39
- } }, "Change"))))), h("div", { key: '92b0c2109f98ac67a32ad57ca91c4f663d3de307', class: "col-12" }, h("justifi-identity-address-form", { key: '187ac4670413b762f4f78dcde5a33ae2a73f203f', errors: this.errors.address, defaultValues: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.address, handleFormUpdate: this.onAddressFormUpdate, country: this.country }))))));
39
+ } }, "Change"))))), h("div", { key: '54548bf9622fcc949ebd91db29cc8b877dd7652d', class: "col-12" }, h("justifi-identity-address-form", { key: '9925b7d70bceb8e3d1dafc9313673a5c8a0810a0', errors: this.errors.address, defaultValues: representativeDefaultValue === null || representativeDefaultValue === void 0 ? void 0 : representativeDefaultValue.address, handleFormUpdate: this.onAddressFormUpdate, country: this.country }))))));
40
40
  }
41
41
  static get is() { return "justifi-business-representative"; }
42
42
  static get properties() {
43
43
  return {
44
44
  "formController": {
45
- "type": "unknown",
45
+ "type": "any",
46
46
  "mutable": false,
47
47
  "complexType": {
48
48
  "original": "FormController",
49
49
  "resolved": "FormController",
50
50
  "references": {
51
51
  "FormController": {
52
- "location": "import",
53
- "path": "../../../../components",
54
- "id": "src/components.d.ts::FormController"
52
+ "location": "global",
53
+ "id": "global::FormController"
55
54
  }
56
55
  }
57
56
  },
@@ -62,7 +61,9 @@ export class BusinessRepresentative {
62
61
  "text": ""
63
62
  },
64
63
  "getter": false,
65
- "setter": false
64
+ "setter": false,
65
+ "reflect": false,
66
+ "attribute": "form-controller"
66
67
  },
67
68
  "country": {
68
69
  "type": "string",
@@ -15,22 +15,21 @@ export class LegalAddressForm {
15
15
  render() {
16
16
  var _a;
17
17
  const legalAddressDefaultValue = this.formController.getInitialValues().legal_address;
18
- return (h(Host, { key: '020c1a41ff7fa0881464463322b54754e7664957' }, h("fieldset", { key: 'cb1ae50abc99f8915cead7ef850de52f62bab304' }, h("legend", { key: '74d2bba4a9557ff2ac5b9b34d0947e9a076ddb84', part: heading2 }, "Business Legal Address"), h("justifi-form-address-fields", { key: '86d9fc1d344ace729cdc75b1a9239b74865f306b', country: this.country, errors: (_a = this.errors) === null || _a === void 0 ? void 0 : _a.legal_address, defaultValues: legalAddressDefaultValue, inputHandler: this.inputHandler }))));
18
+ return (h(Host, { key: '0e6136a175ee0bb8708d1848ad850bd973f60c4b' }, h("fieldset", { key: '2fcfb7b8cc1bf70157dbfaba7bb5df9ddd82454b' }, h("legend", { key: 'ce30f5e679113cceda046f142e01548a1db573a0', part: heading2 }, "Business Legal Address"), h("justifi-form-address-fields", { key: 'a091d88fb62401c814458d696866de64a26a6bff', country: this.country, errors: (_a = this.errors) === null || _a === void 0 ? void 0 : _a.legal_address, defaultValues: legalAddressDefaultValue, inputHandler: this.inputHandler }))));
19
19
  }
20
20
  static get is() { return "justifi-legal-address-form"; }
21
21
  static get properties() {
22
22
  return {
23
23
  "formController": {
24
- "type": "unknown",
24
+ "type": "any",
25
25
  "mutable": false,
26
26
  "complexType": {
27
27
  "original": "FormController",
28
28
  "resolved": "FormController",
29
29
  "references": {
30
30
  "FormController": {
31
- "location": "import",
32
- "path": "../../../../components",
33
- "id": "src/components.d.ts::FormController"
31
+ "location": "global",
32
+ "id": "global::FormController"
34
33
  }
35
34
  }
36
35
  },
@@ -41,7 +40,9 @@ export class LegalAddressForm {
41
40
  "text": ""
42
41
  },
43
42
  "getter": false,
44
- "setter": false
43
+ "setter": false,
44
+ "reflect": false,
45
+ "attribute": "form-controller"
45
46
  },
46
47
  "country": {
47
48
  "type": "string",
@@ -11,7 +11,7 @@ export class IdentityAddressForm {
11
11
  this.handleFormUpdate(newValues);
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: '86c91933676745470d6b28cf6843624d092adc57' }, h("justifi-form-address-fields", { key: '7cbee24003b6b0446fb1203c9863151b0d2f4f15', country: this.country, errors: this.errors, defaultValues: this.defaultValues, inputHandler: this.inputHandler })));
14
+ return (h(Host, { key: 'c9b75fa8c884fb755cd26be4433022f278794e4e' }, h("justifi-form-address-fields", { key: '2f9cfa3fc695de214d9203c680e6cb115d714b82', country: this.country, errors: this.errors, defaultValues: this.defaultValues, inputHandler: this.inputHandler })));
15
15
  }
16
16
  static get is() { return "justifi-identity-address-form"; }
17
17
  static get properties() {