@adyen/adyen-web
Version:
[](https://www.npmjs.com/package/@adyen/adyen-web)
3 lines (2 loc) • 3.83 kB
JavaScript
import{useState as e,useMemo as r,useEffect as o}from"../../../external/preact/hooks/dist/hooks.js";import{enhanceErrorObjectKeys as t}from"../../../core/Errors/utils.js";import{COMPANY_DETAILS_SCHEMA as s}from"../CompanyDetails/CompanyDetails.js";import{PERSONAL_DETAILS_SCHEMA as l}from"../PersonalDetails/PersonalDetails.js";import{ERROR_ACTION_BLUR_SCENARIO as n,ERROR_ACTION_FOCUS_FIELD as i}from"../../../core/Errors/constants.js";import c from"../../../core/Errors/useSRPanelContext.js";import a from"../Address/Specifications.js";import{setFocusOnField as d}from"../../../utils/setFocus.js";import{usePrevious as u}from"../../../utils/hookUtils.js";import{getArrayDifferences as f}from"../../../utils/arrayUtils.js";import{mapFieldKey as p}from"./utils.js";function y(e,r,o){return r in e?Object.defineProperty(e,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[r]=o,e}function m(e){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{},t=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),t.forEach(function(r){y(e,r,o[r])})}return e}function b(e,r){if(null==e)return{};var o,t,s,l={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(o=Reflect.ownKeys(e),s=0;s<o.length;s++)t=o[s],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t]);return l}if(l=function(e,r){if(null==e)return{};var o,t,s={},l=Object.getOwnPropertyNames(e);for(t=0;t<l.length;t++)o=l[t],r.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(s[o]=e[o]);return s}(e,r),Object.getOwnPropertySymbols)for(o=Object.getOwnPropertySymbols(e),s=0;s<o.length;s++)t=o[s],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t]);return l}const v=({errors:y,data:v,props:g,isValidating:j})=>{const[O,h]=e(null),A=u(O),{setSRMessagesFromObjects:F,setSRMessagesFromStrings:S,clearSRPanel:w,shouldMoveFocusSR:k}=c(),P=null==F?void 0:F({fieldTypeMappingFn:p}),D=r(()=>new a,[]),E=r(()=>new a(g.deliveryAddressSpecification),[]);o(()=>{try{var e,r,o,c,a;const u="deliveryAddress:",p="billingAddress:",{companyDetails:O,personalDetails:F,bankAccount:C,billingAddress:R,deliveryAddress:x}=y,T=b(y,["companyDetails","personalDetails","bankAccount","billingAddress","deliveryAddress"]),M=t(R,p),$=t(x,u),L=m({},"object"==typeof O&&O,"object"==typeof F&&F,"object"==typeof C&&C,"object"==typeof M&&M,"object"==typeof $&&$,T),_=s,I=null!==(e=g.personalDetailsRequiredFields)&&void 0!==e?e:l,K=l.filter(e=>null==I?void 0:I.includes(e)),U=["holder","iban"],V=D.getAddressSchemaForCountryFlat(null===(r=v.billingAddress)||void 0===r?void 0:r.country).map(e=>`${p}${e}`),q=E.getAddressSchemaForCountryFlat(null===(o=v.deliveryAddress)||void 0===o?void 0:o.country).map(e=>`${u}${e}`),B=_.concat(K,U,V,q,["consentCheckbox"]),N=D.getAddressLabelsForCountry(null===(c=v.billingAddress)||void 0===c?void 0:c.country),z=E.getAddressLabelsForCountry(null===(a=v.deliveryAddress)||void 0===a?void 0:a.country),G=null==P?void 0:P({errors:L,isValidating:j.current,layout:B,countrySpecificLabels:m({},N,z)}),H=null==G?void 0:G.currentErrorsSortedByLayout;switch(h(H),null==G?void 0:G.action){case i:{const e=G.fieldToFocus.includes(":")?G.fieldToFocus.split(":")[1]:G.fieldToFocus;let r="";const o=G.fieldToFocus.includes(":")?G.fieldToFocus.split(":")[0]:"";o.length&&(r=`.adyen-checkout__fieldset--${o} `),k&&d(".adyen-checkout__open-invoice",e,r),setTimeout(()=>{j.current=!1},300);break}case n:{const e=f(H,A,"field"),r=null==e?void 0:e[0];if(r){const e="shopperEmail"===r.field&&"field.error.invalid"===r.errorCode?r.errorMessage:null;S(e)}else w();break}}}catch(e){}},[y,v])};export{v as default};
//# sourceMappingURL=useSRPanelForOpenInvoiceErrors.js.map