@gravityforms/components
Version:
UI components for use in Gravity Forms development. Both React and vanilla js flavors.
1 lines • 9.39 kB
JavaScript
"use strict";(self.webpackChunkgravityforms=self.webpackChunkgravityforms||[]).push([[333],{7333:function(e,t,r){r.r(t),r.d(t,{default:function(){return D},getCountriesList:function(){return k}});var n=r(7940),o=r(6111),s=r(2492),l=r(7616),a=r(8335),i=r(5798),u=r(1969),p=r(9553),c=r(8017),d=r(1025),f=r(9907),y=r(6793),v=function(e,t){return(0,i.slugify)("".concat(e,"-").concat(t))},b=r(1844),m=r(4965),g=r(1677),h=r(7611),T=r(6511),P=r(8456),A=/Android/i,C=function(e,t){void 0!==t&&(!function(){if("undefined"!=typeof navigator)return A.test(navigator.userAgent)}()?e.setSelectionRange(t,t):setTimeout((function(){return e.setSelectionRange(t,t)}),0))},w=function(e,t,r,n,o){var s=new P.Q(r);s.input(e);var l=(0,m.A)(s.getTemplate(),function(e){return function(t,r){return e&&"+"===t&&!r?t:(0,b.A)(t)}}(n)),a=(0,g.A)(e,t,l),i=a.value,u=a.caret;if(o){var p=function(e,t,r){switch(r){case"Backspace":t>0&&(e=e.slice(0,t-1)+e.slice(t),t--);break;case"Delete":e=e.slice(0,t)+e.slice(t+1)}return{value:e,caret:t}}(i,u,o);i=p.value,u=p.caret}s.reset(),s.input(i);var c=(0,h.A)(s.getTemplate(),"x",!0);return{asYouType:s,formatted:(0,T.A)(i,u,c)}};function j(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function O(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?j(Object(r),!0).forEach((function(t){(0,o.A)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):j(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var x=l.React.useEffect,_=l.React.useRef,E=l.React.useState,R=l.React.forwardRef,q=".gform-input",S="default",V="error",k=function(e,t,r){if(0===t.length)return e;var n=new Map;e.forEach((function(e){n.set(e.value,e)}));var o=[],s=new Set;if(t.forEach((function(e){var t="string"==typeof e?e:(null==e?void 0:e.value)||(null==e?void 0:e.iso);t&&n.has(t)&&!s.has(t)&&(o.push(n.get(t)),s.add(t))})),0===o.length)return e;var l=e.filter((function(e){return!s.has(e.value)}));return 0===l.length?o:[{type:"group",items:o},{type:"group",label:{type:"groupLabel",label:r.allCountries},items:l}]},z=R((function(e,t){var r=e.customAttributes,b=e.customClasses,m=e.disabled,g=e.dropdownAttributes,h=e.dropdownClasses,T=e.helpTextAttributes,P=e.helpTextClasses,A=e.i18n,j=e.inputAttributes,R=e.inputClasses,z=e.international,D=e.label,I=e.labelAttributes,Y=e.labelClasses,L=e.onChange,N=e.preferredCountries,M=e.required,B=e.requiredLabelAttributes,K=e.requiredLabelClasses,F=e.size,H=e.spacing,Q=e.usePlaceholder,G=e.useValidation,J=e.width,U=_(null),W=t||U,X=_(null),Z=_(null),$=_(null),ee=(0,a.useIdContext)(),te=E((function(){var e,t;if(null!=g&&g.initialValue)return(0,d.Oj)(null==g?void 0:g.initialValue,(null==g?void 0:g.listItems)||[],!1);if(N.length){var r,n,o,s=k(null==g?void 0:g.listItems,N,A);return"group"===(null==s||null===(r=s[0])||void 0===r?void 0:r.type)?(null==s||null===(o=s[0])||void 0===o||null===(o=o.items)||void 0===o?void 0:o[0])||{}:null==g||null===(n=g.listItems)||void 0===n?void 0:n[0]}return null!=g&&null!==(e=g.listItems)&&void 0!==e&&e[0]?null==g||null===(t=g.listItems)||void 0===t?void 0:t[0]:{}})),re=(0,s.A)(te,2),ne=re[0],oe=re[1],se=E((function(){if(null!=j&&j.value){var e=w(null==j?void 0:j.value,0,null==ne?void 0:ne.value,z),t=e.asYouType,r=e.formatted;return{asYouType:t,chars:(null==t?void 0:t.getChars())||"",value:r.text,numberValue:(null==t?void 0:t.getNumberValue())||""}}return{asYouType:null,chars:"",value:"",numberValue:""}})),le=(0,s.A)(se,2),ae=le[0],ie=le[1],ue=E(S),pe=(0,s.A)(ue,2),ce=pe[0],de=pe[1];x((function(){Z.current&&$.current!==Z.current.querySelector(q)&&($.current=Z.current.querySelector(q))}),[Z,$]);var fe=function(){if(G){var e=ae.asYouType,t=ae.numberValue,r=null==e?void 0:e.isPossible();de(t?r?"correct":V:S)}else ce!==S&&de(S)},ye=function(e,t,r){var n=$.current,o=n.selectionStart,s=w(e,o,null==ne?void 0:ne.value,z,t),l=s.asYouType,a=s.formatted,i=(null==l?void 0:l.getNumberValue())||"";ie({asYouType:l,chars:(null==l?void 0:l.getChars())||"",value:a.text,numberValue:i});var u={country:null==ne?void 0:ne.value,number:i};requestAnimationFrame((function(){C(n,a.caret)})),L(u,r)},ve=v(ee,"help-text"),be=v(ee,"label"),me=O({className:(0,l.classnames)(O((0,o.A)((0,o.A)({"gform-phone":!0},"gform-phone--size-".concat(F),!0),"gform-phone--disabled",m),(0,i.spacerClasses)(H)),b),id:ee,style:{width:J?"".concat(J,"px"):void 0}},r),ge=O(O({className:(0,l.classnames)(["gform-phone__label","gform-text","gform-text--color-port","gform-typography--size-text-sm","gform-typography--weight-medium"],Y)},I),{},{id:be,onClick:function(){var e,t=null==X||null===(e=X.current)||void 0===e?void 0:e.querySelector(".gform-dropdown__trigger");t&&t.focus()}}),he=O(O({size:"text-sm",weight:"medium"},B),{},{customClasses:(0,l.classnames)(["gform-phone__required"],K)}),Te=O(O({hasSearch:!0,popoverMaxHeight:300},g),{},{customClasses:(0,l.classnames)(["gform-phone__dropdown"],h),disabled:m,id:v(ee,"dropdown"),listItems:k(null==g?void 0:g.listItems,N,A),onChange:function(e,t){oe(t);var r=w(ae.chars,0,null==t?void 0:t.value,z),n=r.asYouType,o=r.formatted,s=(null==n?void 0:n.getNumberValue())||"";ie({asYouType:n,chars:(null==n?void 0:n.getChars())||"",value:o.text,numberValue:s});var l={country:null==t?void 0:t.value,number:s};L(l,e),requestAnimationFrame(fe)},searchAttributes:O({wrapperClasses:["gform-phone__dropdown-search-wrapper"]},(null==g?void 0:g.searchAttributes)||{}),searchClasses:["gform-phone__dropdown-search"],size:F,triggerAttributes:{"aria-labelledby":D?be:void 0},triggerClasses:["gform-phone__dropdown-trigger"]}),Pe=O(O({},j),{},{borderStyle:ce,customAttributes:{"aria-describedby":T.content&&ce===V?ve:void 0,"aria-labelledby":D?be:void 0},customClasses:(0,l.classnames)(["gform-phone__input"],R),directControlled:!0,disabled:m,id:v(ee,"input"),onBlur:function(e){var t;null!=j&&j.onBlur&&(null==j||null===(t=j.onBlur)||void 0===t||t.call(j,e));e.defaultPrevented||fe()},onChange:function(e,t){ye(e,void 0,t)},onKeyDown:function(e){var t;null!=j&&j.onKeyDown&&(null==j||null===(t=j.onKeyDown)||void 0===t||t.call(j,e));if(!e.defaultPrevented){var r=$.current;if(!r.hasAttribute("readonly")){var n=e.key;if(["Backspace","Delete"].includes(n)){e.preventDefault();var o=r.value,s=function(e){if(e.selectionStart!==e.selectionEnd)return{start:Math.min(e.selectionStart,e.selectionEnd),end:Math.max(e.selectionStart,e.selectionEnd)}}(r),l=s?function(e,t){var r=Math.min(t.start,t.end),n=Math.max(t.start,t.end);return e.slice(0,r)+e.slice(n)}(o,s):o;ye(l,s?void 0:n,e)}}}},placeholder:function(){if(Q){var e=(0,p.a)(null==ne?void 0:ne.value,u.A);if(e)return z?e.formatInternational():e.formatNational()}}(),required:M,size:"size-".concat(F),type:"tel",value:ae.value,wrapperClasses:(0,l.classnames)({"gform-phone__input-wrapper":!0},(null==j?void 0:j.wrapperClasses)||[])}),Ae=O(O({size:"text-xs",weight:"regular"},T),{},{customClasses:(0,l.classnames)(["gform-phone__help-text"],P),id:ve});return l.React.createElement("div",(0,n.A)({},me,{ref:W}),D&&l.React.createElement("div",ge,D,M&&l.React.createElement(f.A,he)),l.React.createElement("div",{className:"gform-phone__wrapper"},l.React.createElement(c.A,(0,n.A)({},Te,{ref:X})),l.React.createElement(y.A,(0,n.A)({},Pe,{ref:Z}))),ce===V&&l.React.createElement(f.A,Ae))}));z.propTypes={customAttributes:l.PropTypes.object,customClasses:l.PropTypes.oneOfType([l.PropTypes.string,l.PropTypes.array,l.PropTypes.object]),disabled:l.PropTypes.bool,dropdownAttributes:l.PropTypes.object,dropdownClasses:l.PropTypes.oneOfType([l.PropTypes.string,l.PropTypes.array,l.PropTypes.object]),helpTextAttributes:l.PropTypes.object,helpTextClasses:l.PropTypes.oneOfType([l.PropTypes.string,l.PropTypes.array,l.PropTypes.object]),i18n:l.PropTypes.object,id:l.PropTypes.string,inputAttributes:l.PropTypes.object,inputClasses:l.PropTypes.oneOfType([l.PropTypes.string,l.PropTypes.array,l.PropTypes.object]),international:l.PropTypes.bool,label:l.PropTypes.string,labelAttributes:l.PropTypes.object,labelClasses:l.PropTypes.oneOfType([l.PropTypes.string,l.PropTypes.array,l.PropTypes.object]),onChange:l.PropTypes.func,preferredCountries:l.PropTypes.array,required:l.PropTypes.bool,requiredLabelAttributes:l.PropTypes.object,requiredLabelClasses:l.PropTypes.oneOfType([l.PropTypes.string,l.PropTypes.array,l.PropTypes.object]),size:l.PropTypes.oneOf(["r","l","xl"]),spacing:l.PropTypes.oneOfType([l.PropTypes.string,l.PropTypes.number,l.PropTypes.array,l.PropTypes.object]),usePlaceholder:l.PropTypes.bool,useValidation:l.PropTypes.bool,width:l.PropTypes.number};var D=R((function(e,t){var r=O(O({},{customAttributes:{},customClasses:[],disabled:!1,dropdownAttributes:{},dropdownClasses:[],helpTextAttributes:{},helpTextClasses:[],i18n:{allCountries:"All countries"},id:"",inputAttributes:{},inputClasses:[],international:!0,label:"",labelAttributes:{},labelClasses:[],onChange:function(){},preferredCountries:[],required:!1,requiredLabelAttributes:{},requiredLabelClasses:[],size:"r",spacing:"",usePlaceholder:!0,useValidation:!1,width:300}),e),o={id:r.id};return l.React.createElement(a.IdProvider,o,l.React.createElement(z,(0,n.A)({},r,{ref:t})))}))}}]);