UNPKG

@atlas-kitchen/adyen-web

Version:
3 lines (2 loc) 1.34 kB
import{createElement as e}from"../../../external/preact/dist/preact.js";import{useEffect as r,useRef as o,useCallback as t}from"../../../external/preact/hooks/dist/hooks.js";import s from"../../../utils/useForm/useForm.js";import{useCoreContext as i}from"../../../core/Context/CoreProvider.js";import{phoneValidationRules as n,phoneFormatters as a}from"./validate.js";import l from"../FormFields/Fieldset/Fieldset.js";import m from"./PhoneInputFields.js";function u(u){const{i18n:p}=i(),d=u.requiredFields||[...u?.items?.length?["phonePrefix"]:[],"phoneNumber"],f=d.includes("phonePrefix")&&!!u?.items?.length,h=d.includes("phoneNumber"),c=s({...u,schema:d,defaultData:u.data,rules:n,formatters:a});r((()=>{c.setSchema(d)}),[d.toString()]);const{data:g,valid:b,errors:x,isValid:F,triggerValidation:j}=c;r((()=>{u.onChange({data:g,valid:b,errors:x,isValid:F})}),[g,b,x,F]);const N=o({showValidation:j});r((()=>{u.setComponentRef(N.current)}),[u.setComponentRef]);const P=t((e=>{if(x[e]){const r="phoneNumber"===e?"phoneNumberErrorKey":"phonePrefixErrorKey",o=u[r]?u[r]:x[e].errorMessage;return p.get(o)??null}return null}),[x]);return e(l,{classNameModifiers:["phone-input"]},e(m,{getError:P,showNumber:h,showPrefix:f,form:c,...u}))}u.defaultProps={phoneLabel:"telephoneNumber"};export{u as default}; //# sourceMappingURL=PhoneInputForm.js.map