@justifi/webcomponents 5.7.6-rc-09 → 5.7.6-rc-11
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.
- package/dist/cjs/{check-pkg-version-DDiIM7TD.js → check-pkg-version-D-NfHVBY.js} +1 -1
- package/dist/cjs/hidden-input_2.cjs.entry.js +1 -1
- package/dist/cjs/justifi-apple-pay.cjs.entry.js +5 -4
- package/dist/cjs/justifi-bank-account-form_5.cjs.entry.js +2 -2
- package/dist/cjs/justifi-business-details.cjs.entry.js +2 -2
- package/dist/cjs/justifi-business-form.cjs.entry.js +2 -2
- package/dist/cjs/justifi-button_5.cjs.entry.js +2 -2
- package/dist/cjs/justifi-checkout.cjs.entry.js +2 -2
- package/dist/cjs/justifi-checkouts-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-dispute-management.cjs.entry.js +2 -2
- package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +2 -2
- package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +2 -2
- package/dist/cjs/justifi-order-terminals.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payment-details.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payments-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payout-details.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payouts-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-refund-payment.cjs.entry.js +2 -2
- package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +2 -2
- package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-terminals-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-tokenize-payment-method.cjs.entry.js +2 -2
- package/dist/cjs/{package-Cxw6plJP.js → package-C8qPiXvO.js} +1 -1
- package/dist/collection/api/services/apple-pay.service.js +1 -0
- package/dist/collection/components/modular-checkout/sub-components/apple-pay.js +6 -6
- package/dist/docs.json +5 -5
- package/dist/esm/{check-pkg-version-CTiz0uFe.js → check-pkg-version-BtwcsQQK.js} +1 -1
- package/dist/esm/hidden-input_2.entry.js +1 -1
- package/dist/esm/justifi-apple-pay.entry.js +5 -4
- package/dist/esm/justifi-bank-account-form_5.entry.js +2 -2
- package/dist/esm/justifi-business-details.entry.js +2 -2
- package/dist/esm/justifi-business-form.entry.js +2 -2
- package/dist/esm/justifi-button_5.entry.js +2 -2
- package/dist/esm/justifi-checkout.entry.js +2 -2
- package/dist/esm/justifi-checkouts-list.entry.js +2 -2
- package/dist/esm/justifi-dispute-management.entry.js +2 -2
- package/dist/esm/justifi-dispute-notification_3.entry.js +2 -2
- package/dist/esm/justifi-gross-payment-chart.entry.js +2 -2
- package/dist/esm/justifi-order-terminals.entry.js +2 -2
- package/dist/esm/justifi-payment-details.entry.js +2 -2
- package/dist/esm/justifi-payment-provisioning.entry.js +2 -2
- package/dist/esm/justifi-payment-transactions-list.entry.js +2 -2
- package/dist/esm/justifi-payments-list.entry.js +2 -2
- package/dist/esm/justifi-payout-details.entry.js +2 -2
- package/dist/esm/justifi-payout-transactions-list.entry.js +2 -2
- package/dist/esm/justifi-payouts-list.entry.js +2 -2
- package/dist/esm/justifi-refund-payment.entry.js +2 -2
- package/dist/esm/justifi-season-interruption-insurance.entry.js +2 -2
- package/dist/esm/justifi-terminal-orders-list.entry.js +2 -2
- package/dist/esm/justifi-terminals-list.entry.js +2 -2
- package/dist/esm/justifi-tokenize-payment-method.entry.js +2 -2
- package/dist/esm/{package-BkRTy0ik.js → package-BmJrftKN.js} +1 -1
- package/dist/module/justifi-apple-pay.js +5 -4
- package/dist/module/package.js +1 -1
- package/dist/types/components.d.ts +4 -4
- package/dist/webcomponents/{p-a0301ff0.entry.js → p-003fe94e.entry.js} +1 -1
- package/dist/webcomponents/p-016fc9d4.entry.js +1 -0
- package/dist/webcomponents/{p-6f91c6a7.entry.js → p-01e5398f.entry.js} +1 -1
- package/dist/webcomponents/{p-eb67742c.entry.js → p-0fd93ea9.entry.js} +1 -1
- package/dist/webcomponents/{p-d25dd497.entry.js → p-107e8d06.entry.js} +1 -1
- package/dist/webcomponents/{p-3b6e2720.entry.js → p-2016bdc4.entry.js} +1 -1
- package/dist/webcomponents/{p-854b3c68.entry.js → p-30a58564.entry.js} +1 -1
- package/dist/webcomponents/p-322c3af8.entry.js +1 -0
- package/dist/webcomponents/p-3b21cb61.entry.js +1 -0
- package/dist/webcomponents/{p-e759cd25.entry.js → p-486aec24.entry.js} +1 -1
- package/dist/webcomponents/{p-6ee43c12.entry.js → p-78709e41.entry.js} +1 -1
- package/dist/webcomponents/p-930425a7.entry.js +1 -0
- package/dist/webcomponents/{p-981ef744.entry.js → p-985c2356.entry.js} +1 -1
- package/dist/webcomponents/{p-d385af07.entry.js → p-99d7c853.entry.js} +1 -1
- package/dist/webcomponents/{p-fa83b4f6.entry.js → p-9c943fb9.entry.js} +1 -1
- package/dist/webcomponents/p-BmJrftKN.js +1 -0
- package/dist/webcomponents/{p-DCuoHK4F.js → p-Bq3TKeKM.js} +1 -1
- package/dist/webcomponents/{p-293196a3.entry.js → p-a8379e45.entry.js} +1 -1
- package/dist/webcomponents/{p-4bd5c24e.entry.js → p-b23fc443.entry.js} +1 -1
- package/dist/webcomponents/{p-3ef84467.entry.js → p-d72c26c2.entry.js} +1 -1
- package/dist/webcomponents/{p-1b1198de.entry.js → p-e2f01647.entry.js} +1 -1
- package/dist/webcomponents/{p-32e8f6db.entry.js → p-e3ad4757.entry.js} +1 -1
- package/dist/webcomponents/{p-3286a710.entry.js → p-e9d2299f.entry.js} +1 -1
- package/dist/webcomponents/{p-3bcbc170.entry.js → p-ebd622f5.entry.js} +1 -1
- package/dist/webcomponents/{p-f7a407ef.entry.js → p-f82a11d0.entry.js} +1 -1
- package/dist/webcomponents/{p-d4300f5d.entry.js → p-fc1b25dd.entry.js} +1 -1
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/package.json +1 -1
- package/dist/webcomponents/p-483b126a.entry.js +0 -1
- package/dist/webcomponents/p-73357a3f.entry.js +0 -1
- package/dist/webcomponents/p-7bdbf02b.entry.js +0 -1
- package/dist/webcomponents/p-807364a1.entry.js +0 -1
- package/dist/webcomponents/p-BkRTy0ik.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as s,h as o}from"./p-kpoIU4v_.js";import{P as i}from"./p-Sz-UKsNL.js";import"./p-9y5MOK55.js";import"./p-B7jE0g5_.js";import{C as r,a as e}from"./p-Cjcsf8ku.js";import{P as p}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as a,a as h}from"./p-D2muobcE.js";import{E as n}from"./p-CEYGUVns.js";import{c as m,J as
|
|
1
|
+
import{r as t,c as s,h as o}from"./p-kpoIU4v_.js";import{P as i}from"./p-Sz-UKsNL.js";import"./p-9y5MOK55.js";import"./p-B7jE0g5_.js";import{C as r,a as e}from"./p-Cjcsf8ku.js";import{P as p}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as a,a as h}from"./p-D2muobcE.js";import{E as n}from"./p-CEYGUVns.js";import{c as m,J as c}from"./p-Bq3TKeKM.js";import{m as u}from"./p-DYGIC0QH.js";import"./p-Dj1uo4J3.js";import"./p-7WIgS5RM.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-D3G5aVLy.js";import"./p-BmJrftKN.js";const d=class{constructor(o){t(this,o),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){m(),this.analytics=new c(this),this.initializeServices()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeServices()}initializeServices(){this.payoutId&&this.authToken?(this.getPayout=(({id:t,authToken:s,service:o})=>async({onSuccess:i,onError:e})=>{var n;try{const m=await o.fetchPayout(t,s);m.error?e({error:h(m.error),code:a(null===(n=m.error)||void 0===n?void 0:n.code),severity:r.ERROR}):i(new p(m.data))}catch(t){e({error:h(t),code:a(null==t?void 0:t.code),severity:r.ERROR})}})({id:this.payoutId,authToken:this.authToken,service:new i}),this.getPayoutCSV=u({authToken:this.authToken,service:new i})):(this.errorMessage="Failed to load payout details. payoutId or authToken is not provided.",this.errorEvent.emit({message:this.errorMessage,errorCode:e.MISSING_PROPS,severity:r.ERROR}))}render(){return this.errorMessage?n(this.errorMessage):o("payout-details-core",{getPayout:this.getPayout,getPayoutCSV:this.getPayoutCSV,"onError-event":this.handleErrorEvent})}static get watchers(){return{payoutId:["propChanged"],authToken:["propChanged"]}}};export{d as justifi_payout_details}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as s,h as i}from"./p-kpoIU4v_.js";import"./p-9y5MOK55.js";import"./p-B7jE0g5_.js";import{C as o,a as r}from"./p-Cjcsf8ku.js";import{C as e}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as c,a}from"./p-D2muobcE.js";import{c as p,J as n}from"./p-
|
|
1
|
+
import{r as t,c as s,h as i}from"./p-kpoIU4v_.js";import"./p-9y5MOK55.js";import"./p-B7jE0g5_.js";import{C as o,a as r}from"./p-Cjcsf8ku.js";import{C as e}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as c,a}from"./p-D2muobcE.js";import{c as p,J as n}from"./p-Bq3TKeKM.js";import{C as h}from"./p-C0EFqY0W.js";import{m,S as u}from"./p-Dv7YEshZ.js";import{S as j}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import{d}from"./p-DX_mixvZ.js";import"./p-7WIgS5RM.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-BmJrftKN.js";import"./p-Dj1uo4J3.js";import"./p-DCDU6JB3.js";import"./p-D3G5aVLy.js";const f=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.columns=d,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){p(),this.analytics=new n(this),this.initializeGetData()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetData()}initializeGetData(){this.initializeGetCheckouts(),this.initializeGetSubAccounts()}initializeGetCheckouts(){this.accountId&&this.authToken?this.getCheckouts=(({accountId:t,authToken:s,service:i})=>async({params:r,onSuccess:p,onError:n})=>{var h,m;try{const u=await i.fetchCheckouts(t,s,r);if(u.error)return n({error:a(u.error),code:c(null===(m=u.error)||void 0===m?void 0:m.code),severity:o.ERROR});{const t=Object.assign({},u.page_info);p({checkouts:(null===(h=u.data)||void 0===h?void 0:h.map((t=>new e(t))))||[],pagingInfo:t})}}catch(t){const s=c(null==t?void 0:t.code);return n({error:t.message||t,code:s,severity:o.ERROR})}})({accountId:this.accountId,authToken:this.authToken,service:new h}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:r.MISSING_PROPS,message:this.errorMessage,severity:o.ERROR}))}initializeGetSubAccounts(){this.accountId&&this.authToken&&(this.getSubAccounts=m({accountId:this.accountId,authToken:this.authToken,service:new u}))}render(){return i(j,{key:"41bf633467138b6af13b1c02ccf1e1016ec54bfe"},i("checkouts-list-core",{key:"cd3ca431258ad73e701fe74612ecdf2c0f2a1bda",getCheckouts:this.getCheckouts,getSubAccounts:this.getSubAccounts,"onError-event":this.handleErrorEvent,columns:this.columns}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{f as justifi_checkouts_list}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,h as n,H as t,c as i,g as o}from"./p-kpoIU4v_.js";import{c as r}from"./p-7WIgS5RM.js";import{i as s,b as a,a as c,c as d,l as u}from"./p-D3G5aVLy.js";import{g as f}from"./p-BFTU3MAI.js";import{F as l}from"./p-D522G7Ja.js";import{p as h}from"./p-BkRTy0ik.js";const m=r({focused:{boxShadow:"",border:""},focusedAndInvalid:{boxShadow:"",border:""},fontStyles:{fontFamily:"",fontSize:"",fontWeight:"",lineHeight:"",margin:"",padding:""}}),{state:w,set:g}=m,b=class{constructor(n){e(this,n),this.isFocused=!1,this.errorText=""}async componentDidLoad(){const e=await this.getBaseFontStyles();g("fontStyles",e);const n=await this.getFocusedStyles();g("focused",n);const t=await this.getFocusedAndInvalidStyles();g("focusedAndInvalid",t)}async getBaseFontStyles(){return new Promise((e=>{setTimeout((()=>{const n=getComputedStyle(this.hiddenInput);e({fontFamily:n.fontFamily,fontSize:n.fontSize,fontWeight:n.fontWeight,lineHeight:n.lineHeight,margin:n.margin,padding:n.padding,color:n.color})}),500)}))}async getFocusedStyles(){return new Promise((e=>{this.hiddenInput.focus(),setTimeout((()=>{this.hiddenInput.blur();let n=getComputedStyle(this.hiddenInput);e({boxShadow:n.boxShadow,border:n.border})}),500)}))}async getFocusedAndInvalidStyles(){return new Promise((e=>{this.hiddenInput.focus(),this.errorText="Error",setTimeout((()=>{const n=getComputedStyle(this.hiddenInput),t={boxShadow:n.boxShadow,border:n.border};this.hiddenInput.blur(),e(t)}),500)}))}get part(){return this.isFocused&&this.errorText?s:this.errorText?a:this.isFocused?c:d}render(){return n(t,{key:"0ee80d3f6e70e496682e798ddfc57d9e8e8b0578"},n("input",{key:"6ec2b8825e4b2e9c2d130ce810bb76f67dc30940",ref:e=>this.hiddenInput=e,type:"text",class:this.errorText?"form-control is-invalid":"form-control",onFocus:()=>this.isFocused=!0,onBlur:()=>this.isFocused=!1,part:this.part,tabindex:"-1",style:{height:"0",opacity:"0",pointerEvents:"none",animation:"none"}}))}};var p,y,v={exports:{}},k=f((p||(p=1,y=v,console.info("\nIFRAME-RESIZER\n\nIframe-Resizer 5 is now available via the following two packages:\n\n * @iframe-resizer/parent\n * @iframe-resizer/child\n\nAdditionally their are also new versions of iframe-resizer for React, Vue, and jQuery.\n\nVersion 5 of iframe-resizer has been extensively rewritten to use modern browser APIs, which has enabled significantly better performance and greater accuracy in the detection of content resizing events.\n\nPlease see https://iframe-resizer.com/upgrade for more details.\n"),function(e){if("undefined"!=typeof window){var n,t,i=0,o=!1,r=!1,s="[iFrameSizer]",a=null,c=window.requestAnimationFrame,d=Object.freeze({max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),u={},f=null,l=Object.freeze({autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,inPageLinks:!1,enablePublicMethods:!0,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,license:"1jqr0si6pnt",log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,mouseEvents:!0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){k("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return!0}}),h={};window.jQuery!==e&&((t=window.jQuery).fn?t.fn.iFrameResize||(t.fn.iFrameResize=function(e){return this.filter("iframe").each((function(n,t){W(t,e)})).end()}):v("","Unable to bind to jQuery, it is not fully loaded.")),y.exports=P(),window.iFrameResize=window.iFrameResize||P()}function m(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function w(e,n,t){e.addEventListener(n,t,!1)}function g(e,n,t){e.removeEventListener(n,t,!1)}function b(e){return u[e]?u[e].log:o}function p(e,n){x("log",e,n,b(e))}function v(e,n){x("info",e,n,b(e))}function k(e,n){x("warn",e,n,!0)}function x(e,n,t,i){!0===i&&"object"==typeof window.console&&console[e](function(e){return s+"["+function(e){var n="Host page: "+e;return window.top!==window.self&&(n=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e),n}(e)+"]"}(n),t)}function I(e){function n(){t("Height"),t("Width"),C((function(){O(A),T(L),l("onResized",A)}),A,"init")}function t(e){var n=Number(u[L]["max"+e]),t=Number(u[L]["min"+e]),i=e.toLowerCase(),o=Number(A[i]);p(L,"Checking "+i+" is in range "+t+"-"+n),o<t&&(o=t,p(L,"Set "+i+" to min value")),o>n&&(o=n,p(L,"Set "+i+" to max value")),A[i]=""+o}function i(e){return W.slice(W.indexOf(":")+7+e)}function o(e,n){var t,i;t=function(){var t,i;E("Send Page Info","pageInfo:"+(t=document.body.getBoundingClientRect(),i=A.iframe.getBoundingClientRect(),JSON.stringify({iframeHeight:i.height,iframeWidth:i.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(i.top-t.top,10),offsetLeft:parseInt(i.left-t.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})),e,n)},h[i=n]||(h[i]=setTimeout((function(){h[i]=null,t()}),32))}function r(e){var n=e.getBoundingClientRect();return M(L),{x:Math.floor(Number(n.left)+Number(a.x)),y:Math.floor(Number(n.top)+Number(a.y))}}function c(e){var n=e?r(A.iframe):{x:0,y:0},t={x:Number(A.width)+n.x,y:Number(A.height)+n.y};p(L,"Reposition requested from iFrame (offset x:"+n.x+" y:"+n.y+")"),window.top===window.self?(a=t,d(),p(L,"--")):window.parentIFrame?window.parentIFrame["scrollTo"+(e?"Offset":"")](t.x,t.y):k(L,"Unable to scroll to requested position, window.parentIFrame not found")}function d(){!1===l("onScroll",a)?j():T(L)}function f(e){var n={};if(0===Number(A.width)&&0===Number(A.height)){var t=i(9).split(":");n={x:t[1],y:t[0]}}else n={x:A.width,y:A.height};l(e,{iframe:A.iframe,screenX:Number(n.x),screenY:Number(n.y),type:A.type})}function l(e,n){return z(L,e,n)}var m,b,y,x,I,F,W=e.data,A={},L=null;"[iFrameResizerChild]Ready"===W?function(){for(var e in u)E("iFrame requested init",N(e),u[e].iframe,e)}():s===(""+W).slice(0,13)&&W.slice(13).split(":")[0]in u?(x=(y=W.slice(13).split(":"))[1]?parseInt(y[1],10):0,I=u[y[0]]&&u[y[0]].iframe,F=getComputedStyle(I),A={iframe:I,id:y[0],height:x+function(e){return"border-box"!==e.boxSizing?0:(e.paddingTop?parseInt(e.paddingTop,10):0)+(e.paddingBottom?parseInt(e.paddingBottom,10):0)}(F)+function(e){return"border-box"!==e.boxSizing?0:(e.borderTopWidth?parseInt(e.borderTopWidth,10):0)+(e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0)}(F),width:y[2],type:y[3]},u[L=A.id]&&(u[L].loaded=!0),(b=A.type in{true:1,false:1,undefined:1})&&p(L,"Ignoring init message from meta parent page"),!b&&function(e){var n=!0;return u[e]||(n=!1,k(A.type+" No settings for "+e+". Message was: "+W)),n}(L)&&(p(L,"Received: "+W),m=!0,null===A.iframe&&(k(L,"IFrame ("+A.id+") not found"),m=!1),m&&function(){var n,t=e.origin,i=u[L]&&u[L].checkOrigin;if(i&&""+t!="null"&&!(i.constructor===Array?function(){var e=0,n=!1;for(p(L,"Checking connection is from allowed list of origins: "+i);e<i.length;e++)if(i[e]===t){n=!0;break}return n}():(p(L,"Checking connection is from: "+(n=u[L]&&u[L].remoteHost)),t===n)))throw new Error("Unexpected message received from: "+t+" for "+A.iframe.id+". Message was: "+e.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.");return!0}()&&function(){switch(u[L]&&u[L].firstRun&&u[L]&&(u[L].firstRun=!1),A.type){case"close":S(A.iframe);break;case"message":m=i(6),p(L,"onMessage passed: {iframe: "+A.iframe.id+", message: "+m+"}"),l("onMessage",{iframe:A.iframe,message:JSON.parse(m)}),p(L,"--");break;case"mouseenter":f("onMouseEnter");break;case"mouseleave":f("onMouseLeave");break;case"autoResize":u[L].autoResize=JSON.parse(i(9));break;case"scrollTo":c(!1);break;case"scrollToOffset":c(!0);break;case"pageInfo":o(u[L]&&u[L].iframe,L),function(){function e(e,i){function r(){u[t]?o(u[t].iframe,t):n()}["scroll","resize"].forEach((function(n){p(t,e+n+" listener for sendPageInfo"),i(window,n,r)}))}function n(){e("Remove ",g)}var t=L;e("Add ",w),u[t]&&(u[t].stopPageInfo=n)}();break;case"pageInfoStop":u[L]&&u[L].stopPageInfo&&(u[L].stopPageInfo(),delete u[L].stopPageInfo);break;case"inPageLink":t=i(9).split("#")[1]||"",s=decodeURIComponent(t),(h=document.getElementById(s)||document.getElementsByName(s)[0])?(e=r(h),p(L,"Moving to in page link (#"+t+") at x: "+e.x+" y: "+e.y),a={x:e.x,y:e.y},d(),p(L,"--")):window.top===window.self?p(L,"In page link #"+t+" not found"):window.parentIFrame?window.parentIFrame.moveToAnchor(t):p(L,"In page link #"+t+" not found and window.parentIFrame not found");break;case"reset":R(A);break;case"init":n(),l("onInit",A.iframe);break;default:0===Number(A.width)&&0===Number(A.height)?k("Unsupported message received ("+A.type+"), this is likely due to the iframe containing a later version of iframe-resizer than the parent page"):n()}var e,t,s,h,m}())):v(L,"Ignored: "+W)}function z(e,n,t){var i=null,o=null;if(u[e]){if("function"!=typeof(i=u[e][n]))throw new TypeError(n+" on iFrame["+e+"] is not a function");o=i(t)}return o}function F(e){delete u[e.id]}function S(e){var t=e.id;if(!1!==z(t,"onClose",t)){p(t,"Removing iFrame: "+t);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){k(e)}z(t,"onClosed",t),p(t,"--"),F(e),n&&(n.disconnect(),n=null)}else p(t,"Close iframe cancelled by onClose event")}function M(n){null===a&&p(n,"Get page position: "+(a={x:window.pageXOffset===e?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===e?document.documentElement.scrollTop:window.pageYOffset}).x+","+a.y)}function T(e){null!==a&&(window.scrollTo(a.x,a.y),p(e,"Set page position: "+a.x+","+a.y),j())}function j(){a=null}function R(e){p(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame")),M(e.id),C((function(){O(e),E("reset","reset",e.iframe,e.id)}),e,"reset")}function O(e){function n(n){r||"0"!==e[n]||(r=!0,p(i,"Hidden iFrame detected, creating visibility listener"),function(){function e(){Object.keys(u).forEach((function(e){!function(e){function n(n){return"0px"===(u[e]&&u[e].iframe.style[n])}u[e]&&null!==u[e].iframe.offsetParent&&(n("height")||n("width"))&&E("Visibility change","resize",u[e].iframe,e)}(e)}))}function n(n){p("window","Mutation observed: "+n[0].target+" "+n[0].type),A(e,16)}var t,i=m();i&&(t=document.querySelector("body"),new i(n).observe(t,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}))}())}function t(t){!function(n){e.id?(e.iframe.style[n]=e[n]+"px",p(e.id,"IFrame ("+i+") "+n+" set to "+e[n]+"px")):p("undefined","messageData id not set")}(t),n(t)}var i=e.iframe.id;u[i]&&(u[i].sizeHeight&&t("height"),u[i].sizeWidth&&t("width"))}function C(e,n,t){t!==n.type&&c&&!window.jasmine?(p(n.id,"Requesting animation frame"),c(e)):e()}function E(e,n,t,i,o){var r,a=!1;u[i=i||t.id]&&(t&&"contentWindow"in t&&null!==t.contentWindow?(p(i,"["+e+"] Sending msg to iframe["+i+"] ("+n+") targetOrigin: "+(r=u[i]&&u[i].targetOrigin)),t.contentWindow.postMessage(s+n,r)):k(i,"["+e+"] IFrame("+i+") not found"),o&&u[i]&&u[i].warningTimeout&&(u[i].msgTimeout=setTimeout((function(){!u[i]||u[i].loaded||a||(a=!0,k(i,"IFrame has not responded within "+u[i].warningTimeout/1e3+" seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning."))}),u[i].warningTimeout)))}function N(e){return e+":"+u[e].bodyMarginV1+":"+u[e].sizeWidth+":"+u[e].log+":"+u[e].interval+":"+u[e].enablePublicMethods+":"+u[e].autoResize+":"+u[e].bodyMargin+":"+u[e].heightCalculationMethod+":"+u[e].bodyBackground+":"+u[e].bodyPadding+":"+u[e].tolerance+":"+u[e].inPageLinks+":"+u[e].resizeFrom+":"+u[e].widthCalculationMethod+":"+u[e].mouseEvents}function W(t,r){function s(e){var n=e.split("Callback");if(2===n.length){var t="on"+n[0].charAt(0).toUpperCase()+n[0].slice(1);this[t]=this[e],delete this[e],k(f,"Deprecated: '"+e+"' has been renamed '"+t+"'. The old method will be removed in the next major version.")}}var a,c,f=function(e){if("string"!=typeof e)throw new TypeError("Invaild id for iFrame. Expected String");var n;return""===e&&(t.id=(n=r&&r.id||l.id+i++,null!==document.getElementById(n)&&(n+=i++),e=n),o=(r||{}).log,p(e,"Added missing iframe ID: "+e+" ("+t.src+")")),e}(t.id);f in u&&"iFrameResizer"in t?k(f,"Ignored iFrame, already setup."):(function(e){var n;e=e||{},u[f]=Object.create(null),u[f].iframe=t,u[f].firstRun=!0,u[f].remoteHost=t.src&&t.src.split("/").slice(0,3).join("/"),function(e){if("object"!=typeof e)throw new TypeError("Options is not an object")}(e),Object.keys(e).forEach(s,e),function(e){for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(u[f][n]=Object.prototype.hasOwnProperty.call(e,n)?e[n]:l[n])}(e),u[f]&&(u[f].targetOrigin=!0===u[f].checkOrigin?""===(n=u[f].remoteHost)||null!==n.match(/^(about:blank|javascript:|file:\/\/)/)?"*":n:"*")}(r),function(){switch(p(f,"IFrame scrolling "+(u[f]&&u[f].scrolling?"enabled":"disabled")+" for "+f),t.style.overflow=!1===(u[f]&&u[f].scrolling)?"hidden":"auto",u[f]&&u[f].scrolling){case"omit":break;case!0:t.scrolling="yes";break;case!1:t.scrolling="no";break;default:t.scrolling=u[f]?u[f].scrolling:"no"}}(),function(){function e(e){var n=u[f][e];1/0!==n&&0!==n&&(t.style[e]="number"==typeof n?n+"px":n,p(f,"Set "+e+" = "+t.style[e]))}function n(e){if(u[f]["min"+e]>u[f]["max"+e])throw new Error("Value for min"+e+" can not be greater than max"+e)}n("Height"),n("Width"),e("maxHeight"),e("minHeight"),e("maxWidth"),e("minWidth")}(),"number"!=typeof(u[f]&&u[f].bodyMargin)&&"0"!==(u[f]&&u[f].bodyMargin)||(u[f].bodyMarginV1=u[f].bodyMargin,u[f].bodyMargin=u[f].bodyMargin+"px"),a=N(f),(c=m())&&(n=function(e){if(!t.parentNode)return null;var n=new e((function(e){e.forEach((function(e){Array.prototype.slice.call(e.removedNodes).forEach((function(e){e===t&&S(t)}))}))}));return n.observe(t.parentNode,{childList:!0}),n}(c)),w(t,"load",(function(){E("iFrame.onload",a,t,e,!0),(!u[f]||!u[f].firstRun)&&u[f]&&u[f].heightCalculationMethod in d&&R({iframe:t,height:0,width:0,type:"init"})})),E("init",a,t,e,!0),u[f]&&(u[f].iframe.iFrameResizer={close:S.bind(null,u[f].iframe),removeListeners:F.bind(null,u[f].iframe),resize:E.bind(null,"Window resize","resize",u[f].iframe),moveToAnchor:function(e){E("Move to anchor","moveToAnchor:"+e,u[f].iframe,f)},sendMessage:function(e){E("Send Message","message:"+(e=JSON.stringify(e)),u[f].iframe,f)}}))}function A(e,n){null===f&&(f=setTimeout((function(){f=null,e()}),n))}function L(){"hidden"!==document.visibilityState&&(p("document","Trigger event: Visibility change"),A((function(){H("Tab Visible","resize")}),16))}function H(e,n){Object.keys(u).forEach((function(t){(function(e){return u[e]&&"parent"===u[e].resizeFrom&&u[e].autoResize&&!u[e].firstRun})(t)&&E(e,n,u[t].iframe,t)}))}function P(){function n(e,n){n&&(function(){if(!n.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRAME"!==n.tagName.toUpperCase())throw new TypeError("Expected <IFRAME> tag, found <"+n.tagName+">")}(),W(n,e),t.push(n))}var t;return function(){var e,n=["moz","webkit","o","ms"];for(e=0;e<n.length&&!c;e+=1)c=window[n[e]+"RequestAnimationFrame"];c?c=c.bind(window):p("setup","RequestAnimationFrame not supported")}(),w(window,"message",I),w(window,"resize",(function(){p("window","Trigger event: resize"),A((function(){H("Window resize","resize")}),16)})),w(document,"visibilitychange",L),w(document,"-webkit-visibilitychange",L),function(i,o){switch(t=[],function(e){e&&e.enablePublicMethods&&k("enablePublicMethods option has been removed, public methods are now always available in the iFrame")}(i),typeof o){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(o||"iframe"),n.bind(e,i));break;case"object":n(i,o);break;default:throw new TypeError("Unexpected data type ("+typeof o+")")}return t}}}()),v.exports));class x{constructor(e,n){this.iframe=e,this.iframeOrigin=n}postMessage(e,n){const t=Object.assign({eventType:e},n);this.iframe.contentWindow.postMessage(t,this.iframeOrigin)}addMessageListener(e){window.addEventListener("message",e)}removeMessageListener(e){window.removeEventListener("message",e)}postMessageWithResponseListener(e,n){return new Promise((t=>{const i=n=>{n.data.eventType===e&&(window.removeEventListener("message",i),t(n.data.data))};window.addEventListener("message",i),this.postMessage(e,n)}))}}const I=class{constructor(n){e(this,n),this.iframeLoaded=i(this,"iframeLoaded"),this.isFocused=!1,this.isValid=!0,this.dispatchMessageEvent=e=>{const{eventType:n,data:t}=e.data;(null==t?void 0:t.id)===this.inputId&&("focused"===n&&(this.isFocused=!0),"blurred"===n&&(this.isFocused=!1))}}disconnectedCallback(){this.frameService.removeMessageListener(this.dispatchMessageEvent)}async validate(){const e=await this.frameService.postMessageWithResponseListener("validate");return this.isValid=e.isValid,this.errorText=e.error.message,e}async tokenize(e,n,t){return this.frameService.postMessageWithResponseListener("tokenize",{clientId:e,paymentMethodMetadata:n,account:t,componentVersion:h.version})}initializeFrameCommunicationService(){var e;this.frameService=new x(this.iframeElement,this.iframeOrigin),null===(e=this.frameService)||void 0===e||e.addMessageListener(this.dispatchMessageEvent)}get part(){return this.isFocused&&!this.isValid?s:this.isValid?this.isFocused?c:d:a}get style(){return this.isFocused?this.isValid?w.focused:w.focusedAndInvalid:null}get urlParams(){const e=Object.fromEntries(Object.entries(w.fontStyles).map((([e,n])=>[e,btoa(String(n))])));return new URLSearchParams(e).toString()}render(){return n(t,{key:"476aa13501c575d34fc189186cb9cc087f1934c0",class:"form-group d-flex flex-column"},n("div",{key:"4479d3f3ca36738a4803a8296335df173cc60600",style:{visibility:this.iframeLoaded?"visible":"hidden",height:this.iframeLoaded?"auto":"0"}},n("label",{key:"ab3ca944b088d966fb5e31248e72be90cd817596",class:"form-label",htmlFor:"",part:u},this.label||""),n("div",{key:"e0590b5060c5f53ae009f463c7fd2013c718d29a",class:"p-0 d-flex form-control "+(this.isValid?"":"is-invalid"),part:this.part,style:Object.assign(Object.assign({},this.style),{overflow:"hidden"})},n("iframe",{key:"5c31e3628e9c1480702008c750b9023e27427c68",id:this.inputId,name:this.inputId,src:`${this.iframeOrigin}?${this.urlParams}`,ref:e=>{this.iframeElement=e,this.initializeFrameCommunicationService()},width:"100%",onLoad:()=>{k({log:!1,onResized:()=>{this.iframeLoaded.emit()}},this.iframeElement)}})),n(l,{key:"8dd8903b2de383fa145a11d45e32efe1b95e10fd",errorText:this.errorText,name:this.inputId})))}get el(){return o(this)}};export{b as hidden_input,I as iframe_input}
|
|
1
|
+
import{r as e,h as n,H as t,c as i,g as o}from"./p-kpoIU4v_.js";import{c as r}from"./p-7WIgS5RM.js";import{i as s,b as a,a as c,c as d,l as u}from"./p-D3G5aVLy.js";import{g as f}from"./p-BFTU3MAI.js";import{F as l}from"./p-D522G7Ja.js";import{p as h}from"./p-BmJrftKN.js";const m=r({focused:{boxShadow:"",border:""},focusedAndInvalid:{boxShadow:"",border:""},fontStyles:{fontFamily:"",fontSize:"",fontWeight:"",lineHeight:"",margin:"",padding:""}}),{state:w,set:g}=m,b=class{constructor(n){e(this,n),this.isFocused=!1,this.errorText=""}async componentDidLoad(){const e=await this.getBaseFontStyles();g("fontStyles",e);const n=await this.getFocusedStyles();g("focused",n);const t=await this.getFocusedAndInvalidStyles();g("focusedAndInvalid",t)}async getBaseFontStyles(){return new Promise((e=>{setTimeout((()=>{const n=getComputedStyle(this.hiddenInput);e({fontFamily:n.fontFamily,fontSize:n.fontSize,fontWeight:n.fontWeight,lineHeight:n.lineHeight,margin:n.margin,padding:n.padding,color:n.color})}),500)}))}async getFocusedStyles(){return new Promise((e=>{this.hiddenInput.focus(),setTimeout((()=>{this.hiddenInput.blur();let n=getComputedStyle(this.hiddenInput);e({boxShadow:n.boxShadow,border:n.border})}),500)}))}async getFocusedAndInvalidStyles(){return new Promise((e=>{this.hiddenInput.focus(),this.errorText="Error",setTimeout((()=>{const n=getComputedStyle(this.hiddenInput),t={boxShadow:n.boxShadow,border:n.border};this.hiddenInput.blur(),e(t)}),500)}))}get part(){return this.isFocused&&this.errorText?s:this.errorText?a:this.isFocused?c:d}render(){return n(t,{key:"0ee80d3f6e70e496682e798ddfc57d9e8e8b0578"},n("input",{key:"6ec2b8825e4b2e9c2d130ce810bb76f67dc30940",ref:e=>this.hiddenInput=e,type:"text",class:this.errorText?"form-control is-invalid":"form-control",onFocus:()=>this.isFocused=!0,onBlur:()=>this.isFocused=!1,part:this.part,tabindex:"-1",style:{height:"0",opacity:"0",pointerEvents:"none",animation:"none"}}))}};var p,y,v={exports:{}},k=f((p||(p=1,y=v,console.info("\nIFRAME-RESIZER\n\nIframe-Resizer 5 is now available via the following two packages:\n\n * @iframe-resizer/parent\n * @iframe-resizer/child\n\nAdditionally their are also new versions of iframe-resizer for React, Vue, and jQuery.\n\nVersion 5 of iframe-resizer has been extensively rewritten to use modern browser APIs, which has enabled significantly better performance and greater accuracy in the detection of content resizing events.\n\nPlease see https://iframe-resizer.com/upgrade for more details.\n"),function(e){if("undefined"!=typeof window){var n,t,i=0,o=!1,r=!1,s="[iFrameSizer]",a=null,c=window.requestAnimationFrame,d=Object.freeze({max:1,scroll:1,bodyScroll:1,documentElementScroll:1}),u={},f=null,l=Object.freeze({autoResize:!0,bodyBackground:null,bodyMargin:null,bodyMarginV1:8,bodyPadding:null,checkOrigin:!0,inPageLinks:!1,enablePublicMethods:!0,heightCalculationMethod:"bodyOffset",id:"iFrameResizer",interval:32,license:"1jqr0si6pnt",log:!1,maxHeight:1/0,maxWidth:1/0,minHeight:0,minWidth:0,mouseEvents:!0,resizeFrom:"parent",scrolling:!1,sizeHeight:!0,sizeWidth:!1,warningTimeout:5e3,tolerance:0,widthCalculationMethod:"scroll",onClose:function(){return!0},onClosed:function(){},onInit:function(){},onMessage:function(){k("onMessage function not defined")},onMouseEnter:function(){},onMouseLeave:function(){},onResized:function(){},onScroll:function(){return!0}}),h={};window.jQuery!==e&&((t=window.jQuery).fn?t.fn.iFrameResize||(t.fn.iFrameResize=function(e){return this.filter("iframe").each((function(n,t){W(t,e)})).end()}):v("","Unable to bind to jQuery, it is not fully loaded.")),y.exports=P(),window.iFrameResize=window.iFrameResize||P()}function m(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function w(e,n,t){e.addEventListener(n,t,!1)}function g(e,n,t){e.removeEventListener(n,t,!1)}function b(e){return u[e]?u[e].log:o}function p(e,n){x("log",e,n,b(e))}function v(e,n){x("info",e,n,b(e))}function k(e,n){x("warn",e,n,!0)}function x(e,n,t,i){!0===i&&"object"==typeof window.console&&console[e](function(e){return s+"["+function(e){var n="Host page: "+e;return window.top!==window.self&&(n=window.parentIFrame&&window.parentIFrame.getId?window.parentIFrame.getId()+": "+e:"Nested host page: "+e),n}(e)+"]"}(n),t)}function I(e){function n(){t("Height"),t("Width"),N((function(){R(A),T(L),l("onResized",A)}),A,"init")}function t(e){var n=Number(u[L]["max"+e]),t=Number(u[L]["min"+e]),i=e.toLowerCase(),o=Number(A[i]);p(L,"Checking "+i+" is in range "+t+"-"+n),o<t&&(o=t,p(L,"Set "+i+" to min value")),o>n&&(o=n,p(L,"Set "+i+" to max value")),A[i]=""+o}function i(e){return W.slice(W.indexOf(":")+7+e)}function o(e,n){var t,i;t=function(){var t,i;C("Send Page Info","pageInfo:"+(t=document.body.getBoundingClientRect(),i=A.iframe.getBoundingClientRect(),JSON.stringify({iframeHeight:i.height,iframeWidth:i.width,clientHeight:Math.max(document.documentElement.clientHeight,window.innerHeight||0),clientWidth:Math.max(document.documentElement.clientWidth,window.innerWidth||0),offsetTop:parseInt(i.top-t.top,10),offsetLeft:parseInt(i.left-t.left,10),scrollTop:window.pageYOffset,scrollLeft:window.pageXOffset,documentHeight:document.documentElement.clientHeight,documentWidth:document.documentElement.clientWidth,windowHeight:window.innerHeight,windowWidth:window.innerWidth})),e,n)},h[i=n]||(h[i]=setTimeout((function(){h[i]=null,t()}),32))}function r(e){var n=e.getBoundingClientRect();return M(L),{x:Math.floor(Number(n.left)+Number(a.x)),y:Math.floor(Number(n.top)+Number(a.y))}}function c(e){var n=e?r(A.iframe):{x:0,y:0},t={x:Number(A.width)+n.x,y:Number(A.height)+n.y};p(L,"Reposition requested from iFrame (offset x:"+n.x+" y:"+n.y+")"),window.top===window.self?(a=t,d(),p(L,"--")):window.parentIFrame?window.parentIFrame["scrollTo"+(e?"Offset":"")](t.x,t.y):k(L,"Unable to scroll to requested position, window.parentIFrame not found")}function d(){!1===l("onScroll",a)?j():T(L)}function f(e){var n={};if(0===Number(A.width)&&0===Number(A.height)){var t=i(9).split(":");n={x:t[1],y:t[0]}}else n={x:A.width,y:A.height};l(e,{iframe:A.iframe,screenX:Number(n.x),screenY:Number(n.y),type:A.type})}function l(e,n){return z(L,e,n)}var m,b,y,x,I,F,W=e.data,A={},L=null;"[iFrameResizerChild]Ready"===W?function(){for(var e in u)C("iFrame requested init",E(e),u[e].iframe,e)}():s===(""+W).slice(0,13)&&W.slice(13).split(":")[0]in u?(x=(y=W.slice(13).split(":"))[1]?parseInt(y[1],10):0,I=u[y[0]]&&u[y[0]].iframe,F=getComputedStyle(I),A={iframe:I,id:y[0],height:x+function(e){return"border-box"!==e.boxSizing?0:(e.paddingTop?parseInt(e.paddingTop,10):0)+(e.paddingBottom?parseInt(e.paddingBottom,10):0)}(F)+function(e){return"border-box"!==e.boxSizing?0:(e.borderTopWidth?parseInt(e.borderTopWidth,10):0)+(e.borderBottomWidth?parseInt(e.borderBottomWidth,10):0)}(F),width:y[2],type:y[3]},u[L=A.id]&&(u[L].loaded=!0),(b=A.type in{true:1,false:1,undefined:1})&&p(L,"Ignoring init message from meta parent page"),!b&&function(e){var n=!0;return u[e]||(n=!1,k(A.type+" No settings for "+e+". Message was: "+W)),n}(L)&&(p(L,"Received: "+W),m=!0,null===A.iframe&&(k(L,"IFrame ("+A.id+") not found"),m=!1),m&&function(){var n,t=e.origin,i=u[L]&&u[L].checkOrigin;if(i&&""+t!="null"&&!(i.constructor===Array?function(){var e=0,n=!1;for(p(L,"Checking connection is from allowed list of origins: "+i);e<i.length;e++)if(i[e]===t){n=!0;break}return n}():(p(L,"Checking connection is from: "+(n=u[L]&&u[L].remoteHost)),t===n)))throw new Error("Unexpected message received from: "+t+" for "+A.iframe.id+". Message was: "+e.data+". This error can be disabled by setting the checkOrigin: false option or by providing of array of trusted domains.");return!0}()&&function(){switch(u[L]&&u[L].firstRun&&u[L]&&(u[L].firstRun=!1),A.type){case"close":S(A.iframe);break;case"message":m=i(6),p(L,"onMessage passed: {iframe: "+A.iframe.id+", message: "+m+"}"),l("onMessage",{iframe:A.iframe,message:JSON.parse(m)}),p(L,"--");break;case"mouseenter":f("onMouseEnter");break;case"mouseleave":f("onMouseLeave");break;case"autoResize":u[L].autoResize=JSON.parse(i(9));break;case"scrollTo":c(!1);break;case"scrollToOffset":c(!0);break;case"pageInfo":o(u[L]&&u[L].iframe,L),function(){function e(e,i){function r(){u[t]?o(u[t].iframe,t):n()}["scroll","resize"].forEach((function(n){p(t,e+n+" listener for sendPageInfo"),i(window,n,r)}))}function n(){e("Remove ",g)}var t=L;e("Add ",w),u[t]&&(u[t].stopPageInfo=n)}();break;case"pageInfoStop":u[L]&&u[L].stopPageInfo&&(u[L].stopPageInfo(),delete u[L].stopPageInfo);break;case"inPageLink":t=i(9).split("#")[1]||"",s=decodeURIComponent(t),(h=document.getElementById(s)||document.getElementsByName(s)[0])?(e=r(h),p(L,"Moving to in page link (#"+t+") at x: "+e.x+" y: "+e.y),a={x:e.x,y:e.y},d(),p(L,"--")):window.top===window.self?p(L,"In page link #"+t+" not found"):window.parentIFrame?window.parentIFrame.moveToAnchor(t):p(L,"In page link #"+t+" not found and window.parentIFrame not found");break;case"reset":O(A);break;case"init":n(),l("onInit",A.iframe);break;default:0===Number(A.width)&&0===Number(A.height)?k("Unsupported message received ("+A.type+"), this is likely due to the iframe containing a later version of iframe-resizer than the parent page"):n()}var e,t,s,h,m}())):v(L,"Ignored: "+W)}function z(e,n,t){var i=null,o=null;if(u[e]){if("function"!=typeof(i=u[e][n]))throw new TypeError(n+" on iFrame["+e+"] is not a function");o=i(t)}return o}function F(e){delete u[e.id]}function S(e){var t=e.id;if(!1!==z(t,"onClose",t)){p(t,"Removing iFrame: "+t);try{e.parentNode&&e.parentNode.removeChild(e)}catch(e){k(e)}z(t,"onClosed",t),p(t,"--"),F(e),n&&(n.disconnect(),n=null)}else p(t,"Close iframe cancelled by onClose event")}function M(n){null===a&&p(n,"Get page position: "+(a={x:window.pageXOffset===e?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===e?document.documentElement.scrollTop:window.pageYOffset}).x+","+a.y)}function T(e){null!==a&&(window.scrollTo(a.x,a.y),p(e,"Set page position: "+a.x+","+a.y),j())}function j(){a=null}function O(e){p(e.id,"Size reset requested by "+("init"===e.type?"host page":"iFrame")),M(e.id),N((function(){R(e),C("reset","reset",e.iframe,e.id)}),e,"reset")}function R(e){function n(n){r||"0"!==e[n]||(r=!0,p(i,"Hidden iFrame detected, creating visibility listener"),function(){function e(){Object.keys(u).forEach((function(e){!function(e){function n(n){return"0px"===(u[e]&&u[e].iframe.style[n])}u[e]&&null!==u[e].iframe.offsetParent&&(n("height")||n("width"))&&C("Visibility change","resize",u[e].iframe,e)}(e)}))}function n(n){p("window","Mutation observed: "+n[0].target+" "+n[0].type),A(e,16)}var t,i=m();i&&(t=document.querySelector("body"),new i(n).observe(t,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}))}())}function t(t){!function(n){e.id?(e.iframe.style[n]=e[n]+"px",p(e.id,"IFrame ("+i+") "+n+" set to "+e[n]+"px")):p("undefined","messageData id not set")}(t),n(t)}var i=e.iframe.id;u[i]&&(u[i].sizeHeight&&t("height"),u[i].sizeWidth&&t("width"))}function N(e,n,t){t!==n.type&&c&&!window.jasmine?(p(n.id,"Requesting animation frame"),c(e)):e()}function C(e,n,t,i,o){var r,a=!1;u[i=i||t.id]&&(t&&"contentWindow"in t&&null!==t.contentWindow?(p(i,"["+e+"] Sending msg to iframe["+i+"] ("+n+") targetOrigin: "+(r=u[i]&&u[i].targetOrigin)),t.contentWindow.postMessage(s+n,r)):k(i,"["+e+"] IFrame("+i+") not found"),o&&u[i]&&u[i].warningTimeout&&(u[i].msgTimeout=setTimeout((function(){!u[i]||u[i].loaded||a||(a=!0,k(i,"IFrame has not responded within "+u[i].warningTimeout/1e3+" seconds. Check iFrameResizer.contentWindow.js has been loaded in iFrame. This message can be ignored if everything is working, or you can set the warningTimeout option to a higher value or zero to suppress this warning."))}),u[i].warningTimeout)))}function E(e){return e+":"+u[e].bodyMarginV1+":"+u[e].sizeWidth+":"+u[e].log+":"+u[e].interval+":"+u[e].enablePublicMethods+":"+u[e].autoResize+":"+u[e].bodyMargin+":"+u[e].heightCalculationMethod+":"+u[e].bodyBackground+":"+u[e].bodyPadding+":"+u[e].tolerance+":"+u[e].inPageLinks+":"+u[e].resizeFrom+":"+u[e].widthCalculationMethod+":"+u[e].mouseEvents}function W(t,r){function s(e){var n=e.split("Callback");if(2===n.length){var t="on"+n[0].charAt(0).toUpperCase()+n[0].slice(1);this[t]=this[e],delete this[e],k(f,"Deprecated: '"+e+"' has been renamed '"+t+"'. The old method will be removed in the next major version.")}}var a,c,f=function(e){if("string"!=typeof e)throw new TypeError("Invaild id for iFrame. Expected String");var n;return""===e&&(t.id=(n=r&&r.id||l.id+i++,null!==document.getElementById(n)&&(n+=i++),e=n),o=(r||{}).log,p(e,"Added missing iframe ID: "+e+" ("+t.src+")")),e}(t.id);f in u&&"iFrameResizer"in t?k(f,"Ignored iFrame, already setup."):(function(e){var n;e=e||{},u[f]=Object.create(null),u[f].iframe=t,u[f].firstRun=!0,u[f].remoteHost=t.src&&t.src.split("/").slice(0,3).join("/"),function(e){if("object"!=typeof e)throw new TypeError("Options is not an object")}(e),Object.keys(e).forEach(s,e),function(e){for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(u[f][n]=Object.prototype.hasOwnProperty.call(e,n)?e[n]:l[n])}(e),u[f]&&(u[f].targetOrigin=!0===u[f].checkOrigin?""===(n=u[f].remoteHost)||null!==n.match(/^(about:blank|javascript:|file:\/\/)/)?"*":n:"*")}(r),function(){switch(p(f,"IFrame scrolling "+(u[f]&&u[f].scrolling?"enabled":"disabled")+" for "+f),t.style.overflow=!1===(u[f]&&u[f].scrolling)?"hidden":"auto",u[f]&&u[f].scrolling){case"omit":break;case!0:t.scrolling="yes";break;case!1:t.scrolling="no";break;default:t.scrolling=u[f]?u[f].scrolling:"no"}}(),function(){function e(e){var n=u[f][e];1/0!==n&&0!==n&&(t.style[e]="number"==typeof n?n+"px":n,p(f,"Set "+e+" = "+t.style[e]))}function n(e){if(u[f]["min"+e]>u[f]["max"+e])throw new Error("Value for min"+e+" can not be greater than max"+e)}n("Height"),n("Width"),e("maxHeight"),e("minHeight"),e("maxWidth"),e("minWidth")}(),"number"!=typeof(u[f]&&u[f].bodyMargin)&&"0"!==(u[f]&&u[f].bodyMargin)||(u[f].bodyMarginV1=u[f].bodyMargin,u[f].bodyMargin=u[f].bodyMargin+"px"),a=E(f),(c=m())&&(n=function(e){if(!t.parentNode)return null;var n=new e((function(e){e.forEach((function(e){Array.prototype.slice.call(e.removedNodes).forEach((function(e){e===t&&S(t)}))}))}));return n.observe(t.parentNode,{childList:!0}),n}(c)),w(t,"load",(function(){C("iFrame.onload",a,t,e,!0),(!u[f]||!u[f].firstRun)&&u[f]&&u[f].heightCalculationMethod in d&&O({iframe:t,height:0,width:0,type:"init"})})),C("init",a,t,e,!0),u[f]&&(u[f].iframe.iFrameResizer={close:S.bind(null,u[f].iframe),removeListeners:F.bind(null,u[f].iframe),resize:C.bind(null,"Window resize","resize",u[f].iframe),moveToAnchor:function(e){C("Move to anchor","moveToAnchor:"+e,u[f].iframe,f)},sendMessage:function(e){C("Send Message","message:"+(e=JSON.stringify(e)),u[f].iframe,f)}}))}function A(e,n){null===f&&(f=setTimeout((function(){f=null,e()}),n))}function L(){"hidden"!==document.visibilityState&&(p("document","Trigger event: Visibility change"),A((function(){H("Tab Visible","resize")}),16))}function H(e,n){Object.keys(u).forEach((function(t){(function(e){return u[e]&&"parent"===u[e].resizeFrom&&u[e].autoResize&&!u[e].firstRun})(t)&&C(e,n,u[t].iframe,t)}))}function P(){function n(e,n){n&&(function(){if(!n.tagName)throw new TypeError("Object is not a valid DOM element");if("IFRAME"!==n.tagName.toUpperCase())throw new TypeError("Expected <IFRAME> tag, found <"+n.tagName+">")}(),W(n,e),t.push(n))}var t;return function(){var e,n=["moz","webkit","o","ms"];for(e=0;e<n.length&&!c;e+=1)c=window[n[e]+"RequestAnimationFrame"];c?c=c.bind(window):p("setup","RequestAnimationFrame not supported")}(),w(window,"message",I),w(window,"resize",(function(){p("window","Trigger event: resize"),A((function(){H("Window resize","resize")}),16)})),w(document,"visibilitychange",L),w(document,"-webkit-visibilitychange",L),function(i,o){switch(t=[],function(e){e&&e.enablePublicMethods&&k("enablePublicMethods option has been removed, public methods are now always available in the iFrame")}(i),typeof o){case"undefined":case"string":Array.prototype.forEach.call(document.querySelectorAll(o||"iframe"),n.bind(e,i));break;case"object":n(i,o);break;default:throw new TypeError("Unexpected data type ("+typeof o+")")}return t}}}()),v.exports));class x{constructor(e,n){this.iframe=e,this.iframeOrigin=n}postMessage(e,n){const t=Object.assign({eventType:e},n);this.iframe.contentWindow.postMessage(t,this.iframeOrigin)}addMessageListener(e){window.addEventListener("message",e)}removeMessageListener(e){window.removeEventListener("message",e)}postMessageWithResponseListener(e,n){return new Promise((t=>{const i=n=>{n.data.eventType===e&&(window.removeEventListener("message",i),t(n.data.data))};window.addEventListener("message",i),this.postMessage(e,n)}))}}const I=class{constructor(n){e(this,n),this.iframeLoaded=i(this,"iframeLoaded"),this.isFocused=!1,this.isValid=!0,this.dispatchMessageEvent=e=>{const{eventType:n,data:t}=e.data;(null==t?void 0:t.id)===this.inputId&&("focused"===n&&(this.isFocused=!0),"blurred"===n&&(this.isFocused=!1))}}disconnectedCallback(){this.frameService.removeMessageListener(this.dispatchMessageEvent)}async validate(){const e=await this.frameService.postMessageWithResponseListener("validate");return this.isValid=e.isValid,this.errorText=e.error.message,e}async tokenize(e,n,t){return this.frameService.postMessageWithResponseListener("tokenize",{clientId:e,paymentMethodMetadata:n,account:t,componentVersion:h.version})}initializeFrameCommunicationService(){var e;this.frameService=new x(this.iframeElement,this.iframeOrigin),null===(e=this.frameService)||void 0===e||e.addMessageListener(this.dispatchMessageEvent)}get part(){return this.isFocused&&!this.isValid?s:this.isValid?this.isFocused?c:d:a}get style(){return this.isFocused?this.isValid?w.focused:w.focusedAndInvalid:null}get urlParams(){const e=Object.fromEntries(Object.entries(w.fontStyles).map((([e,n])=>[e,btoa(String(n))])));return new URLSearchParams(e).toString()}render(){return n(t,{key:"476aa13501c575d34fc189186cb9cc087f1934c0",class:"form-group d-flex flex-column"},n("div",{key:"4479d3f3ca36738a4803a8296335df173cc60600",style:{visibility:this.iframeLoaded?"visible":"hidden",height:this.iframeLoaded?"auto":"0"}},n("label",{key:"ab3ca944b088d966fb5e31248e72be90cd817596",class:"form-label",htmlFor:"",part:u},this.label||""),n("div",{key:"e0590b5060c5f53ae009f463c7fd2013c718d29a",class:"p-0 d-flex form-control "+(this.isValid?"":"is-invalid"),part:this.part,style:Object.assign(Object.assign({},this.style),{overflow:"hidden"})},n("iframe",{key:"5c31e3628e9c1480702008c750b9023e27427c68",id:this.inputId,name:this.inputId,src:`${this.iframeOrigin}?${this.urlParams}`,ref:e=>{this.iframeElement=e,this.initializeFrameCommunicationService()},width:"100%",onLoad:()=>{k({log:!1,onResized:()=>{this.iframeLoaded.emit()}},this.iframeElement)}})),n(l,{key:"8dd8903b2de383fa145a11d45e32efe1b95e10fd",errorText:this.errorText,name:this.inputId})))}get el(){return o(this)}};export{b as hidden_input,I as iframe_input}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as i,r as s,c as t}from"./p-kpoIU4v_.js";import{ap as e,am as r,ae as o,z as l}from"./p-D3G5aVLy.js";import{S as d}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import{c as n,J as a}from"./p-Bq3TKeKM.js";import{C as h,a as c}from"./p-Cjcsf8ku.js";import{B as u}from"./p-DVPcHdzq.js";import{B as v}from"./p-BlJnA265.js";import{m as p}from"./p-DH8F0bsw.js";import{S as m}from"./p-Bz8JT676.js";import"./p-9y5MOK55.js";import{k as f}from"./p-B7jE0g5_.js";import{h as b,g as w,b as g}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-7MWRbTXI.js";import{g as j,a as y}from"./p-D2muobcE.js";import{T as x}from"./p-DtsIovbb.js";import"./p-BmJrftKN.js";import"./p-Dj1uo4J3.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-7WIgS5RM.js";const k=()=>i("div",{class:"row gap-3"},i("div",{class:"col-12"},i(m,{width:"25%"})),i("div",{class:"col-12"},i(m,{width:"100%"})),i("div",{class:"col-12 d-flex gap-3"},i(m,{width:"50%"}),i(m,{width:"50%"})),i("div",{class:"col-12 d-flex gap-3"},i(m,{width:"65%"}),i(m,{width:"35%"}))),B=()=>i("div",{class:"row gap-5"},i("div",{class:"col-12"},i(m,{width:"40%",height:"40px"})),i(k,null)),S=()=>i("div",{class:"terminal-selector-skeleton mt-4 rounded shadow-sm"},i("div",{class:"d-flex align-items-center gap-3"},i(m,{width:"125px",height:"125px",styles:{borderRadius:"8px"}}),i("div",{class:"flex-grow-1"},i("div",{class:"d-flex row flex-row"},i("div",{class:"col-6 flex-column"},i(m,null),i(m,{width:"60%"})),i("div",{class:"d-flex justify-content-end align-items-center gap-2 col-6"},i(m,{width:"32px",height:"32px",styles:{borderRadius:"50%"}}),i(m,{width:"80px",height:"32px"}),i(m,{width:"32px",height:"32px",styles:{borderRadius:"50%"}}))),i("div",{class:"mt-4"},i("div",{class:"d-flex flex-column gap-2"},i(m,null),i(m,null)))))),T=class{constructor(i){s(this,i),this.errorEvent=t(this,"error-event"),this.submitted=t(this,"submit-event"),this.shipping=!1,this.submitButtonText="Submit Order",this.loading={business:!0,terminals:!0},this.submitting=!1,this.error=null,this.totalQuantity=0}componentWillLoad(){this.order=new w({business_id:this.businessId,sub_account_id:this.accountId,order_type:this.shipping?g.boardingShipping:g.boardingOnly}),n(),this.analytics=new a(this),this.loadData()}disconnectedCallback(){var i;null===(i=this.analytics)||void 0===i||i.cleanup()}handleError(i,s,t){this.error={message:i,code:s,severity:t},this.errorEvent.emit({errorCode:s,message:i,severity:t})}loadData(){this.businessId&&this.authToken?(this.initializeGetBusiness(),this.initializeGetTerminalModels()):this.handleError("Invalid business id or auth token",c.MISSING_PROPS,h.ERROR)}initializeGetBusiness(){p({id:this.businessId,authToken:this.authToken,service:new u})({onSuccess:({business:i})=>{this.business=new v(i),this.loading.business=!1},onError:({error:i,code:s,severity:t})=>{this.handleError(i,s,t),this.loading.business=!1}})}initializeGetTerminalModels(){(({id:i,authToken:s,service:t})=>async({onSuccess:e,onError:r})=>{var o,l,d,n;try{const a=await t.fetchTerminalModels(i,s);if(a.error)return r({error:y(a.error),code:j(null===(n=a.error)||void 0===n?void 0:n.code),severity:h.ERROR});e({terminals:(null===(l=null===(o=a.data)||void 0===o?void 0:o.terminal_order_models)||void 0===l?void 0:l.map((i=>new b(i))))||[],orderLimit:null===(d=a.data)||void 0===d?void 0:d.order_limit})}catch(i){const s=j(null==i?void 0:i.code);return r({error:i.message||i,code:s,severity:h.ERROR})}})({id:this.accountId,authToken:this.authToken,service:new x})({onSuccess:({terminals:i,orderLimit:s})=>{this.terminalModels=i,this.orderLimit=s,this.loading.terminals=!1},onError:({error:i,code:s,severity:t})=>{this.handleError(i,s,t),this.loading.terminals=!1}})}submitOrder(){const i=(({authToken:i,service:s,apiOrigin:t="https://wc-proxy.justifi.ai"})=>async({terminalOrder:e,onSuccess:r,onError:o})=>{var l;try{const d=await s.orderTerminals(i,e,t);if(d.error)return o({error:y(d.error),code:j(null===(l=d.error)||void 0===l?void 0:l.code),severity:h.ERROR});{const{data:i}=d;r({data:i})}}catch(i){const s=j(null==i?void 0:i.code);return o({error:i.message||i,code:s,severity:h.ERROR})}})({authToken:this.authToken,service:new x});this.submitting=!0,i({terminalOrder:this.order.payload,onSuccess:({data:i})=>{this.submitted.emit(i),this.submitting=!1},onError:({error:i,code:s,severity:t})=>{this.handleError(i,s,t),this.submitting=!1}})}onSelectedQuantityChange(i){this.order.updateTerminal(i.detail.modelName,i.detail.quantity),this.totalQuantity=this.order.totalQuantity}renderLoading(){return i("div",null,this.loading.business&&i(B,null),this.loading.terminals&&i("div",{class:"mt-5"},i(S,null),i(S,null),i(S,null)))}renderBusinessDetails(){var s,t,o,l,d,n,a,h;if(!this.loading.business&&this.business)return i("div",{class:"d-flex flex-column gap-4 mb-5 pt-5"},i("div",{class:"row"},i("div",{class:"col-12"},i("h2",{part:r},this.business.legal_name))),i("div",{class:"row"},i("div",{class:"col-6"},i("h5",{part:e},"Representative:"),i("div",null,i("div",null,null===(t=null===(s=this.business)||void 0===s?void 0:s.representative)||void 0===t?void 0:t.name),i("div",null,null===(l=null===(o=this.business)||void 0===o?void 0:o.representative)||void 0===l?void 0:l.title),i("div",null,null===(n=null===(d=this.business)||void 0===d?void 0:d.representative)||void 0===n?void 0:n.email),i("div",null,f(null===(h=null===(a=this.business)||void 0===a?void 0:a.representative)||void 0===h?void 0:h.phone)))),i("div",{class:"col-6"},i("h5",{part:e},this.shipping?"Shipping Address:":"Business Address:"),i("div",null,this.business.legal_address.line1,this.business.legal_address.line2?`, ${this.business.legal_address.line2}`:"",i("br",null),this.business.legal_address.city,", ",this.business.legal_address.state," ",this.business.legal_address.postal_code))))}renderTerminals(){if(!this.loading.terminals&&this.terminalModels)return i("div",{class:"d-flex flex-column gap-2 mt-5"},this.terminalModels.map((s=>i("terminal-quantity-selector",{modelName:s.model_name,description:s.description,imageUrl:s.image_url,helpUrl:s.help_url,limit:this.orderLimit-this.order.totalQuantity,onSelectedQuantityChange:this.onSelectedQuantityChange.bind(this)}))))}renderOrderSection(){return i("div",{class:"mt-3"},i("div",{class:"text-end"},"Order limit: ",this.orderLimit),i("div",{class:"d-flex justify-content-end mt-3"},i("button",{class:"btn btn-primary submit-btn",onClick:this.submitOrder.bind(this),disabled:0===this.order.totalQuantity||this.submitting,part:o},this.submitting?"Submitting...":this.submitButtonText)))}render(){return i(d,{key:"0fcd2ba507d4d8cf04b0cc811416a3a374e36fb6"},i("div",{key:"f4b87bbf9d14bafcf817d9686173d2edbb6b8dcb",part:l},this.renderLoading(),this.renderBusinessDetails(),this.renderTerminals(),this.renderOrderSection()))}};export{T as justifi_order_terminals}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as t,r as e,c as i}from"./p-kpoIU4v_.js";import{S as s}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import{S as n}from"./p-Bz8JT676.js";import{c as a,o}from"./p-BYakc1Om.js";import"./p-D3G5aVLy.js";import"./p-7WIgS5RM.js";var r,c,p,l;!function(t){t.STATUS_SUCCESS="STATUS_SUCCESS",t.STATUS_FAILURE="STATUS_FAILURE"}(r||(r={})),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"}(c||(c={})),function(t){t.BLACK="black",t.WHITE="white",t.WHITE_OUTLINE="white-outline"}(p||(p={})),function(t){t.SUPPORTS_3DS="supports3DS",t.SUPPORTS_EMV="supportsEMV",t.SUPPORTS_CREDIT="supportsCredit",t.SUPPORTS_DEBIT="supportsDebit"}(l||(l={}));class h{constructor(t){this.merchantIdentifier=t.merchantIdentifier,this.displayName=t.displayName,this.initiative=t.initiative,this.initiativeContext=t.initiativeContext,this.buttonType=t.buttonType||c.PLAIN,this.buttonStyle=t.buttonStyle||p.BLACK,this.buttonLocale=t.buttonLocale||"en-US"}get isValid(){return!!(this.merchantIdentifier&&this.displayName&&this.initiative&&this.initiativeContext)}}class d{constructor(t){this.countryCode=t.countryCode,this.currencyCode=t.currencyCode,this.merchantCapabilities=t.merchantCapabilities,this.supportedNetworks=t.supportedNetworks,this.total=t.total,this.lineItems=t.lineItems,this.shippingMethods=t.shippingMethods,this.applicationData=t.applicationData,this.supportedCountries=t.supportedCountries}get isValid(){var t,e,i,s;return!!(this.countryCode&&this.currencyCode&&(null===(t=this.merchantCapabilities)||void 0===t?void 0:t.length)&&(null===(e=this.supportedNetworks)||void 0===e?void 0:e.length)&&(null===(i=this.total)||void 0===i?void 0:i.label)&&(null===(s=this.total)||void 0===s?void 0:s.amount))}}class u{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,i="final"){return{label:t,amount:this.formatAmount(e),type:i}}static getDefaultSupportedNetworks(){return["amex","discover","masterCard","visa"]}static getDefaultMerchantCapabilities(){return[l.SUPPORTS_3DS,l.SUPPORTS_EMV,l.SUPPORTS_CREDIT,l.SUPPORTS_DEBIT]}}class y{constructor(){this.apiBaseUrl="https://api.justifi-staging.com"}setApiBaseUrl(t){this.apiBaseUrl=t}setAuthToken(t){this.authToken=t}setAccountId(t){this.accountId=t}initialize(t){if(this.applePayConfig=new h(t),!this.applePayConfig.isValid)throw new Error("Invalid Apple Pay configuration provided")}async validateMerchant(t,e){const i=`${this.apiBaseUrl}/v1/apple_pay/merchant_session`,s=e,n=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${t}`,"Sub-Account":this.accountId},body:JSON.stringify(s)});if(!n.ok){const t=await n.text();console.error("Backend validation failed - Raw response:",t);try{const e=JSON.parse(t);console.error("Backend validation failed - Parsed error:",e)}catch(t){console.error("Could not parse error response as JSON:",t)}throw new Error(`Merchant validation failed: ${n.status}`)}return await n.json()}async processPayment(t,e){const i=`${this.apiBaseUrl}/apple_pay/process_token`,s=e,n=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${t}`,"Sub-Account":this.accountId},body:JSON.stringify(s)}),a=await n.json();return{success:n.ok&&"success"===a.status,data:a}}isAvailable(){return u.isApplePaySupported()&&u.canMakePayments()}async canMakePaymentsWithActiveCard(){if(!this.applePayConfig)throw new Error("Apple Pay not initialized. Call initialize() first.");return await u.canMakePaymentsWithActiveCard(this.applePayConfig.merchantIdentifier)}async startPaymentSession(t){if(!this.applePayConfig)throw new Error("Apple Pay not initialized. Call initialize() first.");if(!this.isAvailable())throw new Error("Apple Pay is not available on this device/browser");const e=new d(t);if(!e.isValid)throw new Error("Invalid payment request provided");return this.currentPaymentRequest=e,new Promise(((t,i)=>{try{this.currentSession=new window.ApplePaySession(3,e),this.setupSessionEventHandlers(t,i),this.currentSession.begin()}catch(t){i({success:!1,error:{code:"SESSION_ERROR",message:t instanceof Error?t.message:"Failed to start Apple Pay session"}})}}))}abortPaymentSession(){this.currentSession&&(this.currentSession.abort(),this.currentSession=void 0,this.currentPaymentRequest=void 0)}setupSessionEventHandlers(t,e){this.currentSession&&this.applePayConfig&&this.currentPaymentRequest&&(this.currentSession.onvalidatemerchant=async t=>{try{const i={validation_url:t.validationURL};if(!this.authToken)throw new Error("Authentication token not set. Call setAuthToken() first.");const s=await this.validateMerchant(this.authToken,i);if(s&&(t=>{const e=["merchantSessionIdentifier","nonce","merchantIdentifier","epochTimestamp","expiresAt"].filter((e=>!t[e]));if(e.length>0)return console.error("Missing required fields in merchant session:",e),console.error("Available fields:",Object.keys(t)),!1;const i=Date.now();return!(t.expiresAt&&t.expiresAt<i&&(console.error("Merchant session is expired:",{expiresAt:t.expiresAt,currentTime:i,expired:t.expiresAt<i}),1))})(s))try{this.currentSession.completeMerchantValidation(s)}catch(t){throw console.error("Error calling completeMerchantValidation:",t),t}else this.currentSession.abort(),e({success:!1,error:{code:"MERCHANT_VALIDATION_ERROR",message:"Merchant validation failed"}})}catch(t){console.error("=== MERCHANT VALIDATION ERROR ==="),console.error("Error during merchant validation:",t),console.error("Error stack:",t.stack),this.currentSession.abort(),e({success:!1,error:{code:"MERCHANT_VALIDATION_ERROR",message:t instanceof Error?t.message:"Merchant validation failed"}})}},this.currentSession.onpaymentauthorized=async i=>{try{const s=i.payment,n=Object.assign(Object.assign({},s.token),{product_details:{name:this.currentPaymentRequest.total.label,price:u.parseAmount(this.currentPaymentRequest.total.amount),description:this.currentPaymentRequest.total.label}});if(!this.authToken)throw new Error("Authentication token not set. Call setAuthToken() first.");const a=await this.processPayment(this.authToken,n);a.success?(this.currentSession.completePayment({status:r.STATUS_SUCCESS}),t({success:!0,token:s.token})):(console.error("PSP reported payment failure:",a.data),this.currentSession.completePayment({status:r.STATUS_FAILURE}),e({success:!1,error:{code:"PAYMENT_PROCESSING_ERROR",message:"Payment processing failed"}}))}catch(t){console.error("=== PAYMENT PROCESSING ERROR ==="),console.error("Error processing payment:",t),console.error("Error stack:",t.stack),this.currentSession.completePayment({status:r.STATUS_FAILURE}),e({success:!1,error:{code:"PAYMENT_PROCESSING_ERROR",message:t instanceof Error?t.message:"Payment processing failed"}})}finally{this.currentSession=void 0,this.currentPaymentRequest=void 0}},this.currentSession.onpaymentmethodselected=()=>{const t={newTotal:this.currentPaymentRequest.total,newLineItems:this.currentPaymentRequest.lineItems||[]};try{this.currentSession.completePaymentMethodSelection(t)}catch(t){console.error("Error completing payment method selection:",t),this.currentSession.abort()}},this.currentSession.onshippingmethodselected=()=>{this.currentSession.completeShippingMethodSelection({status:r.STATUS_SUCCESS,newTotal:this.currentPaymentRequest.total,newLineItems:this.currentPaymentRequest.lineItems||[]})},this.currentSession.oncancel=t=>{if(t.sessionError)switch(console.error(t.sessionError),t.sessionError.code){case"unknown":console.error("Unknown error - likely merchant validation issue"),console.error("This usually means:"),console.error("1. Merchant certificate is invalid or expired"),console.error("2. Merchant identifier mismatch"),console.error("3. Backend validation endpoint issues");break;case"invalidMerchantSession":console.error("Invalid merchant session provided"),console.error("Check that the merchant session from backend is valid");break;case"userCancel":console.error("User cancelled the payment");break;default:console.error("Other error code:",t.sessionError.code)}this.currentSession=void 0,this.currentPaymentRequest=void 0,e({success:!1,error:{code:"USER_CANCELLED",message:"User cancelled the Apple Pay session"}})},"onerror"in this.currentSession&&(this.currentSession.onerror=t=>{console.error("=== APPLE PAY SESSION ERROR ==="),console.error("Session error:",t),this.currentSession=void 0,this.currentPaymentRequest=void 0,e({success:!1,error:{code:"SESSION_ERROR",message:"Apple Pay session error occurred"}})}))}static createPaymentRequest(t,e,i="US",s="USD"){return{countryCode:i,currencyCode:s,merchantCapabilities:u.getDefaultMerchantCapabilities(),supportedNetworks:u.getDefaultSupportedNetworks(),total:u.createLineItem(e,t)}}getApplePayConfig(){return this.applePayConfig}}const b=e=>{const{isReady:i}=e;return i?null:t("div",{class:"container-fluid p-0"},t("div",{class:"row mb-3"},t("div",{class:"col-12 align-content-center"},t(n,{height:"44px",width:"100%",styles:{borderRadius:"8px"}}))))},f=e=>t("div",{class:"apple-pay-button-container"},t("button",Object.assign({class:(()=>{let t="apple-pay-button";switch(e.buttonStyle){case p.WHITE:t+=" apple-pay-button-white";break;case p.WHITE_OUTLINE:t+=" apple-pay-button-white-outline";break;default:t+=" apple-pay-button-black"}switch(e.buttonType){case c.BUY:t+=" apple-pay-button-type-buy";break;case c.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 ")),m=class{constructor(t){e(this,t),this.applePayStarted=i(this,"applePayStarted"),this.applePayCompleted=i(this,"applePayCompleted"),this.applePayCancelled=i(this,"applePayCancelled"),this.applePayError=i(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.apiBaseUrl="https://api.justifi-staging.com",this.buttonType=c.PLAIN,this.buttonStyle=p.BLACK,this.disabled=!1,this.showSkeleton=!0,this.isLoading=!0,this.isProcessing=!1,this.isAvailable=!1,this.canMakePayments=!1,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:a.paymentCurrency,merchantCapabilities:u.getDefaultMerchantCapabilities(),supportedNetworks:u.getDefaultSupportedNetworks(),total:u.createLineItem(a.paymentDescription,a.paymentAmount)},i=await this.applePayService.startPaymentSession(e);i.success?this.applePayCompleted.emit({success:!0,token:i.token}):(this.applePayCompleted.emit({success:!1,error:i.error}),this.applePayError.emit({error:(null===(t=i.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}}}componentWillLoad(){this.applePayService=new y,this.applePayService.setApiBaseUrl(this.apiBaseUrl),this.applePayService.setAuthToken(a.authToken),this.applePayService.setAccountId(a.accountId),this.initializeApplePay()}componentDidLoad(){o("paymentAmount",(()=>{this.initializeApplePay()})),o("authToken",(()=>{this.applePayService&&this.applePayService.setAuthToken(a.authToken)}))}watchPropsChange(){this.applePayService&&(this.applePayService.setApiBaseUrl(this.apiBaseUrl),this.applePayService.setAuthToken(a.authToken)),this.initializeApplePay()}async initializeApplePay(){try{if(this.isLoading=!0,this.error=null,!a.paymentAmount)return this.error="Missing required Apple Pay configuration",void(this.isLoading=!1);if(this.isAvailable=u.isApplePaySupported(),this.canMakePayments=u.canMakePayments(),!this.isAvailable)return this.error="Apple Pay is not supported on this device",void(this.isLoading=!1);if(!this.canMakePayments)return this.error="Apple Pay is not available",void(this.isLoading=!1);const t={merchantIdentifier:this.merchantIdentifier,displayName:this.merchantDisplayName,initiative:"web",initiativeContext:this.initiativeContext,buttonType:this.buttonType,buttonStyle:this.buttonStyle};this.applePayService.setAccountId(a.accountId),this.applePayService.initialize(t),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"}finally{this.isLoading=!1}}async isSupported(){return this.isAvailable&&this.canMakePayments}async getPaymentMethods(){return this.isAvailable?u.getDefaultSupportedNetworks():[]}async abort(){this.applePayService.abortPaymentSession(),this.isProcessing=!1,this.applePayCancelled.emit()}render(){return t(s,{key:"5c6b0e24eae8fef0c804cdf43a48e2cb8a444eb1"},t("div",{key:"e30b7113158b1029171320ea33334546d38d5fc1",class:"apple-pay-container"},t(b,{key:"52e5366d1a811c2b34d4fecadd3650b763abf819",isReady:!this.isLoading&&this.isAvailable&&this.canMakePayments&&!this.error}),!this.isLoading&&this.error&&t("div",{key:"a19439365bcea5c7769f2e211d2dc7e06710d507",class:"apple-pay-error",role:"alert"},t("span",{key:"b45c055af07ddecdd94138674c7ce36919f684f1",class:"error-icon"},"⚠️"),t("span",{key:"f5bfbf66f8d2cf5c6fdb8f61869d77b2c852b0f6",class:"error-message"},this.error)),!this.isLoading&&!this.error&&!this.isAvailable&&t("div",{key:"1d6567a56d834acec478ddd2abaa68a0851d1982",class:"apple-pay-unavailable"},t("span",{key:"17146e4c35a8d3f299e8aafb49a3e92c2d916f58",class:"unavailable-message"},"Apple Pay is not available on this device")),!this.isLoading&&!this.error&&this.isAvailable&&this.canMakePayments&&t(f,{key:"8719687c0297a3b8d550db8364e2e0bfd267c714",buttonType:this.buttonType,buttonStyle:this.buttonStyle,disabled:this.disabled,isProcessing:this.isProcessing,isAvailable:this.isAvailable,clickHandler:this.handleApplePayClick})),t("style",{key:"8b5eef7580d2017b2697541bc18874d1de13e260"},"\n .apple-pay-container {\n width: 100%;\n }\n\n .apple-pay-error {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px;\n background: #fef2f2;\n border: 1px solid #fecaca;\n border-radius: 8px;\n color: #dc2626;\n font-size: 14px;\n }\n\n .apple-pay-unavailable {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 12px;\n background: #f9fafb;\n border: 1px solid #e5e7eb;\n border-radius: 8px;\n color: #6b7280;\n font-size: 14px;\n }\n\n .error-icon {\n font-size: 16px;\n }\n "))}static get watchers(){return{merchantIdentifier:["watchPropsChange"],apiBaseUrl:["watchPropsChange"],buttonType:["watchPropsChange"],buttonStyle:["watchPropsChange"],disabled:["watchPropsChange"]}}};export{m as justifi_apple_pay}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as t,r as e,c as a}from"./p-kpoIU4v_.js";import"./p-9y5MOK55.js";import{a as s}from"./p-B7jE0g5_.js";import{C as i,a as r}from"./p-Cjcsf8ku.js";import{e as n}from"./p-Bou1Z4Bm.js";import{p as o}from"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{c,J as p}from"./p-
|
|
1
|
+
import{h as t,r as e,c as a}from"./p-kpoIU4v_.js";import"./p-9y5MOK55.js";import{a as s}from"./p-B7jE0g5_.js";import{C as i,a as r}from"./p-Cjcsf8ku.js";import{e as n}from"./p-Bou1Z4Bm.js";import{p as o}from"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{c,J as p}from"./p-Bq3TKeKM.js";import{g as h,a as d}from"./p-D2muobcE.js";import{P as f}from"./p-ObR0KZw0.js";import{T as l,l as u,a as m,b as y,c as b,d as _,e as j,f as g,g as T,h as k,i as w,j as v,k as C}from"./p-C8ll3Wwp.js";import{S as D}from"./p-CRFzwZW6.js";import{T as R}from"./p-CZfYo5-1.js";import{N as S,O as I}from"./p-D3G5aVLy.js";import"./p-7WIgS5RM.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-BmJrftKN.js";import"./p-Dj1uo4J3.js";import"./p-B8tUOqiv.js";const B={created_at:()=>t("th",{part:S,scope:"col",title:"The date and time each transaction was made"},"Processed On"),type:()=>t("th",{part:S,scope:"col",title:"The type of each transaction"},"Type"),id:()=>t("th",{part:S,scope:"col",title:"The unique identifier of each transaction"},"ID"),amount:()=>t("th",{part:S,scope:"col",title:"The dollar amount of each transaction",class:"text-end"},"Amount"),balance:()=>t("th",{part:S,scope:"col",title:"The running total amount of this payment that belongs to you",class:"text-end"},"Balance"),currency:()=>t("th",{part:S,scope:"col",title:"The currency of each transaction"},"Currency"),financial_transaction_id:()=>t("th",{part:S,scope:"col",title:"The unique identifier of the financial transaction associated with the payment balance transaction"},"Financial Transaction ID"),payment_id:()=>t("th",{part:S,scope:"col",title:"The unique identifier of the payment associated with the payment balance transaction"},"Payment ID"),payment_balance_txn_type:()=>t("th",{part:S,scope:"col",title:"The type of the payment balance transaction"},"Transaction Type"),source_id:()=>t("th",{part:S,scope:"col",title:"The unique identifier of the source object associated with the payment balance transaction"},"Source ID"),source_type:()=>t("th",{part:S,scope:"col",title:"The type of the source object associated with the payment balance transaction"},"Source Type")},F={ach_return:"ACH Return",ach_return_fee:"ACH Return Fee",dispute:"Dispute",dispute_fee:"Dispute Fee",dispute_fee_refund:"Dispute Fee Refund",dispute_refund:"Dispute Refund",payment:"Payment",payment_fee:"Fee",refund:"Refund",fee_refund:"Fee Refund",application_fee_returned:"Application Fee Returned",refund_failure:"Refund Failure",void:"Void"},x={created_at:(e,a)=>t("td",{part:I(a)},t("div",{class:"fw-bold"},s(e.created_at,{showDisplayDate:!0})),t("div",{class:"fw-bold"},s(e.created_at,{showTime:!0}))),type:(e,a)=>t("td",{part:I(a)},F[e.payment_balance_txn_type]),id:(e,a)=>t("td",{part:I(a)},e.id),amount:(e,a)=>t("td",{part:I(a),class:"text-end"},e.formattedPaymentAmount(e.amount)),balance:(e,a)=>t("td",{part:I(a),class:"text-end"},e.formattedPaymentAmount(e.balance)),currency:(e,a)=>t("td",{part:I(a)},e.currency),financial_transaction_id:(e,a)=>t("td",{part:I(a)},e.financial_transaction_id),payment_id:(e,a)=>t("td",{part:I(a)},e.payment_id),payment_balance_txn_type:(e,a)=>t("td",{part:I(a)},e.payment_balance_txn_type),source_id:(e,a)=>t("td",{part:I(a)},e.source_id),source_type:(e,a)=>t("td",{part:I(a)},e.source_type)},E=class{constructor(t){e(this,t),this.clickEvent=a(this,"click-event"),this.errorEvent=a(this,"error-event"),this.balanceTransactions=[],this.isLoading=!0,this.errorMessage=null,this.paging=o,this.pagingParams={},this.columns="created_at,type,id,amount,balance",this.handleClickPrevious=t=>{this.pagingParams={before_cursor:t},this.clickEvent.emit({name:R.previous})},this.handleClickNext=t=>{this.pagingParams={after_cursor:t},this.clickEvent.emit({name:R.next})},this.rowClickHandler=t=>{const e=t.target.closest("tr").dataset.rowEntityId;if(!e)return;const a=this.balanceTransactions.find((t=>t.id===e));this.clickEvent.emit({name:R.row,data:a})}}componentWillLoad(){this.transactionsTable=new l(this.balanceTransactions,this.columns,B,x),c(),this.analytics=new p(this),this.initializeApi()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeApi()}handleError(t,e,a){this.isLoading=!1,this.errorEvent.emit({errorCode:t,message:e,severity:a})}initializeApi(){this.paymentId&&this.authToken?(({id:t,authToken:e,service:a})=>async({params:s,onSuccess:r,onError:o,final:c})=>{var p;try{const c=await a.fetchPaymentTransactions(t,e,s);c.error?o({error:d(c.error),code:h(null===(p=c.error)||void 0===p?void 0:p.code),severity:i.ERROR}):r({balanceTransactions:c.data.map((t=>new n(t))),pagingInfo:Object.assign({},c.page_info)})}catch(t){const e=h(null==t?void 0:t.code);o({error:d(t),code:e,severity:i.ERROR})}finally{c()}})({id:this.paymentId,authToken:this.authToken,service:new f})({params:this.pagingParams,onSuccess:({balanceTransactions:t,pagingInfo:e})=>{this.balanceTransactions=t,this.paging=e,this.transactionsTable.collectionData=this.balanceTransactions},onError:({error:t,code:e,severity:a})=>{this.errorMessage=t.message,this.handleError(t,e,a)},final:()=>{this.isLoading=!1}}):(this.errorMessage="payment-id and auth-token props are required",this.handleError(r.MISSING_PROPS,this.errorMessage,i.ERROR))}get entityId(){return this.balanceTransactions.map((t=>t.id))}get showEmptyState(){return!this.isLoading&&!this.errorMessage&&this.transactionsTable.rowData.length<1}get showErrorState(){return!this.isLoading&&!!this.errorMessage}get showRowData(){return!this.showEmptyState&&!this.showErrorState&&!this.isLoading}render(){return t(D,{key:"38a9a8793dfb5580233d5e3b29898aa2535e2b25"},t(u,{key:"aa1f76189350b113ef5a2ca45b59b8f3ce72ea6a"},t(m,{key:"7013771ed2427d3328b30994bbf0dd1d06504f32"},t(y,{key:"4435db354f8d287cef3a309b162497b7fec91ca2"},t(b,{key:"1ffe66828969cff384feec3cee351a9c67ecec5d"},this.transactionsTable.columnData.map((t=>t)))),t(_,{key:"3881b1305dbb43eb77f32b089c648c69b3e652cc"},t(j,{key:"7c34d637cbbe65a1b1436adc2aadaa4145b9eafd",columnSpan:this.transactionsTable.columnKeys.length,isLoading:this.isLoading}),t(g,{key:"9a4a37fc8d014d4f396b1d26cf08e081288f4c24",isEmpty:this.showEmptyState,columnSpan:this.transactionsTable.columnKeys.length}),t(T,{key:"f1b3be8f21405aac5c51eaf4616d9fc4eea777db",columnSpan:this.transactionsTable.columnKeys.length,errorMessage:this.errorMessage}),this.showRowData&&this.transactionsTable.rowData.map(((e,a)=>t(k,{"data-test-id":"table-row","data-row-entity-id":this.entityId[a],onClick:this.rowClickHandler},e)))),this.paging&&t(w,{key:"a2ff725750e813a092e2e847af44182f0a8d86e3"},t(v,{key:"f1596791c4016d9a754d4ed29b48630220eda4c4"},t(C,{key:"f07b1a3a4c926c6317113d31a6a10481c5c81416",colSpan:this.transactionsTable.columnData.length},t("pagination-menu",{key:"3c8e84570bca8f9169c30b6aa2c68ad335c7b93a",paging:Object.assign(Object.assign({},this.paging),{handleClickPrevious:this.handleClickPrevious,handleClickNext:this.handleClickNext})})))))))}static get watchers(){return{pagingParams:["propChanged"],paymentId:["propChanged"],authToken:["propChanged"]}}};export{E as justifi_payment_transactions_list}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as s,h as i}from"./p-kpoIU4v_.js";import{B as e}from"./p-Cm_ywVHL.js";import{S as o}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import{c as a,J as r}from"./p-
|
|
1
|
+
import{r as t,c as s,h as i}from"./p-kpoIU4v_.js";import{B as e}from"./p-Cm_ywVHL.js";import{S as o}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import{c as a,J as r}from"./p-Bq3TKeKM.js";import"./p-9y5MOK55.js";import"./p-B7jE0g5_.js";import{C as p,a as h}from"./p-Cjcsf8ku.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{c as m}from"./p-BYakc1Om.js";import"./p-D3G5aVLy.js";import"./p-BmJrftKN.js";import"./p-Dj1uo4J3.js";import"./p-7WIgS5RM.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";const d=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.submitEvent=s(this,"submit-event"),this.submitButtonText="Submit",this.isLoading=!1}componentWillLoad(){a(),this.analytics=new r(this),this.authToken||(this.authToken=m.authToken),this.accountId||(this.accountId=m.accountId)}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}async tokenizePaymentMethod(t){let s;t&&t.preventDefault(),this.isLoading=!0;try{s=await this.paymentMethodOptionsRef.resolvePaymentMethod({isValid:!0}),s.error&&this.errorEvent.emit({errorCode:s.error.code,message:s.error.message,severity:p.ERROR})}catch(t){this.errorEvent.emit({errorCode:h.TOKENIZE_ERROR,message:t.message,severity:p.ERROR})}finally{return this.submitEvent.emit({response:s}),this.isLoading=!1,s}}async fillBillingForm(t){this.paymentMethodOptionsRef.fillBillingForm(t)}async validate(){return this.paymentMethodOptionsRef.validate()}render(){return i(o,{key:"6e7b234e3765b82dfe2451544921e3f6a96f7dec"},i("form",{key:"df5d244cae1b7204928e6c67a53901fa9bce0c23"},i("fieldset",{key:"792d260c13b348c00f0859ee715ff72e849333e1"},i("div",{key:"e75ce50e15fa074b31436fd1a031a1edb7be399d",class:"row gy-3"},i("div",{key:"34d1c5d25ad741acb0c91320018c8ec789d6fba4",class:"col-12"},i("justifi-payment-method-options",{key:"08cbb9393087384d9605414694e905b1a293db98",ref:t=>this.paymentMethodOptionsRef=t,"show-card":!this.disableCreditCard,"show-ach":!this.disableBankAccount,"show-bnpl":!1,paymentMethodGroupId:this.paymentMethodGroupId,"show-saved-payment-methods":!1,hideCardBillingForm:this.hideCardBillingForm,hideBankAccountBillingForm:this.hideBankAccountBillingForm,authToken:this.authToken,"account-id":this.accountId})),i("div",{key:"3cc39e4b7c637ad3876ed8b20aaba656552e04dd",class:"col-12"},i(e,{key:"ef5a9a545a8765666026400f8e6b23aa919521fb",variant:"primary",type:"submit",onClick:t=>this.tokenizePaymentMethod(t),isLoading:this.isLoading,"data-testid":"submit-button",hidden:this.hideSubmitButton},this.submitButtonText))))))}};export{d as justifi_tokenize_payment_method}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as s,r as i,c as t}from"./p-kpoIU4v_.js";import{c as r,F as e}from"./p-CR9D6mKt.js";import{b as o,a}from"./p-DSP8qjHL.js";import{i as p,a as h}from"./p-PgEzcvI6.js";import"./p-9y5MOK55.js";import"./p-B7jE0g5_.js";import{C as n,a as m}from"./p-Cjcsf8ku.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import{B as l,b as c}from"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{c as d,J as j}from"./p-Bq3TKeKM.js";import{B as u}from"./p-Cm_ywVHL.js";import{S as f}from"./p-CRFzwZW6.js";import{H as v}from"./p-Cc27pPPQ.js";import"./p-CZfYo5-1.js";import{S as b}from"./p-Bz8JT676.js";import{B as g}from"./p-XYgDHrVL.js";import{m as w,b as C}from"./p-5aA7gjr5.js";import{B}from"./p-DVPcHdzq.js";import"./p-BFTU3MAI.js";import"./p-CYBR4K2p.js";import"./p-BX8GieXu.js";import"./p-yH3TC3ZQ.js";import"./p-7WIgS5RM.js";import"./p-Dt-vy9Le.js";import"./p-BmJrftKN.js";import"./p-Dj1uo4J3.js";import"./p-D3G5aVLy.js";import"./p-D2muobcE.js";const y=r(Object.assign(Object.assign({},o().fields),{legal_address:h(),additional_questions:a(),representative:p("representative")})),D=()=>s("div",{class:"row gap-3"},s("div",{class:"col-12"},s(b,{width:"25%"})),s("div",{class:"col-12"},s(b,{width:"100%"})),s("div",{class:"col-12 d-flex gap-3"},s(b,{width:"50%"}),s(b,{width:"50%"})),s("div",{class:"col-12 d-flex gap-3"},s(b,{width:"65%"}),s(b,{width:"35%"}))),S=()=>s("div",{class:"row gap-5"},s("div",{class:"col-12"},s(b,{width:"40%",height:"40px"})),s(D,null),s(D,null),s(D,null)),k=class{constructor(s){i(this,s),this.submitEvent=t(this,"submit-event"),this.clickEvent=t(this,"click-event"),this.errorEvent=t(this,"error-event"),this.isLoading=!1,this.isSaving=!1,this.hideErrors=!1,this.formTitle="Business Information",this.removeTitle=!1,this.instantiateBusiness=s=>{const i=new l(s);this.formController.setInitialValues(Object.assign({},i))},this.sendData=async()=>{this.isSaving=!0;const s=this.formController.values.getValue(),i=this.formController.getInitialValues(),t=new l(Object.assign(Object.assign({},i),s)).payload;this.patchBusiness({payload:t,onSuccess:s=>{this.handleReponse(s)},onError:({error:s,code:i,severity:t})=>{this.errorMessage=s.message,this.errorEvent.emit({errorCode:i,message:s.message,severity:t})},final:()=>{this.isSaving=!1}})},this.validateAndSubmit=s=>{s.preventDefault(),this.formController.validateAndSubmit(this.sendData)}}componentWillLoad(){d(),this.analytics=new j(this),this.formController=new e(y),this.initializeApi()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}get title(){return this.removeTitle?"":this.formTitle}get disabledState(){return this.isSaving}get businessEndpoint(){return`entities/business/${this.businessId}`}initializeApi(){this.authToken&&this.businessId?(this.getBusiness=w({authToken:this.authToken,businessId:this.businessId,service:new B}),this.patchBusiness=C({authToken:this.authToken,businessId:this.businessId,service:new B}),this.getBusiness({onSuccess:s=>{this.instantiateBusiness(s.data)},onError:({error:s,code:i,severity:t})=>{this.errorMessage=s.message,this.errorEvent.emit({errorCode:i,message:s.message,severity:t})},final:()=>{this.isLoading=!1}})):this.errorEvent.emit({message:"auth-token and business-id are required",errorCode:m.MISSING_PROPS,severity:n.ERROR})}handleReponse(s){s.error&&(this.errorMessage=c.patchData),this.submitEvent.emit({response:s}),this.instantiateBusiness(s.data)}render(){return s(f,null,this.isLoading?s(S,null):s("form",{onSubmit:this.validateAndSubmit},s("div",{class:"row gap-3"},s(v,{text:this.title}),s("form-alert",{text:this.errorMessage,hideAlert:this.hideErrors}),s("div",{class:"col-12 mb-4"},s("justifi-business-core-info",{formController:this.formController})),s("div",{class:"col-12 mb-4"},s("justifi-legal-address-form",{formController:this.formController})),s("div",{class:"col-12 mb-4"},s("justifi-additional-questions",{formController:this.formController})),s("div",{class:"col-12 mb-4"},s("justifi-business-representative",{formController:this.formController})),s("div",{class:"col-12 d-flex flex-row-reverse"},s(u,{type:"submit",disabled:this.disabledState,variant:"primary",onClick:()=>this.clickEvent.emit({name:g.submit}),isLoading:this.isSaving},"Submit")))))}};export{k as justifi_business_form}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,h as t,c as s,H as i,g as o}from"./p-kpoIU4v_.js";import{S as r}from"./p-CRFzwZW6.js";import{B as a}from"./p-Cm_ywVHL.js";import{z as c,r as d}from"./p-D3G5aVLy.js";import{f as h}from"./p-B7jE0g5_.js";import{c as n,o as l}from"./p-BYakc1Om.js";import"./p-CZfYo5-1.js";import{H as p}from"./p-Cc27pPPQ.js";import{H as u,b as m,i as y}from"./p-vHbP4g3Q.js";import{H as f}from"./p-CLjv4frq.js";import{J as v,c as b}from"./p-DCuoHK4F.js";import"./p-9y5MOK55.js";import{C as k,a as j,b as C}from"./p-Cjcsf8ku.js";import{I as g}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as P,a as _}from"./p-D2muobcE.js";import{C as w}from"./p-C0EFqY0W.js";import"./p-7WIgS5RM.js";import"./p-BkRTy0ik.js";import"./p-Dj1uo4J3.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";const A=class{constructor(t){e(this,t),this.variant="primary",this.type="button"}render(){return t(r,{key:"89057d5d72b67b613e4846165ea8d2bf5c79482d"},t(a,{key:"2bfa0c22898e703a36fb59b1060da35b362f6efa",variant:this.variant,isLoading:this.isLoading,clickHandler:this.clickHandler,class:this.class,type:this.type,disabled:this.disabled,style:this.customStyle},this.text))}},E=class{constructor(t){e(this,t)}render(){return t(r,{key:"dbe9b02315fe34f0765b04d1f56758eeafbec247"},t("section",{key:"8d55dbe1ed13f4d565eac71600dc53c4d29f9d2f"},t("div",{key:"d3b27f48a23b448680abae596531905ea198b4b0"},t("div",{key:"1df204481e044414825de33640d3b13e73bd44a2",part:c},null==n?void 0:n.paymentDescription),t("div",{key:"7734088f6171a77e56cbf3434de7a892949812d4"},t("span",{key:"ed855b2d6f02d316dcdc5e8c6d3309b4919c560e",part:c},"Total")," ",t("span",{key:"c352cf6089c2c4d8b2fc57776acd45991880fe3f",part:c},h(+(null==n?void 0:n.totalAmount)))))))}},L=class{constructor(t){e(this,t),this.levels={h1:p,h2:u,h3:f},this.level="h1"}render(){return t(r,{key:"0ea6499e12267cc11baa3e88b24b06aae5add667"},t(this.levels[this.level],{key:"d2e1d462e946d129890187b320db0b8006f505f7",text:this.text,class:this.class}))}},M=class{constructor(t){e(this,t),this.errorEvent=s(this,"error-event"),this.submitEvent=s(this,"submit-event"),this.paymentMethodChangedEvent=s(this,"payment-method-changed"),this.savePaymentMethod=!1,this.handleApplePayCompleted=e=>{const{success:t,token:s,error:i}=e.detail;t&&s?(this.applePayToken=s,this.submitCheckoutWithApplePay()):(console.error("Apple Pay completed but failed:",i),this.errorEvent.emit({message:(null==i?void 0:i.message)||"Apple Pay payment failed",errorCode:j.TOKENIZE_ERROR,severity:k.ERROR}))},this.handleApplePayError=e=>{const{error:t}=e.detail;console.error("Apple Pay error:",t),this.errorEvent.emit({message:t||"Apple Pay error occurred",errorCode:j.TOKENIZE_ERROR,severity:k.ERROR})},this.handleApplePayCancelled=()=>{console.log("Apple Pay cancelled by user"),this.applePayToken=void 0}}connectedCallback(){this.observer=new MutationObserver((()=>{this.queryFormRefs(),this.setupApplePayListeners()})),this.observer.observe(this.hostEl,{childList:!0,subtree:!0}),n.checkoutId=this.checkoutId;const e={authToken:this.authToken,checkoutId:this.checkoutId,service:new w};this.getCheckout=(({authToken:e,checkoutId:t,service:s})=>async({onSuccess:i,onError:o})=>{var r;try{const a=await s.fetchCheckout(e,t);if(a.error)return o({error:_(a.error),code:P(null===(r=a.error)||void 0===r?void 0:r.code),severity:k.ERROR});i({checkout:a.data})}catch(e){const t=P(null==e?void 0:e.code);return o({error:e.message||e,code:t,severity:k.ERROR})}})(e),this.completeCheckout=(({authToken:e,checkoutId:t,service:s})=>async({payment:i,onSuccess:o,onError:r})=>{var a;try{const c=await s.complete(e,t,i);if(c.error)return r({error:_(c.error),code:P(null===(a=c.error)||void 0===a?void 0:a.code),severity:k.ERROR});o({checkout:c.data})}catch(e){const t=P(null==e?void 0:e.code);return r({error:e.message||e,code:t,severity:k.ERROR})}})(e),l("selectedPaymentMethod",(e=>{this.paymentMethodChangedEvent.emit(e)}))}componentWillLoad(){this.authToken&&this.checkoutId?(this.analytics=new v(this),b(),n.authToken=this.authToken,this.fetchCheckout(),m("set",(e=>{void 0!==y[e]&&this.fetchCheckout()}))):this.errorEvent.emit({message:C.NOT_AUTHENTICATED,errorCode:j.NOT_AUTHENTICATED,severity:k.ERROR})}componentDidLoad(){this.queryFormRefs(),this.setupApplePayListeners()}disconnectedCallback(){var e;null===(e=this.observer)||void 0===e||e.disconnect(),this.removeApplePayListeners()}fetchCheckout(){this.getCheckout&&this.getCheckout({onSuccess:({checkout:e})=>{e.status!==g.completed?e.status!==g.expired?this.updateStore(e):this.errorEvent.emit({message:C.CHECKOUT_EXPIRED,errorCode:j.CHECKOUT_EXPIRED,severity:k.ERROR}):this.errorEvent.emit({message:C.CHECKOUT_ALREADY_COMPLETED,errorCode:j.CHECKOUT_ALREADY_COMPLETED,severity:k.ERROR})},onError:e=>{this.errorEvent.emit({message:e.message,errorCode:j.FETCH_ERROR,severity:k.ERROR})}})}updateStore(e){var t,s,i,o;n.accountId=e.account_id,n.paymentMethods=e.payment_methods,n.paymentMethodGroupId=e.payment_method_group_id,n.paymentDescription=e.payment_description,n.totalAmount=e.total_amount,n.paymentAmount=e.payment_amount,n.bnplEnabled=e.payment_settings.bnpl_payments,n.bnplProviderClientId=null===(t=null==e?void 0:e.bnpl)||void 0===t?void 0:t.provider_client_id,n.bnplProviderMode=null===(s=null==e?void 0:e.bnpl)||void 0===s?void 0:s.provider_mode,n.bnplProviderApiVersion=null===(i=null==e?void 0:e.bnpl)||void 0===i?void 0:i.provider_api_version,n.bnplProviderCheckoutUrl=null===(o=null==e?void 0:e.bnpl)||void 0===o?void 0:o.provider_checkout_url}queryFormRefs(){this.paymentMethodFormRef=this.hostEl.querySelector("justifi-card-form, justifi-bank-account-form"),this.billingInformationFormRef=this.hostEl.querySelector("justifi-billing-information-form, justifi-postal-code-form"),this.insuranceFormRef=this.hostEl.querySelector("justifi-season-interruption-insurance"),this.sezzlePaymentMethodRef=this.hostEl.querySelector("justifi-sezzle-payment-method"),this.applePayRef=this.hostEl.querySelector("justifi-apple-pay")}setupApplePayListeners(){this.applePayRef&&(this.applePayRef.addEventListener("applePayCompleted",this.handleApplePayCompleted),this.applePayRef.addEventListener("applePayError",this.handleApplePayError),this.applePayRef.addEventListener("applePayCancelled",this.handleApplePayCancelled))}removeApplePayListeners(){this.applePayRef&&(this.applePayRef.removeEventListener("applePayCompleted",this.handleApplePayCompleted),this.applePayRef.removeEventListener("applePayError",this.handleApplePayError),this.applePayRef.removeEventListener("applePayCancelled",this.handleApplePayCancelled))}async submitCheckoutWithApplePay(){this.applePayToken?this.completeCheckout({payment:{payment_mode:"apple_pay",payment_token:this.applePayToken},onSuccess:({checkout:e})=>{this.submitEvent.emit({checkout:e,message:"Apple Pay checkout completed successfully"})},onError:e=>{this.errorEvent.emit({message:e.message,errorCode:j.COMPLETE_CHECKOUT_ERROR,severity:k.ERROR})}}):this.errorEvent.emit({message:"No Apple Pay token available",errorCode:j.TOKENIZE_ERROR,severity:k.ERROR})}async tokenizePaymentMethod(e){var t,s;const i=null!==(s=await(null===(t=this.billingInformationFormRef)||void 0===t?void 0:t.getValues()))&&void 0!==s?s:{},o=Object.assign(Object.assign({},e),i),r=Object.assign({accountId:n.accountId,payment_method_group_id:void 0},o);return this.savePaymentMethod&&(r.payment_method_group_id=n.paymentMethodGroupId),this.paymentMethodFormRef.tokenize({clientId:this.authToken,paymentMethodMetadata:r,account:n.accountId})}async getPaymentMethod(e){if(this.applePayToken)return"apple_pay_token";if(!this.paymentMethodFormRef)return n.selectedPaymentMethod;const{error:t,id:s}=await this.tokenizePaymentMethod(e);if(!t)return s;this.errorEvent.emit({errorCode:t.code,message:t.message,severity:k.ERROR})}async validate(){var e,t;if(this.applePayToken)return!0;const s=[null===(e=this.paymentMethodFormRef)||void 0===e?void 0:e.validate(),null===(t=this.billingInformationFormRef)||void 0===t?void 0:t.validate()];return this.insuranceFormRef&&s.push(this.insuranceFormRef.validate()),(await Promise.all(s)).every((e=>!1!==(null==e?void 0:e.isValid)))}async submitCheckout(e){var t;if(this.applePayToken)return void await this.submitCheckoutWithApplePay();if(!await this.validate())return void this.errorEvent.emit({message:"Please fill in all required fields.",errorCode:j.VALIDATION_ERROR,severity:k.ERROR});let s;if("sezzle"===n.selectedPaymentMethod){const e=this.insuranceFormRef?await this.insuranceFormRef.validate():{isValid:!0},i=await this.sezzlePaymentMethodRef.resolvePaymentMethod(e);if(i.error)return void this.errorEvent.emit({message:i.error.message,errorCode:j.TOKENIZE_ERROR,severity:k.ERROR});"success"===(null===(t=i.bnpl)||void 0===t?void 0:t.status)&&(s={payment_mode:"bnpl",payment_token:void 0})}else{const t=await this.getPaymentMethod(e);if(!t)return void this.errorEvent.emit({message:"Payment method tokenization failed.",errorCode:j.TOKENIZE_ERROR,severity:k.ERROR});s={payment_mode:"ecom",payment_token:t}}this.completeCheckout({payment:s,onSuccess:({checkout:e})=>{this.submitEvent.emit({checkout:e,message:"Checkout completed successfully"})},onError:e=>{this.errorEvent.emit({message:e.message,errorCode:j.COMPLETE_CHECKOUT_ERROR,severity:k.ERROR})}})}async setSelectedPaymentMethod(e){n.selectedPaymentMethod=e}render(){return t(i,{key:"307608e8cd41e1c262dbca6cda7b0bfc8855dedf"})}get hostEl(){return o(this)}},B=class{constructor(t){e(this,t)}render(){return t(r,{key:"e9069cbe6668585daa972c3d226ef2a901a0b003",class:"payment-method"},t("div",{key:"9ec14865488d43f8007c481a8ba030b5415abf96",class:"radio-list-item p-3",part:d,onClick:this.clickHandler,hidden:this.radioButtonHidden},t("form-control-radio",{key:"146ee9bc2cfc57192db519643f18ed672ac12e77",name:"paymentMethodType",value:this.paymentMethodOptionId,checked:this.isSelected,label:this.label})))}};export{A as justifi_button,E as justifi_checkout_summary,L as justifi_header,M as justifi_modular_checkout,B as payment_method_option}
|
|
1
|
+
import{r as e,h as t,c as s,H as i,g as o}from"./p-kpoIU4v_.js";import{S as r}from"./p-CRFzwZW6.js";import{B as a}from"./p-Cm_ywVHL.js";import{z as c,r as d}from"./p-D3G5aVLy.js";import{f as h}from"./p-B7jE0g5_.js";import{c as n,o as l}from"./p-BYakc1Om.js";import"./p-CZfYo5-1.js";import{H as p}from"./p-Cc27pPPQ.js";import{H as u,b as m,i as y}from"./p-vHbP4g3Q.js";import{H as f}from"./p-CLjv4frq.js";import{J as v,c as b}from"./p-Bq3TKeKM.js";import"./p-9y5MOK55.js";import{C as k,a as j,b as C}from"./p-Cjcsf8ku.js";import{I as g}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as P,a as _}from"./p-D2muobcE.js";import{C as w}from"./p-C0EFqY0W.js";import"./p-7WIgS5RM.js";import"./p-BmJrftKN.js";import"./p-Dj1uo4J3.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";const M=class{constructor(t){e(this,t),this.variant="primary",this.type="button"}render(){return t(r,{key:"89057d5d72b67b613e4846165ea8d2bf5c79482d"},t(a,{key:"2bfa0c22898e703a36fb59b1060da35b362f6efa",variant:this.variant,isLoading:this.isLoading,clickHandler:this.clickHandler,class:this.class,type:this.type,disabled:this.disabled,style:this.customStyle},this.text))}},A=class{constructor(t){e(this,t)}render(){return t(r,{key:"dbe9b02315fe34f0765b04d1f56758eeafbec247"},t("section",{key:"8d55dbe1ed13f4d565eac71600dc53c4d29f9d2f"},t("div",{key:"d3b27f48a23b448680abae596531905ea198b4b0"},t("div",{key:"1df204481e044414825de33640d3b13e73bd44a2",part:c},null==n?void 0:n.paymentDescription),t("div",{key:"7734088f6171a77e56cbf3434de7a892949812d4"},t("span",{key:"ed855b2d6f02d316dcdc5e8c6d3309b4919c560e",part:c},"Total")," ",t("span",{key:"c352cf6089c2c4d8b2fc57776acd45991880fe3f",part:c},h(+(null==n?void 0:n.totalAmount)))))))}},E=class{constructor(t){e(this,t),this.levels={h1:p,h2:u,h3:f},this.level="h1"}render(){return t(r,{key:"0ea6499e12267cc11baa3e88b24b06aae5add667"},t(this.levels[this.level],{key:"d2e1d462e946d129890187b320db0b8006f505f7",text:this.text,class:this.class}))}},L=class{constructor(t){e(this,t),this.errorEvent=s(this,"error-event"),this.submitEvent=s(this,"submit-event"),this.paymentMethodChangedEvent=s(this,"payment-method-changed"),this.savePaymentMethod=!1,this.handleApplePayCompleted=e=>{const{success:t,token:s,error:i}=e.detail;t&&s?(this.applePayToken=s,this.submitCheckoutWithApplePay()):(console.error("Apple Pay completed but failed:",i),this.errorEvent.emit({message:(null==i?void 0:i.message)||"Apple Pay payment failed",errorCode:j.TOKENIZE_ERROR,severity:k.ERROR}))},this.handleApplePayError=e=>{const{error:t}=e.detail;console.error("Apple Pay error:",t),this.errorEvent.emit({message:t||"Apple Pay error occurred",errorCode:j.TOKENIZE_ERROR,severity:k.ERROR})},this.handleApplePayCancelled=()=>{console.log("Apple Pay cancelled by user"),this.applePayToken=void 0}}connectedCallback(){this.observer=new MutationObserver((()=>{this.queryFormRefs(),this.setupApplePayListeners()})),this.observer.observe(this.hostEl,{childList:!0,subtree:!0}),n.checkoutId=this.checkoutId;const e={authToken:this.authToken,checkoutId:this.checkoutId,service:new w};this.getCheckout=(({authToken:e,checkoutId:t,service:s})=>async({onSuccess:i,onError:o})=>{var r;try{const a=await s.fetchCheckout(e,t);if(a.error)return o({error:_(a.error),code:P(null===(r=a.error)||void 0===r?void 0:r.code),severity:k.ERROR});i({checkout:a.data})}catch(e){const t=P(null==e?void 0:e.code);return o({error:e.message||e,code:t,severity:k.ERROR})}})(e),this.completeCheckout=(({authToken:e,checkoutId:t,service:s})=>async({payment:i,onSuccess:o,onError:r})=>{var a;try{const c=await s.complete(e,t,i);if(c.error)return r({error:_(c.error),code:P(null===(a=c.error)||void 0===a?void 0:a.code),severity:k.ERROR});o({checkout:c.data})}catch(e){const t=P(null==e?void 0:e.code);return r({error:e.message||e,code:t,severity:k.ERROR})}})(e),l("selectedPaymentMethod",(e=>{this.paymentMethodChangedEvent.emit(e)}))}componentWillLoad(){this.authToken&&this.checkoutId?(this.analytics=new v(this),b(),n.authToken=this.authToken,this.fetchCheckout(),m("set",(e=>{void 0!==y[e]&&this.fetchCheckout()}))):this.errorEvent.emit({message:C.NOT_AUTHENTICATED,errorCode:j.NOT_AUTHENTICATED,severity:k.ERROR})}componentDidLoad(){this.queryFormRefs(),this.setupApplePayListeners()}disconnectedCallback(){var e;null===(e=this.observer)||void 0===e||e.disconnect(),this.removeApplePayListeners()}fetchCheckout(){this.getCheckout&&this.getCheckout({onSuccess:({checkout:e})=>{e.status!==g.completed?e.status!==g.expired?this.updateStore(e):this.errorEvent.emit({message:C.CHECKOUT_EXPIRED,errorCode:j.CHECKOUT_EXPIRED,severity:k.ERROR}):this.errorEvent.emit({message:C.CHECKOUT_ALREADY_COMPLETED,errorCode:j.CHECKOUT_ALREADY_COMPLETED,severity:k.ERROR})},onError:e=>{this.errorEvent.emit({message:e.message,errorCode:j.FETCH_ERROR,severity:k.ERROR})}})}updateStore(e){var t,s,i,o;n.accountId=e.account_id,n.paymentMethods=e.payment_methods,n.paymentMethodGroupId=e.payment_method_group_id,n.paymentDescription=e.payment_description,n.totalAmount=e.total_amount,n.paymentAmount=e.payment_amount,n.bnplEnabled=e.payment_settings.bnpl_payments,n.bnplProviderClientId=null===(t=null==e?void 0:e.bnpl)||void 0===t?void 0:t.provider_client_id,n.bnplProviderMode=null===(s=null==e?void 0:e.bnpl)||void 0===s?void 0:s.provider_mode,n.bnplProviderApiVersion=null===(i=null==e?void 0:e.bnpl)||void 0===i?void 0:i.provider_api_version,n.bnplProviderCheckoutUrl=null===(o=null==e?void 0:e.bnpl)||void 0===o?void 0:o.provider_checkout_url}queryFormRefs(){this.paymentMethodFormRef=this.hostEl.querySelector("justifi-card-form, justifi-bank-account-form"),this.billingInformationFormRef=this.hostEl.querySelector("justifi-billing-information-form, justifi-postal-code-form"),this.insuranceFormRef=this.hostEl.querySelector("justifi-season-interruption-insurance"),this.sezzlePaymentMethodRef=this.hostEl.querySelector("justifi-sezzle-payment-method"),this.applePayRef=this.hostEl.querySelector("justifi-apple-pay")}setupApplePayListeners(){this.applePayRef&&(this.applePayRef.addEventListener("applePayCompleted",this.handleApplePayCompleted),this.applePayRef.addEventListener("applePayError",this.handleApplePayError),this.applePayRef.addEventListener("applePayCancelled",this.handleApplePayCancelled))}removeApplePayListeners(){this.applePayRef&&(this.applePayRef.removeEventListener("applePayCompleted",this.handleApplePayCompleted),this.applePayRef.removeEventListener("applePayError",this.handleApplePayError),this.applePayRef.removeEventListener("applePayCancelled",this.handleApplePayCancelled))}async submitCheckoutWithApplePay(){this.applePayToken?this.completeCheckout({payment:{payment_mode:"apple_pay",payment_token:this.applePayToken},onSuccess:({checkout:e})=>{this.submitEvent.emit({checkout:e,message:"Apple Pay checkout completed successfully"})},onError:e=>{this.errorEvent.emit({message:e.message,errorCode:j.COMPLETE_CHECKOUT_ERROR,severity:k.ERROR})}}):this.errorEvent.emit({message:"No Apple Pay token available",errorCode:j.TOKENIZE_ERROR,severity:k.ERROR})}async tokenizePaymentMethod(e){var t,s;const i=null!==(s=await(null===(t=this.billingInformationFormRef)||void 0===t?void 0:t.getValues()))&&void 0!==s?s:{},o=Object.assign(Object.assign({},e),i),r=Object.assign({accountId:n.accountId,payment_method_group_id:void 0},o);return this.savePaymentMethod&&(r.payment_method_group_id=n.paymentMethodGroupId),this.paymentMethodFormRef.tokenize({clientId:this.authToken,paymentMethodMetadata:r,account:n.accountId})}async getPaymentMethod(e){if(this.applePayToken)return"apple_pay_token";if(!this.paymentMethodFormRef)return n.selectedPaymentMethod;const{error:t,id:s}=await this.tokenizePaymentMethod(e);if(!t)return s;this.errorEvent.emit({errorCode:t.code,message:t.message,severity:k.ERROR})}async validate(){var e,t;if(this.applePayToken)return!0;const s=[null===(e=this.paymentMethodFormRef)||void 0===e?void 0:e.validate(),null===(t=this.billingInformationFormRef)||void 0===t?void 0:t.validate()];return this.insuranceFormRef&&s.push(this.insuranceFormRef.validate()),(await Promise.all(s)).every((e=>!1!==(null==e?void 0:e.isValid)))}async submitCheckout(e){var t;if(this.applePayToken)return void await this.submitCheckoutWithApplePay();if(!await this.validate())return void this.errorEvent.emit({message:"Please fill in all required fields.",errorCode:j.VALIDATION_ERROR,severity:k.ERROR});let s;if("sezzle"===n.selectedPaymentMethod){const e=this.insuranceFormRef?await this.insuranceFormRef.validate():{isValid:!0},i=await this.sezzlePaymentMethodRef.resolvePaymentMethod(e);if(i.error)return void this.errorEvent.emit({message:i.error.message,errorCode:j.TOKENIZE_ERROR,severity:k.ERROR});"success"===(null===(t=i.bnpl)||void 0===t?void 0:t.status)&&(s={payment_mode:"bnpl",payment_token:void 0})}else{const t=await this.getPaymentMethod(e);if(!t)return void this.errorEvent.emit({message:"Payment method tokenization failed.",errorCode:j.TOKENIZE_ERROR,severity:k.ERROR});s={payment_mode:"ecom",payment_token:t}}this.completeCheckout({payment:s,onSuccess:({checkout:e})=>{this.submitEvent.emit({checkout:e,message:"Checkout completed successfully"})},onError:e=>{this.errorEvent.emit({message:e.message,errorCode:j.COMPLETE_CHECKOUT_ERROR,severity:k.ERROR})}})}async setSelectedPaymentMethod(e){n.selectedPaymentMethod=e}render(){return t(i,{key:"307608e8cd41e1c262dbca6cda7b0bfc8855dedf"})}get hostEl(){return o(this)}},B=class{constructor(t){e(this,t)}render(){return t(r,{key:"e9069cbe6668585daa972c3d226ef2a901a0b003",class:"payment-method"},t("div",{key:"9ec14865488d43f8007c481a8ba030b5415abf96",class:"radio-list-item p-3",part:d,onClick:this.clickHandler,hidden:this.radioButtonHidden},t("form-control-radio",{key:"146ee9bc2cfc57192db519643f18ed672ac12e77",name:"paymentMethodType",value:this.paymentMethodOptionId,checked:this.isSelected,label:this.label})))}};export{M as justifi_button,A as justifi_checkout_summary,E as justifi_header,L as justifi_modular_checkout,B as payment_method_option}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r,c as s,h as t}from"./p-kpoIU4v_.js";import{S as i}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import{c as
|
|
1
|
+
import{r,c as s,h as t}from"./p-kpoIU4v_.js";import{S as i}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import{c as e,J as o}from"./p-Bq3TKeKM.js";import{d as a}from"./p-DSekXpCa.js";import"./p-9y5MOK55.js";import"./p-B7jE0g5_.js";import{C as n,a as p}from"./p-Cjcsf8ku.js";import{g as m}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as c,a as d}from"./p-D2muobcE.js";import{A as h}from"./p-Dj1uo4J3.js";import"./p-BmJrftKN.js";import"./p-D3G5aVLy.js";import"./p-DCDU6JB3.js";import"./p-7WIgS5RM.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";const l=h();class u{async fetchTerminalOrders(r,s,t){return l.get({endpoint:"terminals/orders",params:t,headers:{account:r},authToken:s})}}const j=class{constructor(t){r(this,t),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.columns=a,this.handleErrorEvent=r=>{this.errorMessage=r.detail.message,this.errorEvent.emit(r.detail)}}componentWillLoad(){e(),this.analytics=new o(this),this.initializeGetData()}disconnectedCallback(){var r;null===(r=this.analytics)||void 0===r||r.cleanup()}initializeGetData(){this.accountId&&this.authToken?this.getTerminalOrders=(({id:r,authToken:s,service:t})=>async({params:i,onSuccess:e,onError:o,final:a})=>{var p,h;try{const a=await t.fetchTerminalOrders(r,s,i);if(a.error)return o({error:d(a.error),code:c(null===(h=a.error)||void 0===h?void 0:h.code),severity:n.ERROR});{const r=Object.assign({},a.page_info);e({terminalOrders:(null===(p=a.data)||void 0===p?void 0:p.map((r=>new m(r))))||[],pagingInfo:r})}}catch(r){const s=c(null==r?void 0:r.code);return o({error:r.message||r,code:s,severity:n.ERROR})}finally{return a()}})({id:this.accountId,authToken:this.authToken,service:new u}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:p.MISSING_PROPS,message:this.errorMessage,severity:n.ERROR}))}render(){return t(i,{key:"2c853865fea3d5d1cbb531474e6caefdeb26bf75"},t("terminal-orders-list-core",{key:"15591658366c6e127bb449c261dd980406025203",getTerminalOrders:this.getTerminalOrders,"onError-event":this.handleErrorEvent,columns:this.columns}))}};export{j as justifi_terminal_orders_list}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s,c as i,h as t}from"./p-kpoIU4v_.js";import{E as
|
|
1
|
+
import{r as s,c as i,h as t}from"./p-kpoIU4v_.js";import{E as r}from"./p-CEYGUVns.js";import{B as o}from"./p-DVPcHdzq.js";import{m as p}from"./p-DH8F0bsw.js";import{C as e,a as m}from"./p-Cjcsf8ku.js";import{c as n,J as h}from"./p-Bq3TKeKM.js";import"./p-D3G5aVLy.js";import"./p-Dj1uo4J3.js";import"./p-9y5MOK55.js";import"./p-7WIgS5RM.js";import"./p-B7jE0g5_.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-7MWRbTXI.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-D2muobcE.js";import"./p-BmJrftKN.js";const a=class{constructor(t){s(this,t),this.errorEvent=i(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=s=>{this.errorMessage=s.detail.message,this.errorEvent.emit(s.detail)}}componentWillLoad(){n(),this.analytics=new h(this),this.initializeGetBusiness()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}initializeGetBusiness(){if(!this.businessId||!this.authToken)return this.errorMessage="Invalid business id or auth token",void this.errorEvent.emit({errorCode:m.MISSING_PROPS,message:this.errorMessage,severity:e.ERROR});this.getBusiness=p({id:this.businessId,authToken:this.authToken,service:new o})}render(){return this.errorMessage?r(this.errorMessage):t("business-details-core",{getBusiness:this.getBusiness,"onError-event":this.handleErrorEvent})}};export{a as justifi_business_details}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={name:"@justifi/webcomponents",version:"5.7.6-rc-11"};export{e as p}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as t}from"./p-
|
|
1
|
+
import{p as t}from"./p-BmJrftKN.js";import{A as s}from"./p-Dj1uo4J3.js";import"./p-Cjcsf8ku.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";const i=s();class e{async record(t){return i.post({endpoint:"analytics",body:t})}}class o{constructor(t){this.handleCustomEvent=async t=>{await this.service.record(t)},window.location.origin.includes("localhost")||window.location.origin.includes("storybook")||(this.service=new e,this.componentInstance=t,this.setUpBasicData(),this.setupLifecycleTracking(),this.trackCustomEvents())}get resourceId(){return this.componentInstance.accountId||this.componentInstance.businessId||this.componentInstance.paymentId||this.componentInstance.payoutId||this.componentInstance.checkoutId}setUpBasicData(){this.basicData={component_name:this.componentInstance.tagName,component_version:t.version,client_user_agent:navigator.userAgent,client_platform:navigator.userAgent,client_origin:window.location.origin,resource_id:this.resourceId}}trackCustomEvents(){this.eventEmitters=["submit-event","error-event"],this.eventEmitters.forEach((t=>{"function"==typeof this.componentInstance.addEventListener&&this.componentInstance.addEventListener(t,(s=>this.handleCustomEvent({event_type:t,data:Object.assign(Object.assign({},this.basicData),{error:s.detail})})))}))}setupLifecycleTracking(){const t=this.componentInstance.componentDidLoad;this.componentInstance.componentDidLoad=()=>{if(this.service.record({event_type:"init",data:this.basicData}),t)return t.apply(this.componentInstance)}}cleanup(){this.eventEmitters&&this.eventEmitters.forEach((t=>{this.componentInstance.removeEventListener(t,this.handleCustomEvent)}))}}const n=async()=>{const s=t.version,i=t.name,e=await(async t=>{const s=await fetch("https://registry.npmjs.org/"+t+"/latest");return(await s.json()).version})(i),o=e.replace(/-rc.*/,""),n=s.split("."),r=e.split(".");n[0]!==r[0]&&console.warn(`The package ${i} is out of date. The latest version is ${o}. Please update.`)};export{o as J,n as c}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as s,h as r}from"./p-kpoIU4v_.js";import{P as i}from"./p-ObR0KZw0.js";import"./p-9y5MOK55.js";import"./p-B7jE0g5_.js";import{C as o,a as e}from"./p-Cjcsf8ku.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import{a as p}from"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as a,a as n}from"./p-D2muobcE.js";import{c as m,J as c}from"./p-
|
|
1
|
+
import{r as t,c as s,h as r}from"./p-kpoIU4v_.js";import{P as i}from"./p-ObR0KZw0.js";import"./p-9y5MOK55.js";import"./p-B7jE0g5_.js";import{C as o,a as e}from"./p-Cjcsf8ku.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import{a as p}from"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as a,a as n}from"./p-D2muobcE.js";import{c as m,J as c}from"./p-Bq3TKeKM.js";import{S as h}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import{d as j}from"./p-B2csvKrZ.js";import"./p-Dj1uo4J3.js";import"./p-7WIgS5RM.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-BmJrftKN.js";import"./p-BvyiDejp.js";import"./p-DCDU6JB3.js";import"./p-D3G5aVLy.js";const d=class{constructor(r){t(this,r),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.columns=j,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){m(),this.analytics=new c(this),this.initializeGetPayments()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetPayments()}initializeGetPayments(){this.accountId&&this.authToken?this.getPayments=(({id:t,authToken:s,service:r})=>async({params:i,onSuccess:e,onError:m,final:c})=>{var h,j;try{const c=await r.fetchPayments(t,s,i);if(c.error)return m({error:n(c.error),code:a(null===(j=c.error)||void 0===j?void 0:j.code),severity:o.ERROR});{const t=Object.assign({},c.page_info);e({payments:(null===(h=c.data)||void 0===h?void 0:h.map((t=>new p(t))))||[],pagingInfo:t})}}catch(t){const s=a(null==t?void 0:t.code);return m({error:t.message||t,code:s,severity:o.ERROR})}finally{return c()}})({id:this.accountId,authToken:this.authToken,service:new i}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:e.MISSING_PROPS,message:this.errorMessage,severity:o.ERROR}))}render(){return r(h,{key:"346d4f307320d44c5103a3d259bef61e08b4779b"},r("payments-list-core",{key:"9e5283017a8d56fd274754b81942e293686d874b",getPayments:this.getPayments,"onError-event":this.handleErrorEvent,columns:this.columns}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{d as justifi_payments_list}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as s,h as i}from"./p-kpoIU4v_.js";import{C as o,a as r}from"./p-Cjcsf8ku.js";import{c as e,J as a}from"./p-
|
|
1
|
+
import{r as t,c as s,h as i}from"./p-kpoIU4v_.js";import{C as o,a as r}from"./p-Cjcsf8ku.js";import{c as e,J as a}from"./p-Bq3TKeKM.js";import{P as p}from"./p-Sz-UKsNL.js";import"./p-9y5MOK55.js";import"./p-B7jE0g5_.js";import{P as n}from"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as c,a as h}from"./p-D2muobcE.js";import{m}from"./p-DYGIC0QH.js";import{m as u,S as j}from"./p-Dv7YEshZ.js";import{S as d}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import{d as l}from"./p-B9GgcQ-7.js";import"./p-BmJrftKN.js";import"./p-Dj1uo4J3.js";import"./p-7WIgS5RM.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-BFL-wXPM.js";import"./p-DCDU6JB3.js";import"./p-D3G5aVLy.js";const f=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.columns=l,this.handleOnError=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){e(),this.analytics=new a(this),this.initializeGetData()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetData()}initializeGetData(){this.initializePayoutsServices(),this.initializeGetSubAccounts()}initializePayoutsServices(){if(this.accountId&&this.authToken){const t={id:this.accountId,authToken:this.authToken,service:new p};this.getPayouts=(({id:t,authToken:s,service:i})=>async({params:r,onSuccess:e,onError:a})=>{var p,m;try{const u=await i.fetchPayouts(t,s,r);if(u.error)return a({error:h(u.error),code:c(null===(m=u.error)||void 0===m?void 0:m.code),severity:o.ERROR});{const t=Object.assign({},u.page_info);e({payouts:(null===(p=u.data)||void 0===p?void 0:p.map((t=>new n(t))))||[],pagingInfo:t})}}catch(t){const s=c(null==t?void 0:t.code);return a({error:t.message||t,code:s,severity:o.ERROR})}})(t),this.getPayoutCSV=m(t)}else this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:r.MISSING_PROPS,message:this.errorMessage,severity:o.ERROR})}initializeGetSubAccounts(){this.accountId&&this.authToken&&(this.getSubAccounts=u({accountId:this.accountId,authToken:this.authToken,service:new j}))}render(){return i(d,{key:"d794ffd782737a60ee1473f9259dc6b482a88ab7"},i("payouts-list-core",{key:"35a6aab5504fb978b9ecd22c0e805f8e7c806dba",getPayouts:this.getPayouts,getPayoutCSV:this.getPayoutCSV,getSubAccounts:this.getSubAccounts,"onError-event":this.handleOnError,columns:this.columns}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{f as justifi_payouts_list}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s,c as t,h as r}from"./p-kpoIU4v_.js";import{A as o}from"./p-Dj1uo4J3.js";import{C as i,a as e}from"./p-Cjcsf8ku.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as a,a as p}from"./p-D2muobcE.js";import{E as n}from"./p-CEYGUVns.js";import{c as h,J as c}from"./p-
|
|
1
|
+
import{r as s,c as t,h as r}from"./p-kpoIU4v_.js";import{A as o}from"./p-Dj1uo4J3.js";import{C as i,a as e}from"./p-Cjcsf8ku.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{g as a,a as p}from"./p-D2muobcE.js";import{E as n}from"./p-CEYGUVns.js";import{c as h,J as c}from"./p-Bq3TKeKM.js";import"./p-9y5MOK55.js";import"./p-7WIgS5RM.js";import"./p-B7jE0g5_.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-D3G5aVLy.js";import"./p-BmJrftKN.js";const m=o();class u{async fetchGrossVolumeChartData(s,t){return m.get({endpoint:`account/${s}/reports/gross_volume`,authToken:t})}}const j=class{constructor(r){s(this,r),this.errorEvent=t(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=s=>{this.errorMessage=s.detail.message,this.errorEvent.emit(s.detail)}}componentWillLoad(){h(),this.analytics=new c(this),this.initializeGetGrossPayment()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}propChanged(){this.initializeGetGrossPayment()}initializeGetGrossPayment(){this.accountId&&this.authToken?this.getGrossPayment=(({id:s,authToken:t,service:r})=>async({onSuccess:o,onError:e})=>{var n;try{const h=await r.fetchGrossVolumeChartData(s,t);h.error?e({error:p(h.error),code:a(null===(n=h.error)||void 0===n?void 0:n.code),severity:i.ERROR}):o(h.data)}catch(s){const t=a(null==s?void 0:s.code);e({error:p(s),code:t,severity:i.ERROR})}})({id:this.accountId,authToken:this.authToken,service:new u}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:e.MISSING_PROPS,message:this.errorMessage,severity:i.ERROR}))}render(){return this.errorMessage?n(this.errorMessage):r("gross-payment-chart-core",{getGrossPayment:this.getGrossPayment,"onError-event":this.handleErrorEvent})}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{j as justifi_gross_payment_chart}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as t,r as e,c as a}from"./p-kpoIU4v_.js";import{c as i}from"./p-9y5MOK55.js";import{a as s}from"./p-B7jE0g5_.js";import{C as o,a as r}from"./p-Cjcsf8ku.js";import{f as c}from"./p-Bou1Z4Bm.js";import{p as n}from"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{c as p,J as d}from"./p-
|
|
1
|
+
import{h as t,r as e,c as a}from"./p-kpoIU4v_.js";import{c as i}from"./p-9y5MOK55.js";import{a as s}from"./p-B7jE0g5_.js";import{C as o,a as r}from"./p-Cjcsf8ku.js";import{f as c}from"./p-Bou1Z4Bm.js";import{p as n}from"./p-CLHwhyvu.js";import"./p-BDUTtU21.js";import"./p-BlJnA265.js";import"./p-7MWRbTXI.js";import{c as p,J as d}from"./p-Bq3TKeKM.js";import{g as h,a as l}from"./p-D2muobcE.js";import{P as f}from"./p-Sz-UKsNL.js";import{T as u,l as m,a as y,b,c as _,d as w,e as j,f as T,g as v,h as g,i as k,j as D,k as C}from"./p-C8ll3Wwp.js";import{S as I}from"./p-CRFzwZW6.js";import{T as S}from"./p-CZfYo5-1.js";import{N as P,O}from"./p-D3G5aVLy.js";import"./p-7WIgS5RM.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-BmJrftKN.js";import"./p-Dj1uo4J3.js";import"./p-B8tUOqiv.js";const q={id:()=>t("th",{part:P,scope:"col",title:"The unique identifier of each transaction"},"ID"),account_id:()=>t("th",{part:P,scope:"col",title:"The unique identifier of the account associated with each transaction"},"Account ID"),payout_id:()=>t("th",{part:P,scope:"col",title:"The unique identifier of the payout associated with each transaction"},"Payout ID"),financial_transaction_id:()=>t("th",{part:P,scope:"col",title:"The unique identifier of the financial transaction associated with the payment balance transaction"},"Financial Transaction ID"),amount:()=>t("th",{part:P,scope:"col",title:"The dollar amount of each transaction"},"Amount"),fee:()=>t("th",{part:P,scope:"col",title:"The fee associated with each transaction"},"Fee"),net:()=>t("th",{part:P,scope:"col",title:"The net amount of each transaction"},"Net"),currency:()=>t("th",{part:P,scope:"col",title:"The currency of each transaction"},"Currency"),description:()=>t("th",{part:P,scope:"col",title:"The description of each transaction"},"Description"),source_id:()=>t("th",{part:P,scope:"col",title:"The unique identifier of the source object associated with the payment balance transaction"},"Source ID"),txn_type:()=>t("th",{part:P,scope:"col",title:"The type of each transaction"},"Type"),created_at:()=>t("th",{part:P,scope:"col",title:"The date and time each transaction was made"},"Processed On"),available_on:()=>t("th",{part:P,scope:"col",title:"The date and time each transaction will be available"},"Available On"),updated_at:()=>t("th",{part:P,scope:"col",title:"The date and time each transaction was last updated"},"Updated On")},B={fee:"Fee",payment:"Payment",payout:"Payout",seller_payment_refund:"Seller Payment Refund",dispute_amount_collected:"Dispute Amount Collected",dispute_fee_collected:"Dispute Fee Collected",seller_payment:"Seller Payment",transfer:"Transfer",partner_platform_proceeds_credit:"Partner Platform Proceeds Credit"},E={id:e=>t("td",{part:O(e.id)},e.id),account_id:e=>t("td",{part:O(e.account_id)},e.account_id),payout_id:e=>t("td",{part:O(e.payout_id)},e.payout_id),financial_transaction_id:e=>t("td",{part:O(e.financial_transaction_id)},e.financial_transaction_id),amount:e=>t("td",{part:O(e.amount)},e.formattedPaymentAmount(e.amount)),fee:e=>t("td",{part:O(e.fee)},e.formattedPaymentAmount(e.fee)),net:e=>t("td",{part:O(e.net)},e.formattedPaymentAmount(e.net)),currency:e=>t("td",{part:O(e.currency)},e.currency),description:e=>t("td",{part:O(e.description)},e.description),source_id:e=>t("td",{part:O(e.source_id)},e.source_id),txn_type:e=>t("td",{part:O(e.txn_type)},B[e.txn_type]),created_at:e=>t("td",{part:O(e.created_at)},t("div",{class:"fw-bold"},s(e.created_at,{showDisplayDate:!0})),t("div",{class:"fw-bold"},s(e.created_at,{showTime:!0}))),available_on:e=>t("td",{part:O(e.available_on)},t("div",{class:"fw-bold"},s(e.available_on,{showDisplayDate:!0})),t("div",{class:"fw-bold"},s(e.available_on,{showTime:!0}))),updated_at:e=>t("td",{part:O(e.updated_at)},t("div",{class:"fw-bold"},s(e.updated_at,{showDisplayDate:!0})),t("div",{class:"fw-bold"},s(e.updated_at,{showTime:!0})))},A=class{constructor(t){e(this,t),this.clickEvent=a(this,"click-event"),this.errorEvent=a(this,"error-event"),this.balanceTransactions=[],this.isLoading=!0,this.errorMessage=null,this.paging=n,this.pagingParams={},this.columns="created_at,txn_type,description,amount,fee,net",this.handleClickPrevious=t=>{this.pagingParams={before_cursor:t},this.clickEvent.emit({name:S.previous})},this.handleClickNext=t=>{this.pagingParams={after_cursor:t},this.clickEvent.emit({name:S.next})},this.rowClickHandler=t=>{const e=t.target.closest("tr").dataset.rowEntityId;if(!e)return;const a=this.balanceTransactions.find((t=>t.id===e));this.clickEvent.emit({name:S.row,data:a})}}componentWillLoad(){this.transactionsTable=new u(this.balanceTransactions,this.columns,q,E),p(),this.analytics=new d(this),this.initializeApi()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeApi()}handleError(t,e,a){this.isLoading=!1,this.errorEvent.emit({errorCode:t,message:e,severity:a})}initializeApi(){this.payoutId&&this.authToken?(({accountId:t,authToken:e,service:a})=>async({params:i,onSuccess:s,onError:r,final:n})=>{var p;try{const n=await a.fetchPayoutTransactions(t,e,i);n.error?r({error:l(n.error),code:h(null===(p=n.error)||void 0===p?void 0:p.code),severity:o.ERROR}):s({balanceTransactions:n.data.map((t=>new c(t))),pagingInfo:Object.assign({},n.page_info)})}catch(t){const e=h(null==t?void 0:t.code);r({error:l(t),code:e,severity:o.ERROR})}finally{n()}})({accountId:i.accountId,authToken:this.authToken,service:new f})({params:this.requestParams,onSuccess:({balanceTransactions:t,pagingInfo:e})=>{this.balanceTransactions=t,this.paging=e,this.transactionsTable.collectionData=this.balanceTransactions},onError:({error:t,code:e,severity:a})=>{this.errorMessage=t.message,this.handleError(t,e,a)},final:()=>{this.isLoading=!1}}):(this.errorMessage="payout-id and auth-token props are required",this.handleError(r.MISSING_PROPS,this.errorMessage,o.ERROR))}get entityId(){return this.balanceTransactions.map((t=>t.id))}get showEmptyState(){return!this.isLoading&&!this.errorMessage&&this.transactionsTable.rowData.length<1}get showErrorState(){return!this.isLoading&&!!this.errorMessage}get showRowData(){return!this.showEmptyState&&!this.showErrorState&&!this.isLoading}get requestParams(){return Object.assign({payout_id:this.payoutId,limit:"15"},this.pagingParams)}render(){return t(I,{key:"3cd7ace37599772de8eff537c9e3f55f47806438"},t(m,{key:"dc452066ad9ea340928eb46cf066b14879b03da3"},t(y,{key:"b9432f88ea632667ef4c5dab5d7fb9c93ef216d9"},t(b,{key:"e3ec6220544923b0da36962175a83ebcbc4f5ec0"},t(_,{key:"ba1337dfd25e72cfea80742be409ea2120c1fd90"},this.transactionsTable.columnData.map((t=>t)))),t(w,{key:"abae90255e377f9a5714412ea63a0531bbbadd15"},t(j,{key:"aa83ef0f731bb3f256429a2861db65e8b928505a",columnSpan:this.transactionsTable.columnKeys.length,isLoading:this.isLoading}),t(T,{key:"5d56c98acabd29e81d921d48178c4fab57fd0b31",isEmpty:this.showEmptyState,columnSpan:this.transactionsTable.columnKeys.length}),t(v,{key:"d7c517f477071c51026650cd4a58357f10047b97",columnSpan:this.transactionsTable.columnKeys.length,errorMessage:this.errorMessage}),this.showRowData&&this.transactionsTable.rowData.map(((e,a)=>t(g,{"data-test-id":"table-row","data-row-entity-id":this.entityId[a],onClick:this.rowClickHandler},e)))),this.paging&&t(k,{key:"355844893dd1263d483a6f55749435b949856ca6"},t(D,{key:"6d383897a69110e66a1478609538f975f1a8694b"},t(C,{key:"72ef4e146147b7f8ad6902ce0380d7cf1d200764",colSpan:this.transactionsTable.columnData.length},t("pagination-menu",{key:"500f5a0aa17c25d0085a9d2f3c9ce80488924880",paging:Object.assign(Object.assign({},this.paging),{handleClickPrevious:this.handleClickPrevious,handleClickNext:this.handleClickNext})})))))))}static get watchers(){return{pagingParams:["propChanged"],payoutId:["propChanged"],authToken:["propChanged"]}}};export{A as justifi_payout_transactions_list}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,c as t,h as a}from"./p-kpoIU4v_.js";import{c as
|
|
1
|
+
import{r as e,c as t,h as a}from"./p-kpoIU4v_.js";import{c as d,J as i}from"./p-Bq3TKeKM.js";import{c as s}from"./p-BYakc1Om.js";import{d as c}from"./p-D3G5aVLy.js";import{P as o}from"./p-BDUTtU21.js";import{S as f}from"./p-CRFzwZW6.js";import"./p-CZfYo5-1.js";import"./p-BmJrftKN.js";import"./p-Dj1uo4J3.js";import"./p-9y5MOK55.js";import"./p-7WIgS5RM.js";import"./p-B7jE0g5_.js";import"./p-Cjcsf8ku.js";import"./p-Bou1Z4Bm.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-7MWRbTXI.js";const r={bankAccount:"New bank account",card:"New credit or debit card"},h=class{constructor(a){e(this,a),this.errorEvent=t(this,"error-event"),this.loadedEvent=t(this,"loaded"),this.submitEvent=t(this,"submit-event"),this.errorMessage="",this.insuranceToggled=!1,this.isSubmitting=!1,this.paymentMethodOptions=[],this.savePaymentMethod=!1,this.disableBankAccount=!1,this.disableBnpl=!1,this.disableCreditCard=!1,this.disablePaymentMethodGroup=!1,this.hideBankAccountBillingForm=!1,this.hideCardBillingForm=!1}propChanged(){this.updateStore()}connectedCallback(){this.authToken&&this.checkoutId&&this.updateStore()}componentWillLoad(){d(),this.analytics=new i(this)}disconnectedCallback(){var e;null===(e=this.analytics)||void 0===e||e.cleanup()}savePaymentMethodChanged(e){this.savePaymentMethod=e.detail}checkoutComplete(e){this.isSubmitting=!1}checkoutError(e){this.isSubmitting=!1,console.error("checkout error",e.detail)}paymentMethodOptionSelected(e){s.selectedPaymentMethod=e.detail.id}async fillBillingForm(e){s.billingFormFields=e}async validate(){var e;return{isValid:await(null===(e=this.modularCheckoutRef)||void 0===e?void 0:e.validate())}}updateStore(){s.checkoutId=this.checkoutId,s.authToken=this.authToken,s.disableCreditCard=this.disableCreditCard,s.disableBankAccount=this.disableBankAccount,s.disableBnpl=this.disableBnpl,s.disablePaymentMethodGroup=this.disablePaymentMethodGroup}async submit(e){this.isSubmitting=!0,this.modularCheckoutRef.submitCheckout(s.billingFormFields)}get canSavePaymentMethod(){return s.selectedPaymentMethod===o.card||s.selectedPaymentMethod===o.bankAccount}get showBillingForm(){return s.selectedPaymentMethod===o.card&&!this.hideCardBillingForm||s.selectedPaymentMethod===o.bankAccount&&!this.hideBankAccountBillingForm}get showBillingFormSection(){return s.selectedPaymentMethod===o.card||s.selectedPaymentMethod===o.bankAccount}get showPaymentTypeHeader(){return!this.disableCreditCard&&!this.disableBankAccount}get showPostalCodeForm(){return s.selectedPaymentMethod===o.card&&this.hideCardBillingForm}render(){return a(f,{key:"4fb1d82b065de6c1e4651a246a53f8e58451d6f6"},a("justifi-modular-checkout",{key:"232cf32890422f474cf929b7c7ed7246d7b39c75",ref:e=>this.modularCheckoutRef=e,authToken:this.authToken,checkoutId:this.checkoutId,savePaymentMethod:this.canSavePaymentMethod&&this.savePaymentMethod},a("div",{key:"677ad110b05520be3b729995657086f0f6cbf337",class:"row gy-3 jfi-checkout-core"},a("div",{key:"458c84541dd154dd8b4ad1d0f2320e2308cc1785",class:"col-12",part:c},a("justifi-header",{key:"440a7d1ad7b21da3db66e6c6f1f9afefb434a089",text:"Summary",level:"h2",class:"fs-5 fw-bold pb-3"}),a("section",{key:"99bd431a8f70ce6e764cc04da3d0aaae6f0ebcbe"},a("justifi-checkout-summary",{key:"52da663e5bed35f0deb220800c7ede8835a3671b"}))),a("div",{key:"e95b1c6830d20c5af57c558badb04d07d3c48f23",class:"col-12 mt-4"},a("slot",{key:"527d58d4806d2e1bbcba499e97ab65f6c9c7efb9",name:"insurance"})),a("div",{key:"69d1319d1e05852de4f5566ad3be20bc9a6ee499",class:"col-12 mt-4"},a("justifi-header",{key:"1682f909f22172a44da54118aefe428f92908e91",text:"Payment",level:"h2",class:"fs-5 fw-bold pb-3"}),this.showPaymentTypeHeader&&a("justifi-header",{key:"7942a12143bea0235705969737e11d59bc5180e1",text:"Select payment type",level:"h3",class:"fs-6 fw-bold lh-lg"}),a("div",{key:"497664d455695693c4f9a1a4465c62ad4d5b6bdf",class:"d-flex flex-column"},a("section",{key:"d3da4c18b430e1b36f7b9ba20be517994e763b5e"},a("div",{key:"1cc0f0462a0f70d2acc4c9fdee25fbb2fe953c22"},a("justifi-saved-payment-methods",{key:"576da27df84d67bc69f2d95f00a6c440fa73f7ed"}),a("justifi-sezzle-payment-method",{key:"6544a3a250ee012870a9edce71dd763553d44554"}),!this.disableCreditCard&&a("div",{key:"79050f768d8d76c4d882bed667e85391c230a960"},a("payment-method-option",{key:"5a6c1dc583766707e6215203fdba176bd65b501d",paymentMethodOptionId:o.card,isSelected:s.selectedPaymentMethod===o.card,clickHandler:()=>{s.selectedPaymentMethod=o.card},radioButtonHidden:this.disableCreditCard,label:r[o.card]}),s.selectedPaymentMethod===o.card&&a("div",{key:"5e6f0b854191a9a5db8936b2e30518fba251e478",class:"mt-4 mb-4"},a("justifi-card-form",{key:"6c3f72f27dfe36924fe94ab4f7c79b6b9ff19b47"}))),!this.disableBankAccount&&a("div",{key:"f6a88103b2c30e4dd10e733b19aaa29a7a44430c"},a("payment-method-option",{key:"67ef047a8caad5bc389238d54bb3d7056ca4b9e6",paymentMethodOptionId:o.bankAccount,isSelected:s.selectedPaymentMethod===o.bankAccount,clickHandler:()=>{s.selectedPaymentMethod=o.bankAccount},radioButtonHidden:this.disableBankAccount,label:r[o.bankAccount]}),s.selectedPaymentMethod===o.bankAccount&&a("div",{key:"e67924184fc43811523081711f59865a01d7cf9f",class:"mt-4 mb-4"},a("justifi-bank-account-form",{key:"a01cdfe8be1bc98d4c0f75c2a9f2ca1cce519042"}))))))),this.showBillingFormSection&&a("div",{key:"a15f1202548c7d6c302c2b2827168a6a119f8634",class:"col-12 mt-4"},this.showBillingForm&&a("justifi-header",{key:"ee654c812cb097449937da4253e191de1ee669d5",text:"Billing Address",level:"h2",class:"fs-5 fw-bold pb-3"}),this.showPostalCodeForm&&a("justifi-postal-code-form",{key:"2a5736e6da3354f7a9d1a5b8870a2f61c09c2592"}),this.showBillingForm&&a("justifi-billing-information-form",{key:"7dd63931e75d7583b4f51a1f6bb2b1e84a46e078"})),a("div",{key:"54aeb0f07f574ee004ec02cd279265202cffa9bf",class:"col-12"},this.canSavePaymentMethod&&a("justifi-save-new-payment-method",{key:"2e010be22091cee1ebc4353d5dac3b49639175e7"})),a("div",{key:"71df812c8a922ae8b447d647f69675230c092db9",class:"mt-4"},a("justifi-button",{key:"057cd18c6235c73cc69ca85e9cb35a2a614a4d9a",text:"Pay",type:"submit",variant:"primary",clickHandler:e=>this.submit(e),disabled:this.isSubmitting,isLoading:this.isSubmitting,customStyle:{width:"100%",textAlign:"center"}})))))}static get watchers(){return{authToken:["propChanged"],checkoutId:["propChanged"],disableCreditCard:["propChanged"],disableBankAccount:["propChanged"],disableBnpl:["propChanged"],disablePaymentMethodGroup:["propChanged"]}}};export{h as justifi_checkout}
|