UNPKG

@atlas-kitchen/adyen-web

Version:
3 lines (2 loc) 5.01 kB
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useRef as r,useState as s,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import{useCoreContext as t}from"../../../core/Context/CoreProvider.js";import n from"../CompanyDetails/CompanyDetails.js";import i from"../PersonalDetails/PersonalDetails.js";import a from"../Address/Address.js";import l from"../FormFields/Checkbox/Checkbox.js";import d from"../FormFields/ConsentCheckbox/ConsentCheckbox.js";import{getInitialActiveFieldsets as c,fieldsetsSchema as u,getActiveFieldsData as b}from"./utils.js";import p from"../IbanInput/IbanInput.js";import m from"../FormFields/Field/Field.js";import y from"../FormInstruction/FormInstruction.js";import f from"./useSRPanelForOpenInvoiceErrors.js";import v from"../../../_virtual/index.js";function h(e,r,s){return r in e?Object.defineProperty(e,r,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[r]=s,e}function C(e){for(var r=1;r<arguments.length;r++){var s=null!=arguments[r]?arguments[r]:{},o=Object.keys(s);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(s).filter((function(e){return Object.getOwnPropertyDescriptor(s,e).enumerable})))),o.forEach((function(r){h(e,r,s[r])}))}return e}function g(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);r.push.apply(r,s)}return r}(Object(r)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(r,s))})),e}const A={isValid:!1,errorMessage:"consent.checkbox.invalid",error:"consent.checkbox.invalid"};function k(h){var k,j;const{countryCode:D,visibility:O}=h,{i18n:x}=t(),w=r({});var F;Object.keys(w.current).length||(null===(F=h.setComponentRef)||void 0===F||F.call(h,w.current));const P=r(!1),S=c(O,h.data),[R,E]=s(S),{current:I}=r(u.reduce(((e,r)=>(e[r]=e=>{I[r].current=e},e)),{})),q=!!h.consentCheckboxLabel,V=!q&&Object.keys(R).every((e=>!R[e])),M="editable"===O.deliveryAddress&&"hidden"!==O.billingAddress,[N,_]=s(C({},h.data,q&&{consentCheckbox:!1})),[L,B]=s({}),[z,G]=s({}),[H,J]=s("ready");w.current.showValidation=()=>{P.current=!0,u.forEach((e=>{I[e].current&&I[e].current.showValidation()})),B(C({},q&&{consentCheckbox:N.consentCheckbox?null:A}))},w.current.setStatus=J,f({errors:L,data:N,props:h,isValidating:P}),o((()=>{const e=Object.keys(R).every((e=>!R[e]||!!z[e])),r=!q||!!z.consentCheckbox,s=e&&r,o=b(R,N);h.onChange({data:o,errors:L,valid:z,isValid:s})}),[N,R]);const K=e=>r=>{_((s=>g(C({},s),{[e]:r.data}))),G((s=>g(C({},s),{[e]:r.isValid}))),B((s=>g(C({},s),{[e]:r.errors})))};var Q,T;return e("div",{className:v({"adyen-checkout__open-invoice":!0,"adyen-checkout__open-invoice--loading":"loading"===H})},e(y,null),R.companyDetails&&e(n,{data:h.data.companyDetails,label:"companyDetails",onChange:K("companyDetails"),setComponentRef:I.companyDetails,visibility:O.companyDetails}),R.personalDetails&&e(i,{data:h.data.personalDetails,requiredFields:h.personalDetailsRequiredFields,label:"personalDetails",onChange:K("personalDetails"),setComponentRef:I.personalDetails,visibility:O.personalDetails}),R.bankAccount&&e(p,{holderName:!0,label:"ach.bankAccount",data:N.bankAccount,onChange:K("bankAccount"),ref:I.bankAccount}),R.billingAddress&&e(a,{allowedCountries:null!==(Q=null==h||null===(k=h.billingAddressSpecification)||void 0===k?void 0:k.allowedCountries)&&void 0!==Q?Q:h.allowedCountries,countryCode:D,requiredFields:h.billingAddressRequiredFields,specifications:h.billingAddressSpecification,data:N.billingAddress,label:"billingAddress",onChange:K("billingAddress"),setComponentRef:I.billingAddress,visibility:O.billingAddress}),M&&e(m,{classNameModifiers:["separateDeliveryAddress","consentCheckbox"],name:"separateDeliveryAddress",useLabelElement:!1,showErrorElement:!1},e(l,{label:x.get("separateDeliveryAddress"),checked:R.deliveryAddress,classNameModifiers:["separateDeliveryAddress"],name:"separateDeliveryAddress",onChange:()=>{E((e=>g(C({},e),{deliveryAddress:!R.deliveryAddress})))}})),R.deliveryAddress&&e(a,{allowedCountries:null!==(T=null==h||null===(j=h.deliveryAddressSpecification)||void 0===j?void 0:j.allowedCountries)&&void 0!==T?T:h.allowedCountries,countryCode:D,requiredFields:h.deliveryAddressRequiredFields,specifications:h.deliveryAddressSpecification,data:N.deliveryAddress,label:"deliveryAddress",onChange:K("deliveryAddress"),setComponentRef:I.deliveryAddress,visibility:O.deliveryAddress}),q&&e(d,{data:N,errorMessage:!!L.consentCheckbox,label:h.consentCheckboxLabel,onChange:e=>{const{checked:r}=e.target;_((e=>g(C({},e),{consentCheckbox:r}))),G((e=>g(C({},e),{consentCheckbox:r}))),B((e=>C({},e,{consentCheckbox:r?null:A})))},i18n:x}),h.showPayButton&&h.payButton({status:H,classNameModifiers:[...V?["standalone"]:[]],label:x.get("confirmPurchase")}))}export{k as default}; //# sourceMappingURL=OpenInvoice.js.map