@justifi/webcomponents 5.7.6-rc-04 → 5.7.6-rc-05

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 (752) hide show
  1. package/dist/cjs/{Api-eP0XeJLd.js → Api-p2pK86Zd.js} +2 -2
  2. package/dist/cjs/Payment-2Zmn-l6G.js +151 -0
  3. package/dist/cjs/{Refund-08OcZkXX.js → Refund-BztCb6AK.js} +1 -148
  4. package/dist/cjs/additional-questions-details_5.cjs.entry.js +3 -5
  5. package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
  6. package/dist/cjs/{badge-DDksduwk.js → badge-CMmPvqtE.js} +1 -1
  7. package/dist/cjs/bank-account-document-form-inputs_4.cjs.entry.js +12 -13
  8. package/dist/cjs/bank-account-form.cjs.entry.js +6 -6
  9. package/dist/cjs/{business-additional-questions-schema-e3GCIHk5.js → business-additional-questions-schema-DNbSH3E-.js} +2 -2
  10. package/dist/cjs/business-details-core.cjs.entry.js +4 -4
  11. package/dist/cjs/{business-identity-schema-Diqj_WVQ.js → business-identity-schema-CclzWSOn.js} +2 -2
  12. package/dist/cjs/{business.service--Zv-Xtu4.js → business.service-DwZSyIlI.js} +3 -2
  13. package/dist/cjs/{button-0HYMPryx.js → button-CfVQSysQ.js} +1 -1
  14. package/dist/cjs/card-form.cjs.entry.js +6 -6
  15. package/dist/cjs/{check-pkg-version-Bp51QhAR.js → check-pkg-version-lPG_FnM4.js} +4 -3
  16. package/dist/cjs/{checkout.service-BBD6v0cl.js → checkout.service-C_qEIb8b.js} +3 -2
  17. package/dist/cjs/{checkout.store-B58bewb_.js → checkout.store-mEv437nN.js} +3 -3
  18. package/dist/cjs/checkouts-list-core.cjs.entry.js +12 -13
  19. package/dist/cjs/{payments-list-params-state-DZUKBmLC.js → checkouts-list-params-state-BNbT1fuJ.js} +1 -1
  20. package/dist/cjs/{checkouts-table-Cp7rNkNd.js → checkouts-table-DJoMGwVG.js} +3 -3
  21. package/dist/cjs/{config-state-Dz9bnWHg.js → config-state-5xZf-jax.js} +1 -1
  22. package/dist/cjs/custom-popper.cjs.entry.js +3 -3
  23. package/dist/cjs/{dispute.service-BHApwZdH.js → dispute.service-cQpQQMeh.js} +3 -2
  24. package/dist/cjs/form-alert_5.cjs.entry.js +5 -5
  25. package/dist/cjs/form-control-checkbox.cjs.entry.js +5 -5
  26. package/dist/cjs/form-control-date.cjs.entry.js +4 -4
  27. package/dist/cjs/{form-control-error-text-CVPYL0lE.js → form-control-error-text-HM0zQerh.js} +1 -1
  28. package/dist/cjs/form-control-file-v2_2.cjs.entry.js +5 -5
  29. package/dist/cjs/{form-control-help-text-B3jRgfoa.js → form-control-help-text-5KIUw1IP.js} +1 -1
  30. package/dist/cjs/form-control-help-text.cjs.entry.js +1 -1
  31. package/dist/cjs/form-control-monetary-provisioning.cjs.entry.js +5 -5
  32. package/dist/cjs/form-control-monetary.cjs.entry.js +6 -8
  33. package/dist/cjs/form-control-number-masked_2.cjs.entry.js +5 -5
  34. package/dist/cjs/form-control-number.cjs.entry.js +5 -5
  35. package/dist/cjs/form-control-radio.cjs.entry.js +3 -3
  36. package/dist/cjs/form-control-select_3.cjs.entry.js +6 -6
  37. package/dist/cjs/{get-payment-details-7PreAOdF.js → get-payment-details-DwLcmCQs.js} +5 -4
  38. package/dist/cjs/{get-subaccounts-CtelAONX.js → get-subaccounts-CvtcQGsb.js} +5 -4
  39. package/dist/cjs/gross-payment-chart-core.cjs.entry.js +5 -7
  40. package/dist/cjs/{header-1-M-mc3bsa.js → header-1-DD41iNlG.js} +1 -1
  41. package/dist/cjs/header-3-D9Wa0IfT.js +10 -0
  42. package/dist/cjs/hidden-input_2.cjs.entry.js +8 -8
  43. package/dist/cjs/{index-BCtVWU61.js → index-Yd9aLenr.js} +22 -6
  44. package/dist/cjs/{index-D5bL1DOi.js → index-dm_GlYlb.js} +57 -16
  45. package/dist/cjs/{index.esm-CVuJLXJZ.js → index.esm-BleZSAc0.js} +869 -745
  46. package/dist/cjs/insurance-state-qT_hkvZV.js +34 -0
  47. package/dist/cjs/justifi-additional-questions-form-step-core_6.cjs.entry.js +12 -12
  48. package/dist/cjs/justifi-additional-questions-form-step_9.cjs.entry.js +20 -20
  49. package/dist/cjs/justifi-additional-statement_8.cjs.entry.js +10 -10
  50. package/dist/cjs/justifi-apple-pay.cjs.entry.js +836 -0
  51. package/dist/cjs/{justifi-bank-account-form_7.cjs.entry.js → justifi-bank-account-form_5.cjs.entry.js} +30 -73
  52. package/dist/cjs/justifi-billing-form.cjs.entry.js +76 -0
  53. package/dist/cjs/justifi-business-details.cjs.entry.js +12 -13
  54. package/dist/cjs/justifi-business-form.cjs.entry.js +18 -18
  55. package/dist/cjs/justifi-business-representative-form-inputs.cjs.entry.js +2 -2
  56. package/dist/cjs/{justifi-checkout-summary_5.cjs.entry.js → justifi-button_5.cjs.entry.js} +144 -135
  57. package/dist/cjs/justifi-checkout.cjs.entry.js +17 -18
  58. package/dist/cjs/justifi-checkouts-list-filters.cjs.entry.js +9 -10
  59. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +15 -16
  60. package/dist/cjs/justifi-config-provider.cjs.entry.js +3 -3
  61. package/dist/cjs/justifi-details.cjs.entry.js +2 -2
  62. package/dist/cjs/justifi-dispute-management-core.cjs.entry.js +2 -2
  63. package/dist/cjs/justifi-dispute-management.cjs.entry.js +11 -12
  64. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +17 -18
  65. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +10 -11
  66. package/dist/cjs/justifi-new-payment-method.cjs.entry.js +99 -0
  67. package/dist/cjs/justifi-order-terminals.cjs.entry.js +14 -15
  68. package/dist/cjs/justifi-owner-form_3.cjs.entry.js +17 -17
  69. package/dist/cjs/justifi-payment-details.cjs.entry.js +13 -14
  70. package/dist/cjs/justifi-payment-method-options.cjs.entry.js +75 -0
  71. package/dist/cjs/justifi-payment-provisioning-core.cjs.entry.js +4 -4
  72. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +11 -12
  73. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +14 -15
  74. package/dist/cjs/justifi-payments-list-filters.cjs.entry.js +7 -8
  75. package/dist/cjs/justifi-payments-list.cjs.entry.js +16 -17
  76. package/dist/cjs/justifi-payout-details.cjs.entry.js +11 -12
  77. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +14 -15
  78. package/dist/cjs/justifi-payouts-list-filters.cjs.entry.js +7 -9
  79. package/dist/cjs/justifi-payouts-list.cjs.entry.js +16 -17
  80. package/dist/cjs/justifi-refund-payment.cjs.entry.js +15 -15
  81. package/dist/cjs/justifi-saved-payment-method.cjs.entry.js +4 -5
  82. package/dist/cjs/justifi-saved-payment-methods_2.cjs.entry.js +116 -0
  83. package/dist/cjs/justifi-season-interruption-insurance-core.cjs.entry.js +7 -10
  84. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +11 -12
  85. package/dist/cjs/justifi-skeleton.cjs.entry.js +4 -4
  86. package/dist/cjs/justifi-terminal-orders-list-filters.cjs.entry.js +10 -11
  87. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +13 -14
  88. package/dist/cjs/justifi-terminals-list-filters.cjs.entry.js +9 -9
  89. package/dist/cjs/justifi-terminals-list.cjs.entry.js +15 -16
  90. package/dist/cjs/justifi-tokenize-payment-method.cjs.entry.js +37 -220
  91. package/dist/cjs/loader.cjs.js +4 -3
  92. package/dist/cjs/{package-BMSb1ui9.js → package-pyzAPwrl.js} +1 -1
  93. package/dist/cjs/pagination-menu.cjs.entry.js +1 -1
  94. package/dist/cjs/payment-details-core.cjs.entry.js +15 -17
  95. package/dist/cjs/{payment-method-option-utils-QODgEWhU.js → payment-method-option-utils-CfLXhpsL.js} +11 -1
  96. package/dist/cjs/{payment.service-C9qxqaJk.js → payment.service-CVZ55YLl.js} +3 -2
  97. package/dist/cjs/payments-list-core.cjs.entry.js +13 -14
  98. package/dist/cjs/{payouts-list-params-state-DZUKBmLC.js → payments-list-params-state-BNbT1fuJ.js} +1 -1
  99. package/dist/cjs/{payments-status-DG50GuXR.js → payments-status-PB63klt3.js} +2 -2
  100. package/dist/cjs/{payments-table-DaW6SvdL.js → payments-table-uouQ4x2Y.js} +3 -3
  101. package/dist/cjs/payout-details-core.cjs.entry.js +11 -13
  102. package/dist/cjs/{payout.service-DiSYeR_q.js → payout.service-BlbHwzd_.js} +3 -2
  103. package/dist/cjs/payouts-list-core.cjs.entry.js +13 -14
  104. package/dist/cjs/{checkouts-list-params-state-DZUKBmLC.js → payouts-list-params-state-BNbT1fuJ.js} +1 -1
  105. package/dist/cjs/{payouts-status-meuI7eBr.js → payouts-status-Bk1JFzbP.js} +2 -2
  106. package/dist/cjs/{payouts-table-D5hMHcaY.js → payouts-table-Bo61u5ZZ.js} +3 -3
  107. package/dist/cjs/{schema-validations-BSeMee-o.js → schema-validations-jek_iZ9W.js} +1 -1
  108. package/dist/cjs/{skeleton-CbZBGO47.js → skeleton-x-GSs3xk.js} +1 -1
  109. package/dist/cjs/{spinner-CIZFX7bz.js → spinner-Kb1BFvnL.js} +1 -1
  110. package/dist/cjs/{styled-host-DXNHOiqW.js → styled-host-CqQYxX-w.js} +1 -1
  111. package/dist/cjs/{table-CxvETNS1.js → table-BJVUhh3s.js} +2 -2
  112. package/dist/cjs/table-filters-menu.cjs.entry.js +3 -3
  113. package/dist/cjs/terminal-orders-list-core.cjs.entry.js +12 -13
  114. package/dist/cjs/{terminal-orders-list-params-state-DZUKBmLC.js → terminal-orders-list-params-state-BNbT1fuJ.js} +1 -1
  115. package/dist/cjs/{terminal-orders-table-DnZjcbSQ.js → terminal-orders-table-v0Sn7jUg.js} +6 -5
  116. package/dist/cjs/terminal-quantity-selector.cjs.entry.js +2 -2
  117. package/dist/cjs/{terminal.service-DEIY9toR.js → terminal.service-I07QoXPB.js} +3 -2
  118. package/dist/cjs/terminals-list-core.cjs.entry.js +12 -13
  119. package/dist/cjs/terminals-list-params-state-BNbT1fuJ.js +22 -0
  120. package/dist/cjs/{terminals-table-DOqVeHM1.js → terminals-table-CGG9EhiI.js} +3 -3
  121. package/dist/cjs/{utils-wkdkLmDI.js → utils-Df-pajL7.js} +1 -1
  122. package/dist/cjs/{utils-DqlrBltg.js → utils-Dka3MplB.js} +1661 -3
  123. package/dist/cjs/webcomponents.cjs.js +5 -4
  124. package/dist/collection/api/ApplePay.js +124 -0
  125. package/dist/collection/api/services/apple-pay.service.js +344 -0
  126. package/dist/collection/collection-manifest.json +10 -8
  127. package/dist/collection/components/business-forms/business-form/additional-questions/additional-questions.js +1 -1
  128. package/dist/collection/components/business-forms/business-form/business-core-info/business-core-info.js +1 -1
  129. package/dist/collection/components/business-forms/business-form/business-representative/business-representative.js +1 -1
  130. package/dist/collection/components/business-forms/business-form/legal-address-form/legal-address-form.js +1 -1
  131. package/dist/collection/components/business-forms/owner-form/identity-address/identity-address-form.js +1 -1
  132. package/dist/collection/components/business-forms/owner-form/owner-form-core.js +1 -1
  133. package/dist/collection/components/business-forms/owner-form/owner-form-inputs.js +1 -1
  134. package/dist/collection/components/business-forms/owner-form/owner-form.js +1 -1
  135. package/dist/collection/components/business-forms/payment-provisioning/additional-questions/business-additional-questions-form-step.js +1 -1
  136. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-document-inputs.js +1 -1
  137. package/dist/collection/components/business-forms/payment-provisioning/bank-account/bank-account-form-inputs.js +1 -1
  138. package/dist/collection/components/business-forms/payment-provisioning/bank-account/business-bank-account-form-step.js +1 -1
  139. package/dist/collection/components/business-forms/payment-provisioning/business-core-info/business-core-info-form-step.js +1 -1
  140. package/dist/collection/components/business-forms/payment-provisioning/business-owners/business-owners-form-step.js +1 -1
  141. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-inputs.js +1 -1
  142. package/dist/collection/components/business-forms/payment-provisioning/business-representative/business-representative-form-step.js +1 -1
  143. package/dist/collection/components/business-forms/payment-provisioning/form-control-monetary-provisioning.js +2 -2
  144. package/dist/collection/components/business-forms/payment-provisioning/legal-address-form/legal-address-form-step.js +1 -1
  145. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-core.js +1 -1
  146. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-buttons.js +1 -1
  147. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning-form-steps.js +1 -1
  148. package/dist/collection/components/business-forms/payment-provisioning/payment-provisioning.js +1 -1
  149. package/dist/collection/components/business-forms/payment-provisioning/terms-and-conditions/business-terms-conditions-form-step.js +1 -1
  150. package/dist/collection/components/checkout/bank-account-form/bank-account-form.js +2 -2
  151. package/dist/collection/components/checkout/billing-form/billing-form.js +37 -13
  152. package/dist/collection/components/checkout/card-form/card-form.js +2 -2
  153. package/dist/collection/components/checkout/checkout.js +1 -1
  154. package/dist/collection/components/checkout/new-payment-method.js +378 -0
  155. package/dist/collection/components/checkout/payment-method-option-utils.js +1 -0
  156. package/dist/collection/components/checkout/payment-method-options.js +421 -0
  157. package/dist/collection/components/checkout/save-new-payment-method.js +5 -7
  158. package/dist/collection/components/checkout/saved-payment-method.js +1 -1
  159. package/dist/collection/components/checkouts-list/checkouts-list-core.js +1 -1
  160. package/dist/collection/components/checkouts-list/checkouts-list-filters.js +1 -1
  161. package/dist/collection/components/checkouts-list/checkouts-list.js +1 -1
  162. package/dist/collection/components/dispute-management/dispute-management-core.js +1 -1
  163. package/dist/collection/components/dispute-management/dispute-management.js +1 -1
  164. package/dist/collection/components/dispute-management/dispute-notification.js +1 -1
  165. package/dist/collection/components/dispute-management/dispute-response/additional-statement.js +1 -1
  166. package/dist/collection/components/dispute-management/dispute-response/cancellation-policy.js +1 -1
  167. package/dist/collection/components/dispute-management/dispute-response/customer-details.js +1 -1
  168. package/dist/collection/components/dispute-management/dispute-response/dispute-response-core.js +1 -1
  169. package/dist/collection/components/dispute-management/dispute-response/dispute-response.js +1 -1
  170. package/dist/collection/components/dispute-management/dispute-response/duplicate-charge.js +1 -1
  171. package/dist/collection/components/dispute-management/dispute-response/electronic-evidence.js +1 -1
  172. package/dist/collection/components/dispute-management/dispute-response/product-or-service.js +1 -1
  173. package/dist/collection/components/dispute-management/dispute-response/refund-policy.js +1 -1
  174. package/dist/collection/components/dispute-management/dispute-response/shipping-details.js +1 -1
  175. package/dist/collection/components/filters/table-filters-menu.js +1 -1
  176. package/dist/collection/components/gross-payment-chart/gross-payment-chart-core.js +1 -1
  177. package/dist/collection/components/insurance/insurance-state.js +1 -18
  178. package/dist/collection/components/insurance/season-interruption/season-interruption-insurance.js +1 -1
  179. package/dist/collection/components/modular-checkout/modular-checkout.js +98 -17
  180. package/dist/collection/components/modular-checkout/sub-components/apple-pay-skeleton.js +10 -0
  181. package/dist/collection/components/modular-checkout/sub-components/apple-pay.js +539 -0
  182. package/dist/collection/components/modular-checkout/sub-components/bank-account.js +2 -2
  183. package/dist/collection/components/modular-checkout/sub-components/billing-information-form.js +5 -36
  184. package/dist/collection/components/modular-checkout/sub-components/card-form.js +2 -2
  185. package/dist/collection/components/modular-checkout/sub-components/payment-method-option.js +1 -1
  186. package/dist/collection/components/modular-checkout/sub-components/postal-code-form.js +4 -5
  187. package/dist/collection/components/modular-checkout/sub-components/summary.js +1 -1
  188. package/dist/collection/components/order-terminals/order-terminals.js +1 -1
  189. package/dist/collection/components/order-terminals/terminal-quantity-selector/terminal-quantity-selector.js +1 -1
  190. package/dist/collection/components/payment-details/payment-details-core.js +8 -8
  191. package/dist/collection/components/payment-transactions-list/payment-transactions-list.js +1 -1
  192. package/dist/collection/components/payments-list/payments-list-core.js +1 -1
  193. package/dist/collection/components/payments-list/payments-list-filters.js +2 -2
  194. package/dist/collection/components/payments-list/payments-list.js +1 -1
  195. package/dist/collection/components/payout-details/payout-details-core.js +3 -3
  196. package/dist/collection/components/payout-transactions-list/payout-transactions-list.js +1 -1
  197. package/dist/collection/components/payouts-list/payouts-list-core.js +1 -1
  198. package/dist/collection/components/payouts-list/payouts-list-filters.js +2 -2
  199. package/dist/collection/components/payouts-list/payouts-list.js +1 -1
  200. package/dist/collection/components/terminal-orders-list/terminal-orders-list-core.js +1 -1
  201. package/dist/collection/components/terminal-orders-list/terminal-orders-list-filters.js +2 -2
  202. package/dist/collection/components/terminal-orders-list/terminal-orders-list.js +1 -1
  203. package/dist/collection/components/terminals-list/terminals-list-core.js +1 -1
  204. package/dist/collection/components/terminals-list/terminals-list-filters.js +1 -1
  205. package/dist/collection/components/terminals-list/terminals-list.js +1 -1
  206. package/dist/collection/components/tokenize-payment-method/tokenize-payment-method.js +87 -291
  207. package/dist/collection/store/checkout.store.js +2 -2
  208. package/dist/collection/ui-components/apple-pay-button.js +146 -0
  209. package/dist/collection/ui-components/custom-popper/custom-popper.js +2 -2
  210. package/dist/collection/ui-components/form/form-control-checkbox.js +2 -2
  211. package/dist/collection/ui-components/form/form-control-date.js +2 -2
  212. package/dist/collection/ui-components/form/form-control-file-v2.js +1 -1
  213. package/dist/collection/ui-components/form/form-control-file.js +2 -2
  214. package/dist/collection/ui-components/form/form-control-monetary.js +2 -2
  215. package/dist/collection/ui-components/form/form-control-number-masked.js +2 -2
  216. package/dist/collection/ui-components/form/form-control-number.js +2 -2
  217. package/dist/collection/ui-components/form/form-control-radio.js +2 -2
  218. package/dist/collection/ui-components/form/form-control-select.js +2 -2
  219. package/dist/collection/ui-components/form/form-control-text.js +2 -2
  220. package/dist/collection/ui-components/form/form-control-textarea.js +2 -2
  221. package/dist/collection/ui-components/form/hidden-input.js +1 -1
  222. package/dist/collection/ui-components/form/iframe-input.js +3 -3
  223. package/dist/collection/ui-components/index.js +0 -1
  224. package/dist/collection/ui-components/shadow-dom-components/justifi-button.js +1 -1
  225. package/dist/collection/ui-components/shadow-dom-components/justifi-header.js +1 -1
  226. package/dist/collection/ui-components/shadow-dom-components/justifi-skeleton.js +1 -1
  227. package/dist/docs.json +2051 -985
  228. package/dist/esm/{Api-BCeKXDaf.js → Api-DQM93PRm.js} +2 -2
  229. package/dist/esm/{Dispute-BH0Xfn-F.js → Dispute-7MWRbTXI.js} +1 -1
  230. package/dist/esm/Payment-Bs0-9Lnt.js +149 -0
  231. package/dist/esm/{Refund-DBHZkemk.js → Refund-4B3c-kLz.js} +2 -148
  232. package/dist/esm/additional-questions-details_5.entry.js +4 -6
  233. package/dist/esm/app-globals-DQuL1Twl.js +3 -0
  234. package/dist/esm/{badge-BrapPg3R.js → badge-D-vrtiQR.js} +2 -2
  235. package/dist/esm/bank-account-document-form-inputs_4.entry.js +14 -15
  236. package/dist/esm/bank-account-form.entry.js +7 -7
  237. package/dist/esm/{business-additional-questions-schema-uQlQ8fXQ.js → business-additional-questions-schema-C6NRHWEL.js} +2 -2
  238. package/dist/esm/business-details-core.entry.js +5 -5
  239. package/dist/esm/{business-identity-schema-BsrgqgDl.js → business-identity-schema-D8n5dyLX.js} +2 -2
  240. package/dist/esm/{business.service-ArD_uRLb.js → business.service-BgXdRyYa.js} +4 -3
  241. package/dist/esm/{button-BB-N4vit.js → button-DxM4-mlD.js} +2 -2
  242. package/dist/esm/card-form.entry.js +7 -7
  243. package/dist/esm/{check-pkg-version-CwPXpnQZ.js → check-pkg-version-B7MJjFP4.js} +5 -4
  244. package/dist/esm/{checkout.service-BgDCPjQU.js → checkout.service-CXeKDZTF.js} +4 -3
  245. package/dist/esm/{checkout.store-td03RV8y.js → checkout.store-QrBBYQfi.js} +3 -3
  246. package/dist/esm/checkouts-list-core.entry.js +14 -15
  247. package/dist/esm/{checkouts-list-params-state-DFWVMJRJ.js → checkouts-list-params-state-SMXQIZTt.js} +1 -1
  248. package/dist/esm/{checkouts-table-COpCngi0.js → checkouts-table-Djb7Yj6O.js} +4 -4
  249. package/dist/esm/{config-state-B3mtRA6f.js → config-state-BrllxiM0.js} +1 -1
  250. package/dist/esm/custom-popper.entry.js +3 -3
  251. package/dist/esm/{dispute.service-C2dMLW9w.js → dispute.service-DWs_TX-m.js} +4 -3
  252. package/dist/esm/form-alert_5.entry.js +6 -6
  253. package/dist/esm/form-control-checkbox.entry.js +6 -6
  254. package/dist/esm/form-control-date.entry.js +5 -5
  255. package/dist/esm/{form-control-error-text-Bk3yfpFX.js → form-control-error-text-Dew-m4MW.js} +2 -2
  256. package/dist/esm/form-control-file-v2_2.entry.js +6 -6
  257. package/dist/esm/{form-control-help-text-mOLCXs00.js → form-control-help-text-CcPKT19_.js} +2 -2
  258. package/dist/esm/form-control-help-text.entry.js +1 -1
  259. package/dist/esm/form-control-monetary-provisioning.entry.js +6 -6
  260. package/dist/esm/form-control-monetary.entry.js +7 -9
  261. package/dist/esm/form-control-number-masked_2.entry.js +6 -6
  262. package/dist/esm/form-control-number.entry.js +6 -6
  263. package/dist/esm/form-control-radio.entry.js +4 -4
  264. package/dist/esm/form-control-select_3.entry.js +7 -7
  265. package/dist/esm/{get-payment-details-BN-K_5Ry.js → get-payment-details-j8nOngzB.js} +5 -4
  266. package/dist/esm/{get-subaccounts-DrFpGKDV.js → get-subaccounts-C62B2OC_.js} +6 -5
  267. package/dist/esm/gross-payment-chart-core.entry.js +6 -8
  268. package/dist/esm/{header-1-DYuf6mkF.js → header-1-B0PFwGib.js} +2 -2
  269. package/dist/esm/header-3-D3gxg6YU.js +8 -0
  270. package/dist/esm/hidden-input_2.entry.js +9 -9
  271. package/dist/esm/{index-BAq5IUBW.js → index-B9me4yN2.js} +22 -6
  272. package/dist/esm/{index-N3w5zrz2.js → index-kpoIU4v_.js} +58 -16
  273. package/dist/esm/{index.esm-BCNUj0Dx.js → index.esm-cYgKOXtz.js} +869 -745
  274. package/dist/esm/insurance-state-DQH40x6F.js +28 -0
  275. package/dist/esm/justifi-additional-questions-form-step-core_6.entry.js +14 -14
  276. package/dist/esm/justifi-additional-questions-form-step_9.entry.js +22 -22
  277. package/dist/esm/justifi-additional-statement_8.entry.js +11 -11
  278. package/dist/esm/justifi-apple-pay.entry.js +834 -0
  279. package/dist/esm/{justifi-bank-account-form_7.entry.js → justifi-bank-account-form_5.entry.js} +32 -73
  280. package/dist/esm/justifi-billing-form.entry.js +74 -0
  281. package/dist/esm/justifi-business-details.entry.js +13 -14
  282. package/dist/esm/justifi-business-form.entry.js +20 -20
  283. package/dist/esm/justifi-business-representative-form-inputs.entry.js +3 -3
  284. package/dist/esm/{justifi-checkout-summary_5.entry.js → justifi-button_5.entry.js} +145 -136
  285. package/dist/esm/justifi-checkout.entry.js +14 -15
  286. package/dist/esm/justifi-checkouts-list-filters.entry.js +11 -12
  287. package/dist/esm/justifi-checkouts-list.entry.js +17 -18
  288. package/dist/esm/justifi-config-provider.entry.js +3 -3
  289. package/dist/esm/justifi-details.entry.js +3 -3
  290. package/dist/esm/justifi-dispute-management-core.entry.js +3 -3
  291. package/dist/esm/justifi-dispute-management.entry.js +12 -13
  292. package/dist/esm/justifi-dispute-notification_3.entry.js +18 -19
  293. package/dist/esm/justifi-gross-payment-chart.entry.js +12 -13
  294. package/dist/esm/justifi-new-payment-method.entry.js +97 -0
  295. package/dist/esm/justifi-order-terminals.entry.js +16 -17
  296. package/dist/esm/justifi-owner-form_3.entry.js +18 -18
  297. package/dist/esm/justifi-payment-details.entry.js +14 -15
  298. package/dist/esm/justifi-payment-method-options.entry.js +73 -0
  299. package/dist/esm/justifi-payment-provisioning-core.entry.js +5 -5
  300. package/dist/esm/justifi-payment-provisioning.entry.js +12 -13
  301. package/dist/esm/justifi-payment-transactions-list.entry.js +16 -17
  302. package/dist/esm/justifi-payments-list-filters.entry.js +8 -9
  303. package/dist/esm/justifi-payments-list.entry.js +17 -18
  304. package/dist/esm/justifi-payout-details.entry.js +13 -14
  305. package/dist/esm/justifi-payout-transactions-list.entry.js +16 -17
  306. package/dist/esm/justifi-payouts-list-filters.entry.js +8 -10
  307. package/dist/esm/justifi-payouts-list.entry.js +18 -19
  308. package/dist/esm/justifi-refund-payment.entry.js +17 -17
  309. package/dist/esm/justifi-saved-payment-method.entry.js +5 -6
  310. package/dist/esm/justifi-saved-payment-methods_2.entry.js +113 -0
  311. package/dist/esm/justifi-season-interruption-insurance-core.entry.js +7 -10
  312. package/dist/esm/justifi-season-interruption-insurance.entry.js +12 -13
  313. package/dist/esm/justifi-skeleton.entry.js +5 -5
  314. package/dist/esm/justifi-terminal-orders-list-filters.entry.js +12 -13
  315. package/dist/esm/justifi-terminal-orders-list.entry.js +15 -16
  316. package/dist/esm/justifi-terminals-list-filters.entry.js +11 -11
  317. package/dist/esm/justifi-terminals-list.entry.js +17 -18
  318. package/dist/esm/justifi-tokenize-payment-method.entry.js +39 -222
  319. package/dist/esm/loader.js +4 -3
  320. package/dist/esm/{package-HlNEzyiZ.js → package-BLtzn9pE.js} +1 -1
  321. package/dist/esm/pagination-menu.entry.js +2 -2
  322. package/dist/esm/{parts-CKg_luIy.js → parts-D3G5aVLy.js} +1 -1
  323. package/dist/esm/payment-details-core.entry.js +16 -18
  324. package/dist/esm/{payment-method-option-utils-zFDtQrgQ.js → payment-method-option-utils-Cm6lAaP1.js} +10 -2
  325. package/dist/esm/{payment.service-DPsRcwWM.js → payment.service-BnDr_9vX.js} +4 -3
  326. package/dist/esm/payments-list-core.entry.js +15 -16
  327. package/dist/esm/{payments-list-params-state-DFWVMJRJ.js → payments-list-params-state-SMXQIZTt.js} +1 -1
  328. package/dist/esm/{payments-status-CawBLR48.js → payments-status-DVYzDcJ4.js} +2 -2
  329. package/dist/esm/{payments-table-WQAD1CSz.js → payments-table-BuiNqlwv.js} +4 -4
  330. package/dist/esm/payout-details-core.entry.js +12 -14
  331. package/dist/esm/{payout.service-CoVFefK5.js → payout.service-Ai1aEuFC.js} +4 -3
  332. package/dist/esm/payouts-list-core.entry.js +15 -16
  333. package/dist/esm/{payouts-list-params-state-DFWVMJRJ.js → payouts-list-params-state-SMXQIZTt.js} +1 -1
  334. package/dist/esm/{payouts-status-DB_PJap6.js → payouts-status-Bae6G8Hq.js} +2 -2
  335. package/dist/esm/{payouts-table-DRISll8u.js → payouts-table-cgIXP54P.js} +4 -4
  336. package/dist/esm/{schema-validations-DLWfpHyI.js → schema-validations-DcR1ujuX.js} +1 -1
  337. package/dist/esm/{skeleton-D1Z4a8af.js → skeleton-CZfDofm6.js} +2 -2
  338. package/dist/esm/{spinner-BlffecO5.js → spinner-D-vbFqC6.js} +2 -2
  339. package/dist/esm/{styled-host-DtvbNFVU.js → styled-host-B_XBaM7z.js} +1 -1
  340. package/dist/esm/{table-BqxKVRry.js → table-CTPfsGKi.js} +3 -3
  341. package/dist/esm/table-filters-menu.entry.js +4 -4
  342. package/dist/esm/terminal-orders-list-core.entry.js +14 -15
  343. package/dist/esm/{terminal-orders-list-params-state-DFWVMJRJ.js → terminal-orders-list-params-state-SMXQIZTt.js} +1 -1
  344. package/dist/esm/{terminal-orders-table-Da4IvBtB.js → terminal-orders-table-CvK516_V.js} +8 -7
  345. package/dist/esm/terminal-quantity-selector.entry.js +3 -3
  346. package/dist/esm/{terminal.service-CnPV1i9J.js → terminal.service-BLeBxTv4.js} +4 -3
  347. package/dist/esm/terminals-list-core.entry.js +14 -15
  348. package/dist/esm/terminals-list-params-state-SMXQIZTt.js +16 -0
  349. package/dist/esm/{terminals-table-BBPQRWja.js → terminals-table-2QGQITkt.js} +4 -4
  350. package/dist/esm/{utils-Cu5hITuT.js → utils-B7jE0g5_.js} +1661 -4
  351. package/dist/esm/{utils-sZ_6zOKQ.js → utils-CBJo9jNE.js} +2 -2
  352. package/dist/esm/webcomponents.js +5 -4
  353. package/dist/module/Analytics.js +1 -0
  354. package/dist/module/Payment.js +204 -0
  355. package/dist/module/Refund.js +1 -202
  356. package/dist/module/additional-questions-details2.js +1 -1
  357. package/dist/module/additional-questions.js +2 -2
  358. package/dist/module/additional-statement.js +2 -2
  359. package/dist/module/badge.js +1 -1
  360. package/dist/module/bank-account-document-inputs.js +4 -3
  361. package/dist/module/bank-account-form-inputs2.js +2 -2
  362. package/dist/module/bank-account-form.js +3 -3
  363. package/dist/module/bank-account.js +3 -4
  364. package/dist/module/billing-form.js +58 -24
  365. package/dist/module/billing-information-form.js +4 -11
  366. package/dist/module/business-additional-questions-form-step-core.js +1 -1
  367. package/dist/module/business-additional-questions-form-step.js +2 -2
  368. package/dist/module/business-bank-account-form-step-core.js +4 -3
  369. package/dist/module/business-bank-account-form-step.js +4 -3
  370. package/dist/module/business-core-info-form-step-core.js +1 -1
  371. package/dist/module/business-core-info-form-step.js +2 -2
  372. package/dist/module/business-core-info.js +2 -2
  373. package/dist/module/business-details-core2.js +1 -2
  374. package/dist/module/business-documents-on-file2.js +2 -3
  375. package/dist/module/business-owners-form-step-core.js +1 -2
  376. package/dist/module/business-owners-form-step.js +2 -2
  377. package/dist/module/business-representative-form-inputs.js +2 -2
  378. package/dist/module/business-representative-form-step-core.js +1 -1
  379. package/dist/module/business-representative-form-step.js +2 -2
  380. package/dist/module/business-representative.js +2 -2
  381. package/dist/module/business-terms-conditions-form-step.js +3 -2
  382. package/dist/module/business.service.js +1 -0
  383. package/dist/module/cancellation-policy.js +2 -2
  384. package/dist/module/card-form.js +3 -3
  385. package/dist/module/card-form2.js +3 -4
  386. package/dist/module/checkout.service.js +1 -0
  387. package/dist/module/checkout.store.js +2 -2
  388. package/dist/module/checkouts-list-core2.js +5 -6
  389. package/dist/module/core-info-details2.js +1 -1
  390. package/dist/module/custom-popper2.js +3 -3
  391. package/dist/module/customer-details.js +2 -2
  392. package/dist/module/details.js +1 -1
  393. package/dist/module/dispute-management-core.js +3 -3
  394. package/dist/module/dispute-notification.js +2 -3
  395. package/dist/module/dispute-response-actions.js +1 -0
  396. package/dist/module/dispute-response-core.js +2 -2
  397. package/dist/module/dispute-response.js +2 -3
  398. package/dist/module/duplicate-charge.js +2 -2
  399. package/dist/module/electronic-evidence.js +2 -2
  400. package/dist/module/form-alert2.js +2 -2
  401. package/dist/module/form-control-checkbox2.js +4 -5
  402. package/dist/module/form-control-date2.js +3 -4
  403. package/dist/module/form-control-file-v22.js +2 -2
  404. package/dist/module/form-control-file2.js +3 -4
  405. package/dist/module/form-control-help-text2.js +1 -1
  406. package/dist/module/form-control-monetary-provisioning2.js +4 -5
  407. package/dist/module/form-control-monetary2.js +4 -5
  408. package/dist/module/form-control-number-masked2.js +3 -4
  409. package/dist/module/form-control-number.js +4 -5
  410. package/dist/module/form-control-radio2.js +4 -4
  411. package/dist/module/form-control-select2.js +3 -4
  412. package/dist/module/form-control-text2.js +3 -4
  413. package/dist/module/form-control-textarea2.js +4 -4
  414. package/dist/module/form-control-tooltip2.js +1 -1
  415. package/dist/module/form.js +869 -745
  416. package/dist/module/get-payment-details.js +3 -2
  417. package/dist/module/get-subaccounts.js +2 -1
  418. package/dist/module/gross-payment-chart-core2.js +3 -3
  419. package/dist/module/header-3.js +8 -0
  420. package/dist/module/hidden-input2.js +3 -3
  421. package/dist/module/identity-address-form.js +2 -2
  422. package/dist/module/iframe-input2.js +5 -5
  423. package/dist/module/index2.js +21 -5
  424. package/dist/module/insurance-state.js +1 -18
  425. package/dist/module/justifi-apple-pay.d.ts +11 -0
  426. package/dist/module/justifi-apple-pay.js +876 -0
  427. package/dist/module/justifi-business-details.js +1 -1
  428. package/dist/module/justifi-business-form.js +3 -3
  429. package/dist/module/justifi-button2.js +2 -2
  430. package/dist/module/justifi-checkout.js +3 -4
  431. package/dist/module/justifi-checkouts-list-filters.js +5 -5
  432. package/dist/module/justifi-checkouts-list.js +5 -5
  433. package/dist/module/justifi-config-provider.js +1 -1
  434. package/dist/module/justifi-dispute-management.js +4 -3
  435. package/dist/module/justifi-gross-payment-chart.js +2 -1
  436. package/dist/module/justifi-header2.js +4 -8
  437. package/dist/module/justifi-new-payment-method.d.ts +11 -0
  438. package/dist/module/justifi-new-payment-method.js +219 -0
  439. package/dist/module/justifi-order-terminals.js +5 -6
  440. package/dist/module/justifi-payment-details.js +1 -1
  441. package/dist/module/justifi-payment-method-options.d.ts +11 -0
  442. package/dist/module/justifi-payment-method-options.js +6 -0
  443. package/dist/module/justifi-payment-provisioning.js +3 -2
  444. package/dist/module/justifi-payment-transactions-list.js +6 -7
  445. package/dist/module/justifi-payments-list-filters.js +4 -5
  446. package/dist/module/justifi-payments-list.js +5 -5
  447. package/dist/module/justifi-payout-details.js +4 -3
  448. package/dist/module/justifi-payout-transactions-list.js +6 -7
  449. package/dist/module/justifi-payouts-list-filters.js +4 -5
  450. package/dist/module/justifi-payouts-list.js +5 -5
  451. package/dist/module/justifi-refund-payment.js +3 -3
  452. package/dist/module/justifi-saved-payment-method.js +3 -3
  453. package/dist/module/justifi-season-interruption-insurance.js +3 -2
  454. package/dist/module/justifi-skeleton.js +2 -2
  455. package/dist/module/justifi-terminal-orders-list-filters.js +6 -6
  456. package/dist/module/justifi-terminal-orders-list.js +5 -5
  457. package/dist/module/justifi-terminals-list-filters.js +5 -5
  458. package/dist/module/justifi-terminals-list.js +5 -5
  459. package/dist/module/justifi-tokenize-payment-method.js +47 -311
  460. package/dist/module/legal-address-details2.js +1 -1
  461. package/dist/module/legal-address-form-step-core.js +1 -1
  462. package/dist/module/legal-address-form-step.js +2 -2
  463. package/dist/module/legal-address-form.js +2 -2
  464. package/dist/module/modular-checkout.js +102 -19
  465. package/dist/module/owner-details2.js +1 -1
  466. package/dist/module/owner-form-core2.js +3 -4
  467. package/dist/module/owner-form-inputs2.js +2 -2
  468. package/dist/module/owner-form.js +2 -2
  469. package/dist/module/package.js +1 -1
  470. package/dist/module/pagination-menu2.js +2 -2
  471. package/dist/module/parts.js +1 -1
  472. package/dist/module/payment-details-core2.js +10 -11
  473. package/dist/module/payment-method-option-utils.js +10 -2
  474. package/dist/module/payment-method-option2.js +3 -4
  475. package/dist/module/payment-method-options.js +129 -0
  476. package/dist/module/payment-provisioning-core.js +2 -3
  477. package/dist/module/payment-provisioning-form-buttons.js +2 -3
  478. package/dist/module/payment-provisioning-form-steps.js +2 -2
  479. package/dist/module/payment-provisioning-loading.js +0 -1
  480. package/dist/module/payment.service.js +1 -0
  481. package/dist/module/payments-list-core2.js +5 -6
  482. package/dist/module/payout-details-core2.js +5 -6
  483. package/dist/module/payout.service.js +1 -0
  484. package/dist/module/payouts-list-core2.js +5 -6
  485. package/dist/module/postal-code-form.js +3 -5
  486. package/dist/module/product-or-service.js +2 -2
  487. package/dist/module/refund-policy.js +2 -2
  488. package/dist/module/representative-details2.js +1 -1
  489. package/dist/module/save-new-payment-method.js +6 -9
  490. package/dist/module/saved-payment-methods.js +2 -3
  491. package/dist/module/season-interruption-insurance-core.js +2 -3
  492. package/dist/module/sezzle-payment-method.js +2 -3
  493. package/dist/module/shipping-details.js +2 -2
  494. package/dist/module/spinner.js +1 -1
  495. package/dist/module/summary.js +2 -3
  496. package/dist/module/table-filters-menu2.js +2 -2
  497. package/dist/module/table.js +1 -1
  498. package/dist/module/terminal-orders-list-core2.js +6 -7
  499. package/dist/module/terminal-quantity-selector2.js +3 -3
  500. package/dist/module/terminal.service.js +1 -0
  501. package/dist/module/terminals-list-core2.js +5 -6
  502. package/dist/module/utils2.js +1661 -4
  503. package/dist/types/api/ApplePay.d.ts +195 -0
  504. package/dist/types/api/services/apple-pay.service.d.ts +58 -0
  505. package/dist/types/components/checkout/billing-form/billing-form.d.ts +9 -3
  506. package/dist/types/components/checkout/checkout.d.ts +1 -1
  507. package/dist/types/components/checkout/new-payment-method.d.ts +31 -0
  508. package/dist/types/components/checkout/payment-method-options.d.ts +32 -0
  509. package/dist/types/components/checkout/save-new-payment-method.d.ts +1 -1
  510. package/dist/types/components/insurance/insurance-state.d.ts +1 -2
  511. package/dist/types/components/modular-checkout/modular-checkout.d.ts +8 -1
  512. package/dist/types/components/modular-checkout/sub-components/apple-pay-skeleton.d.ts +6 -0
  513. package/dist/types/components/modular-checkout/sub-components/apple-pay.d.ts +38 -0
  514. package/dist/types/components/modular-checkout/sub-components/billing-information-form.d.ts +0 -2
  515. package/dist/types/components/modular-checkout/sub-components/postal-code-form.d.ts +0 -1
  516. package/dist/types/components/tokenize-payment-method/tokenize-payment-method.d.ts +14 -41
  517. package/dist/types/components.d.ts +234 -70
  518. package/dist/types/stencil-public-runtime.d.ts +12 -5
  519. package/dist/types/store/checkout.store.d.ts +2 -2
  520. package/dist/types/ui-components/apple-pay-button.d.ts +17 -0
  521. package/dist/types/ui-components/index.d.ts +0 -1
  522. package/dist/webcomponents/p-0144c42b.entry.js +1 -0
  523. package/dist/webcomponents/{p-a1c7c873.entry.js → p-06ff03e7.entry.js} +1 -1
  524. package/dist/webcomponents/{p-39ca43e0.entry.js → p-0c37be96.entry.js} +1 -1
  525. package/dist/webcomponents/{p-880718b9.entry.js → p-0f5e61bc.entry.js} +1 -1
  526. package/dist/webcomponents/p-10e32b38.entry.js +1 -0
  527. package/dist/webcomponents/p-127406b5.entry.js +1 -0
  528. package/dist/webcomponents/p-2c6be750.entry.js +1 -0
  529. package/dist/webcomponents/p-30c432ab.entry.js +1 -0
  530. package/dist/webcomponents/{p-444fb5a6.entry.js → p-31793643.entry.js} +1 -1
  531. package/dist/webcomponents/p-35198019.entry.js +1 -0
  532. package/dist/webcomponents/{p-046fee8c.entry.js → p-367338c8.entry.js} +1 -1
  533. package/dist/webcomponents/p-39af38f6.entry.js +1 -0
  534. package/dist/webcomponents/p-453bcb9d.entry.js +1 -0
  535. package/dist/webcomponents/{p-7a8a06d6.entry.js → p-463ae23a.entry.js} +1 -1
  536. package/dist/webcomponents/p-49754c1d.entry.js +1 -0
  537. package/dist/webcomponents/p-4afa5d56.entry.js +1 -0
  538. package/dist/webcomponents/p-509d9191.entry.js +1 -0
  539. package/dist/webcomponents/p-52be4ff0.entry.js +1 -0
  540. package/dist/webcomponents/p-544c59ac.entry.js +1 -0
  541. package/dist/webcomponents/p-54cc3fc8.entry.js +1 -0
  542. package/dist/webcomponents/p-54ff0e4f.entry.js +1 -0
  543. package/dist/webcomponents/p-5aa88189.entry.js +1 -0
  544. package/dist/webcomponents/p-5c82e024.entry.js +1 -0
  545. package/dist/webcomponents/p-5cfca5e0.entry.js +1 -0
  546. package/dist/webcomponents/{p-84df9f26.entry.js → p-5e10aa65.entry.js} +1 -1
  547. package/dist/webcomponents/p-5fbc0ea6.entry.js +1 -0
  548. package/dist/webcomponents/p-6567c1ce.entry.js +1 -0
  549. package/dist/webcomponents/p-689562b1.entry.js +1 -0
  550. package/dist/webcomponents/p-69910853.entry.js +1 -0
  551. package/dist/webcomponents/p-6d8355f0.entry.js +1 -0
  552. package/dist/webcomponents/p-6da19fde.entry.js +1 -0
  553. package/dist/webcomponents/p-6e40a80f.entry.js +1 -0
  554. package/dist/webcomponents/p-6f94530d.entry.js +1 -0
  555. package/dist/webcomponents/p-70beb132.entry.js +1 -0
  556. package/dist/webcomponents/p-79454e79.entry.js +1 -0
  557. package/dist/webcomponents/p-79684a85.entry.js +1 -0
  558. package/dist/webcomponents/{p-BH0Xfn-F.js → p-7MWRbTXI.js} +1 -1
  559. package/dist/webcomponents/p-7WIgS5RM.js +1 -0
  560. package/dist/webcomponents/p-7b5d48f7.entry.js +1 -0
  561. package/dist/webcomponents/p-7b5e899e.entry.js +1 -0
  562. package/dist/webcomponents/p-7d59de81.entry.js +1 -0
  563. package/dist/webcomponents/p-7f348de2.entry.js +1 -0
  564. package/dist/webcomponents/p-7f4305a2.entry.js +1 -0
  565. package/dist/webcomponents/{p-351ffd2a.entry.js → p-904acc70.entry.js} +1 -1
  566. package/dist/webcomponents/{p-45b0a91c.entry.js → p-92529be9.entry.js} +1 -1
  567. package/dist/webcomponents/p-9b6c1b33.entry.js +1 -0
  568. package/dist/webcomponents/p-9f3cf5a3.entry.js +1 -0
  569. package/dist/webcomponents/p-9y5MOK55.js +1 -0
  570. package/dist/webcomponents/{p-55iuf7iW.js → p-B2csvKrZ.js} +1 -1
  571. package/dist/webcomponents/p-B7jE0g5_.js +1 -0
  572. package/dist/webcomponents/p-B8tUOqiv.js +1 -0
  573. package/dist/webcomponents/p-B9GgcQ-7.js +1 -0
  574. package/dist/webcomponents/p-BDUTtU21.js +1 -0
  575. package/dist/webcomponents/{p-BfEOvp9h.js → p-BFL-wXPM.js} +1 -1
  576. package/dist/webcomponents/p-BLtzn9pE.js +1 -0
  577. package/dist/webcomponents/p-BO4xqc4w.js +1 -0
  578. package/dist/webcomponents/{p-DpUqxsf5.js → p-BRtwZAeZ.js} +1 -1
  579. package/dist/webcomponents/p-BVD7g3cE.js +1 -0
  580. package/dist/webcomponents/p-BYakc1Om.js +1 -0
  581. package/dist/webcomponents/p-Bou1Z4Bm.js +1 -0
  582. package/dist/webcomponents/p-Bt388eye.js +1 -0
  583. package/dist/webcomponents/{p-CDIPkflV.js → p-BvyiDejp.js} +1 -1
  584. package/dist/webcomponents/p-Bz8JT676.js +1 -0
  585. package/dist/webcomponents/p-C0EFqY0W.js +1 -0
  586. package/dist/webcomponents/{p-AbSg_vYv.js → p-C8ll3Wwp.js} +1 -1
  587. package/dist/webcomponents/p-CBWeXiqe.js +1 -0
  588. package/dist/webcomponents/{p-D0I-tRSs.js → p-CEYGUVns.js} +1 -1
  589. package/dist/webcomponents/p-CLjv4frq.js +1 -0
  590. package/dist/webcomponents/p-CR9D6mKt.js +1 -0
  591. package/dist/webcomponents/{p-o5iASgog.js → p-CRFzwZW6.js} +1 -1
  592. package/dist/webcomponents/p-CVQyw7ao.js +1 -0
  593. package/dist/webcomponents/{p-JOSiCHl7.js → p-CYBR4K2p.js} +1 -1
  594. package/dist/webcomponents/p-Cc27pPPQ.js +1 -0
  595. package/dist/webcomponents/p-Cm_ywVHL.js +1 -0
  596. package/dist/webcomponents/{p-CKg_luIy.js → p-D3G5aVLy.js} +1 -1
  597. package/dist/webcomponents/p-D522G7Ja.js +1 -0
  598. package/dist/webcomponents/p-DCDU6JB3.js +1 -0
  599. package/dist/webcomponents/p-DQuL1Twl.js +1 -0
  600. package/dist/webcomponents/{p-d6tXI5Iw.js → p-DSP8qjHL.js} +1 -1
  601. package/dist/webcomponents/p-DSekXpCa.js +1 -0
  602. package/dist/webcomponents/p-DSfL8jLw.js +1 -0
  603. package/dist/webcomponents/p-DVPcHdzq.js +1 -0
  604. package/dist/webcomponents/{p-Ce8QXyUM.js → p-DX_mixvZ.js} +1 -1
  605. package/dist/webcomponents/p-DaDsBt65.js +1 -0
  606. package/dist/webcomponents/p-DiWKhLRS.js +1 -0
  607. package/dist/webcomponents/{p-DPnS0F0Y.js → p-Dj1uo4J3.js} +1 -1
  608. package/dist/webcomponents/p-DtsIovbb.js +1 -0
  609. package/dist/webcomponents/p-Dv7YEshZ.js +1 -0
  610. package/dist/webcomponents/p-FdjD8N0u.js +1 -0
  611. package/dist/webcomponents/p-ObR0KZw0.js +1 -0
  612. package/dist/webcomponents/p-PgEzcvI6.js +1 -0
  613. package/dist/webcomponents/p-Sz-UKsNL.js +1 -0
  614. package/dist/webcomponents/{p-1b7b7210.entry.js → p-a2b597ef.entry.js} +1 -1
  615. package/dist/webcomponents/p-a4cb4c39.entry.js +1 -0
  616. package/dist/webcomponents/p-a6fdf5b8.entry.js +1 -0
  617. package/dist/webcomponents/p-b06b1886.entry.js +1 -0
  618. package/dist/webcomponents/p-b0714111.entry.js +1 -0
  619. package/dist/webcomponents/p-b2098935.entry.js +1 -0
  620. package/dist/webcomponents/p-b56d75d5.entry.js +1 -0
  621. package/dist/webcomponents/p-b5ed41c0.entry.js +1 -0
  622. package/dist/webcomponents/p-baaef16c.entry.js +1 -0
  623. package/dist/webcomponents/{p-429618a4.entry.js → p-bec23c19.entry.js} +1 -1
  624. package/dist/webcomponents/{p-e2ee826e.entry.js → p-c663b439.entry.js} +1 -1
  625. package/dist/webcomponents/p-c9d5625c.entry.js +1 -0
  626. package/dist/webcomponents/p-cd6c6c2b.entry.js +1 -0
  627. package/dist/webcomponents/p-cf115375.entry.js +1 -0
  628. package/dist/webcomponents/p-d175799a.entry.js +1 -0
  629. package/dist/webcomponents/p-d5571d18.entry.js +1 -0
  630. package/dist/webcomponents/p-d5f70eb0.entry.js +1 -0
  631. package/dist/webcomponents/p-da5a9a72.entry.js +1 -0
  632. package/dist/webcomponents/p-e105f664.entry.js +1 -0
  633. package/dist/webcomponents/p-e5c94a1f.entry.js +1 -0
  634. package/dist/webcomponents/{p-85ebdce5.entry.js → p-e86c876e.entry.js} +1 -1
  635. package/dist/webcomponents/{p-d5e4e888.entry.js → p-ee2afa41.entry.js} +4 -4
  636. package/dist/webcomponents/p-ef472343.entry.js +1 -0
  637. package/dist/webcomponents/p-f35e96ce.entry.js +1 -0
  638. package/dist/webcomponents/p-f3f4bbef.entry.js +1 -0
  639. package/dist/webcomponents/p-f6ca1443.entry.js +1 -0
  640. package/dist/webcomponents/{p-1b1fe3de.entry.js → p-fe001786.entry.js} +1 -1
  641. package/dist/webcomponents/p-fffd5bc7.entry.js +1 -0
  642. package/dist/webcomponents/p-kpoIU4v_.js +2 -0
  643. package/dist/webcomponents/p-pska2q1M.js +1 -0
  644. package/dist/webcomponents/p-vHbP4g3Q.js +1 -0
  645. package/dist/webcomponents/webcomponents.esm.js +1 -1
  646. package/package.json +1 -1
  647. package/dist/cjs/dinero-J-SRFKIR.js +0 -1673
  648. package/dist/cjs/header-2-BXQLJn1q.js +0 -10
  649. package/dist/cjs/insurance-state-B3CYpJWi.js +0 -45
  650. package/dist/cjs/justifi-billing-form_2.cjs.entry.js +0 -52
  651. package/dist/cjs/terminals-list-params-state-DZUKBmLC.js +0 -22
  652. package/dist/collection/ui-components/shadow-dom-components/justifi-radio-list-item.js +0 -155
  653. package/dist/esm/dinero-DizZAUMY.js +0 -1671
  654. package/dist/esm/header-2-C4ZCdZwi.js +0 -8
  655. package/dist/esm/insurance-state-BQks6cMA.js +0 -39
  656. package/dist/esm/justifi-billing-form_2.entry.js +0 -49
  657. package/dist/esm/terminals-list-params-state-DFWVMJRJ.js +0 -16
  658. package/dist/module/dinero.js +0 -1671
  659. package/dist/module/justifi-radio-list-item.d.ts +0 -11
  660. package/dist/module/justifi-radio-list-item.js +0 -6
  661. package/dist/module/justifi-radio-list-item2.js +0 -55
  662. package/dist/types/ui-components/shadow-dom-components/justifi-radio-list-item.d.ts +0 -12
  663. package/dist/webcomponents/p-00c2f5d5.entry.js +0 -1
  664. package/dist/webcomponents/p-0a0ed7a4.entry.js +0 -1
  665. package/dist/webcomponents/p-0cb64945.entry.js +0 -1
  666. package/dist/webcomponents/p-0e44afa7.entry.js +0 -1
  667. package/dist/webcomponents/p-0e6797c4.entry.js +0 -1
  668. package/dist/webcomponents/p-0fc026aa.entry.js +0 -1
  669. package/dist/webcomponents/p-16583f91.entry.js +0 -1
  670. package/dist/webcomponents/p-195cf5cc.entry.js +0 -1
  671. package/dist/webcomponents/p-1c7d9b90.entry.js +0 -1
  672. package/dist/webcomponents/p-1ce1df1e.entry.js +0 -1
  673. package/dist/webcomponents/p-24e1a686.entry.js +0 -1
  674. package/dist/webcomponents/p-2a5ac7c9.entry.js +0 -1
  675. package/dist/webcomponents/p-2abf1785.entry.js +0 -1
  676. package/dist/webcomponents/p-2dcf196f.entry.js +0 -1
  677. package/dist/webcomponents/p-302f7632.entry.js +0 -1
  678. package/dist/webcomponents/p-3eb5f196.entry.js +0 -1
  679. package/dist/webcomponents/p-4045631f.entry.js +0 -1
  680. package/dist/webcomponents/p-4907e95b.entry.js +0 -1
  681. package/dist/webcomponents/p-4a0a4314.entry.js +0 -1
  682. package/dist/webcomponents/p-4aaaa44e.entry.js +0 -1
  683. package/dist/webcomponents/p-4b34b9af.entry.js +0 -1
  684. package/dist/webcomponents/p-5e71f4d4.entry.js +0 -1
  685. package/dist/webcomponents/p-6a06da8a.entry.js +0 -1
  686. package/dist/webcomponents/p-6bafb4b5.entry.js +0 -1
  687. package/dist/webcomponents/p-6d1f2d57.entry.js +0 -1
  688. package/dist/webcomponents/p-6f397c80.entry.js +0 -1
  689. package/dist/webcomponents/p-75545aec.entry.js +0 -1
  690. package/dist/webcomponents/p-7b07255f.entry.js +0 -1
  691. package/dist/webcomponents/p-7b925204.entry.js +0 -1
  692. package/dist/webcomponents/p-831857dc.entry.js +0 -1
  693. package/dist/webcomponents/p-85c0953d.entry.js +0 -1
  694. package/dist/webcomponents/p-86b166eb.entry.js +0 -1
  695. package/dist/webcomponents/p-88b6dbdd.entry.js +0 -1
  696. package/dist/webcomponents/p-8e0c6f60.entry.js +0 -1
  697. package/dist/webcomponents/p-90edbaa3.entry.js +0 -1
  698. package/dist/webcomponents/p-97c0d873.entry.js +0 -1
  699. package/dist/webcomponents/p-9e48a264.entry.js +0 -1
  700. package/dist/webcomponents/p-B2uBb14Y.js +0 -1
  701. package/dist/webcomponents/p-B3qJZUMy.js +0 -1
  702. package/dist/webcomponents/p-BF51n3KG.js +0 -1
  703. package/dist/webcomponents/p-BNd9xVOU.js +0 -1
  704. package/dist/webcomponents/p-BQLEjYfZ.js +0 -1
  705. package/dist/webcomponents/p-BZ9YQ3FA.js +0 -1
  706. package/dist/webcomponents/p-BdTK0wi9.js +0 -1
  707. package/dist/webcomponents/p-Bka75aL-.js +0 -1
  708. package/dist/webcomponents/p-C3e-DgwK.js +0 -1
  709. package/dist/webcomponents/p-CKRDBISo.js +0 -1
  710. package/dist/webcomponents/p-CXLazxt0.js +0 -1
  711. package/dist/webcomponents/p-CfBKn_Vl.js +0 -1
  712. package/dist/webcomponents/p-ChzWF0s3.js +0 -1
  713. package/dist/webcomponents/p-CjAMuB2J.js +0 -1
  714. package/dist/webcomponents/p-Cjf9yu8r.js +0 -1
  715. package/dist/webcomponents/p-Cwt_9Jzb.js +0 -1
  716. package/dist/webcomponents/p-DC63XVwu.js +0 -1
  717. package/dist/webcomponents/p-DMuY7Dka.js +0 -1
  718. package/dist/webcomponents/p-DPfZxsq9.js +0 -1
  719. package/dist/webcomponents/p-DR0bMp9p.js +0 -1
  720. package/dist/webcomponents/p-DVnVdicA.js +0 -1
  721. package/dist/webcomponents/p-Dcbfnfn2.js +0 -1
  722. package/dist/webcomponents/p-DgxD9dbc.js +0 -1
  723. package/dist/webcomponents/p-DniBAXrh.js +0 -1
  724. package/dist/webcomponents/p-Do0fsKZk.js +0 -1
  725. package/dist/webcomponents/p-DxEnw2tJ.js +0 -1
  726. package/dist/webcomponents/p-EAEmpCru.js +0 -1
  727. package/dist/webcomponents/p-HlNEzyiZ.js +0 -1
  728. package/dist/webcomponents/p-N3w5zrz2.js +0 -2
  729. package/dist/webcomponents/p-O50LiN_p.js +0 -1
  730. package/dist/webcomponents/p-S_UV9-px.js +0 -1
  731. package/dist/webcomponents/p-X2PeOHf5.js +0 -1
  732. package/dist/webcomponents/p-_WsRuUBr.js +0 -1
  733. package/dist/webcomponents/p-a3c6c55e.entry.js +0 -1
  734. package/dist/webcomponents/p-af935779.entry.js +0 -1
  735. package/dist/webcomponents/p-b01801a6.entry.js +0 -1
  736. package/dist/webcomponents/p-b47000f7.entry.js +0 -1
  737. package/dist/webcomponents/p-b58fb1b1.entry.js +0 -1
  738. package/dist/webcomponents/p-b8906c49.entry.js +0 -1
  739. package/dist/webcomponents/p-c1bf875b.entry.js +0 -1
  740. package/dist/webcomponents/p-c26ef276.entry.js +0 -1
  741. package/dist/webcomponents/p-c5331724.entry.js +0 -1
  742. package/dist/webcomponents/p-c6bd05ef.entry.js +0 -1
  743. package/dist/webcomponents/p-e9c44dc2.entry.js +0 -1
  744. package/dist/webcomponents/p-edf9128c.entry.js +0 -1
  745. package/dist/webcomponents/p-f3c2de89.entry.js +0 -1
  746. package/dist/webcomponents/p-f6ff7255.entry.js +0 -1
  747. package/dist/webcomponents/p-f8a0821d.entry.js +0 -1
  748. package/dist/webcomponents/p-fcb6c171.entry.js +0 -1
  749. package/dist/webcomponents/p-fd4d7c7e.entry.js +0 -1
  750. package/dist/webcomponents/p-pMAKJWDL.js +0 -1
  751. package/dist/webcomponents/p-rPeW3G6n.js +0 -1
  752. package/dist/webcomponents/p-w128-0Mj.js +0 -1
@@ -0,0 +1,876 @@
1
+ import { h, proxyCustomElement, HTMLElement, createEvent } from '@stencil/core/internal/client';
2
+ import { S as StyledHost } from './styled-host.js';
3
+ import './details.js';
4
+ import './event-types.js';
5
+ import { S as Skeleton } from './skeleton.js';
6
+ import { c as checkoutStore, o as onChange } from './checkout.store.js';
7
+
8
+ var ApplePaySessionStatus;
9
+ (function (ApplePaySessionStatus) {
10
+ ApplePaySessionStatus["STATUS_SUCCESS"] = "STATUS_SUCCESS";
11
+ ApplePaySessionStatus["STATUS_FAILURE"] = "STATUS_FAILURE";
12
+ })(ApplePaySessionStatus || (ApplePaySessionStatus = {}));
13
+ var ApplePayButtonType;
14
+ (function (ApplePayButtonType) {
15
+ ApplePayButtonType["PLAIN"] = "plain";
16
+ ApplePayButtonType["BUY"] = "buy";
17
+ ApplePayButtonType["SET_UP"] = "set-up";
18
+ ApplePayButtonType["DONATE"] = "donate";
19
+ ApplePayButtonType["CHECK_OUT"] = "check-out";
20
+ ApplePayButtonType["BOOK"] = "book";
21
+ ApplePayButtonType["SUBSCRIBE"] = "subscribe";
22
+ })(ApplePayButtonType || (ApplePayButtonType = {}));
23
+ var ApplePayButtonStyle;
24
+ (function (ApplePayButtonStyle) {
25
+ ApplePayButtonStyle["BLACK"] = "black";
26
+ ApplePayButtonStyle["WHITE"] = "white";
27
+ ApplePayButtonStyle["WHITE_OUTLINE"] = "white-outline";
28
+ })(ApplePayButtonStyle || (ApplePayButtonStyle = {}));
29
+ var ApplePayMerchantCapability;
30
+ (function (ApplePayMerchantCapability) {
31
+ ApplePayMerchantCapability["SUPPORTS_3DS"] = "supports3DS";
32
+ ApplePayMerchantCapability["SUPPORTS_EMV"] = "supportsEMV";
33
+ ApplePayMerchantCapability["SUPPORTS_CREDIT"] = "supportsCredit";
34
+ ApplePayMerchantCapability["SUPPORTS_DEBIT"] = "supportsDebit";
35
+ })(ApplePayMerchantCapability || (ApplePayMerchantCapability = {}));
36
+ class ApplePayConfig {
37
+ constructor(data) {
38
+ this.merchantIdentifier = data.merchantIdentifier;
39
+ this.displayName = data.displayName;
40
+ this.initiative = data.initiative;
41
+ this.initiativeContext = data.initiativeContext;
42
+ this.buttonType = data.buttonType || ApplePayButtonType.PLAIN;
43
+ this.buttonStyle = data.buttonStyle || ApplePayButtonStyle.BLACK;
44
+ this.buttonLocale = data.buttonLocale || 'en-US';
45
+ }
46
+ get isValid() {
47
+ return !!(this.merchantIdentifier &&
48
+ this.displayName &&
49
+ this.initiative &&
50
+ this.initiativeContext);
51
+ }
52
+ }
53
+ class ApplePayPaymentRequest {
54
+ constructor(data) {
55
+ this.countryCode = data.countryCode;
56
+ this.currencyCode = data.currencyCode;
57
+ this.merchantCapabilities = data.merchantCapabilities;
58
+ this.supportedNetworks = data.supportedNetworks;
59
+ this.total = data.total;
60
+ this.lineItems = data.lineItems;
61
+ this.shippingMethods = data.shippingMethods;
62
+ this.applicationData = data.applicationData;
63
+ this.supportedCountries = data.supportedCountries;
64
+ }
65
+ get isValid() {
66
+ var _a, _b, _c, _d;
67
+ return !!(this.countryCode &&
68
+ this.currencyCode &&
69
+ ((_a = this.merchantCapabilities) === null || _a === void 0 ? void 0 : _a.length) &&
70
+ ((_b = this.supportedNetworks) === null || _b === void 0 ? void 0 : _b.length) &&
71
+ ((_c = this.total) === null || _c === void 0 ? void 0 : _c.label) &&
72
+ ((_d = this.total) === null || _d === void 0 ? void 0 : _d.amount));
73
+ }
74
+ }
75
+ class ApplePayHelpers {
76
+ static isApplePaySupported() {
77
+ var _a;
78
+ return typeof window !== 'undefined' &&
79
+ 'ApplePaySession' in window &&
80
+ ((_a = window.ApplePaySession) === null || _a === void 0 ? void 0 : _a.supportsVersion(3));
81
+ }
82
+ static canMakePayments() {
83
+ var _a;
84
+ if (!this.isApplePaySupported()) {
85
+ return false;
86
+ }
87
+ return ((_a = window.ApplePaySession) === null || _a === void 0 ? void 0 : _a.canMakePayments()) || false;
88
+ }
89
+ static async canMakePaymentsWithActiveCard(merchantIdentifier) {
90
+ var _a;
91
+ if (!this.isApplePaySupported()) {
92
+ return false;
93
+ }
94
+ try {
95
+ return await ((_a = window.ApplePaySession) === null || _a === void 0 ? void 0 : _a.canMakePaymentsWithActiveCard(merchantIdentifier)) || false;
96
+ }
97
+ catch (error) {
98
+ console.error('Error checking Apple Pay active card:', error);
99
+ return false;
100
+ }
101
+ }
102
+ static formatAmount(amount) {
103
+ return (amount / 100).toFixed(2);
104
+ }
105
+ static parseAmount(amount) {
106
+ return Math.round(parseFloat(amount) * 100);
107
+ }
108
+ static createLineItem(label, amount, type = 'final') {
109
+ return {
110
+ label,
111
+ amount: this.formatAmount(amount),
112
+ type
113
+ };
114
+ }
115
+ static getDefaultSupportedNetworks() {
116
+ return [
117
+ 'amex',
118
+ 'discover',
119
+ 'masterCard',
120
+ 'visa'
121
+ ];
122
+ }
123
+ static getDefaultMerchantCapabilities() {
124
+ return [
125
+ ApplePayMerchantCapability.SUPPORTS_3DS,
126
+ ApplePayMerchantCapability.SUPPORTS_EMV,
127
+ ApplePayMerchantCapability.SUPPORTS_CREDIT,
128
+ ApplePayMerchantCapability.SUPPORTS_DEBIT
129
+ ];
130
+ }
131
+ }
132
+
133
+ const isValidMerchantSession = (merchantSession) => {
134
+ const requiredFields = [
135
+ 'merchantSessionIdentifier',
136
+ 'nonce',
137
+ 'merchantIdentifier',
138
+ 'epochTimestamp',
139
+ 'expiresAt',
140
+ ];
141
+ const missingFields = requiredFields.filter((field) => !merchantSession[field]);
142
+ if (missingFields.length > 0) {
143
+ console.error('Missing required fields in merchant session:', missingFields);
144
+ console.error('Available fields:', Object.keys(merchantSession));
145
+ return false;
146
+ }
147
+ const now = Date.now();
148
+ if (merchantSession.expiresAt && merchantSession.expiresAt < now) {
149
+ console.error('Merchant session is expired:', {
150
+ expiresAt: merchantSession.expiresAt,
151
+ currentTime: now,
152
+ expired: merchantSession.expiresAt < now,
153
+ });
154
+ return false;
155
+ }
156
+ return true;
157
+ };
158
+ class ApplePayService {
159
+ constructor() {
160
+ this.apiBaseUrl = 'https://api.justifi-staging.com';
161
+ }
162
+ /**
163
+ * Set custom API base URL
164
+ */
165
+ setApiBaseUrl(url) {
166
+ this.apiBaseUrl = url;
167
+ }
168
+ /**
169
+ * Initialize Apple Pay configuration
170
+ */
171
+ initialize(applePayConfig) {
172
+ this.applePayConfig = new ApplePayConfig(applePayConfig);
173
+ if (!this.applePayConfig.isValid) {
174
+ throw new Error('Invalid Apple Pay configuration provided');
175
+ }
176
+ }
177
+ /**
178
+ * Validate merchant with Apple Pay servers via API (fixed to match original logic)
179
+ */
180
+ async validateMerchant(payload) {
181
+ const endpoint = `${this.apiBaseUrl}/apple_pay/merchant_session`;
182
+ const body = payload;
183
+ const response = await fetch(endpoint, {
184
+ method: 'POST',
185
+ headers: {
186
+ 'Content-Type': 'application/json',
187
+ Accept: 'application/json',
188
+ },
189
+ body: JSON.stringify(body),
190
+ });
191
+ if (!response.ok) {
192
+ const errorData = await response.text();
193
+ console.error('Backend validation failed - Raw response:', errorData);
194
+ try {
195
+ const jsonError = JSON.parse(errorData);
196
+ console.error('Backend validation failed - Parsed error:', jsonError);
197
+ }
198
+ catch (parseError) {
199
+ console.error('Could not parse error response as JSON:', parseError);
200
+ }
201
+ throw new Error(`Merchant validation failed: ${response.status}`);
202
+ }
203
+ const merchantSession = await response.json();
204
+ return merchantSession;
205
+ }
206
+ /**
207
+ * Process Apple Pay payment via API (fixed to match original logic)
208
+ */
209
+ async processPayment(payload) {
210
+ const endpoint = `${this.apiBaseUrl}/apple_pay/process_token`;
211
+ const body = payload;
212
+ const response = await fetch(endpoint, {
213
+ method: 'POST',
214
+ headers: {
215
+ 'Content-Type': 'application/json',
216
+ Accept: 'application/json',
217
+ },
218
+ body: JSON.stringify(body),
219
+ });
220
+ const result = await response.json();
221
+ return {
222
+ success: response.ok && result.status === 'success',
223
+ data: result,
224
+ };
225
+ }
226
+ /**
227
+ * Check if Apple Pay is available on this device/browser
228
+ */
229
+ isAvailable() {
230
+ return (ApplePayHelpers.isApplePaySupported() && ApplePayHelpers.canMakePayments());
231
+ }
232
+ /**
233
+ * Check if the user has an active card for the merchant
234
+ */
235
+ async canMakePaymentsWithActiveCard() {
236
+ if (!this.applePayConfig) {
237
+ throw new Error('Apple Pay not initialized. Call initialize() first.');
238
+ }
239
+ return await ApplePayHelpers.canMakePaymentsWithActiveCard(this.applePayConfig.merchantIdentifier);
240
+ }
241
+ /**
242
+ * Start Apple Pay session
243
+ */
244
+ async startPaymentSession(paymentRequest) {
245
+ if (!this.applePayConfig) {
246
+ throw new Error('Apple Pay not initialized. Call initialize() first.');
247
+ }
248
+ if (!this.isAvailable()) {
249
+ throw new Error('Apple Pay is not available on this device/browser');
250
+ }
251
+ const request = new ApplePayPaymentRequest(paymentRequest);
252
+ if (!request.isValid) {
253
+ throw new Error('Invalid payment request provided');
254
+ }
255
+ this.currentPaymentRequest = request;
256
+ return new Promise((resolve, reject) => {
257
+ try {
258
+ this.currentSession = new window.ApplePaySession(3, request);
259
+ this.setupSessionEventHandlers(resolve, reject);
260
+ this.currentSession.begin();
261
+ }
262
+ catch (error) {
263
+ reject({
264
+ success: false,
265
+ error: {
266
+ code: 'SESSION_ERROR',
267
+ message: error instanceof Error
268
+ ? error.message
269
+ : 'Failed to start Apple Pay session',
270
+ },
271
+ });
272
+ }
273
+ });
274
+ }
275
+ /**
276
+ * Abort current Apple Pay session
277
+ */
278
+ abortPaymentSession() {
279
+ if (this.currentSession) {
280
+ this.currentSession.abort();
281
+ this.currentSession = undefined;
282
+ this.currentPaymentRequest = undefined;
283
+ }
284
+ }
285
+ /**
286
+ * Setup Apple Pay session event handlers
287
+ */
288
+ setupSessionEventHandlers(resolve, reject) {
289
+ if (!this.currentSession ||
290
+ !this.applePayConfig ||
291
+ !this.currentPaymentRequest) {
292
+ return;
293
+ }
294
+ this.currentSession.onvalidatemerchant = async (event) => {
295
+ try {
296
+ const validationPayload = {
297
+ validation_url: event.validationURL,
298
+ };
299
+ const merchantSession = await this.validateMerchant(validationPayload);
300
+ if (merchantSession && isValidMerchantSession(merchantSession)) {
301
+ try {
302
+ this.currentSession.completeMerchantValidation(merchantSession);
303
+ }
304
+ catch (completionError) {
305
+ console.error('Error calling completeMerchantValidation:', completionError);
306
+ throw completionError;
307
+ }
308
+ }
309
+ else {
310
+ this.currentSession.abort();
311
+ reject({
312
+ success: false,
313
+ error: {
314
+ code: 'MERCHANT_VALIDATION_ERROR',
315
+ message: 'Merchant validation failed',
316
+ },
317
+ });
318
+ }
319
+ }
320
+ catch (error) {
321
+ console.error('=== MERCHANT VALIDATION ERROR ===');
322
+ console.error('Error during merchant validation:', error);
323
+ console.error('Error stack:', error.stack);
324
+ this.currentSession.abort();
325
+ reject({
326
+ success: false,
327
+ error: {
328
+ code: 'MERCHANT_VALIDATION_ERROR',
329
+ message: error instanceof Error
330
+ ? error.message
331
+ : 'Merchant validation failed',
332
+ },
333
+ });
334
+ }
335
+ };
336
+ this.currentSession.onpaymentauthorized = async (event) => {
337
+ try {
338
+ const payment = event.payment;
339
+ const paymentPayload = Object.assign(Object.assign({}, payment.token), { product_details: {
340
+ name: this.currentPaymentRequest.total.label,
341
+ price: ApplePayHelpers.parseAmount(this.currentPaymentRequest.total.amount),
342
+ description: this.currentPaymentRequest.total.label,
343
+ } });
344
+ const paymentResult = await this.processPayment(paymentPayload);
345
+ if (paymentResult.success) {
346
+ this.currentSession.completePayment({
347
+ status: ApplePaySessionStatus.STATUS_SUCCESS,
348
+ });
349
+ resolve({
350
+ success: true,
351
+ token: payment.token,
352
+ });
353
+ }
354
+ else {
355
+ console.error('PSP reported payment failure:', paymentResult.data);
356
+ this.currentSession.completePayment({
357
+ status: ApplePaySessionStatus.STATUS_FAILURE,
358
+ });
359
+ reject({
360
+ success: false,
361
+ error: {
362
+ code: 'PAYMENT_PROCESSING_ERROR',
363
+ message: 'Payment processing failed',
364
+ },
365
+ });
366
+ }
367
+ }
368
+ catch (error) {
369
+ console.error('=== PAYMENT PROCESSING ERROR ===');
370
+ console.error('Error processing payment:', error);
371
+ console.error('Error stack:', error.stack);
372
+ this.currentSession.completePayment({
373
+ status: ApplePaySessionStatus.STATUS_FAILURE,
374
+ });
375
+ reject({
376
+ success: false,
377
+ error: {
378
+ code: 'PAYMENT_PROCESSING_ERROR',
379
+ message: error instanceof Error
380
+ ? error.message
381
+ : 'Payment processing failed',
382
+ },
383
+ });
384
+ }
385
+ finally {
386
+ this.currentSession = undefined;
387
+ this.currentPaymentRequest = undefined;
388
+ }
389
+ };
390
+ this.currentSession.onpaymentmethodselected = () => {
391
+ const paymentUpdate = {
392
+ newTotal: this.currentPaymentRequest.total,
393
+ newLineItems: this.currentPaymentRequest.lineItems || [],
394
+ };
395
+ try {
396
+ this.currentSession.completePaymentMethodSelection(paymentUpdate);
397
+ }
398
+ catch (error) {
399
+ console.error('Error completing payment method selection:', error);
400
+ this.currentSession.abort();
401
+ }
402
+ };
403
+ this.currentSession.onshippingmethodselected = () => {
404
+ this.currentSession.completeShippingMethodSelection({
405
+ status: ApplePaySessionStatus.STATUS_SUCCESS,
406
+ newTotal: this.currentPaymentRequest.total,
407
+ newLineItems: this.currentPaymentRequest.lineItems || [],
408
+ });
409
+ };
410
+ this.currentSession.oncancel = (event) => {
411
+ if (event.sessionError) {
412
+ switch (event.sessionError.code) {
413
+ case 'unknown':
414
+ console.error('Unknown error - likely merchant validation issue');
415
+ console.error('This usually means:');
416
+ console.error('1. Merchant certificate is invalid or expired');
417
+ console.error('2. Merchant identifier mismatch');
418
+ console.error('3. Backend validation endpoint issues');
419
+ break;
420
+ case 'invalidMerchantSession':
421
+ console.error('Invalid merchant session provided');
422
+ console.error('Check that the merchant session from backend is valid');
423
+ break;
424
+ case 'userCancel':
425
+ console.error('User cancelled the payment');
426
+ break;
427
+ default:
428
+ console.error('Other error code:', event.sessionError.code);
429
+ }
430
+ }
431
+ this.currentSession = undefined;
432
+ this.currentPaymentRequest = undefined;
433
+ reject({
434
+ success: false,
435
+ error: {
436
+ code: 'USER_CANCELLED',
437
+ message: 'User cancelled the Apple Pay session',
438
+ },
439
+ });
440
+ };
441
+ if ('onerror' in this.currentSession) {
442
+ this.currentSession.onerror = (error) => {
443
+ console.error('=== APPLE PAY SESSION ERROR ===');
444
+ console.error('Session error:', error);
445
+ this.currentSession = undefined;
446
+ this.currentPaymentRequest = undefined;
447
+ reject({
448
+ success: false,
449
+ error: {
450
+ code: 'SESSION_ERROR',
451
+ message: 'Apple Pay session error occurred',
452
+ },
453
+ });
454
+ };
455
+ }
456
+ }
457
+ /**
458
+ * Create a basic payment request
459
+ */
460
+ static createPaymentRequest(amount, label, countryCode = 'US', currencyCode = 'USD') {
461
+ return {
462
+ countryCode,
463
+ currencyCode,
464
+ merchantCapabilities: ApplePayHelpers.getDefaultMerchantCapabilities(),
465
+ supportedNetworks: ApplePayHelpers.getDefaultSupportedNetworks(),
466
+ total: ApplePayHelpers.createLineItem(label, amount),
467
+ };
468
+ }
469
+ /**
470
+ * Get current configuration
471
+ */
472
+ getApplePayConfig() {
473
+ return this.applePayConfig;
474
+ }
475
+ }
476
+
477
+ const ApplePaySkeleton = (props) => {
478
+ const { isReady } = props;
479
+ if (isReady) {
480
+ return null;
481
+ }
482
+ return (h("div", { class: 'container-fluid p-0' },
483
+ h("div", { class: 'row mb-3' },
484
+ h("div", { class: 'col-12 align-content-center' },
485
+ h(Skeleton, { height: '44px', width: '100%', styles: { borderRadius: "8px" } })))));
486
+ };
487
+
488
+ const ProcessingSpinner = () => (h("div", { class: 'processing-overlay' },
489
+ h("div", { class: 'spinner' }),
490
+ h("span", null, "Processing...")));
491
+ const ApplePayButton = (props) => {
492
+ const getApplePayButtonClass = () => {
493
+ let classes = "apple-pay-button";
494
+ switch (props.buttonStyle) {
495
+ case ApplePayButtonStyle.WHITE:
496
+ classes += " apple-pay-button-white";
497
+ break;
498
+ case ApplePayButtonStyle.WHITE_OUTLINE:
499
+ classes += " apple-pay-button-white-outline";
500
+ break;
501
+ case ApplePayButtonStyle.BLACK:
502
+ default:
503
+ classes += " apple-pay-button-black";
504
+ break;
505
+ }
506
+ switch (props.buttonType) {
507
+ case ApplePayButtonType.BUY:
508
+ classes += " apple-pay-button-type-buy";
509
+ break;
510
+ case ApplePayButtonType.DONATE:
511
+ classes += " apple-pay-button-type-donate";
512
+ break;
513
+ case ApplePayButtonType.PLAIN:
514
+ default:
515
+ classes += " apple-pay-button-type-plain";
516
+ break;
517
+ }
518
+ if (props.disabled || props.isProcessing || !props.isAvailable) {
519
+ classes += " disabled";
520
+ }
521
+ return classes;
522
+ };
523
+ const getButtonStyles = () => {
524
+ return {
525
+ width: props.width || "200px",
526
+ height: props.height || "48px",
527
+ };
528
+ };
529
+ const handleClick = () => {
530
+ if (!props.disabled &&
531
+ !props.isProcessing &&
532
+ props.isAvailable &&
533
+ props.clickHandler) {
534
+ props.clickHandler();
535
+ }
536
+ };
537
+ return (h("div", { class: 'apple-pay-button-container' },
538
+ h("button", Object.assign({ class: getApplePayButtonClass(), style: getButtonStyles(), onClick: handleClick, disabled: props.disabled || props.isProcessing || !props.isAvailable, "aria-label": 'Pay with Apple Pay', type: 'button' }, props), props.isProcessing && ProcessingSpinner()),
539
+ h("style", null, `
540
+ .apple-pay-button-container {
541
+ display: inline-block;
542
+ position: relative;
543
+ }
544
+
545
+ /* Apple Pay CSS classes - these are the official Apple Pay button styles */
546
+ .apple-pay-button {
547
+ display: inline-block;
548
+ -webkit-appearance: -apple-pay-button;
549
+ -apple-pay-button-type: plain; /* default */
550
+ -apple-pay-button-style: black; /* default */
551
+ border-radius: 8px;
552
+ cursor: pointer;
553
+ border: none;
554
+ outline: none;
555
+ transition: opacity 0.2s ease;
556
+ position: relative;
557
+ }
558
+
559
+ /* Button styles */
560
+ .apple-pay-button.apple-pay-button-black {
561
+ -apple-pay-button-style: black;
562
+ }
563
+
564
+ .apple-pay-button.apple-pay-button-white {
565
+ -apple-pay-button-style: white;
566
+ }
567
+
568
+ .apple-pay-button.apple-pay-button-white-outline {
569
+ -apple-pay-button-style: white-outline;
570
+ }
571
+
572
+ /* Button types */
573
+ .apple-pay-button.apple-pay-button-type-plain {
574
+ -apple-pay-button-type: plain;
575
+ }
576
+
577
+ .apple-pay-button.apple-pay-button-type-buy {
578
+ -apple-pay-button-type: buy;
579
+ }
580
+
581
+ .apple-pay-button.apple-pay-button-type-donate {
582
+ -apple-pay-button-type: donate;
583
+ }
584
+
585
+ /* Hover and disabled states */
586
+ .apple-pay-button:hover:not(.disabled) {
587
+ opacity: 0.9;
588
+ }
589
+
590
+ .apple-pay-button.disabled {
591
+ opacity: 0.5;
592
+ cursor: not-allowed;
593
+ }
594
+
595
+ /* Processing overlay */
596
+ .processing-overlay {
597
+ position: absolute;
598
+ top: 0;
599
+ left: 0;
600
+ right: 0;
601
+ bottom: 0;
602
+ display: flex;
603
+ align-items: center;
604
+ justify-content: center;
605
+ gap: 8px;
606
+ background: rgba(0, 0, 0, 0.8);
607
+ color: white;
608
+ border-radius: 8px;
609
+ font-size: 14px;
610
+ font-weight: 500;
611
+ }
612
+
613
+ .spinner {
614
+ width: 16px;
615
+ height: 16px;
616
+ border: 2px solid rgba(255, 255, 255, 0.3);
617
+ border-top: 2px solid #fff;
618
+ border-radius: 50%;
619
+ animation: spin 1s linear infinite;
620
+ }
621
+
622
+ @keyframes spin {
623
+ 0% { transform: rotate(0deg); }
624
+ 100% { transform: rotate(360deg); }
625
+ }
626
+
627
+ /* Responsive design */
628
+ @media (max-width: 480px) {
629
+ .apple-pay-button {
630
+ width: 100% !important;
631
+ min-width: 200px;
632
+ }
633
+ }
634
+ `)));
635
+ };
636
+
637
+ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLElement {
638
+ constructor() {
639
+ super();
640
+ this.__registerHost();
641
+ this.__attachShadow();
642
+ this.applePayStarted = createEvent(this, "applePayStarted", 7);
643
+ this.applePayCompleted = createEvent(this, "applePayCompleted", 7);
644
+ this.applePayCancelled = createEvent(this, "applePayCancelled", 7);
645
+ this.applePayError = createEvent(this, "applePayError", 7);
646
+ this.countryCode = "US";
647
+ this.merchantIdentifier = "merchant.com.justifi.checkout";
648
+ this.merchantDisplayName = "JustiFi Checkout";
649
+ this.initiativeContext = "checkout.justifi.tech";
650
+ this.apiBaseUrl = "https://api.justifi-staging.com";
651
+ this.buttonType = ApplePayButtonType.PLAIN;
652
+ this.buttonStyle = ApplePayButtonStyle.BLACK;
653
+ this.disabled = false;
654
+ this.showSkeleton = true;
655
+ this.isLoading = true;
656
+ this.isProcessing = false;
657
+ this.isAvailable = false;
658
+ this.canMakePayments = false;
659
+ this.error = null;
660
+ this.handleApplePayClick = async () => {
661
+ var _a;
662
+ if (this.isProcessing || this.disabled || !this.isAvailable) {
663
+ return;
664
+ }
665
+ try {
666
+ this.isProcessing = true;
667
+ this.error = null;
668
+ this.applePayStarted.emit();
669
+ const paymentRequest = {
670
+ countryCode: this.countryCode,
671
+ currencyCode: checkoutStore.paymentCurrency,
672
+ merchantCapabilities: ApplePayHelpers.getDefaultMerchantCapabilities(),
673
+ supportedNetworks: ApplePayHelpers.getDefaultSupportedNetworks(),
674
+ total: ApplePayHelpers.createLineItem(checkoutStore.paymentDescription, checkoutStore.paymentAmount),
675
+ };
676
+ const result = await this.applePayService.startPaymentSession(paymentRequest);
677
+ if (result.success) {
678
+ this.applePayCompleted.emit({
679
+ success: true,
680
+ token: result.token,
681
+ });
682
+ }
683
+ else {
684
+ this.applePayCompleted.emit({
685
+ success: false,
686
+ error: result.error,
687
+ });
688
+ this.applePayError.emit({
689
+ error: ((_a = result.error) === null || _a === void 0 ? void 0 : _a.message) || "Payment failed",
690
+ });
691
+ }
692
+ }
693
+ catch (error) {
694
+ console.error("Apple Pay payment error:", error);
695
+ const errorMessage = error instanceof Error ? error.message : "Payment failed";
696
+ this.error = errorMessage;
697
+ this.applePayError.emit({ error: errorMessage });
698
+ this.applePayCompleted.emit({
699
+ success: false,
700
+ error: errorMessage,
701
+ });
702
+ }
703
+ finally {
704
+ this.isProcessing = false;
705
+ }
706
+ };
707
+ }
708
+ componentWillLoad() {
709
+ this.applePayService = new ApplePayService();
710
+ this.applePayService.setApiBaseUrl(this.apiBaseUrl);
711
+ this.initializeApplePay();
712
+ }
713
+ componentDidLoad() {
714
+ onChange('paymentAmount', () => {
715
+ this.initializeApplePay();
716
+ });
717
+ }
718
+ watchPropsChange() {
719
+ if (this.applePayService) {
720
+ this.applePayService.setApiBaseUrl(this.apiBaseUrl);
721
+ }
722
+ this.initializeApplePay();
723
+ }
724
+ async initializeApplePay() {
725
+ try {
726
+ this.isLoading = true;
727
+ this.error = null;
728
+ if (!checkoutStore.paymentAmount) {
729
+ this.error = "Missing required Apple Pay configuration";
730
+ this.isLoading = false;
731
+ return;
732
+ }
733
+ this.isAvailable = ApplePayHelpers.isApplePaySupported();
734
+ this.canMakePayments = ApplePayHelpers.canMakePayments();
735
+ if (!this.isAvailable) {
736
+ this.error = "Apple Pay is not supported on this device";
737
+ this.isLoading = false;
738
+ return;
739
+ }
740
+ if (!this.canMakePayments) {
741
+ this.error = "Apple Pay is not available";
742
+ this.isLoading = false;
743
+ return;
744
+ }
745
+ const applePayConfig = {
746
+ merchantIdentifier: this.merchantIdentifier,
747
+ displayName: this.merchantDisplayName,
748
+ initiative: "web",
749
+ initiativeContext: this.initiativeContext,
750
+ buttonType: this.buttonType,
751
+ buttonStyle: this.buttonStyle,
752
+ };
753
+ this.applePayService.initialize(applePayConfig);
754
+ const hasActiveCard = await this.applePayService.canMakePaymentsWithActiveCard();
755
+ if (!hasActiveCard) {
756
+ console.warn("No Apple Pay cards available, but continuing...");
757
+ }
758
+ }
759
+ catch (error) {
760
+ console.error("Apple Pay initialization error:", error);
761
+ this.error =
762
+ error instanceof Error
763
+ ? error.message
764
+ : "Failed to initialize Apple Pay";
765
+ }
766
+ finally {
767
+ this.isLoading = false;
768
+ }
769
+ }
770
+ async isSupported() {
771
+ return this.isAvailable && this.canMakePayments;
772
+ }
773
+ async getPaymentMethods() {
774
+ if (!this.isAvailable) {
775
+ return [];
776
+ }
777
+ return ApplePayHelpers.getDefaultSupportedNetworks();
778
+ }
779
+ async abort() {
780
+ this.applePayService.abortPaymentSession();
781
+ this.isProcessing = false;
782
+ this.applePayCancelled.emit();
783
+ }
784
+ render() {
785
+ const isReady = !this.isLoading &&
786
+ this.isAvailable &&
787
+ this.canMakePayments &&
788
+ !this.error;
789
+ return (h(StyledHost, { key: '01f45866c347cedc1e960cc2330aa2254cd21176' }, h("div", { key: 'cf3bb10db74d2f299aa1e67b0d0de1774f50f63d', class: 'apple-pay-container' }, h(ApplePaySkeleton, { key: 'b149112f9308709f958827f0aeb5a5410250601e', isReady: isReady }), !this.isLoading && this.error && (h("div", { key: '758336a1da163d64d7094e43d69e6a7655ee63c6', class: 'apple-pay-error', role: 'alert' }, h("span", { key: 'b5a41cdab76a8b23e6baeaf3b59f9a20e6788dff', class: 'error-icon' }, "\u26A0\uFE0F"), h("span", { key: '218d9e47295b6899b57c862df49b3cc365d3e786', class: 'error-message' }, this.error))), !this.isLoading && !this.error && !this.isAvailable && (h("div", { key: 'f231298d4a10c1eeae2a3360095fd2f3b044620a', class: 'apple-pay-unavailable' }, h("span", { key: 'd943185545a9f19f8edc763cbd0946679e526f22', class: 'unavailable-message' }, "Apple Pay is not available on this device"))), !this.isLoading &&
790
+ !this.error &&
791
+ this.isAvailable &&
792
+ this.canMakePayments && (h(ApplePayButton, { key: 'a1aa0a7ba9c95610130e258e5d9b88fa0a533ffb', buttonType: this.buttonType, buttonStyle: this.buttonStyle, disabled: this.disabled, isProcessing: this.isProcessing, isAvailable: this.isAvailable, clickHandler: this.handleApplePayClick }))), h("style", { key: '460c99302788488e3475c7851f571f3cfc8bfc21' }, `
793
+ .apple-pay-container {
794
+ width: 100%;
795
+ }
796
+
797
+ .apple-pay-error {
798
+ display: flex;
799
+ align-items: center;
800
+ gap: 8px;
801
+ padding: 12px;
802
+ background: #fef2f2;
803
+ border: 1px solid #fecaca;
804
+ border-radius: 8px;
805
+ color: #dc2626;
806
+ font-size: 14px;
807
+ }
808
+
809
+ .apple-pay-unavailable {
810
+ display: flex;
811
+ align-items: center;
812
+ justify-content: center;
813
+ padding: 12px;
814
+ background: #f9fafb;
815
+ border: 1px solid #e5e7eb;
816
+ border-radius: 8px;
817
+ color: #6b7280;
818
+ font-size: 14px;
819
+ }
820
+
821
+ .error-icon {
822
+ font-size: 16px;
823
+ }
824
+ `)));
825
+ }
826
+ static get watchers() { return {
827
+ "merchantIdentifier": ["watchPropsChange"],
828
+ "apiBaseUrl": ["watchPropsChange"],
829
+ "buttonType": ["watchPropsChange"],
830
+ "buttonStyle": ["watchPropsChange"],
831
+ "disabled": ["watchPropsChange"]
832
+ }; }
833
+ }, [257, "justifi-apple-pay", {
834
+ "countryCode": [1, "country-code"],
835
+ "merchantIdentifier": [1, "merchant-identifier"],
836
+ "merchantDisplayName": [1, "merchant-display-name"],
837
+ "initiativeContext": [1, "initiative-context"],
838
+ "apiBaseUrl": [1, "api-base-url"],
839
+ "buttonType": [1, "button-type"],
840
+ "buttonStyle": [1, "button-style"],
841
+ "disabled": [4],
842
+ "showSkeleton": [4, "show-skeleton"],
843
+ "isLoading": [32],
844
+ "isProcessing": [32],
845
+ "isAvailable": [32],
846
+ "canMakePayments": [32],
847
+ "error": [32],
848
+ "isSupported": [64],
849
+ "getPaymentMethods": [64],
850
+ "abort": [64]
851
+ }, undefined, {
852
+ "merchantIdentifier": ["watchPropsChange"],
853
+ "apiBaseUrl": ["watchPropsChange"],
854
+ "buttonType": ["watchPropsChange"],
855
+ "buttonStyle": ["watchPropsChange"],
856
+ "disabled": ["watchPropsChange"]
857
+ }]);
858
+ function defineCustomElement$1() {
859
+ if (typeof customElements === "undefined") {
860
+ return;
861
+ }
862
+ const components = ["justifi-apple-pay"];
863
+ components.forEach(tagName => { switch (tagName) {
864
+ case "justifi-apple-pay":
865
+ if (!customElements.get(tagName)) {
866
+ customElements.define(tagName, ApplePay);
867
+ }
868
+ break;
869
+ } });
870
+ }
871
+ defineCustomElement$1();
872
+
873
+ const JustifiApplePay = ApplePay;
874
+ const defineCustomElement = defineCustomElement$1;
875
+
876
+ export { JustifiApplePay, defineCustomElement };