@justifi/webcomponents 6.6.0 → 6.7.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 (555) hide show
  1. package/dist/cjs/{Refund-BX0mjsAQ.js → GooglePay-BwiJ_80p.js} +415 -0
  2. package/dist/cjs/additional-questions-details_5.cjs.entry.js +2 -2
  3. package/dist/cjs/{badge-_nY1l5Rq.js → badge-Cc87HAsf.js} +1 -1
  4. package/dist/cjs/bank-account-document-form-inputs_8.cjs.entry.js +9 -8
  5. package/dist/cjs/bank-account-form.cjs.entry.js +4 -4
  6. package/dist/cjs/business-details-core.cjs.entry.js +3 -3
  7. package/dist/cjs/{business.service-Dffp64u6.js → business.service-q93NsTG_.js} +1 -1
  8. package/dist/cjs/{button-CARQPDm-.js → button-fUPGXjU_.js} +1 -1
  9. package/dist/cjs/card-form.cjs.entry.js +4 -4
  10. package/dist/cjs/{check-pkg-version-DZC7jOGP.js → check-pkg-version-cLAIX_H6.js} +2 -2
  11. package/dist/cjs/{checkout.service-C1HcsrjQ.js → checkout.service-CwelwhrT.js} +1 -1
  12. package/dist/cjs/checkouts-list-core.cjs.entry.js +8 -7
  13. package/dist/cjs/{checkouts-table-Bgqkaez4.js → checkouts-table-BBtqxG2F.js} +2 -2
  14. package/dist/cjs/custom-popper_2.cjs.entry.js +3 -3
  15. package/dist/cjs/{dispute.service-CJsWYMYk.js → dispute.service-q5ha39uN.js} +1 -1
  16. package/dist/cjs/form-alert_5.cjs.entry.js +1 -1
  17. package/dist/cjs/form-control-checkbox.cjs.entry.js +5 -5
  18. package/dist/cjs/form-control-date.cjs.entry.js +4 -4
  19. package/dist/cjs/{form-control-error-text-mhOq2Edp.js → form-control-error-text-Dg_65HGK.js} +1 -1
  20. package/dist/cjs/form-control-file-v2_2.cjs.entry.js +5 -5
  21. package/dist/cjs/{form-control-help-text-BoRpAoX6.js → form-control-help-text-tB5u1-5M.js} +1 -1
  22. package/dist/cjs/form-control-monetary-provisioning.cjs.entry.js +3 -3
  23. package/dist/cjs/form-control-monetary.cjs.entry.js +5 -5
  24. package/dist/cjs/form-control-number-masked_3.cjs.entry.js +4 -4
  25. package/dist/cjs/form-control-number.cjs.entry.js +5 -5
  26. package/dist/cjs/form-control-radio.cjs.entry.js +3 -3
  27. package/dist/cjs/form-control-select_2.cjs.entry.js +6 -6
  28. package/dist/cjs/{get-payment-details-BblcGN2B.js → get-payment-details-DidIAK2i.js} +2 -2
  29. package/dist/cjs/{get-subaccounts-z4dNQDjx.js → get-subaccounts-BE_wcfM7.js} +2 -2
  30. package/dist/cjs/gross-payment-chart-core.cjs.entry.js +4 -4
  31. package/dist/cjs/{header-1-CBO8uDuZ.js → header-1-Bqejh9no.js} +1 -1
  32. package/dist/cjs/{header-3-CPWtI1t0.js → header-3-DQ649Me2.js} +1 -1
  33. package/dist/cjs/hidden-input_2.cjs.entry.js +7 -7
  34. package/dist/cjs/{index-C2ITzalN.js → index-CajjbB9t.js} +1 -0
  35. package/dist/cjs/index.cjs.js +1 -1
  36. package/dist/cjs/{insurance-state-BMHITXoD.js → insurance-state-DsGnIHMM.js} +1 -1
  37. package/dist/cjs/internal-tokenize-payment-method_7.cjs.entry.js +25 -26
  38. package/dist/cjs/justifi-additional-questions-form-step_9.cjs.entry.js +12 -11
  39. package/dist/cjs/justifi-additional-statement_8.cjs.entry.js +9 -9
  40. package/dist/cjs/{justifi-apple-pay_7.cjs.entry.js → justifi-apple-pay_8.cjs.entry.js} +905 -258
  41. package/dist/cjs/justifi-bank-account-billing-form-simple_3.cjs.entry.js +4 -4
  42. package/dist/cjs/justifi-business-details.cjs.entry.js +7 -6
  43. package/dist/cjs/justifi-business-form.cjs.entry.js +9 -8
  44. package/dist/cjs/justifi-checkout.cjs.entry.js +15 -16
  45. package/dist/cjs/justifi-checkouts-list-filters.cjs.entry.js +26 -12
  46. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +11 -10
  47. package/dist/cjs/justifi-details.cjs.entry.js +2 -2
  48. package/dist/cjs/justifi-dispute-management-core.cjs.entry.js +1 -1
  49. package/dist/cjs/justifi-dispute-management.cjs.entry.js +6 -5
  50. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +12 -11
  51. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +6 -5
  52. package/dist/cjs/justifi-order-terminals.cjs.entry.js +12 -11
  53. package/dist/cjs/justifi-payment-details.cjs.entry.js +8 -7
  54. package/dist/cjs/justifi-payment-provisioning-core.cjs.entry.js +2 -2
  55. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +5 -4
  56. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +10 -9
  57. package/dist/cjs/justifi-payments-list-filters.cjs.entry.js +3 -3
  58. package/dist/cjs/justifi-payments-list.cjs.entry.js +11 -10
  59. package/dist/cjs/justifi-payout-details.cjs.entry.js +8 -7
  60. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +10 -9
  61. package/dist/cjs/justifi-payouts-list-filters.cjs.entry.js +3 -3
  62. package/dist/cjs/justifi-payouts-list.cjs.entry.js +12 -11
  63. package/dist/cjs/justifi-refund-payment.cjs.entry.js +13 -12
  64. package/dist/cjs/justifi-saved-payment-method.cjs.entry.js +2 -2
  65. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +10 -11
  66. package/dist/cjs/justifi-skeleton.cjs.entry.js +3 -3
  67. package/dist/cjs/justifi-terminal-orders-list-filters.cjs.entry.js +13 -12
  68. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +9 -8
  69. package/dist/cjs/justifi-terminals-list-filters.cjs.entry.js +9 -8
  70. package/dist/cjs/justifi-terminals-list.cjs.entry.js +11 -10
  71. package/dist/cjs/justifi-tokenize-payment-method.cjs.entry.js +1 -1
  72. package/dist/cjs/loader.cjs.js +1 -1
  73. package/dist/cjs/owner-form-core_2.cjs.entry.js +2 -2
  74. package/dist/cjs/{package-CkO7M9IQ.js → package-C9E_BIbT.js} +1 -1
  75. package/dist/cjs/pagination-menu.cjs.entry.js +1 -1
  76. package/dist/cjs/{parts-Pb06tUMp.js → parts-BVbaniVM.js} +6 -0
  77. package/dist/cjs/payment-details-core.cjs.entry.js +16 -15
  78. package/dist/cjs/payment-method-option.cjs.entry.js +2 -2
  79. package/dist/cjs/{payment.service-BZatGHKc.js → payment.service-CyHFdJ7n.js} +1 -1
  80. package/dist/cjs/payments-list-core.cjs.entry.js +9 -8
  81. package/dist/cjs/{payments-status-t4fVj8f9.js → payments-status-BP4u31jU.js} +1 -1
  82. package/dist/cjs/{payments-table-CaJt-yMH.js → payments-table-CWXVhECV.js} +2 -2
  83. package/dist/cjs/payout-details-core.cjs.entry.js +9 -9
  84. package/dist/cjs/{payout.service-DbgLWhwh.js → payout.service-Half-hdB.js} +1 -1
  85. package/dist/cjs/payouts-list-core.cjs.entry.js +9 -8
  86. package/dist/cjs/{payouts-status-pIO9qZG6.js → payouts-status-CM5Zy-0J.js} +1 -1
  87. package/dist/cjs/{payouts-table-DZv0WnTS.js → payouts-table-ZLTcfkUm.js} +2 -2
  88. package/dist/cjs/{skeleton-BF3HGL9X.js → skeleton-B8dzxFFr.js} +1 -1
  89. package/dist/cjs/{spinner-BBdv3Iq1.js → spinner-jHyLNCGO.js} +1 -1
  90. package/dist/cjs/{table-CfBpaApw.js → table-CrtpRwGN.js} +2 -2
  91. package/dist/cjs/table-filters-menu.cjs.entry.js +3 -3
  92. package/dist/cjs/terminal-orders-list-core.cjs.entry.js +8 -7
  93. package/dist/cjs/{terminal-orders-table-F-ZFUBwH.js → terminal-orders-table-DT53anT3.js} +5 -5
  94. package/dist/cjs/terminal-quantity-selector.cjs.entry.js +2 -2
  95. package/dist/cjs/{terminal.service-KC8wBTJJ.js → terminal.service-CFt55QNO.js} +1 -1
  96. package/dist/cjs/terminals-list-core.cjs.entry.js +8 -7
  97. package/dist/cjs/{terminals-table-D7sf_DBN.js → terminals-table-DahpSz98.js} +2 -2
  98. package/dist/cjs/{utils-Cjq3ZCad.js → utils-CMiA4X7s.js} +1 -1
  99. package/dist/cjs/webcomponents.cjs.js +1 -1
  100. package/dist/collection/api/GooglePay.js +181 -0
  101. package/dist/collection/api/index.js +2 -0
  102. package/dist/collection/api/services/google-pay.service.js +241 -0
  103. package/dist/collection/collection-manifest.json +1 -0
  104. package/dist/collection/components/checkout/bank-account-form/bank-account-form.js +2 -2
  105. package/dist/collection/components/checkout/card-form/card-form.js +2 -2
  106. package/dist/collection/components/checkout/checkout.js +2 -2
  107. package/dist/collection/components/checkout/save-new-payment-method.js +1 -1
  108. package/dist/collection/components/checkout/saved-payment-method.js +1 -1
  109. package/dist/collection/components/checkouts-list/checkouts-list-core.js +1 -1
  110. package/dist/collection/components/checkouts-list/checkouts-list-filters.js +72 -2
  111. package/dist/collection/components/checkouts-list/checkouts-list.js +1 -1
  112. package/dist/collection/components/dispute-management/dispute-management-core.js +1 -1
  113. package/dist/collection/components/dispute-management/dispute-management.js +1 -1
  114. package/dist/collection/components/dispute-management/dispute-notification.js +2 -2
  115. package/dist/collection/components/dispute-management/dispute-response/additional-statement.js +1 -1
  116. package/dist/collection/components/dispute-management/dispute-response/cancellation-policy.js +1 -1
  117. package/dist/collection/components/dispute-management/dispute-response/customer-details.js +1 -1
  118. package/dist/collection/components/dispute-management/dispute-response/dispute-response-core.js +1 -1
  119. package/dist/collection/components/dispute-management/dispute-response/dispute-response.js +1 -1
  120. package/dist/collection/components/dispute-management/dispute-response/duplicate-charge.js +1 -1
  121. package/dist/collection/components/dispute-management/dispute-response/electronic-evidence.js +1 -1
  122. package/dist/collection/components/dispute-management/dispute-response/product-or-service.js +1 -1
  123. package/dist/collection/components/dispute-management/dispute-response/refund-policy.js +1 -1
  124. package/dist/collection/components/dispute-management/dispute-response/shipping-details.js +1 -1
  125. package/dist/collection/components/filters/table-filters-menu.js +1 -1
  126. package/dist/collection/components/gross-payment-chart/gross-payment-chart-core.js +1 -1
  127. package/dist/collection/components/modular-checkout/ModularCheckout.js +1 -0
  128. package/dist/collection/components/modular-checkout/modular-checkout.js +44 -6
  129. package/dist/collection/components/modular-checkout/sub-components/bank-account-billing-form-simple.js +1 -1
  130. package/dist/collection/components/modular-checkout/sub-components/bank-account.js +2 -2
  131. package/dist/collection/components/modular-checkout/sub-components/card-billing-form-simple.js +1 -1
  132. package/dist/collection/components/modular-checkout/sub-components/card-form.js +2 -2
  133. package/dist/collection/components/modular-checkout/sub-components/google-pay-skeleton.js +10 -0
  134. package/dist/collection/components/modular-checkout/sub-components/google-pay.js +609 -0
  135. package/dist/collection/components/modular-checkout/sub-components/payment-method-option.js +1 -1
  136. package/dist/collection/components/modular-checkout/sub-components/summary.js +1 -1
  137. package/dist/collection/components/order-terminals/order-terminals.js +1 -1
  138. package/dist/collection/components/order-terminals/terminal-quantity-selector/terminal-quantity-selector.js +1 -1
  139. package/dist/collection/components/payment-details/payment-details-core.js +8 -8
  140. package/dist/collection/components/payment-transactions-list/payment-transactions-list.js +1 -1
  141. package/dist/collection/components/payments-list/payments-list-core.js +1 -1
  142. package/dist/collection/components/payments-list/payments-list-filters.js +2 -2
  143. package/dist/collection/components/payments-list/payments-list.js +1 -1
  144. package/dist/collection/components/payout-details/payout-details-core.js +3 -3
  145. package/dist/collection/components/payout-transactions-list/payout-transactions-list.js +1 -1
  146. package/dist/collection/components/payouts-list/payouts-list-core.js +1 -1
  147. package/dist/collection/components/payouts-list/payouts-list-filters.js +2 -2
  148. package/dist/collection/components/payouts-list/payouts-list.js +1 -1
  149. package/dist/collection/components/terminal-orders-list/terminal-orders-list-core.js +1 -1
  150. package/dist/collection/components/terminal-orders-list/terminal-orders-list-filters.js +2 -2
  151. package/dist/collection/components/terminal-orders-list/terminal-orders-list.js +1 -1
  152. package/dist/collection/components/terminals-list/terminals-list-core.js +1 -1
  153. package/dist/collection/components/terminals-list/terminals-list-filters.js +1 -1
  154. package/dist/collection/components/terminals-list/terminals-list.js +1 -1
  155. package/dist/collection/components/tokenize-payment-method/internal-tokenize-payment-method.js +1 -1
  156. package/dist/collection/components/tokenize-payment-method/tokenize-payment-method.js +1 -1
  157. package/dist/collection/store/checkout.store.js +4 -0
  158. package/dist/collection/styles/parts.js +3 -0
  159. package/dist/collection/ui-components/custom-popper/custom-popper.js +2 -2
  160. package/dist/collection/ui-components/form/form-control-checkbox.js +2 -2
  161. package/dist/collection/ui-components/form/form-control-date.js +2 -2
  162. package/dist/collection/ui-components/form/form-control-file-v2.js +1 -1
  163. package/dist/collection/ui-components/form/form-control-file.js +2 -2
  164. package/dist/collection/ui-components/form/form-control-monetary.js +2 -2
  165. package/dist/collection/ui-components/form/form-control-number-masked.js +2 -2
  166. package/dist/collection/ui-components/form/form-control-number.js +2 -2
  167. package/dist/collection/ui-components/form/form-control-radio.js +2 -2
  168. package/dist/collection/ui-components/form/form-control-select.js +2 -2
  169. package/dist/collection/ui-components/form/form-control-text.js +2 -2
  170. package/dist/collection/ui-components/form/form-control-textarea.js +2 -2
  171. package/dist/collection/ui-components/form/hidden-input.js +1 -1
  172. package/dist/collection/ui-components/form/iframe-input.js +3 -3
  173. package/dist/collection/ui-components/google-pay-button.js +251 -0
  174. package/dist/collection/ui-components/shadow-dom-components/justifi-button.js +1 -1
  175. package/dist/collection/ui-components/shadow-dom-components/justifi-header.js +1 -1
  176. package/dist/collection/ui-components/shadow-dom-components/justifi-skeleton.js +1 -1
  177. package/dist/docs.json +727 -102
  178. package/dist/esm/{Refund-DDWRtCuX.js → GooglePay-NNHE-OLJ.js} +405 -1
  179. package/dist/esm/additional-questions-details_5.entry.js +2 -2
  180. package/dist/esm/{badge-BWd10d-w.js → badge-DtrH25ss.js} +1 -1
  181. package/dist/esm/bank-account-document-form-inputs_8.entry.js +8 -7
  182. package/dist/esm/bank-account-form.entry.js +4 -4
  183. package/dist/esm/business-details-core.entry.js +3 -3
  184. package/dist/esm/{business.service-CmSijtcP.js → business.service-BrUSam2T.js} +1 -1
  185. package/dist/esm/{button-BDwVDLs-.js → button-Bpf3VX8Q.js} +1 -1
  186. package/dist/esm/card-form.entry.js +4 -4
  187. package/dist/esm/{check-pkg-version-B83yUQEx.js → check-pkg-version-o2X_8wJ4.js} +2 -2
  188. package/dist/esm/{checkout.service-E60GnrZv.js → checkout.service-Bxt1qPaY.js} +1 -1
  189. package/dist/esm/checkouts-list-core.entry.js +8 -7
  190. package/dist/esm/{checkouts-table-BVWL1wN9.js → checkouts-table-CB4GdlcZ.js} +2 -2
  191. package/dist/esm/custom-popper_2.entry.js +3 -3
  192. package/dist/esm/{dispute.service-CAZJigrO.js → dispute.service-DYRYxxaT.js} +1 -1
  193. package/dist/esm/form-alert_5.entry.js +1 -1
  194. package/dist/esm/form-control-checkbox.entry.js +5 -5
  195. package/dist/esm/form-control-date.entry.js +4 -4
  196. package/dist/esm/{form-control-error-text-BYooqu0N.js → form-control-error-text-BZYykCDp.js} +1 -1
  197. package/dist/esm/form-control-file-v2_2.entry.js +5 -5
  198. package/dist/esm/{form-control-help-text-CF1UA5Sl.js → form-control-help-text-D-p66Yxr.js} +1 -1
  199. package/dist/esm/form-control-monetary-provisioning.entry.js +3 -3
  200. package/dist/esm/form-control-monetary.entry.js +5 -5
  201. package/dist/esm/form-control-number-masked_3.entry.js +4 -4
  202. package/dist/esm/form-control-number.entry.js +5 -5
  203. package/dist/esm/form-control-radio.entry.js +3 -3
  204. package/dist/esm/form-control-select_2.entry.js +6 -6
  205. package/dist/esm/{get-payment-details-Dg5WRkOM.js → get-payment-details-BJ1PLhJZ.js} +1 -1
  206. package/dist/esm/{get-subaccounts-CbxzednA.js → get-subaccounts-CzGHjlUF.js} +1 -1
  207. package/dist/esm/gross-payment-chart-core.entry.js +4 -4
  208. package/dist/esm/{header-1-CzkA4zNY.js → header-1-WwkF5F9y.js} +1 -1
  209. package/dist/esm/{header-3-eIE1RpMN.js → header-3-C5jS39cE.js} +1 -1
  210. package/dist/esm/hidden-input_2.entry.js +7 -7
  211. package/dist/esm/{index-DCIW8z1f.js → index-DkoufM1t.js} +1 -0
  212. package/dist/esm/index.js +1 -1
  213. package/dist/esm/{insurance-state-By2QaBZo.js → insurance-state-C11WKZU6.js} +1 -1
  214. package/dist/esm/internal-tokenize-payment-method_7.entry.js +14 -15
  215. package/dist/esm/justifi-additional-questions-form-step_9.entry.js +6 -5
  216. package/dist/esm/justifi-additional-statement_8.entry.js +9 -9
  217. package/dist/esm/{justifi-apple-pay_7.entry.js → justifi-apple-pay_8.entry.js} +788 -142
  218. package/dist/esm/justifi-bank-account-billing-form-simple_3.entry.js +4 -4
  219. package/dist/esm/justifi-business-details.entry.js +7 -6
  220. package/dist/esm/justifi-business-form.entry.js +9 -8
  221. package/dist/esm/justifi-checkout.entry.js +8 -9
  222. package/dist/esm/justifi-checkouts-list-filters.entry.js +19 -5
  223. package/dist/esm/justifi-checkouts-list.entry.js +10 -9
  224. package/dist/esm/justifi-details.entry.js +2 -2
  225. package/dist/esm/justifi-dispute-management-core.entry.js +1 -1
  226. package/dist/esm/justifi-dispute-management.entry.js +6 -5
  227. package/dist/esm/justifi-dispute-notification_3.entry.js +12 -11
  228. package/dist/esm/justifi-gross-payment-chart.entry.js +6 -5
  229. package/dist/esm/justifi-order-terminals.entry.js +9 -8
  230. package/dist/esm/justifi-payment-details.entry.js +8 -7
  231. package/dist/esm/justifi-payment-provisioning-core.entry.js +2 -2
  232. package/dist/esm/justifi-payment-provisioning.entry.js +5 -4
  233. package/dist/esm/justifi-payment-transactions-list.entry.js +9 -8
  234. package/dist/esm/justifi-payments-list-filters.entry.js +3 -3
  235. package/dist/esm/justifi-payments-list.entry.js +10 -9
  236. package/dist/esm/justifi-payout-details.entry.js +7 -6
  237. package/dist/esm/justifi-payout-transactions-list.entry.js +9 -8
  238. package/dist/esm/justifi-payouts-list-filters.entry.js +3 -3
  239. package/dist/esm/justifi-payouts-list.entry.js +11 -10
  240. package/dist/esm/justifi-refund-payment.entry.js +9 -8
  241. package/dist/esm/justifi-saved-payment-method.entry.js +2 -2
  242. package/dist/esm/justifi-season-interruption-insurance.entry.js +7 -8
  243. package/dist/esm/justifi-skeleton.entry.js +3 -3
  244. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +5 -4
  245. package/dist/esm/justifi-terminal-orders-list.entry.js +8 -7
  246. package/dist/esm/justifi-terminals-list-filters.entry.js +4 -3
  247. package/dist/esm/justifi-terminals-list.entry.js +10 -9
  248. package/dist/esm/justifi-tokenize-payment-method.entry.js +1 -1
  249. package/dist/esm/loader.js +1 -1
  250. package/dist/esm/owner-form-core_2.entry.js +2 -2
  251. package/dist/esm/{package-CdVle3mx.js → package-Dr8Z8wfP.js} +1 -1
  252. package/dist/esm/pagination-menu.entry.js +1 -1
  253. package/dist/esm/{parts-QmGrQis7.js → parts-sA8HBfkI.js} +4 -1
  254. package/dist/esm/payment-details-core.entry.js +15 -14
  255. package/dist/esm/payment-method-option.entry.js +2 -2
  256. package/dist/esm/{payment.service-CWc5BPv-.js → payment.service-BoGemgMw.js} +1 -1
  257. package/dist/esm/payments-list-core.entry.js +9 -8
  258. package/dist/esm/{payments-status-BdCVusHE.js → payments-status-CADg1cD0.js} +1 -1
  259. package/dist/esm/{payments-table-9rC3BvV0.js → payments-table-C6zHWwGO.js} +2 -2
  260. package/dist/esm/payout-details-core.entry.js +9 -9
  261. package/dist/esm/{payout.service-iBVqRzf_.js → payout.service-BSG50wqN.js} +1 -1
  262. package/dist/esm/payouts-list-core.entry.js +9 -8
  263. package/dist/esm/{payouts-status-DhowllYh.js → payouts-status-4VDQvaYV.js} +1 -1
  264. package/dist/esm/{payouts-table-Ci_J6mmU.js → payouts-table-BU5XbzB9.js} +2 -2
  265. package/dist/esm/{skeleton-BX70wCwq.js → skeleton-Dtt56Fl3.js} +1 -1
  266. package/dist/esm/{spinner-CcDNFgNu.js → spinner-DikooWuI.js} +1 -1
  267. package/dist/esm/{table-KZoMaoUh.js → table-1hqe6s5m.js} +2 -2
  268. package/dist/esm/table-filters-menu.entry.js +3 -3
  269. package/dist/esm/terminal-orders-list-core.entry.js +8 -7
  270. package/dist/esm/{terminal-orders-table-BGiWS5cM.js → terminal-orders-table-BsVBelxB.js} +3 -3
  271. package/dist/esm/terminal-quantity-selector.entry.js +2 -2
  272. package/dist/esm/{terminal.service-CxSKhtwB.js → terminal.service-YKfi6Mr9.js} +1 -1
  273. package/dist/esm/terminals-list-core.entry.js +8 -7
  274. package/dist/esm/{terminals-table-DROFEdyn.js → terminals-table-CXJTn-0I.js} +2 -2
  275. package/dist/esm/{utils-C1PX_3uA.js → utils-CgFsPVsv.js} +1 -1
  276. package/dist/esm/webcomponents.js +1 -1
  277. package/dist/module/Analytics.js +2 -0
  278. package/dist/module/ApplePay.js +121 -0
  279. package/dist/module/GooglePay.js +184 -0
  280. package/dist/module/ModularCheckout.js +1 -0
  281. package/dist/module/additional-statement.js +1 -1
  282. package/dist/module/apple-pay.js +1 -120
  283. package/dist/module/bank-account-billing-form-simple.js +1 -1
  284. package/dist/module/bank-account-document-inputs.js +2 -0
  285. package/dist/module/bank-account-form.js +2 -2
  286. package/dist/module/bank-account.js +2 -2
  287. package/dist/module/business-bank-account-form-step.js +2 -0
  288. package/dist/module/business-terms-conditions-form-step.js +2 -0
  289. package/dist/module/business.service.js +2 -0
  290. package/dist/module/cancellation-policy.js +1 -1
  291. package/dist/module/card-billing-form-simple.js +1 -1
  292. package/dist/module/card-form.js +2 -2
  293. package/dist/module/card-form2.js +2 -2
  294. package/dist/module/checkout.service.js +2 -0
  295. package/dist/module/checkout.store.js +4 -0
  296. package/dist/module/checkouts-list-core2.js +4 -2
  297. package/dist/module/custom-popper2.js +2 -2
  298. package/dist/module/customer-details.js +1 -1
  299. package/dist/module/dispute-management-core.js +1 -1
  300. package/dist/module/dispute-notification.js +2 -2
  301. package/dist/module/dispute-response-actions.js +2 -0
  302. package/dist/module/dispute-response-core.js +1 -1
  303. package/dist/module/dispute-response.js +1 -1
  304. package/dist/module/duplicate-charge.js +1 -1
  305. package/dist/module/electronic-evidence.js +1 -1
  306. package/dist/module/form-control-checkbox2.js +2 -2
  307. package/dist/module/form-control-date2.js +2 -2
  308. package/dist/module/form-control-file-v22.js +1 -1
  309. package/dist/module/form-control-file2.js +2 -2
  310. package/dist/module/form-control-monetary2.js +2 -2
  311. package/dist/module/form-control-number-masked2.js +2 -2
  312. package/dist/module/form-control-number.js +2 -2
  313. package/dist/module/form-control-radio2.js +2 -2
  314. package/dist/module/form-control-select2.js +2 -2
  315. package/dist/module/form-control-text2.js +2 -2
  316. package/dist/module/form-control-textarea2.js +2 -2
  317. package/dist/module/get-payment-details.js +2 -0
  318. package/dist/module/get-subaccounts.js +2 -0
  319. package/dist/module/google-pay.js +782 -0
  320. package/dist/module/gross-payment-chart-core2.js +1 -1
  321. package/dist/module/hidden-input2.js +1 -1
  322. package/dist/module/iframe-input2.js +3 -3
  323. package/dist/module/internal-tokenize-payment-method2.js +3 -1
  324. package/dist/module/justifi-business-form.js +2 -0
  325. package/dist/module/justifi-button2.js +1 -1
  326. package/dist/module/justifi-checkout.js +46 -40
  327. package/dist/module/justifi-checkouts-list-filters.js +37 -8
  328. package/dist/module/justifi-checkouts-list.js +3 -1
  329. package/dist/module/justifi-dispute-management.js +1 -1
  330. package/dist/module/justifi-google-pay.d.ts +11 -0
  331. package/dist/module/justifi-google-pay.js +6 -0
  332. package/dist/module/justifi-gross-payment-chart.js +2 -0
  333. package/dist/module/justifi-header2.js +1 -1
  334. package/dist/module/justifi-order-terminals.js +3 -1
  335. package/dist/module/justifi-payment-provisioning.js +2 -0
  336. package/dist/module/justifi-payment-transactions-list.js +5 -3
  337. package/dist/module/justifi-payments-list-filters.js +4 -4
  338. package/dist/module/justifi-payments-list.js +3 -1
  339. package/dist/module/justifi-payout-details.js +2 -0
  340. package/dist/module/justifi-payout-transactions-list.js +5 -3
  341. package/dist/module/justifi-payouts-list-filters.js +4 -4
  342. package/dist/module/justifi-payouts-list.js +3 -1
  343. package/dist/module/justifi-refund-payment.js +2 -0
  344. package/dist/module/justifi-saved-payment-method.js +1 -1
  345. package/dist/module/justifi-season-interruption-insurance.js +2 -0
  346. package/dist/module/justifi-skeleton.js +1 -1
  347. package/dist/module/justifi-terminal-orders-list-filters.js +6 -4
  348. package/dist/module/justifi-terminal-orders-list.js +3 -1
  349. package/dist/module/justifi-terminals-list-filters.js +4 -2
  350. package/dist/module/justifi-terminals-list.js +3 -1
  351. package/dist/module/justifi-tokenize-payment-method.js +1 -1
  352. package/dist/module/modular-checkout.js +46 -6
  353. package/dist/module/package.js +1 -1
  354. package/dist/module/parts.js +4 -1
  355. package/dist/module/payment-details-core2.js +10 -8
  356. package/dist/module/payment-method-option.js +1 -1
  357. package/dist/module/payment.service.js +2 -0
  358. package/dist/module/payments-list-core2.js +5 -3
  359. package/dist/module/payout-details-core2.js +3 -3
  360. package/dist/module/payout.service.js +2 -0
  361. package/dist/module/payouts-list-core2.js +5 -3
  362. package/dist/module/plaid.service.js +2 -0
  363. package/dist/module/product-or-service.js +1 -1
  364. package/dist/module/refund-policy.js +1 -1
  365. package/dist/module/save-new-payment-method.js +1 -1
  366. package/dist/module/shipping-details.js +1 -1
  367. package/dist/module/summary.js +1 -1
  368. package/dist/module/table-filters-menu2.js +2 -2
  369. package/dist/module/table.js +1 -1
  370. package/dist/module/terminal-orders-list-core2.js +5 -3
  371. package/dist/module/terminal-quantity-selector2.js +1 -1
  372. package/dist/module/terminal.service.js +2 -0
  373. package/dist/module/terminals-list-core2.js +4 -2
  374. package/dist/module/utils2.js +1 -1
  375. package/dist/types/api/Checkout.d.ts +5 -0
  376. package/dist/types/api/GooglePay.d.ts +271 -0
  377. package/dist/types/api/index.d.ts +2 -0
  378. package/dist/types/api/services/google-pay.service.d.ts +60 -0
  379. package/dist/types/components/checkout/checkout.d.ts +1 -0
  380. package/dist/types/components/checkouts-list/checkouts-list-filters.d.ts +5 -0
  381. package/dist/types/components/modular-checkout/ModularCheckout.d.ts +2 -1
  382. package/dist/types/components/modular-checkout/modular-checkout.d.ts +5 -0
  383. package/dist/types/components/modular-checkout/sub-components/google-pay-skeleton.d.ts +6 -0
  384. package/dist/types/components/modular-checkout/sub-components/google-pay.d.ts +59 -0
  385. package/dist/types/components.d.ts +146 -0
  386. package/dist/types/store/checkout.store.d.ts +1 -0
  387. package/dist/types/styles/parts.d.ts +3 -0
  388. package/dist/types/ui-components/google-pay-button.d.ts +18 -0
  389. package/dist/webcomponents/index.esm.js +1 -1
  390. package/dist/webcomponents/p-016b3e4c.entry.js +1 -0
  391. package/dist/webcomponents/{p-fdcb24aa.entry.js → p-062fcfd5.entry.js} +1 -1
  392. package/dist/webcomponents/p-06cae9e2.entry.js +1 -0
  393. package/dist/webcomponents/p-06f81525.entry.js +1 -0
  394. package/dist/webcomponents/{p-3482ab40.entry.js → p-0b7c4ed5.entry.js} +1 -1
  395. package/dist/webcomponents/{p-9c7c60f3.entry.js → p-0bb616fc.entry.js} +1 -1
  396. package/dist/webcomponents/p-1575ca68.entry.js +1 -0
  397. package/dist/webcomponents/{p-8740871d.entry.js → p-1a327b0e.entry.js} +1 -1
  398. package/dist/webcomponents/p-1df660a9.entry.js +1 -0
  399. package/dist/webcomponents/p-1e761d96.entry.js +1 -0
  400. package/dist/webcomponents/{p-0eb7abed.entry.js → p-20e85114.entry.js} +1 -1
  401. package/dist/webcomponents/p-262e4b23.entry.js +1 -0
  402. package/dist/webcomponents/p-296bd0b6.entry.js +1 -0
  403. package/dist/webcomponents/{p-5490e39c.entry.js → p-368b37ad.entry.js} +1 -1
  404. package/dist/webcomponents/{p-d41ad7a8.entry.js → p-36a0af30.entry.js} +1 -1
  405. package/dist/webcomponents/p-3a3935a3.entry.js +1 -0
  406. package/dist/webcomponents/p-3fb1cf2b.entry.js +1 -0
  407. package/dist/webcomponents/p-3fbe8ac3.entry.js +1 -0
  408. package/dist/webcomponents/p-4d2589b2.entry.js +1 -0
  409. package/dist/webcomponents/p-4dc358aa.entry.js +1 -0
  410. package/dist/webcomponents/{p-99c1059c.entry.js → p-511e80a4.entry.js} +1 -1
  411. package/dist/webcomponents/p-5996879d.entry.js +1 -0
  412. package/dist/webcomponents/p-5a7207c0.entry.js +1 -0
  413. package/dist/webcomponents/p-5a748e49.entry.js +1 -0
  414. package/dist/webcomponents/p-5e6f2128.entry.js +1 -0
  415. package/dist/webcomponents/p-6454626a.entry.js +1 -0
  416. package/dist/webcomponents/p-66713269.entry.js +1 -0
  417. package/dist/webcomponents/p-679b36b5.entry.js +1 -0
  418. package/dist/webcomponents/{p-c9920e22.entry.js → p-725319f3.entry.js} +1 -1
  419. package/dist/webcomponents/p-77754a65.entry.js +1 -0
  420. package/dist/webcomponents/p-7bb7aaca.entry.js +1 -0
  421. package/dist/webcomponents/p-8884e000.entry.js +1 -0
  422. package/dist/webcomponents/p-88a8741b.entry.js +1 -0
  423. package/dist/webcomponents/{p-c3a625ec.entry.js → p-897b794b.entry.js} +4 -4
  424. package/dist/webcomponents/p-899b981b.entry.js +1 -0
  425. package/dist/webcomponents/p-8c4b502d.entry.js +1 -0
  426. package/dist/webcomponents/p-8df30672.entry.js +1 -0
  427. package/dist/webcomponents/p-911b3d63.entry.js +1 -0
  428. package/dist/webcomponents/p-97b8bf5c.entry.js +1 -0
  429. package/dist/webcomponents/p-9b74a642.entry.js +1 -0
  430. package/dist/webcomponents/p-9b8aee30.entry.js +1 -0
  431. package/dist/webcomponents/p-9e94c9ef.entry.js +1 -0
  432. package/dist/webcomponents/{p-B69TWr1K.js → p-B4xdk4mG.js} +1 -1
  433. package/dist/webcomponents/{p-MFnmyvti.js → p-BEu9YFnf.js} +1 -1
  434. package/dist/webcomponents/{p-gcRtE71H.js → p-BMJe4lzg.js} +1 -1
  435. package/dist/webcomponents/p-BhqSAzpT.js +1 -0
  436. package/dist/webcomponents/p-BrRsgB8S.js +1 -0
  437. package/dist/webcomponents/{p-DUQxAYW4.js → p-C2Senazf.js} +1 -1
  438. package/dist/webcomponents/p-C9VmfRis.js +1 -0
  439. package/dist/webcomponents/{p-BDRSfgZJ.js → p-CBbwdoSa.js} +1 -1
  440. package/dist/webcomponents/{p-C0FpWzgU.js → p-CCxsFwC4.js} +1 -1
  441. package/dist/webcomponents/p-CK_XkZku.js +1 -0
  442. package/dist/webcomponents/p-CQGIjIgZ.js +1 -0
  443. package/dist/webcomponents/{p-Qmo430x1.js → p-CV8xqdt6.js} +1 -1
  444. package/dist/webcomponents/p-CZ3F1ZAT.js +1 -0
  445. package/dist/webcomponents/p-CgiDds_u.js +1 -0
  446. package/dist/webcomponents/p-CsgUIrv8.js +1 -0
  447. package/dist/webcomponents/{p-BIzMmHpn.js → p-D6bKoyRc.js} +1 -1
  448. package/dist/webcomponents/{p-E8uzhk39.js → p-DATDsXcA.js} +1 -1
  449. package/dist/webcomponents/{p-H_emngUs.js → p-DGGjRqDa.js} +1 -1
  450. package/dist/webcomponents/{p-CJ4viNrp.js → p-DUmUUj9r.js} +1 -1
  451. package/dist/webcomponents/p-DY_3dcgR.js +1 -0
  452. package/dist/webcomponents/{p-DircQtPA.js → p-Dit3fZpU.js} +1 -1
  453. package/dist/webcomponents/p-DkoufM1t.js +1 -0
  454. package/dist/webcomponents/{p-DcHTywGe.js → p-Dlrq1iZf.js} +1 -1
  455. package/dist/webcomponents/p-DmdEjScI.js +1 -0
  456. package/dist/webcomponents/p-Dr8Z8wfP.js +1 -0
  457. package/dist/webcomponents/p-RTAZ4tdd.js +1 -0
  458. package/dist/webcomponents/p-Ty7R7tsw.js +1 -0
  459. package/dist/webcomponents/{p-CYz0Hubu.js → p-U3nU15el.js} +1 -1
  460. package/dist/webcomponents/{p-CjfgyxBN.js → p-VRubcA-q.js} +1 -1
  461. package/dist/webcomponents/{p-KS3Bf_2D.js → p-W9WWoLzT.js} +1 -1
  462. package/dist/webcomponents/p-a0b4c42b.entry.js +1 -0
  463. package/dist/webcomponents/p-abcb4945.entry.js +1 -0
  464. package/dist/webcomponents/p-ad3a73af.entry.js +1 -0
  465. package/dist/webcomponents/p-b0f0d53c.entry.js +1 -0
  466. package/dist/webcomponents/p-c8a5a2a9.entry.js +1 -0
  467. package/dist/webcomponents/p-c920dc54.entry.js +1 -0
  468. package/dist/webcomponents/p-ca0d1c6c.entry.js +1 -0
  469. package/dist/webcomponents/p-cbd52897.entry.js +1 -0
  470. package/dist/webcomponents/p-cc0c722c.entry.js +1 -0
  471. package/dist/webcomponents/p-cc2a1c7c.entry.js +1 -0
  472. package/dist/webcomponents/{p-b31bf32a.entry.js → p-cdf1e61c.entry.js} +1 -1
  473. package/dist/webcomponents/p-cf644e46.entry.js +1 -0
  474. package/dist/webcomponents/{p-d79f9a54.entry.js → p-d0c4b0ea.entry.js} +1 -1
  475. package/dist/webcomponents/p-d5765545.entry.js +1 -0
  476. package/dist/webcomponents/p-def84700.entry.js +1 -0
  477. package/dist/webcomponents/p-e2d33311.entry.js +1 -0
  478. package/dist/webcomponents/{p-dd0c456f.entry.js → p-e4335938.entry.js} +1 -1
  479. package/dist/webcomponents/{p-c8bd7e0d.entry.js → p-e805b011.entry.js} +1 -1
  480. package/dist/webcomponents/p-f30c939f.entry.js +1 -0
  481. package/dist/webcomponents/{p-50308873.entry.js → p-f99403d8.entry.js} +1 -1
  482. package/dist/webcomponents/p-fb644da6.entry.js +1 -0
  483. package/dist/webcomponents/p-fc4b27ec.entry.js +1 -0
  484. package/dist/webcomponents/p-fe43449c.entry.js +1 -0
  485. package/dist/webcomponents/p-sA8HBfkI.js +1 -0
  486. package/dist/webcomponents/webcomponents.esm.js +1 -1
  487. package/package.json +1 -1
  488. package/dist/cjs/checkout.store-BA6h-dp2.js +0 -107
  489. package/dist/esm/checkout.store-CaS_htQd.js +0 -101
  490. package/dist/webcomponents/p-0867547d.entry.js +0 -1
  491. package/dist/webcomponents/p-091d6a7e.entry.js +0 -1
  492. package/dist/webcomponents/p-0d4bea62.entry.js +0 -1
  493. package/dist/webcomponents/p-1634262a.entry.js +0 -1
  494. package/dist/webcomponents/p-1a4d0ad6.entry.js +0 -1
  495. package/dist/webcomponents/p-25e3cb85.entry.js +0 -1
  496. package/dist/webcomponents/p-278988e8.entry.js +0 -1
  497. package/dist/webcomponents/p-3b5a9e94.entry.js +0 -1
  498. package/dist/webcomponents/p-44efe4ca.entry.js +0 -1
  499. package/dist/webcomponents/p-49a0ef9d.entry.js +0 -1
  500. package/dist/webcomponents/p-4bff1285.entry.js +0 -1
  501. package/dist/webcomponents/p-4d87be74.entry.js +0 -1
  502. package/dist/webcomponents/p-51107c8f.entry.js +0 -1
  503. package/dist/webcomponents/p-51d7b9f7.entry.js +0 -1
  504. package/dist/webcomponents/p-5c60ba00.entry.js +0 -1
  505. package/dist/webcomponents/p-5d56a293.entry.js +0 -1
  506. package/dist/webcomponents/p-654d91d7.entry.js +0 -1
  507. package/dist/webcomponents/p-68c2ce90.entry.js +0 -1
  508. package/dist/webcomponents/p-69b0be17.entry.js +0 -1
  509. package/dist/webcomponents/p-6e99cd4c.entry.js +0 -1
  510. package/dist/webcomponents/p-7e4bfba1.entry.js +0 -1
  511. package/dist/webcomponents/p-87d23cf8.entry.js +0 -1
  512. package/dist/webcomponents/p-9065f077.entry.js +0 -1
  513. package/dist/webcomponents/p-908f6b79.entry.js +0 -1
  514. package/dist/webcomponents/p-93d98b07.entry.js +0 -1
  515. package/dist/webcomponents/p-94b2d6a1.entry.js +0 -1
  516. package/dist/webcomponents/p-980db13b.entry.js +0 -1
  517. package/dist/webcomponents/p-B10U2_Sw.js +0 -1
  518. package/dist/webcomponents/p-BqXh8qSb.js +0 -1
  519. package/dist/webcomponents/p-CA9okQxT.js +0 -1
  520. package/dist/webcomponents/p-CMTxbXEr.js +0 -1
  521. package/dist/webcomponents/p-CdVle3mx.js +0 -1
  522. package/dist/webcomponents/p-CiMKKjGV.js +0 -1
  523. package/dist/webcomponents/p-CjxyejYl.js +0 -1
  524. package/dist/webcomponents/p-CpP3EZBK.js +0 -1
  525. package/dist/webcomponents/p-DCIW8z1f.js +0 -1
  526. package/dist/webcomponents/p-DQKNMVh7.js +0 -1
  527. package/dist/webcomponents/p-DU8dqq9U.js +0 -1
  528. package/dist/webcomponents/p-Dp2W4Eq3.js +0 -1
  529. package/dist/webcomponents/p-GenVH2BR.js +0 -1
  530. package/dist/webcomponents/p-InCWAej0.js +0 -1
  531. package/dist/webcomponents/p-QmGrQis7.js +0 -1
  532. package/dist/webcomponents/p-VodztElu.js +0 -1
  533. package/dist/webcomponents/p-a4a647bd.entry.js +0 -1
  534. package/dist/webcomponents/p-abcbfb22.entry.js +0 -1
  535. package/dist/webcomponents/p-af29e819.entry.js +0 -1
  536. package/dist/webcomponents/p-b6286d7b.entry.js +0 -1
  537. package/dist/webcomponents/p-b8c816fe.entry.js +0 -1
  538. package/dist/webcomponents/p-bcec4201.entry.js +0 -1
  539. package/dist/webcomponents/p-c6ee5aa7.entry.js +0 -1
  540. package/dist/webcomponents/p-c900ccca.entry.js +0 -1
  541. package/dist/webcomponents/p-ca3733e5.entry.js +0 -1
  542. package/dist/webcomponents/p-cb61af93.entry.js +0 -1
  543. package/dist/webcomponents/p-d29ce58e.entry.js +0 -1
  544. package/dist/webcomponents/p-d34f5a20.entry.js +0 -1
  545. package/dist/webcomponents/p-d8ec7cfc.entry.js +0 -1
  546. package/dist/webcomponents/p-dda50611.entry.js +0 -1
  547. package/dist/webcomponents/p-df7e2530.entry.js +0 -1
  548. package/dist/webcomponents/p-e4a43e31.entry.js +0 -1
  549. package/dist/webcomponents/p-ea75759b.entry.js +0 -1
  550. package/dist/webcomponents/p-edcb6de1.entry.js +0 -1
  551. package/dist/webcomponents/p-faaba66d.entry.js +0 -1
  552. package/dist/webcomponents/p-fc680b08.entry.js +0 -1
  553. package/dist/webcomponents/p-fcaaed23.entry.js +0 -1
  554. package/dist/webcomponents/p-fefc4dea.entry.js +0 -1
  555. package/dist/webcomponents/p-ff1bc3de.entry.js +0 -1
@@ -1,148 +1,27 @@
1
1
  import { h, r as registerInstance, c as createEvent, H as Host, g as getElement } from './index-DwYM91AU.js';
2
2
  import { A as Api } from './Api-Dln8a6No.js';
3
+ import { A as ApplePayConfig, o as ApplePayHelpers, p as ApplePayPaymentRequest, q as ApplePaySessionStatus, r as ApplePayButtonStyle, s as ApplePayButtonType, c as checkoutStore, t as ApplePayMerchantCapability, G as GooglePayConfig, u as GooglePayHelpers, v as GooglePayPaymentDataRequest, w as GooglePayButtonSizeMode, x as GooglePayButtonStyle, y as GooglePayButtonType, z as GooglePayEnvironment, B as onChange, D as onAnyChange, I as ICheckoutStatus, F as getAvailablePaymentMethodTypes, H as getCheckoutState } from './GooglePay-NNHE-OLJ.js';
3
4
  import { S as StyledHost } from './styled-host-DhOcKWqZ.js';
4
5
  import './event-types-CZfYo5-1.js';
5
- import { S as Skeleton } from './skeleton-BX70wCwq.js';
6
- import { c as checkoutStore, o as onAnyChange, g as getAvailablePaymentMethodTypes, a as getCheckoutState, b as onChange } from './checkout.store-CaS_htQd.js';
7
- import { D as text, r as radioListItem } from './parts-QmGrQis7.js';
6
+ import { S as Skeleton } from './skeleton-Dtt56Fl3.js';
7
+ import { G as text, v as radioListItem } from './parts-sA8HBfkI.js';
8
8
  import { f as formatCurrency } from './utils-CDaVtz_6.js';
9
- import { H as Header1 } from './header-1-CzkA4zNY.js';
10
- import { H as Header2, b as insuranceValuesOn, h as hasInsuranceValueChanged, i as insuranceValues } from './insurance-state-By2QaBZo.js';
11
- import { H as Header3 } from './header-3-eIE1RpMN.js';
12
- import { J as JustifiAnalytics, c as checkPkgVersion } from './check-pkg-version-B83yUQEx.js';
9
+ import { P as PAYMENT_METHODS, a as PaymentMethod, b as PAYMENT_MODE } from './index-DkoufM1t.js';
10
+ import { H as Header1 } from './header-1-WwkF5F9y.js';
11
+ import { H as Header2, b as insuranceValuesOn, h as hasInsuranceValueChanged, i as insuranceValues } from './insurance-state-C11WKZU6.js';
12
+ import { H as Header3 } from './header-3-C5jS39cE.js';
13
+ import { J as JustifiAnalytics, c as checkPkgVersion } from './check-pkg-version-o2X_8wJ4.js';
13
14
  import './config-state-C2NXATwF.js';
14
15
  import './dinero-HXpYMWUU.js';
15
16
  import { C as ComponentErrorSeverity, a as ComponentErrorCodes, b as ComponentErrorMessages } from './ComponentError-Cjcsf8ku.js';
16
- import { I as ICheckoutStatus } from './Refund-DDWRtCuX.js';
17
17
  import './Pagination-CLHwhyvu.js';
18
18
  import './Business-B5rtFhtR.js';
19
19
  import './Dispute-BH0Xfn-F.js';
20
20
  import { g as getErrorCode, a as getErrorMessage } from './utils-BeQLScSm.js';
21
- import { C as CheckoutService } from './checkout.service-E60GnrZv.js';
22
- import { P as PAYMENT_METHODS, a as PaymentMethod, b as PAYMENT_MODE } from './index-DCIW8z1f.js';
21
+ import { C as CheckoutService } from './checkout.service-Bxt1qPaY.js';
23
22
  import { C as CardBrandLabels } from './payment-method-option-utils-lUHAQVFl.js';
24
23
  import './index-B-fWxE5e.js';
25
- import './package-CdVle3mx.js';
26
-
27
- var ApplePaySessionStatus;
28
- (function (ApplePaySessionStatus) {
29
- ApplePaySessionStatus["STATUS_SUCCESS"] = "STATUS_SUCCESS";
30
- ApplePaySessionStatus["STATUS_FAILURE"] = "STATUS_FAILURE";
31
- })(ApplePaySessionStatus || (ApplePaySessionStatus = {}));
32
- var ApplePayButtonType;
33
- (function (ApplePayButtonType) {
34
- ApplePayButtonType["PLAIN"] = "plain";
35
- ApplePayButtonType["BUY"] = "buy";
36
- ApplePayButtonType["SET_UP"] = "set-up";
37
- ApplePayButtonType["DONATE"] = "donate";
38
- ApplePayButtonType["CHECK_OUT"] = "check-out";
39
- ApplePayButtonType["BOOK"] = "book";
40
- ApplePayButtonType["SUBSCRIBE"] = "subscribe";
41
- })(ApplePayButtonType || (ApplePayButtonType = {}));
42
- var ApplePayButtonStyle;
43
- (function (ApplePayButtonStyle) {
44
- ApplePayButtonStyle["BLACK"] = "black";
45
- ApplePayButtonStyle["WHITE"] = "white";
46
- ApplePayButtonStyle["WHITE_OUTLINE"] = "white-outline";
47
- })(ApplePayButtonStyle || (ApplePayButtonStyle = {}));
48
- var ApplePayMerchantCapability;
49
- (function (ApplePayMerchantCapability) {
50
- ApplePayMerchantCapability["SUPPORTS_3DS"] = "supports3DS";
51
- ApplePayMerchantCapability["SUPPORTS_EMV"] = "supportsEMV";
52
- ApplePayMerchantCapability["SUPPORTS_CREDIT"] = "supportsCredit";
53
- ApplePayMerchantCapability["SUPPORTS_DEBIT"] = "supportsDebit";
54
- })(ApplePayMerchantCapability || (ApplePayMerchantCapability = {}));
55
- class ApplePayConfig {
56
- constructor(data) {
57
- this.merchantIdentifier = data.merchantIdentifier;
58
- this.displayName = data.displayName;
59
- this.initiative = data.initiative;
60
- this.initiativeContext = data.initiativeContext;
61
- this.buttonType = data.buttonType || ApplePayButtonType.PLAIN;
62
- this.buttonStyle = data.buttonStyle || ApplePayButtonStyle.BLACK;
63
- this.buttonLocale = data.buttonLocale || 'en-US';
64
- }
65
- get isValid() {
66
- return !!(this.merchantIdentifier &&
67
- this.displayName &&
68
- this.initiative &&
69
- this.initiativeContext);
70
- }
71
- }
72
- class ApplePayPaymentRequest {
73
- constructor(data) {
74
- this.countryCode = data.countryCode;
75
- this.currencyCode = data.currencyCode;
76
- this.merchantCapabilities = data.merchantCapabilities;
77
- this.supportedNetworks = data.supportedNetworks;
78
- this.total = data.total;
79
- this.lineItems = data.lineItems;
80
- this.shippingMethods = data.shippingMethods;
81
- this.applicationData = data.applicationData;
82
- this.supportedCountries = data.supportedCountries;
83
- }
84
- get isValid() {
85
- var _a, _b, _c, _d;
86
- return !!(this.countryCode &&
87
- this.currencyCode &&
88
- ((_a = this.merchantCapabilities) === null || _a === void 0 ? void 0 : _a.length) &&
89
- ((_b = this.supportedNetworks) === null || _b === void 0 ? void 0 : _b.length) &&
90
- ((_c = this.total) === null || _c === void 0 ? void 0 : _c.label) &&
91
- ((_d = this.total) === null || _d === void 0 ? void 0 : _d.amount));
92
- }
93
- }
94
- class ApplePayHelpers {
95
- static isApplePaySupported() {
96
- var _a;
97
- return (typeof window !== 'undefined' &&
98
- 'ApplePaySession' in window &&
99
- ((_a = window.ApplePaySession) === null || _a === void 0 ? void 0 : _a.supportsVersion(3)));
100
- }
101
- static canMakePayments() {
102
- var _a;
103
- if (!this.isApplePaySupported()) {
104
- return false;
105
- }
106
- return ((_a = window.ApplePaySession) === null || _a === void 0 ? void 0 : _a.canMakePayments()) || false;
107
- }
108
- static async canMakePaymentsWithActiveCard(merchantIdentifier) {
109
- var _a;
110
- if (!this.isApplePaySupported()) {
111
- return false;
112
- }
113
- try {
114
- return ((await ((_a = window.ApplePaySession) === null || _a === void 0 ? void 0 : _a.canMakePaymentsWithActiveCard(merchantIdentifier))) || false);
115
- }
116
- catch (error) {
117
- console.error('Error checking Apple Pay active card:', error);
118
- return false;
119
- }
120
- }
121
- static formatAmount(amount) {
122
- return (amount / 100).toFixed(2);
123
- }
124
- static parseAmount(amount) {
125
- return Math.round(parseFloat(amount) * 100);
126
- }
127
- static createLineItem(label, amount, type = 'final') {
128
- return {
129
- label,
130
- amount: this.formatAmount(amount),
131
- type,
132
- };
133
- }
134
- static getDefaultSupportedNetworks() {
135
- return ['amex', 'discover', 'masterCard', 'visa'];
136
- }
137
- static getDefaultMerchantCapabilities() {
138
- return [
139
- ApplePayMerchantCapability.SUPPORTS_3DS,
140
- ApplePayMerchantCapability.SUPPORTS_EMV,
141
- ApplePayMerchantCapability.SUPPORTS_CREDIT,
142
- ApplePayMerchantCapability.SUPPORTS_DEBIT,
143
- ];
144
- }
145
- }
24
+ import './package-Dr8Z8wfP.js';
146
25
 
147
26
  // Centralized error codes for Apple Pay service
148
27
  var ApplePayServiceErrorCode;
@@ -494,7 +373,7 @@ const ApplePaySkeleton = (props) => {
494
373
  return (h("div", { class: 'container-fluid p-0' }, h("div", { class: 'row mb-3' }, h("div", { class: 'col-12 align-content-center' }, h(Skeleton, { height: '44px', width: '100%', styles: { borderRadius: "8px" } })))));
495
374
  };
496
375
 
497
- const ProcessingSpinner = () => (h("div", { class: 'processing-overlay' }, h("div", { class: 'spinner' }), h("span", null, "Processing...")));
376
+ const ProcessingSpinner$1 = () => (h("div", { class: 'processing-overlay' }, h("div", { class: 'spinner' }), h("span", null, "Processing...")));
498
377
  const ApplePayButton = (props) => {
499
378
  const getApplePayButtonClass = () => {
500
379
  let classes = "apple-pay-button";
@@ -538,7 +417,7 @@ const ApplePayButton = (props) => {
538
417
  return (h("div", { class: 'apple-pay-button-container' }, h("button", Object.assign({ class: getApplePayButtonClass(), style: {
539
418
  width: props.width,
540
419
  height: props.height,
541
- }, onClick: handleClick, disabled: props.disabled || props.isProcessing || !props.isAvailable, "aria-label": 'Pay with Apple Pay', type: 'button' }, props), props.isProcessing && ProcessingSpinner()), h("style", null, `
420
+ }, onClick: handleClick, disabled: props.disabled || props.isProcessing || !props.isAvailable, "aria-label": 'Pay with Apple Pay', type: 'button' }, props), props.isProcessing && ProcessingSpinner$1()), h("style", null, `
542
421
  .apple-pay-button-container {
543
422
  display: block;
544
423
  position: relative;
@@ -823,10 +702,739 @@ const Summary = class {
823
702
  registerInstance(this, hostRef);
824
703
  }
825
704
  render() {
826
- return (h(StyledHost, { key: '22b3c1f3a69c697d9b835e996ad97d68c3ba4b94' }, h("section", { key: 'd66aa2a3a486db3a4143e3b3830e764f400865bd' }, h("div", { key: '82775f72a833d5d97026581baba1ecc10d21b7e9' }, h("div", { key: 'd21f52fa5826ee9a78349daac81721d452469f91', part: text }, checkoutStore === null || checkoutStore === void 0 ? void 0 : checkoutStore.paymentDescription), h("div", { key: 'edc2c3585a7584dacff9a1f43b0d5d797c3ac711' }, h("span", { key: '44587366fe25edf13453b2291762f0b3cbc502ae', part: text }, "Total"), "\u00A0", h("span", { key: '04efa75e358fbc26939dcb5474f2d9eb8e2d2bec', part: text }, formatCurrency(+(checkoutStore === null || checkoutStore === void 0 ? void 0 : checkoutStore.totalAmount))))))));
705
+ return (h(StyledHost, { key: '38b0a855a7ad68b4c979d045a41efa20937cf476' }, h("section", { key: 'bbe4a0d26a95b0abd108370070fb861311724df8' }, h("div", { key: 'f322ecda85700c1e232b3f620b672f4eef103e97' }, h("div", { key: 'e59c6b19e0f27f7ab99380ead3f734a7e45cc1f1', part: text }, checkoutStore === null || checkoutStore === void 0 ? void 0 : checkoutStore.paymentDescription), h("div", { key: '2fae7125889051d87571d9fb7c42ad3646e3ce07' }, h("span", { key: '757941148dccea14941f6216f90af8721fbe6cb9', part: text }, "Total"), "\u00A0", h("span", { key: 'ee50f026f64df4f73e0f6b087470a2154f4d0b4b', part: text }, formatCurrency(+(checkoutStore === null || checkoutStore === void 0 ? void 0 : checkoutStore.totalAmount))))))));
827
706
  }
828
707
  };
829
708
 
709
+ const PROCESS_TOKEN_ENDPOINT = 'google_pay/process_token';
710
+ class GooglePayService {
711
+ constructor() {
712
+ this.api = Api();
713
+ }
714
+ /**
715
+ * Initialize Google Pay configuration
716
+ */
717
+ initialize(googlePayConfig) {
718
+ this.googlePayConfig = new GooglePayConfig(googlePayConfig);
719
+ if (!this.googlePayConfig.isValid) {
720
+ throw new Error('Invalid Google Pay configuration provided');
721
+ }
722
+ // Create Google Pay client
723
+ this.googlePayClient = GooglePayHelpers.createGooglePayClient(this.googlePayConfig.environment);
724
+ if (!this.googlePayClient) {
725
+ throw new Error('Failed to create Google Pay client');
726
+ }
727
+ // No debug logs
728
+ }
729
+ /**
730
+ * Process Google Pay payment via API
731
+ */
732
+ async processPayment(authToken, accountId, payload) {
733
+ const endpoint = PROCESS_TOKEN_ENDPOINT;
734
+ try {
735
+ const result = await this.api.post({
736
+ endpoint,
737
+ authToken,
738
+ body: payload,
739
+ headers: {
740
+ 'sub-account': accountId,
741
+ },
742
+ });
743
+ return {
744
+ success: result.id && !!result.data.token,
745
+ data: result,
746
+ };
747
+ }
748
+ catch (_error) {
749
+ throw new Error('Google Pay payment processing failed');
750
+ }
751
+ }
752
+ /**
753
+ * Check if Google Pay is available on this device/browser
754
+ */
755
+ isAvailable() {
756
+ return GooglePayHelpers.isGooglePaySupported() && !!this.googlePayClient;
757
+ }
758
+ /**
759
+ * Check if the user can make payments with Google Pay
760
+ */
761
+ async canMakePayments() {
762
+ if (!this.googlePayClient || !this.googlePayConfig) {
763
+ return false;
764
+ }
765
+ try {
766
+ const baseRequest = GooglePayHelpers.createBasePaymentDataRequest();
767
+ const response = await this.googlePayClient.isReadyToPay(baseRequest);
768
+ return response.result;
769
+ }
770
+ catch (_error) {
771
+ return false;
772
+ }
773
+ }
774
+ /**
775
+ * Start Google Pay payment session
776
+ */
777
+ async startPaymentSession(paymentDataRequest, authToken, accountId) {
778
+ var _a;
779
+ if (!this.googlePayConfig || !this.googlePayClient) {
780
+ throw new Error('Google Pay not initialized. Call initialize() first.');
781
+ }
782
+ if (!this.isAvailable()) {
783
+ throw new Error('Google Pay is not available on this device/browser');
784
+ }
785
+ const request = new GooglePayPaymentDataRequest(paymentDataRequest);
786
+ if (!request.isValid) {
787
+ throw new Error('Invalid payment data request provided');
788
+ }
789
+ try {
790
+ const paymentData = await this.googlePayClient.loadPaymentData(request);
791
+ // Build top-level snake_case fields from Google Pay tokenizationData
792
+ const tokenizationData = (_a = paymentData === null || paymentData === void 0 ? void 0 : paymentData.paymentMethodData) === null || _a === void 0 ? void 0 : _a.tokenizationData;
793
+ const tokenObj = (() => {
794
+ if ((tokenizationData === null || tokenizationData === void 0 ? void 0 : tokenizationData.token) &&
795
+ typeof tokenizationData.token === 'string') {
796
+ try {
797
+ return JSON.parse(tokenizationData.token);
798
+ }
799
+ catch (_e) {
800
+ return tokenizationData;
801
+ }
802
+ }
803
+ return tokenizationData;
804
+ })();
805
+ const tokenProcessRequest = {
806
+ protocolVersion: tokenObj === null || tokenObj === void 0 ? void 0 : tokenObj.protocolVersion,
807
+ signature: tokenObj === null || tokenObj === void 0 ? void 0 : tokenObj.signature,
808
+ intermediateSigningKey: (tokenObj === null || tokenObj === void 0 ? void 0 : tokenObj.intermediateSigningKey)
809
+ ? {
810
+ signedKey: tokenObj.intermediateSigningKey.signedKey,
811
+ signatures: tokenObj.intermediateSigningKey.signatures,
812
+ }
813
+ : undefined,
814
+ signedMessage: tokenObj === null || tokenObj === void 0 ? void 0 : tokenObj.signedMessage,
815
+ };
816
+ const paymentResult = await this.processPayment(authToken, accountId, tokenProcessRequest);
817
+ if (paymentResult.success) {
818
+ return {
819
+ success: true,
820
+ paymentData: paymentData,
821
+ paymentMethodId: paymentResult.data.id,
822
+ };
823
+ }
824
+ else {
825
+ return {
826
+ success: false,
827
+ error: {
828
+ code: 'PAYMENT_PROCESSING_ERROR',
829
+ message: 'Payment processing failed',
830
+ },
831
+ };
832
+ }
833
+ }
834
+ catch (error) {
835
+ // Handle different types of errors
836
+ if (error && typeof error === 'object' && 'statusCode' in error) {
837
+ const googlePayError = error;
838
+ switch (googlePayError.statusCode) {
839
+ case 'CANCELED':
840
+ return {
841
+ success: false,
842
+ error: {
843
+ code: 'USER_CANCELLED',
844
+ message: 'User cancelled the Google Pay session',
845
+ },
846
+ };
847
+ case 'DEVELOPER_ERROR':
848
+ return {
849
+ success: false,
850
+ error: {
851
+ code: 'DEVELOPER_ERROR',
852
+ message: 'Google Pay configuration error',
853
+ },
854
+ };
855
+ default:
856
+ return {
857
+ success: false,
858
+ error: {
859
+ code: 'PAYMENT_ERROR',
860
+ message: googlePayError.statusMessage || 'Google Pay payment failed',
861
+ },
862
+ };
863
+ }
864
+ }
865
+ return {
866
+ success: false,
867
+ error: {
868
+ code: 'PAYMENT_ERROR',
869
+ message: error instanceof Error
870
+ ? error.message
871
+ : 'Google Pay payment failed',
872
+ },
873
+ };
874
+ }
875
+ }
876
+ /**
877
+ * Create Google Pay button element
878
+ */
879
+ createButton(options) {
880
+ if (!this.googlePayClient || !this.googlePayConfig) {
881
+ return null;
882
+ }
883
+ try {
884
+ return this.googlePayClient.createButton({
885
+ onClick: options.onClick,
886
+ buttonType: options.buttonType,
887
+ buttonSizeMode: options.buttonSizeMode,
888
+ buttonColor: options.buttonColor,
889
+ buttonLocale: options.buttonLocale,
890
+ });
891
+ }
892
+ catch (_error) {
893
+ return null;
894
+ }
895
+ }
896
+ /**
897
+ * Prefetch payment data for faster loading
898
+ */
899
+ prefetchPaymentData(paymentDataRequest) {
900
+ if (!this.googlePayClient) {
901
+ return;
902
+ }
903
+ const request = new GooglePayPaymentDataRequest(paymentDataRequest);
904
+ if (!request.isValid) {
905
+ return;
906
+ }
907
+ try {
908
+ this.googlePayClient.prefetchPaymentData(request);
909
+ }
910
+ catch (_error) { }
911
+ }
912
+ /**
913
+ * Create a basic payment data request
914
+ */
915
+ static createPaymentDataRequest(amount, label, countryCode = 'US', currencyCode = 'USD', merchantName, merchantId) {
916
+ const request = {
917
+ apiVersion: 2,
918
+ apiVersionMinor: 0,
919
+ allowedPaymentMethods: [GooglePayHelpers.createPaymentMethodData()],
920
+ transactionInfo: {
921
+ countryCode,
922
+ currencyCode,
923
+ totalPriceStatus: 'FINAL',
924
+ totalPrice: GooglePayHelpers.formatAmount(amount),
925
+ totalPriceLabel: label,
926
+ },
927
+ merchantInfo: {
928
+ merchantName,
929
+ merchantId,
930
+ },
931
+ };
932
+ // No debug logs
933
+ return request;
934
+ }
935
+ /**
936
+ * Get current configuration
937
+ */
938
+ getGooglePayConfig() {
939
+ return this.googlePayConfig;
940
+ }
941
+ /**
942
+ * Get current Google Pay client
943
+ */
944
+ getGooglePayClient() {
945
+ return this.googlePayClient;
946
+ }
947
+ }
948
+
949
+ const GooglePaySkeleton = (props) => {
950
+ const { isLoading } = props;
951
+ if (!isLoading) {
952
+ return null;
953
+ }
954
+ return (h("div", { class: 'container-fluid p-0' }, h("div", { class: 'row mb-3' }, h("div", { class: 'col-12 align-content-center' }, h(Skeleton, { height: '44px', width: '100%', styles: { borderRadius: "8px" } })))));
955
+ };
956
+
957
+ const ProcessingSpinner = () => (h("div", { class: 'processing-overlay' }, h("div", { class: 'spinner' }), h("span", null, "Processing...")));
958
+ const GooglePayButton = (props) => {
959
+ const getGooglePayButtonClass = () => {
960
+ let classes = "google-pay-button";
961
+ // Button style
962
+ switch (props.buttonStyle) {
963
+ case GooglePayButtonStyle.WHITE:
964
+ classes += " google-pay-button-white";
965
+ break;
966
+ case GooglePayButtonStyle.BLACK:
967
+ default:
968
+ classes += " google-pay-button-black";
969
+ break;
970
+ }
971
+ // Button type
972
+ switch (props.buttonType) {
973
+ case GooglePayButtonType.BUY:
974
+ classes += " google-pay-button-type-buy";
975
+ break;
976
+ case GooglePayButtonType.BOOK:
977
+ classes += " google-pay-button-type-book";
978
+ break;
979
+ case GooglePayButtonType.CHECKOUT:
980
+ classes += " google-pay-button-type-checkout";
981
+ break;
982
+ case GooglePayButtonType.DONATE:
983
+ classes += " google-pay-button-type-donate";
984
+ break;
985
+ case GooglePayButtonType.ORDER:
986
+ classes += " google-pay-button-type-order";
987
+ break;
988
+ case GooglePayButtonType.PAY:
989
+ classes += " google-pay-button-type-pay";
990
+ break;
991
+ case GooglePayButtonType.SUBSCRIBE:
992
+ classes += " google-pay-button-type-subscribe";
993
+ break;
994
+ case GooglePayButtonType.PLAIN:
995
+ default:
996
+ classes += " google-pay-button-type-plain";
997
+ break;
998
+ }
999
+ // Size mode
1000
+ switch (props.buttonSizeMode) {
1001
+ case GooglePayButtonSizeMode.FILL:
1002
+ classes += " google-pay-button-fill";
1003
+ break;
1004
+ case GooglePayButtonSizeMode.STATIC:
1005
+ default:
1006
+ classes += " google-pay-button-static";
1007
+ break;
1008
+ }
1009
+ if (props.disabled || props.isProcessing || !props.isAvailable) {
1010
+ classes += " disabled";
1011
+ }
1012
+ return classes;
1013
+ };
1014
+ const getButtonStyles = () => {
1015
+ const styles = {};
1016
+ if (props.buttonSizeMode === GooglePayButtonSizeMode.FILL) {
1017
+ styles.width = '100%';
1018
+ styles.minWidth = '200px';
1019
+ }
1020
+ else {
1021
+ styles.width = props.width || '200px';
1022
+ }
1023
+ styles.height = props.height || '48px';
1024
+ return styles;
1025
+ };
1026
+ const handleClick = () => {
1027
+ if (!props.disabled &&
1028
+ !props.isProcessing &&
1029
+ props.isAvailable &&
1030
+ props.clickHandler) {
1031
+ props.clickHandler();
1032
+ }
1033
+ };
1034
+ return (h("div", { class: "google-pay-button-container" }, h("button", Object.assign({ class: getGooglePayButtonClass(), style: getButtonStyles(), onClick: handleClick, disabled: props.disabled || props.isProcessing || !props.isAvailable, "aria-label": "Google Pay", type: "button" }, props), props.isProcessing && ProcessingSpinner(), h("div", { class: 'google-pay-button-content' }, h("svg", { width: "41", height: "17", xmlns: "http://www.w3.org/2000/svg" }, h("g", { fill: "none", "fill-rule": "evenodd" }, h("path", { d: "M19.526 2.635v4.083h2.518c.6 0 1.096-.202 1.488-.605.403-.402.605-.882.605-1.437 0-.544-.202-1.018-.605-1.422-.392-.413-.888-.62-1.488-.62h-2.518zm0 5.52v4.736h-1.504V1.198h3.99c1.013 0 1.873.337 2.582 1.012.72.675 1.08 1.497 1.08 2.466 0 .991-.36 1.819-1.08 2.482-.697.665-1.559.996-2.583.996h-2.485v.001zm7.668 2.287c0 .392.166.718.499.98.332.26.722.391 1.168.391.633 0 1.196-.234 1.692-.701.497-.469.744-1.019.744-1.65-.469-.37-1.123-.555-1.962-.555-.61 0-1.12.148-1.528.442-.409.294-.613.657-.613 1.093m1.946-5.815c1.112 0 1.989.297 2.633.89.642.594.964 1.408.964 2.442v4.932h-1.439v-1.11h-.065c-.622.914-1.45 1.372-2.486 1.372-.882 0-1.621-.262-2.215-.784-.594-.523-.891-1.176-.891-1.96 0-.828.313-1.486.94-1.976s1.463-.735 2.51-.735c.892 0 1.629.163 2.206.49v-.344c0-.522-.207-.966-.621-1.33a2.132 2.132 0 0 0-1.455-.547c-.84 0-1.504.353-1.995 1.062l-1.324-.834c.73-1.045 1.81-1.568 3.238-1.568m11.853.262l-5.02 11.53H34.42l1.864-4.034-3.302-7.496h1.635l2.387 5.749h.032l2.322-5.75z", fill: "#FFF" }), h("path", { d: "M13.448 7.134c0-.473-.04-.93-.116-1.366H6.988v2.588h3.634a3.11 3.11 0 0 1-1.344 2.042v1.68h2.169c1.27-1.17 2.001-2.9 2.001-4.944", fill: "#4285F4" }), h("path", { d: "M6.988 13.7c1.816 0 3.344-.595 4.459-1.621l-2.169-1.681c-.603.406-1.38.643-2.29.643-1.754 0-3.244-1.182-3.776-2.774H.978v1.731a6.728 6.728 0 0 0 6.01 3.703", fill: "#34A853" }), h("path", { d: "M3.212 8.267a4.034 4.034 0 0 1 0-2.572V3.964H.978A6.678 6.678 0 0 0 .261 6.98c0 1.085.26 2.11.717 3.017l2.234-1.731z", fill: "#FABB05" }), h("path", { d: "M6.988 2.921c.992 0 1.88.34 2.58 1.008v.001l1.92-1.918C10.324.928 8.804.262 6.989.262a6.728 6.728 0 0 0-6.01 3.702l2.234 1.731c.532-1.592 2.022-2.774 3.776-2.774", fill: "#E94235" }))))), h("style", null, `
1035
+ .google-pay-button-container {
1036
+ display: block;
1037
+ position: relative;
1038
+ }
1039
+
1040
+ .google-pay-button {
1041
+ display: flex;
1042
+ align-items: center;
1043
+ justify-content: center;
1044
+ border: none;
1045
+ border-radius: 4px;
1046
+ cursor: pointer;
1047
+ font-size: 14px;
1048
+ font-weight: 500;
1049
+ letter-spacing: 0.25px;
1050
+ line-height: 16px;
1051
+ outline: none;
1052
+ padding: 0 20px;
1053
+ position: relative;
1054
+ min-width: 140px;
1055
+ min-height: 48px;
1056
+ }
1057
+
1058
+ /* Button styles */
1059
+ .google-pay-button.google-pay-button-black {
1060
+ background-color: #000;
1061
+ color: #fff;
1062
+ }
1063
+
1064
+ .google-pay-button.google-pay-button-white {
1065
+ background-color: #fff;
1066
+ color: #3c4043;
1067
+ }
1068
+
1069
+ /* Button content */
1070
+ .google-pay-button-content {
1071
+ display: flex;
1072
+ align-items: center;
1073
+ justify-content: center;
1074
+ gap: 8px;
1075
+ white-space: nowrap;
1076
+ }
1077
+
1078
+ .google-g-logo {
1079
+ width: 20px;
1080
+ height: 20px;
1081
+ flex-shrink: 0;
1082
+ }
1083
+
1084
+ .pay-text {
1085
+ font-family: 'Google Sans', arial, sans-serif;
1086
+ font-size: 14px;
1087
+ font-weight: 500;
1088
+ margin-left: 8px;
1089
+ }
1090
+
1091
+ /* Button types - text content handled by ::before pseudo-element */
1092
+ .google-pay-button-type-buy .google-pay-button-content::before {
1093
+ content: 'Buy with';
1094
+ margin-right: 8px;
1095
+ }
1096
+
1097
+ .google-pay-button-type-book .google-pay-button-content::before {
1098
+ content: 'Book with';
1099
+ margin-right: 8px;
1100
+ }
1101
+
1102
+ .google-pay-button-type-checkout .google-pay-button-content::before {
1103
+ content: 'Checkout with';
1104
+ margin-right: 8px;
1105
+ }
1106
+
1107
+ .google-pay-button-type-donate .google-pay-button-content::before {
1108
+ content: 'Donate with';
1109
+ margin-right: 8px;
1110
+ }
1111
+
1112
+ .google-pay-button-type-order .google-pay-button-content::before {
1113
+ content: 'Order with';
1114
+ margin-right: 8px;
1115
+ }
1116
+
1117
+ .google-pay-button-type-pay .google-pay-button-content::before {
1118
+ content: 'Pay with';
1119
+ margin-right: 8px;
1120
+ }
1121
+
1122
+ .google-pay-button-type-subscribe .google-pay-button-content::before {
1123
+ content: 'Subscribe with';
1124
+ margin-right: 8px;
1125
+ }
1126
+
1127
+ /* Size modes */
1128
+ .google-pay-button.google-pay-button-fill {
1129
+ width: 100%;
1130
+ min-width: 200px;
1131
+ }
1132
+
1133
+ .google-pay-button.google-pay-button-static {
1134
+ width: auto;
1135
+ }
1136
+
1137
+ /* Hover and focus states */
1138
+ .google-pay-button:hover:not(.disabled) {
1139
+ box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.15), 0 1px 3px 1px rgba(0, 0, 0, 0.30);
1140
+ }
1141
+
1142
+ .google-pay-button:focus:not(.disabled) {
1143
+ box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.15), 0 1px 3px 1px rgba(0, 0, 0, 0.30);
1144
+ }
1145
+
1146
+ .google-pay-button:active:not(.disabled) {
1147
+ box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.15), 0 1px 3px 1px rgba(0, 0, 0, 0.30);
1148
+ transform: translateY(1px);
1149
+ }
1150
+
1151
+ /* Disabled state */
1152
+ .google-pay-button.disabled {
1153
+ opacity: 0.5;
1154
+ cursor: not-allowed;
1155
+ box-shadow: none;
1156
+ }
1157
+
1158
+ .google-pay-button.disabled:hover,
1159
+ .google-pay-button.disabled:focus,
1160
+ .google-pay-button.disabled:active {
1161
+ box-shadow: none;
1162
+ transform: none;
1163
+ }
1164
+
1165
+ /* Processing overlay */
1166
+ .processing-overlay {
1167
+ position: absolute;
1168
+ top: 0;
1169
+ left: 0;
1170
+ right: 0;
1171
+ bottom: 0;
1172
+ display: flex;
1173
+ align-items: center;
1174
+ justify-content: center;
1175
+ gap: 8px;
1176
+ background: rgba(0, 0, 0, 0.8);
1177
+ color: white;
1178
+ border-radius: 4px;
1179
+ font-size: 14px;
1180
+ font-weight: 500;
1181
+ }
1182
+
1183
+ .spinner {
1184
+ width: 16px;
1185
+ height: 16px;
1186
+ border: 2px solid rgba(255, 255, 255, 0.3);
1187
+ border-top: 2px solid #fff;
1188
+ border-radius: 50%;
1189
+ animation: spin 1s linear infinite;
1190
+ }
1191
+
1192
+ @keyframes spin {
1193
+ 0% { transform: rotate(0deg); }
1194
+ 100% { transform: rotate(360deg); }
1195
+ }
1196
+
1197
+ /* Responsive design */
1198
+ @media (max-width: 480px) {
1199
+ .google-pay-button {
1200
+ width: 100% !important;
1201
+ min-width: 200px;
1202
+ }
1203
+ }
1204
+ `)));
1205
+ };
1206
+
1207
+ const GooglePay = class {
1208
+ constructor(hostRef) {
1209
+ registerInstance(this, hostRef);
1210
+ this.googlePayCancelled = createEvent(this, "googlePayCancelled");
1211
+ this.googlePayCompleted = createEvent(this, "googlePayCompleted");
1212
+ this.googlePayStarted = createEvent(this, "googlePayStarted");
1213
+ this.unsubscribes = [];
1214
+ this.canMakePayments = false;
1215
+ this.error = null;
1216
+ this.isAvailable = false;
1217
+ this.isLoading = true;
1218
+ this.isProcessing = false;
1219
+ this.buttonSizeMode = GooglePayButtonSizeMode.FILL;
1220
+ this.buttonStyle = GooglePayButtonStyle.BLACK;
1221
+ this.buttonType = GooglePayButtonType.PLAIN;
1222
+ this.countryCode = "US";
1223
+ this.disabled = false;
1224
+ this.environment = GooglePayEnvironment.PRODUCTION;
1225
+ this.merchantId = "gateway:justifi";
1226
+ this.merchantName = "justifi";
1227
+ this.showSkeleton = true;
1228
+ this.handleGooglePayClick = async () => {
1229
+ var _a;
1230
+ if (this.isProcessing ||
1231
+ this.disabled ||
1232
+ !this.isAvailable ||
1233
+ !this.canMakePayments) {
1234
+ return;
1235
+ }
1236
+ try {
1237
+ this.isProcessing = true;
1238
+ this.error = null;
1239
+ this.googlePayStarted.emit();
1240
+ const paymentDataRequest = this.createPaymentDataRequest();
1241
+ const result = await this.googlePayService.startPaymentSession(paymentDataRequest, checkoutStore.authToken, checkoutStore.accountId);
1242
+ if (result.success) {
1243
+ this.googlePayCompleted.emit({
1244
+ success: true,
1245
+ paymentData: result.paymentData,
1246
+ paymentMethodId: result.paymentMethodId,
1247
+ });
1248
+ }
1249
+ else {
1250
+ this.googlePayCompleted.emit({
1251
+ success: false,
1252
+ error: result.error,
1253
+ });
1254
+ if (((_a = result.error) === null || _a === void 0 ? void 0 : _a.code) === "USER_CANCELLED") {
1255
+ this.googlePayCancelled.emit();
1256
+ }
1257
+ }
1258
+ }
1259
+ catch (error) {
1260
+ const errorMessage = error instanceof Error ? error.message : "Payment failed";
1261
+ this.error = errorMessage;
1262
+ this.googlePayCompleted.emit({
1263
+ success: false,
1264
+ error: errorMessage,
1265
+ });
1266
+ }
1267
+ finally {
1268
+ this.isProcessing = false;
1269
+ }
1270
+ };
1271
+ }
1272
+ watchConfigChange() {
1273
+ this.initializeGooglePay();
1274
+ }
1275
+ componentWillLoad() {
1276
+ this.googlePayService = new GooglePayService();
1277
+ }
1278
+ componentDidLoad() {
1279
+ const unsub = onChange("paymentAmount", () => {
1280
+ this.prefetchPaymentData();
1281
+ });
1282
+ if (typeof unsub === 'function')
1283
+ this.unsubscribes.push(unsub);
1284
+ const unsubCurrency = onChange("paymentCurrency", () => {
1285
+ this.prefetchPaymentData();
1286
+ });
1287
+ if (typeof unsubCurrency === 'function')
1288
+ this.unsubscribes.push(unsubCurrency);
1289
+ const unsubDesc = onChange("paymentDescription", () => {
1290
+ this.prefetchPaymentData();
1291
+ });
1292
+ if (typeof unsubDesc === 'function')
1293
+ this.unsubscribes.push(unsubDesc);
1294
+ }
1295
+ disconnectedCallback() {
1296
+ this.unsubscribes.forEach((fn) => {
1297
+ try {
1298
+ fn();
1299
+ }
1300
+ catch (_a) { }
1301
+ });
1302
+ this.unsubscribes = [];
1303
+ }
1304
+ /**
1305
+ * Returns supported authentication methods when Google Pay is available.
1306
+ */
1307
+ async getSupportedAuthMethods() {
1308
+ if (!this.isAvailable) {
1309
+ return [];
1310
+ }
1311
+ return GooglePayHelpers.getDefaultAuthMethods();
1312
+ }
1313
+ /**
1314
+ * Returns supported card networks when Google Pay is available.
1315
+ */
1316
+ async getSupportedNetworks() {
1317
+ if (!this.isAvailable) {
1318
+ return [];
1319
+ }
1320
+ return GooglePayHelpers.getDefaultSupportedNetworks();
1321
+ }
1322
+ /**
1323
+ * Select Google Pay in the modular checkout parent.
1324
+ */
1325
+ async handleSelectionClick() {
1326
+ checkoutStore.selectedPaymentMethod = { type: PAYMENT_METHODS.GOOGLE_PAY };
1327
+ }
1328
+ /**
1329
+ * Returns whether Google Pay is both available and can make payments.
1330
+ */
1331
+ async isSupported() {
1332
+ return this.isAvailable && this.canMakePayments;
1333
+ }
1334
+ /**
1335
+ * Prefetch payment data for faster load times of the Google Pay sheet.
1336
+ */
1337
+ async prefetchPaymentData() {
1338
+ if (!this.isAvailable || !this.canMakePayments) {
1339
+ return;
1340
+ }
1341
+ const paymentDataRequest = this.createPaymentDataRequest();
1342
+ this.googlePayService.prefetchPaymentData(paymentDataRequest);
1343
+ }
1344
+ async initializeGooglePay() {
1345
+ try {
1346
+ this.isLoading = true;
1347
+ this.error = null;
1348
+ if (!checkoutStore.paymentAmount) {
1349
+ this.error = "Missing required Google Pay configuration";
1350
+ this.isLoading = false;
1351
+ return;
1352
+ }
1353
+ const googlePayConfig = {
1354
+ environment: this.environment,
1355
+ merchantId: this.merchantId,
1356
+ merchantName: this.merchantName,
1357
+ buttonType: this.buttonType,
1358
+ buttonStyle: this.buttonStyle,
1359
+ buttonSizeMode: this.buttonSizeMode,
1360
+ };
1361
+ this.googlePayService.initialize(googlePayConfig);
1362
+ this.isAvailable = this.googlePayService.isAvailable();
1363
+ if (!this.isAvailable) {
1364
+ this.error = "Google Pay is not supported on this device";
1365
+ this.isLoading = false;
1366
+ return;
1367
+ }
1368
+ this.canMakePayments = await this.googlePayService.canMakePayments();
1369
+ if (!this.canMakePayments) {
1370
+ this.error = "Google Pay is not available for payments";
1371
+ this.isLoading = false;
1372
+ return;
1373
+ }
1374
+ const paymentDataRequest = this.createPaymentDataRequest();
1375
+ this.googlePayService.prefetchPaymentData(paymentDataRequest);
1376
+ }
1377
+ catch (error) {
1378
+ this.error =
1379
+ error instanceof Error
1380
+ ? error.message
1381
+ : "Failed to initialize Google Pay";
1382
+ }
1383
+ finally {
1384
+ this.isLoading = false;
1385
+ }
1386
+ }
1387
+ createPaymentDataRequest() {
1388
+ return GooglePayService.createPaymentDataRequest(checkoutStore.paymentAmount, checkoutStore.paymentDescription, this.countryCode, checkoutStore.paymentCurrency, this.merchantName, this.merchantId);
1389
+ }
1390
+ render() {
1391
+ const showError = !this.isLoading && !!this.error;
1392
+ const showDeviceUnavailable = !this.isLoading && !this.error && !this.isAvailable;
1393
+ const showPaymentsUnavailable = !this.isLoading && !this.error && this.isAvailable && !this.canMakePayments;
1394
+ const showButton = !this.isLoading && !this.error && this.isAvailable && this.canMakePayments;
1395
+ return (h(StyledHost, { key: 'ee9d21e776e2a5c48d3fa2fb505290020707897d' }, checkoutStore.checkoutLoaded && (h("script", { key: '72bd5be9e6b80a42e219082cb248927aa6e1154b', async: true, src: 'https://pay.google.com/gp/p/js/pay.js', onLoad: () => {
1396
+ this.initializeGooglePay();
1397
+ } })), h("div", { key: 'f0c2c019b80589e69c159e78b18e37fc5b1f5b21', class: 'google-pay-container' }, h(GooglePaySkeleton, { key: 'd2b1f727aec121ce5e71afcd4306df92a4b5dd3b', isLoading: this.isLoading }), showError && (h("div", { key: '257df18492bff1609b864b69e2fffbacfc751ead', class: 'google-pay-error', role: 'alert', "data-testid": 'gp-error' }, h("span", { key: 'f0ece1f1ceeb2fd957ab577f848741a377c7375d', class: 'error-icon' }, "\u26A0\uFE0F"), h("span", { key: '9139e3824de300b51b2f577fbfa77ab200b0afa5', class: 'error-message' }, this.error))), showDeviceUnavailable && (h("div", { key: 'f1bf0002a82aec202b168130729c16caeb254119', class: 'google-pay-unavailable', "data-testid": 'gp-device-unavailable' }, h("span", { key: 'de42cef5e7fd8df4f84c6b2d9429672b97e9e805', class: 'unavailable-message' }, "Google Pay is not available on this device"))), showPaymentsUnavailable && (h("div", { key: 'a4738f6c36240efee000560acc775e431b517588', class: 'google-pay-unavailable', "data-testid": 'gp-payments-unavailable' }, h("span", { key: '6987a5208a702c15081660b09bfc10360eeef922', class: 'unavailable-message' }, "Google Pay is not available for payments"))), showButton && (h(GooglePayButton, { key: 'de09f6693db4dc60ba6529e683dc213bec8492a5', "data-testid": 'gp-button', buttonType: this.buttonType, buttonStyle: this.buttonStyle, buttonSizeMode: this.buttonSizeMode, disabled: this.disabled, isProcessing: this.isProcessing, isAvailable: this.isAvailable, clickHandler: this.handleGooglePayClick }))), h("style", { key: 'ed3249a9b1f55720f6f4f29b3923ae2c6eda3431' }, `
1398
+ .google-pay-container {
1399
+ width: 100%;
1400
+ }
1401
+
1402
+ .google-pay-error {
1403
+ display: flex;
1404
+ align-items: center;
1405
+ gap: 8px;
1406
+ padding: 12px;
1407
+ background: #fef2f2;
1408
+ border: 1px solid #fecaca;
1409
+ border-radius: 8px;
1410
+ color: #dc2626;
1411
+ font-size: 14px;
1412
+ }
1413
+
1414
+ .google-pay-unavailable {
1415
+ display: flex;
1416
+ align-items: center;
1417
+ justify-content: center;
1418
+ padding: 12px;
1419
+ background: #f9fafb;
1420
+ border: 1px solid #e5e7eb;
1421
+ border-radius: 8px;
1422
+ color: #6b7280;
1423
+ font-size: 14px;
1424
+ }
1425
+
1426
+ .error-icon {
1427
+ font-size: 16px;
1428
+ }
1429
+
1430
+ `)));
1431
+ }
1432
+ static get watchers() { return {
1433
+ "merchantId": ["watchConfigChange"],
1434
+ "environment": ["watchConfigChange"]
1435
+ }; }
1436
+ };
1437
+
830
1438
  const Header = class {
831
1439
  constructor(hostRef) {
832
1440
  registerInstance(this, hostRef);
@@ -839,7 +1447,7 @@ const Header = class {
839
1447
  }
840
1448
  render() {
841
1449
  const HeaderComponent = this.levels[this.level];
842
- return (h(StyledHost, { key: 'f85ca74f6e562bbc77ab72c36191a2de67812a5a' }, h(HeaderComponent, { key: '8872c1b2e52349738a60dbf4dfdd046a108f8e43', text: this.text, class: this.class })));
1450
+ return (h(StyledHost, { key: 'e448c85b2268df923662a0ff71bf4d178dcfc910' }, h(HeaderComponent, { key: 'c76766a1ab006ea4b5eb7e0ad8a6b294d52283a0', text: this.text, class: this.class })));
843
1451
  }
844
1452
  };
845
1453
 
@@ -925,6 +1533,25 @@ const ModularCheckout = class {
925
1533
  this.submitEvent = createEvent(this, "submit-event");
926
1534
  this.checkoutChangedEvent = createEvent(this, "checkout-changed");
927
1535
  this.plaidService = new PlaidService();
1536
+ this.handleGooglePayCompleted = (event) => {
1537
+ const { success, paymentMethodId, error } = event.detail || {};
1538
+ if (success && paymentMethodId) {
1539
+ checkoutStore.paymentToken = paymentMethodId;
1540
+ checkoutStore.selectedPaymentMethod = { type: PAYMENT_METHODS.GOOGLE_PAY };
1541
+ this.submitCheckout();
1542
+ }
1543
+ else {
1544
+ this.errorEvent.emit({
1545
+ message: (error && error.message) || "Google Pay payment failed",
1546
+ errorCode: ComponentErrorCodes.TOKENIZE_ERROR,
1547
+ severity: ComponentErrorSeverity.ERROR,
1548
+ });
1549
+ }
1550
+ };
1551
+ this.handleGooglePayCancelled = () => {
1552
+ checkoutStore.paymentToken = undefined;
1553
+ checkoutStore.selectedPaymentMethod = undefined;
1554
+ };
928
1555
  this.handleApplePayCompleted = (event) => {
929
1556
  const { success, token, paymentMethodId, error } = event.detail;
930
1557
  if (success && token) {
@@ -960,6 +1587,7 @@ const ModularCheckout = class {
960
1587
  this.observer = new MutationObserver(() => {
961
1588
  this.queryFormRefs();
962
1589
  this.setupApplePayListeners(); // set up again listeners when DOM changes
1590
+ this.setupGooglePayListeners();
963
1591
  });
964
1592
  this.observer.observe(this.hostEl, {
965
1593
  childList: true,
@@ -994,11 +1622,13 @@ const ModularCheckout = class {
994
1622
  componentDidLoad() {
995
1623
  this.queryFormRefs();
996
1624
  this.setupApplePayListeners();
1625
+ this.setupGooglePayListeners();
997
1626
  }
998
1627
  disconnectedCallback() {
999
1628
  var _a;
1000
1629
  (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();
1001
1630
  this.removeApplePayListeners();
1631
+ this.removeGooglePayListeners();
1002
1632
  }
1003
1633
  fetchCheckout() {
1004
1634
  if (!this.authToken || !this.checkoutId) {
@@ -1041,7 +1671,7 @@ const ModularCheckout = class {
1041
1671
  }
1042
1672
  }
1043
1673
  updateStore(checkout) {
1044
- var _a, _b, _c, _d, _e, _f;
1674
+ var _a, _b, _c, _d, _e, _f, _g;
1045
1675
  checkoutStore.accountId = checkout.account_id;
1046
1676
  checkoutStore.checkoutLoaded = true;
1047
1677
  checkoutStore.paymentMethods = checkout.payment_methods.map((paymentMethod) => new PaymentMethod(paymentMethod));
@@ -1053,11 +1683,12 @@ const ModularCheckout = class {
1053
1683
  checkoutStore.insuranceEnabled = checkout.payment_settings.insurance_payments;
1054
1684
  checkoutStore.bankAccountVerification = (_a = checkout.payment_settings) === null || _a === void 0 ? void 0 : _a.bank_account_verification;
1055
1685
  checkoutStore.applePayEnabled = (_b = checkout.payment_settings) === null || _b === void 0 ? void 0 : _b.apple_payments;
1056
- checkoutStore.bnplProviderClientId = (_c = checkout === null || checkout === void 0 ? void 0 : checkout.bnpl) === null || _c === void 0 ? void 0 : _c.provider_client_id;
1057
- checkoutStore.bnplProviderMode = (_d = checkout === null || checkout === void 0 ? void 0 : checkout.bnpl) === null || _d === void 0 ? void 0 : _d.provider_mode;
1058
- checkoutStore.bnplProviderApiVersion = (_e = checkout === null || checkout === void 0 ? void 0 : checkout.bnpl) === null || _e === void 0 ? void 0 : _e.provider_api_version;
1686
+ checkoutStore.googlePayEnabled = (_c = checkout.payment_settings) === null || _c === void 0 ? void 0 : _c.google_payments;
1687
+ checkoutStore.bnplProviderClientId = (_d = checkout === null || checkout === void 0 ? void 0 : checkout.bnpl) === null || _d === void 0 ? void 0 : _d.provider_client_id;
1688
+ checkoutStore.bnplProviderMode = (_e = checkout === null || checkout === void 0 ? void 0 : checkout.bnpl) === null || _e === void 0 ? void 0 : _e.provider_mode;
1689
+ checkoutStore.bnplProviderApiVersion = (_f = checkout === null || checkout === void 0 ? void 0 : checkout.bnpl) === null || _f === void 0 ? void 0 : _f.provider_api_version;
1059
1690
  checkoutStore.bnplProviderCheckoutUrl =
1060
- (_f = checkout === null || checkout === void 0 ? void 0 : checkout.bnpl) === null || _f === void 0 ? void 0 : _f.provider_checkout_url;
1691
+ (_g = checkout === null || checkout === void 0 ? void 0 : checkout.bnpl) === null || _g === void 0 ? void 0 : _g.provider_checkout_url;
1061
1692
  }
1062
1693
  emitCheckoutChanged() {
1063
1694
  const detail = {
@@ -1070,6 +1701,7 @@ const ModularCheckout = class {
1070
1701
  queryFormRefs() {
1071
1702
  this.billingFormRef = this.hostEl.querySelector("justifi-billing-form, justifi-bank-account-billing-form-simple, justifi-card-billing-form-simple, justifi-billing-form-full");
1072
1703
  this.applePayRef = this.hostEl.querySelector("justifi-apple-pay");
1704
+ this.googlePayRef = this.hostEl.querySelector("justifi-google-pay");
1073
1705
  this.paymentMethodFormRef =
1074
1706
  this.hostEl.querySelector('justifi-card-form, justifi-bank-account-form, justifi-tokenize-payment-method');
1075
1707
  this.insuranceFormRef = this.hostEl.querySelector('justifi-season-interruption-insurance');
@@ -1088,6 +1720,18 @@ const ModularCheckout = class {
1088
1720
  this.applePayRef.removeEventListener("applePayCancelled", this.handleApplePayCancelled);
1089
1721
  }
1090
1722
  }
1723
+ setupGooglePayListeners() {
1724
+ if (this.googlePayRef) {
1725
+ this.googlePayRef.addEventListener("googlePayCompleted", this.handleGooglePayCompleted);
1726
+ this.googlePayRef.addEventListener("googlePayCancelled", this.handleGooglePayCancelled);
1727
+ }
1728
+ }
1729
+ removeGooglePayListeners() {
1730
+ if (this.googlePayRef) {
1731
+ this.googlePayRef.removeEventListener("googlePayCompleted", this.handleGooglePayCompleted);
1732
+ this.googlePayRef.removeEventListener("googlePayCancelled", this.handleGooglePayCancelled);
1733
+ }
1734
+ }
1091
1735
  async tokenizePaymentMethod(tokenizeArgs) {
1092
1736
  var _a, _b, _c;
1093
1737
  const billingInfoValues = (_b = (await ((_a = this.billingFormRef) === null || _a === void 0 ? void 0 : _a.getValues()))) !== null && _b !== void 0 ? _b : {};
@@ -1242,6 +1886,8 @@ const ModularCheckout = class {
1242
1886
  return PAYMENT_MODE.BNPL;
1243
1887
  case PAYMENT_METHODS.APPLE_PAY:
1244
1888
  return PAYMENT_MODE.APPLE_PAY;
1889
+ case PAYMENT_METHODS.GOOGLE_PAY:
1890
+ return PAYMENT_MODE.GOOGLE_PAY;
1245
1891
  default:
1246
1892
  return undefined;
1247
1893
  }
@@ -1279,7 +1925,7 @@ const ModularCheckout = class {
1279
1925
  });
1280
1926
  }
1281
1927
  render() {
1282
- return h(Host, { key: '13f25de7b4273e26e762fe38f032ffd99f2a44c0' });
1928
+ return h(Host, { key: 'e771926ee79c47b09145bd44b47cbba3c21be3eb' });
1283
1929
  }
1284
1930
  get hostEl() { return getElement(this); }
1285
1931
  };
@@ -1975,4 +2621,4 @@ const SezzlePaymentMethod = class {
1975
2621
  }
1976
2622
  };
1977
2623
 
1978
- export { ApplePay as justifi_apple_pay, Summary as justifi_checkout_summary, Header as justifi_header, ModularCheckout as justifi_modular_checkout, PlaidPaymentMethod as justifi_plaid_payment_method, SavedPaymentMethods as justifi_saved_payment_methods, SezzlePaymentMethod as justifi_sezzle_payment_method };
2624
+ export { ApplePay as justifi_apple_pay, Summary as justifi_checkout_summary, GooglePay as justifi_google_pay, Header as justifi_header, ModularCheckout as justifi_modular_checkout, PlaidPaymentMethod as justifi_plaid_payment_method, SavedPaymentMethods as justifi_saved_payment_methods, SezzlePaymentMethod as justifi_sezzle_payment_method };