@justifi/webcomponents 6.0.0-rc.16 → 6.0.0-rc.18

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 (90) hide show
  1. package/dist/cjs/{check-pkg-version-DfzaKEDg.js → check-pkg-version-BIRpFWjW.js} +1 -1
  2. package/dist/cjs/hidden-input_2.cjs.entry.js +1 -1
  3. package/dist/cjs/justifi-apple-pay.cjs.entry.js +341 -35
  4. package/dist/cjs/justifi-bank-account-billing-form-simple_9.cjs.entry.js +2 -2
  5. package/dist/cjs/justifi-business-details.cjs.entry.js +2 -2
  6. package/dist/cjs/justifi-business-form.cjs.entry.js +2 -2
  7. package/dist/cjs/justifi-checkout-summary_7.cjs.entry.js +3 -4
  8. package/dist/cjs/justifi-checkout.cjs.entry.js +2 -2
  9. package/dist/cjs/justifi-checkouts-list.cjs.entry.js +2 -2
  10. package/dist/cjs/justifi-dispute-management.cjs.entry.js +2 -2
  11. package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +2 -2
  12. package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +2 -2
  13. package/dist/cjs/justifi-order-terminals.cjs.entry.js +2 -2
  14. package/dist/cjs/justifi-payment-details.cjs.entry.js +2 -2
  15. package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +2 -2
  16. package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +2 -2
  17. package/dist/cjs/justifi-payments-list.cjs.entry.js +2 -2
  18. package/dist/cjs/justifi-payout-details.cjs.entry.js +2 -2
  19. package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +2 -2
  20. package/dist/cjs/justifi-payouts-list.cjs.entry.js +2 -2
  21. package/dist/cjs/justifi-refund-payment.cjs.entry.js +2 -2
  22. package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +2 -2
  23. package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +2 -2
  24. package/dist/cjs/justifi-terminals-list.cjs.entry.js +2 -2
  25. package/dist/cjs/{package-CHNXn8wx.js → package-BVAhjheJ.js} +1 -1
  26. package/dist/collection/components/modular-checkout/modular-checkout.js +1 -2
  27. package/dist/collection/components/modular-checkout/sub-components/apple-pay.js +8 -35
  28. package/dist/docs.json +1 -1
  29. package/dist/esm/{check-pkg-version-Cz8T6Ux8.js → check-pkg-version-DHG-pLKx.js} +1 -1
  30. package/dist/esm/hidden-input_2.entry.js +1 -1
  31. package/dist/esm/justifi-apple-pay.entry.js +341 -35
  32. package/dist/esm/justifi-bank-account-billing-form-simple_9.entry.js +2 -2
  33. package/dist/esm/justifi-business-details.entry.js +2 -2
  34. package/dist/esm/justifi-business-form.entry.js +2 -2
  35. package/dist/esm/justifi-checkout-summary_7.entry.js +3 -4
  36. package/dist/esm/justifi-checkout.entry.js +2 -2
  37. package/dist/esm/justifi-checkouts-list.entry.js +2 -2
  38. package/dist/esm/justifi-dispute-management.entry.js +2 -2
  39. package/dist/esm/justifi-dispute-notification_3.entry.js +2 -2
  40. package/dist/esm/justifi-gross-payment-chart.entry.js +2 -2
  41. package/dist/esm/justifi-order-terminals.entry.js +2 -2
  42. package/dist/esm/justifi-payment-details.entry.js +2 -2
  43. package/dist/esm/justifi-payment-provisioning.entry.js +2 -2
  44. package/dist/esm/justifi-payment-transactions-list.entry.js +2 -2
  45. package/dist/esm/justifi-payments-list.entry.js +2 -2
  46. package/dist/esm/justifi-payout-details.entry.js +2 -2
  47. package/dist/esm/justifi-payout-transactions-list.entry.js +2 -2
  48. package/dist/esm/justifi-payouts-list.entry.js +2 -2
  49. package/dist/esm/justifi-refund-payment.entry.js +2 -2
  50. package/dist/esm/justifi-season-interruption-insurance.entry.js +2 -2
  51. package/dist/esm/justifi-terminal-orders-list.entry.js +2 -2
  52. package/dist/esm/justifi-terminals-list.entry.js +2 -2
  53. package/dist/esm/{package-BiTF1__F.js → package-D34B0fIu.js} +1 -1
  54. package/dist/module/justifi-apple-pay.js +338 -32
  55. package/dist/module/modular-checkout.js +1 -2
  56. package/dist/module/package.js +1 -1
  57. package/dist/webcomponents/{p-c3cfcd4b.entry.js → p-00ce804c.entry.js} +1 -1
  58. package/dist/webcomponents/{p-2b47ddd8.entry.js → p-1a00ae1a.entry.js} +1 -1
  59. package/dist/webcomponents/p-387951b7.entry.js +1 -0
  60. package/dist/webcomponents/{p-3d94c845.entry.js → p-39caca63.entry.js} +1 -1
  61. package/dist/webcomponents/{p-3a34e4f9.entry.js → p-43929b3f.entry.js} +1 -1
  62. package/dist/webcomponents/{p-0913a57b.entry.js → p-52453823.entry.js} +1 -1
  63. package/dist/webcomponents/{p-a65d751d.entry.js → p-5d604178.entry.js} +1 -1
  64. package/dist/webcomponents/{p-995c2cbf.entry.js → p-5fbcf154.entry.js} +1 -1
  65. package/dist/webcomponents/{p-07c3c25e.entry.js → p-611a013a.entry.js} +1 -1
  66. package/dist/webcomponents/p-66b1a1be.entry.js +1 -0
  67. package/dist/webcomponents/p-857ed314.entry.js +1 -0
  68. package/dist/webcomponents/{p-225da0b5.entry.js → p-8e3be834.entry.js} +1 -1
  69. package/dist/webcomponents/{p-eabaeaf6.entry.js → p-9080a91c.entry.js} +1 -1
  70. package/dist/webcomponents/{p-ce272d8a.entry.js → p-91110a56.entry.js} +1 -1
  71. package/dist/webcomponents/{p-f6e3f1ca.entry.js → p-91753cd0.entry.js} +1 -1
  72. package/dist/webcomponents/{p-a53710c4.entry.js → p-95279d6b.entry.js} +1 -1
  73. package/dist/webcomponents/p-D34B0fIu.js +1 -0
  74. package/dist/webcomponents/{p-BcAsEqa5.js → p-DWOdLN23.js} +1 -1
  75. package/dist/webcomponents/p-ad6df3f2.entry.js +1 -0
  76. package/dist/webcomponents/p-b37c187c.entry.js +1 -0
  77. package/dist/webcomponents/{p-e7921c1f.entry.js → p-b4cb8091.entry.js} +1 -1
  78. package/dist/webcomponents/{p-3caee9d2.entry.js → p-ccc932f5.entry.js} +1 -1
  79. package/dist/webcomponents/{p-0bba0dd0.entry.js → p-cef742c4.entry.js} +1 -1
  80. package/dist/webcomponents/{p-b9ab3803.entry.js → p-dd481752.entry.js} +1 -1
  81. package/dist/webcomponents/p-eab855aa.entry.js +1 -0
  82. package/dist/webcomponents/webcomponents.esm.js +1 -1
  83. package/package.json +1 -1
  84. package/dist/webcomponents/p-099e96ba.entry.js +0 -1
  85. package/dist/webcomponents/p-4abf0877.entry.js +0 -1
  86. package/dist/webcomponents/p-5a3fc339.entry.js +0 -1
  87. package/dist/webcomponents/p-69bf5e32.entry.js +0 -1
  88. package/dist/webcomponents/p-73dd0306.entry.js +0 -1
  89. package/dist/webcomponents/p-BiTF1__F.js +0 -1
  90. package/dist/webcomponents/p-a7712cea.entry.js +0 -1
@@ -1 +0,0 @@
1
- import{h as t,r as e,c as n}from"./p-Bn7inNWG.js";import{S as i}from"./p-DxqCFDtF.js";import"./p-CZfYo5-1.js";import{S as a}from"./p-CaAVuW6B.js";import{c as s}from"./p-CItulios.js";import"./p-RvUQ__Pq.js";import"./p-CpaS1Lex.js";import"./p-DhGNCW2f.js";import"./p-HXpYMWUU.js";import"./p-Cjcsf8ku.js";import"./p-Da3idOSV.js";import"./p-BHf9IqGw.js";import"./p-BH0Xfn-F.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-CbL73B6U.js";var p,o,r,l;!function(t){t.STATUS_SUCCESS="STATUS_SUCCESS",t.STATUS_FAILURE="STATUS_FAILURE"}(p||(p={})),function(t){t.PLAIN="plain",t.BUY="buy",t.SET_UP="set-up",t.DONATE="donate",t.CHECK_OUT="check-out",t.BOOK="book",t.SUBSCRIBE="subscribe"}(o||(o={})),function(t){t.BLACK="black",t.WHITE="white",t.WHITE_OUTLINE="white-outline"}(r||(r={})),function(t){t.SUPPORTS_3DS="supports3DS",t.SUPPORTS_EMV="supportsEMV",t.SUPPORTS_CREDIT="supportsCredit",t.SUPPORTS_DEBIT="supportsDebit"}(l||(l={}));class c{static isApplePaySupported(){var t;return"undefined"!=typeof window&&"ApplePaySession"in window&&(null===(t=window.ApplePaySession)||void 0===t?void 0:t.supportsVersion(3))}static canMakePayments(){var t;return this.isApplePaySupported()&&(null===(t=window.ApplePaySession)||void 0===t?void 0:t.canMakePayments())||!1}static async canMakePaymentsWithActiveCard(t){var e;if(!this.isApplePaySupported())return!1;try{return await(null===(e=window.ApplePaySession)||void 0===e?void 0:e.canMakePaymentsWithActiveCard(t))||!1}catch(t){return console.error("Error checking Apple Pay active card:",t),!1}}static formatAmount(t){return(t/100).toFixed(2)}static parseAmount(t){return Math.round(100*parseFloat(t))}static createLineItem(t,e,n="final"){return{label:t,amount:this.formatAmount(e),type:n}}static getDefaultSupportedNetworks(){return["amex","discover","masterCard","visa"]}static getDefaultMerchantCapabilities(){return[l.SUPPORTS_3DS,l.SUPPORTS_EMV,l.SUPPORTS_CREDIT,l.SUPPORTS_DEBIT]}}const h=e=>{const{isReady:n}=e;return n?null:t("div",{class:"container-fluid p-0"},t("div",{class:"row mb-3"},t("div",{class:"col-12 align-content-center"},t(a,{height:"44px",width:"100%",styles:{borderRadius:"8px"}}))))},u=e=>t("div",{class:"apple-pay-button-container"},t("button",Object.assign({class:(()=>{let t="apple-pay-button";switch(e.buttonStyle){case r.WHITE:t+=" apple-pay-button-white";break;case r.WHITE_OUTLINE:t+=" apple-pay-button-white-outline";break;default:t+=" apple-pay-button-black"}switch(e.buttonType){case o.BUY:t+=" apple-pay-button-type-buy";break;case o.DONATE:t+=" apple-pay-button-type-donate";break;default:t+=" apple-pay-button-type-plain"}return(e.disabled||e.isProcessing||!e.isAvailable)&&(t+=" disabled"),t})(),style:{width:e.width||"200px",height:e.height||"48px"},onClick:()=>{!e.disabled&&!e.isProcessing&&e.isAvailable&&e.clickHandler&&e.clickHandler()},disabled:e.disabled||e.isProcessing||!e.isAvailable,"aria-label":"Pay with Apple Pay",type:"button"},e),e.isProcessing&&t("div",{class:"processing-overlay"},t("div",{class:"spinner"}),t("span",null,"Processing..."))),t("style",null,"\n .apple-pay-button-container {\n display: inline-block;\n position: relative;\n }\n\n /* Apple Pay CSS classes - these are the official Apple Pay button styles */\n .apple-pay-button {\n display: inline-block;\n -webkit-appearance: -apple-pay-button;\n -apple-pay-button-type: plain; /* default */\n -apple-pay-button-style: black; /* default */\n border-radius: 8px;\n cursor: pointer;\n border: none;\n outline: none;\n transition: opacity 0.2s ease;\n position: relative;\n }\n\n /* Button styles */\n .apple-pay-button.apple-pay-button-black {\n -apple-pay-button-style: black;\n }\n\n .apple-pay-button.apple-pay-button-white {\n -apple-pay-button-style: white;\n }\n\n .apple-pay-button.apple-pay-button-white-outline {\n -apple-pay-button-style: white-outline;\n }\n\n /* Button types */\n .apple-pay-button.apple-pay-button-type-plain {\n -apple-pay-button-type: plain;\n }\n\n .apple-pay-button.apple-pay-button-type-buy {\n -apple-pay-button-type: buy;\n }\n\n .apple-pay-button.apple-pay-button-type-donate {\n -apple-pay-button-type: donate;\n }\n\n /* Hover and disabled states */\n .apple-pay-button:hover:not(.disabled) {\n opacity: 0.9;\n }\n\n .apple-pay-button.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n /* Processing overlay */\n .processing-overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n background: rgba(0, 0, 0, 0.8);\n color: white;\n border-radius: 8px;\n font-size: 14px;\n font-weight: 500;\n }\n\n .spinner {\n width: 16px;\n height: 16px;\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-top: 2px solid #fff;\n border-radius: 50%;\n animation: spin 1s linear infinite;\n }\n\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n\n /* Responsive design */\n @media (max-width: 480px) {\n .apple-pay-button {\n width: 100% !important;\n min-width: 200px;\n }\n }\n ")),y=class{constructor(t){e(this,t),this.applePayStarted=n(this,"applePayStarted"),this.applePayCompleted=n(this,"applePayCompleted"),this.applePayCancelled=n(this,"applePayCancelled"),this.applePayError=n(this,"applePayError"),this.countryCode="US",this.merchantIdentifier="merchant.com.staging-justifi.checkout-dev",this.merchantDisplayName="JustiFi Checkout",this.initiativeContext="dev-checkout.justifi-staging.com",this.buttonType=o.PLAIN,this.buttonStyle=r.BLACK,this.disabled=!1,this.showSkeleton=!0,this.isLoading=!0,this.isProcessing=!1,this.isAvailable=!1,this.canMakePayments=!1,this.isConfigValid=!0,this.error=null,this.handleApplePayClick=async()=>{var t;if(!this.isProcessing&&!this.disabled&&this.isAvailable)try{this.isProcessing=!0,this.error=null,this.applePayStarted.emit();const e={countryCode:this.countryCode,currencyCode:s.paymentCurrency,merchantCapabilities:c.getDefaultMerchantCapabilities(),supportedNetworks:c.getDefaultSupportedNetworks(),total:c.createLineItem(s.paymentDescription,s.paymentAmount)},n=await this.applePayService.startPaymentSession(e,s.authToken,s.accountId);n.success?this.applePayCompleted.emit({success:!0,token:n.token,paymentMethodId:n.paymentMethodId}):(this.applePayCompleted.emit({success:!1,error:n.error}),this.applePayError.emit({error:(null===(t=n.error)||void 0===t?void 0:t.message)||"Payment failed"}))}catch(t){console.error("Apple Pay payment error:",t);const e=t instanceof Error?t.message:"Payment failed";this.error=e,this.applePayError.emit({error:e}),this.applePayCompleted.emit({success:!1,error:e})}finally{this.isProcessing=!1}}}async initializeApplePay(){console.log("initializeApplePay",s.checkoutLoaded);try{if(this.isLoading=!0,this.error=null,this.isConfigValid=!0,!(Boolean(s.paymentAmount)&&Boolean(s.paymentCurrency)&&Boolean(s.authToken)))return this.error="Missing required Apple Pay configuration blabla blabla 2",this.isConfigValid=!1,console.error("Apple Pay config error: missing required values blabla blabla 2",{paymentAmount:s.paymentAmount,paymentCurrency:s.paymentCurrency,hasAuthToken:Boolean(s.authToken)}),this.applePayError.emit({error:this.error}),void(this.isLoading=!1);if(this.isAvailable=c.isApplePaySupported(),this.canMakePayments=c.canMakePayments(),!this.isAvailable)return this.error="Apple Pay is not supported on this device",console.error(this.error),this.applePayError.emit({error:this.error}),void(this.isLoading=!1);if(!this.canMakePayments)return this.error="Apple Pay is not available",console.error(this.error),this.applePayError.emit({error:this.error}),void(this.isLoading=!1);this.applePayService.initialize({merchantIdentifier:this.merchantIdentifier,displayName:this.merchantDisplayName,initiative:"web",initiativeContext:this.initiativeContext,buttonType:this.buttonType,buttonStyle:this.buttonStyle}),await this.applePayService.canMakePaymentsWithActiveCard()||console.warn("No Apple Pay cards available, but continuing...")}catch(t){console.error("Apple Pay initialization error:",t),this.error=t instanceof Error?t.message:"Failed to initialize Apple Pay",this.applePayError.emit({error:this.error})}finally{this.isLoading=!1}}async isSupported(){return this.isAvailable&&this.canMakePayments}async getPaymentMethods(){return this.isAvailable?c.getDefaultSupportedNetworks():[]}async abort(){this.applePayService.abortPaymentSession(),this.isProcessing=!1,this.applePayCancelled.emit()}render(){const e=!this.isLoading&&this.isAvailable&&this.canMakePayments&&this.isConfigValid;return t(i,{key:"ea33bc759d2849cf013cb6f98367c8d78c799acb"},s.checkoutLoaded&&t("script",{key:"9ed6140223a8788ca194a8978a9ca8e1e30eb10e",async:!0,src:"https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js",onLoad:()=>{this.initializeApplePay()}}),t("div",{key:"6501d8cb4c4119eadf9112db4fca876437138bcc",class:"apple-pay-container"},t(h,{key:"1aee83e3deac0d0f68d2788f65401a1d7c48047f",isReady:e}),e&&t(u,{key:"eb05dde5789f5f1bb83e75127c222996a38c8fef",buttonType:this.buttonType,buttonStyle:this.buttonStyle,disabled:this.disabled,isProcessing:this.isProcessing,isAvailable:this.isAvailable,clickHandler:this.handleApplePayClick})),t("style",{key:"8060bf6771c12f47d482f0a774e4fd6547e50a2e"},"\n .apple-pay-container {\n width: 100%;\n }\n "))}};export{y as justifi_apple_pay}