@iqmo/browser
Version:
Browser Stlite
10 lines (9 loc) • 16 kB
JavaScript
import{R as X,r as R}from"./index-0xtYjrTa.js";import{s as Re}from"./index-B0UPda22.js";const Te=Re("div")({name:"NumberOverlayEditorStyle",class:"gdg-n15fjm3e",propsAsIs:!1});function de(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(e);a<n.length;a++)t.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r}var re;(function(e){e.event="event",e.props="prop"})(re||(re={}));function J(){}function Fe(e){var t,r=void 0;return function(){for(var n=[],a=arguments.length;a--;)n[a]=arguments[a];return t&&n.length===t.length&&n.every(function(u,l){return u===t[l]})||(t=n,r=e.apply(void 0,n)),r}}function ae(e){return!!(e||"").match(/\d/)}function Y(e){return e==null}function Be(e){return typeof e=="number"&&isNaN(e)}function me(e){return Y(e)||Be(e)||typeof e=="number"&&!isFinite(e)}function ge(e){return e.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&")}function Me(e){switch(e){case"lakh":return/(\d+?)(?=(\d\d)+(\d)(?!\d))(\.\d+)?/g;case"wan":return/(\d)(?=(\d{4})+(?!\d))/g;case"thousand":default:return/(\d)(?=(\d{3})+(?!\d))/g}}function ke(e,t,r){var n=Me(r),a=e.search(/[1-9]/);return a=a===-1?e.length:a,e.substring(0,a)+e.substring(a,e.length).replace(n,"$1"+t)}function We(e){var t=R.useRef(e);t.current=e;var r=R.useRef(function(){for(var n=[],a=arguments.length;a--;)n[a]=arguments[a];return t.current.apply(t,n)});return r.current}function se(e,t){t===void 0&&(t=!0);var r=e[0]==="-",n=r&&t;e=e.replace("-","");var a=e.split("."),u=a[0],l=a[1]||"";return{beforeDecimal:u,afterDecimal:l,hasNegation:r,addNegation:n}}function Le(e){if(!e)return e;var t=e[0]==="-";t&&(e=e.substring(1,e.length));var r=e.split("."),n=r[0].replace(/^0+/,"")||"0",a=r[1]||"";return(t?"-":"")+n+(a?"."+a:"")}function pe(e,t,r){for(var n="",a=r?"0":"",u=0;u<=t-1;u++)n+=e[u]||a;return n}function he(e,t){return Array(t+1).join(e)}function Se(e){var t=e+"",r=t[0]==="-"?"-":"";r&&(t=t.substring(1));var n=t.split(/[eE]/g),a=n[0],u=n[1];if(u=Number(u),!u)return r+a;a=a.replace(".","");var l=1+u,g=a.length;return l<0?a="0."+he("0",Math.abs(l))+a:l>=g?a=a+he("0",l-g):a=(a.substring(0,l)||"0")+"."+a.substring(l),r+a}function be(e,t,r){if(["","-"].indexOf(e)!==-1)return e;var n=(e.indexOf(".")!==-1||r)&&t,a=se(e),u=a.beforeDecimal,l=a.afterDecimal,g=a.hasNegation,h=parseFloat("0."+(l||"0")),S=l.length<=t?"0."+l:h.toFixed(t),p=S.split("."),v=u;u&&Number(p[0])&&(v=u.split("").reverse().reduce(function(O,E,m){return O.length>m?(Number(O[0])+Number(E)).toString()+O.substring(1,O.length):E+O},p[0]));var V=pe(p[1]||"",t,r),b=g?"-":"",s=n?".":"";return""+b+v+s+V}function G(e,t){if(e.value=e.value,e!==null){if(e.createTextRange){var r=e.createTextRange();return r.move("character",t),r.select(),!0}return e.selectionStart||e.selectionStart===0?(e.focus(),e.setSelectionRange(t,t),!0):(e.focus(),!1)}}var ye=Fe(function(e,t){for(var r=0,n=0,a=e.length,u=t.length;e[r]===t[r]&&r<a;)r++;for(;e[a-1-n]===t[u-1-n]&&u-n>r&&a-n>r;)n++;return{from:{start:r,end:a-n},to:{start:r,end:u-n}}}),Pe=function(e,t){var r=Math.min(e.selectionStart,t);return{from:{start:r,end:e.selectionEnd},to:{start:r,end:t}}};function Ke(e,t,r){return Math.min(Math.max(e,t),r)}function fe(e){return Math.max(e.selectionStart,e.selectionEnd)}function Ue(){return typeof navigator<"u"&&!(navigator.platform&&/iPhone|iPod/.test(navigator.platform))}function _e(e){return{from:{start:0,end:0},to:{start:0,end:e.length},lastValue:""}}function $e(e){var t=e.currentValue,r=e.formattedValue,n=e.currentValueIndex,a=e.formattedValueIndex;return t[n]===r[a]}function ze(e,t,r,n,a,u,l){l===void 0&&(l=$e);var g=a.findIndex(function(L){return L}),h=e.slice(0,g);!t&&!r.startsWith(h)&&(t=h,r=h+r,n=n+h.length);for(var S=r.length,p=e.length,v={},V=new Array(S),b=0;b<S;b++){V[b]=-1;for(var s=0,O=p;s<O;s++){var E=l({currentValue:r,lastValue:t,formattedValue:e,currentValueIndex:b,formattedValueIndex:s});if(E&&v[s]!==!0){V[b]=s,v[s]=!0;break}}}for(var m=n;m<S&&(V[m]===-1||!u(r[m]));)m++;var T=m===S||V[m]===-1?p:V[m];for(m=n-1;m>0&&V[m]===-1;)m--;var F=m===-1||V[m]===-1?0:V[m]+1;return F>T?T:n-F<T-n?F:T}function Ve(e,t,r,n){var a=e.length;if(t=Ke(t,0,a),n==="left"){for(;t>=0&&!r[t];)t--;t===-1&&(t=r.indexOf(!0))}else{for(;t<=a&&!r[t];)t++;t>a&&(t=r.lastIndexOf(!0))}return t===-1&&(t=a),t}function Je(e){for(var t=Array.from({length:e.length+1}).map(function(){return!0}),r=0,n=t.length;r<n;r++)t[r]=!!(ae(e[r])||ae(e[r-1]));return t}function we(e,t,r,n,a,u){u===void 0&&(u=J);var l=We(function(s,O){var E,m;return me(s)?(m="",E=""):typeof s=="number"||O?(m=typeof s=="number"?Se(s):s,E=n(m)):(m=a(s,void 0),E=n(m)),{formattedValue:E,numAsString:m}}),g=R.useState(function(){return l(Y(e)?t:e,r)}),h=g[0],S=g[1],p=function(s,O){s.formattedValue!==h.formattedValue&&S({formattedValue:s.formattedValue,numAsString:s.value}),u(s,O)},v=e,V=r;Y(e)&&(v=h.numAsString,V=!0);var b=l(v,V);return R.useMemo(function(){S(b)},[b.formattedValue]),[h,p]}function Ze(e){return e.replace(/[^0-9]/g,"")}function qe(e){return e}function Ge(e){var t=e.type;t===void 0&&(t="text");var r=e.displayType;r===void 0&&(r="input");var n=e.customInput,a=e.renderText,u=e.getInputRef,l=e.format;l===void 0&&(l=qe);var g=e.removeFormatting;g===void 0&&(g=Ze);var h=e.defaultValue,S=e.valueIsNumericString,p=e.onValueChange,v=e.isAllowed,V=e.onChange;V===void 0&&(V=J);var b=e.onKeyDown;b===void 0&&(b=J);var s=e.onMouseUp;s===void 0&&(s=J);var O=e.onFocus;O===void 0&&(O=J);var E=e.onBlur;E===void 0&&(E=J);var m=e.value,T=e.getCaretBoundary;T===void 0&&(T=Je);var F=e.isValidInputCharacter;F===void 0&&(F=ae);var L=e.isCharacterSame,M=de(e,["type","displayType","customInput","renderText","getInputRef","format","removeFormatting","defaultValue","valueIsNumericString","onValueChange","isAllowed","onChange","onKeyDown","onMouseUp","onFocus","onBlur","value","getCaretBoundary","isValidInputCharacter","isCharacterSame"]),Z=we(m,h,!!S,l,g,p),P=Z[0],w=P.formattedValue,k=P.numAsString,q=Z[1],W=R.useRef(),U=R.useRef({formattedValue:w,numAsString:k}),_=function(o,i){U.current={formattedValue:o.formattedValue,numAsString:o.value},q(o,i)},Q=R.useState(!1),ee=Q[0],d=Q[1],c=R.useRef(null),x=R.useRef({setCaretTimeout:null,focusTimeout:null});R.useEffect(function(){return d(!0),function(){clearTimeout(x.current.setCaretTimeout),clearTimeout(x.current.focusTimeout)}},[]);var C=l,j=function(o,i){var f=parseFloat(i);return{formattedValue:o,value:i,floatValue:isNaN(f)?void 0:f}},A=function(o,i,f){o.selectionStart===0&&o.selectionEnd===o.value.length||(G(o,i),x.current.setCaretTimeout=setTimeout(function(){o.value===f&&o.selectionStart!==i&&G(o,i)},0))},I=function(o,i,f){return Ve(o,i,T(o),f)},H=function(o,i,f){var D=T(i),B=ze(i,w,o,f,D,F,L);return B=Ve(i,B,D),B},oe=function(o){var i=o.formattedValue;i===void 0&&(i="");var f=o.input,D=o.source,B=o.event,N=o.numAsString,y;if(f){var K=o.inputValue||f.value,$=fe(f);f.value=i,y=H(K,i,$),y!==void 0&&A(f,y,i)}i!==w&&_(j(i,N),{event:B,source:D})};R.useEffect(function(){var o=U.current,i=o.formattedValue,f=o.numAsString;(w!==i||k!==f)&&_(j(w,k),{event:void 0,source:re.props})},[w,k]);var te=c.current?fe(c.current):void 0,ne=typeof window<"u"?R.useLayoutEffect:R.useEffect;ne(function(){var o=c.current;if(w!==U.current.formattedValue&&o){var i=H(U.current.formattedValue,w,te);o.value=w,A(o,i,w)}},[w]);var ie=function(o,i,f){var D=i.target,B=W.current?Pe(W.current,D.selectionEnd):ye(w,o),N=Object.assign(Object.assign({},B),{lastValue:w}),y=g(o,N),K=C(y);if(y=g(K,void 0),v&&!v(j(K,y))){var $=i.target,z=fe($),ce=H(o,w,z);return $.value=w,A($,ce,w),!1}return oe({formattedValue:K,numAsString:y,inputValue:o,event:i,source:f,input:i.target}),!0},le=function(o,i){i===void 0&&(i=0);var f=o.selectionStart,D=o.selectionEnd;W.current={selectionStart:f,selectionEnd:D+i}},Ne=function(o){var i=o.target,f=i.value,D=ie(f,o,re.event);D&&V(o),W.current=void 0},Oe=function(o){var i=o.target,f=o.key,D=i.selectionStart,B=i.selectionEnd,N=i.value;N===void 0&&(N="");var y;f==="ArrowLeft"||f==="Backspace"?y=Math.max(D-1,0):f==="ArrowRight"?y=Math.min(D+1,N.length):f==="Delete"&&(y=D);var K=0;f==="Delete"&&D===B&&(K=1);var $=f==="ArrowLeft"||f==="ArrowRight";if(y===void 0||D!==B&&!$){b(o),le(i,K);return}var z=y;if($){var ce=f==="ArrowLeft"?"left":"right";z=I(N,y,ce),z!==y&&o.preventDefault()}else f==="Delete"&&!F(N[y])?z=I(N,y,"right"):f==="Backspace"&&!F(N[y])&&(z=I(N,y,"left"));z!==y&&A(i,z,N),b(o),le(i,K)},Ee=function(o){var i=o.target,f=function(){var D=i.selectionStart,B=i.selectionEnd,N=i.value;if(N===void 0&&(N=""),D===B){var y=I(N,D);y!==D&&A(i,y,N)}};f(),requestAnimationFrame(function(){f()}),s(o),le(i)},Ae=function(o){o.persist&&o.persist();var i=o.target,f=o.currentTarget;c.current=i,x.current.focusTimeout=setTimeout(function(){var D=i.selectionStart,B=i.selectionEnd,N=i.value;N===void 0&&(N="");var y=I(N,D);y!==D&&!(D===0&&B===N.length)&&A(i,y,N),O(Object.assign(Object.assign({},o),{currentTarget:f}))},0)},Ce=function(o){c.current=null,clearTimeout(x.current.focusTimeout),clearTimeout(x.current.setCaretTimeout),E(o)},je=ee&&Ue()?"numeric":void 0,ve=Object.assign({inputMode:je},M,{type:t,value:w,onChange:Ne,onKeyDown:Oe,onMouseUp:Ee,onFocus:Ae,onBlur:Ce});if(r==="text")return a?X.createElement(X.Fragment,null,a(w,M)||null):X.createElement("span",Object.assign({},M,{ref:u}),w);if(n){var Ie=n;return X.createElement(Ie,Object.assign({},ve,{ref:u}))}return X.createElement("input",Object.assign({},ve,{ref:u}))}function xe(e,t){var r=t.decimalScale,n=t.fixedDecimalScale,a=t.prefix;a===void 0&&(a="");var u=t.suffix;u===void 0&&(u="");var l=t.allowNegative,g=t.thousandsGroupStyle;if(g===void 0&&(g="thousand"),e===""||e==="-")return e;var h=ue(t),S=h.thousandSeparator,p=h.decimalSeparator,v=r!==0&&e.indexOf(".")!==-1||r&&n,V=se(e,l),b=V.beforeDecimal,s=V.afterDecimal,O=V.addNegation;return r!==void 0&&(s=pe(s,r,!!n)),S&&(b=ke(b,S,g)),a&&(b=a+b),u&&(s=s+u),O&&(b="-"+b),e=b+(v&&p||"")+s,e}function ue(e){var t=e.decimalSeparator;t===void 0&&(t=".");var r=e.thousandSeparator,n=e.allowedDecimalSeparators;return r===!0&&(r=","),n||(n=[t,"."]),{decimalSeparator:t,thousandSeparator:r,allowedDecimalSeparators:n}}function Qe(e,t){e===void 0&&(e="");var r=new RegExp("(-)"),n=new RegExp("(-)(.)*(-)"),a=r.test(e),u=n.test(e);return e=e.replace(/-/g,""),a&&!u&&t&&(e="-"+e),e}function He(e,t){return new RegExp("(^-)|[0-9]|"+ge(e),"g")}function Xe(e,t,r){return e===""?!0:!t?.match(/\d/)&&!r?.match(/\d/)&&typeof e=="string"&&!isNaN(Number(e))}function Ye(e,t,r){var n;t===void 0&&(t=_e(e));var a=r.allowNegative,u=r.prefix;u===void 0&&(u="");var l=r.suffix;l===void 0&&(l="");var g=r.decimalScale,h=t.from,S=t.to,p=S.start,v=S.end,V=ue(r),b=V.allowedDecimalSeparators,s=V.decimalSeparator,O=e[v]===s;if(ae(e)&&(e===u||e===l)&&t.lastValue==="")return e;if(v-p===1&&b.indexOf(e[p])!==-1){var E=g===0?"":s;e=e.substring(0,p)+E+e.substring(p+1,e.length)}var m=function(c,x,C){var j=!1,A=!1;u.startsWith("-")?j=!1:c.startsWith("--")?(j=!1,A=!0):l.startsWith("-")&&c.length===l.length?j=!1:c[0]==="-"&&(j=!0);var I=j?1:0;return A&&(I=2),I&&(c=c.substring(I),x-=I,C-=I),{value:c,start:x,end:C,hasNegation:j}},T=m(e,p,v),F=T.hasNegation;n=T,e=n.value,p=n.start,v=n.end;var L=m(t.lastValue,h.start,h.end),M=L.start,Z=L.end,P=L.value,w=e.substring(p,v);e.length&&P.length&&(M>P.length-l.length||Z<u.length)&&!(w&&l.startsWith(w))&&(e=P);var k=0;e.startsWith(u)?k+=u.length:p<u.length&&(k=p),e=e.substring(k),v-=k;var q=e.length,W=e.length-l.length;e.endsWith(l)?q=W:(v>W||v>e.length-l.length)&&(q=v),e=e.substring(0,q),e=Qe(F?"-"+e:e,a),e=(e.match(He(s))||[]).join("");var U=e.indexOf(s);e=e.replace(new RegExp(ge(s),"g"),function(c,x){return x===U?".":""});var _=se(e,a),Q=_.beforeDecimal,ee=_.afterDecimal,d=_.addNegation;return S.end-S.start<h.end-h.start&&Q===""&&O&&!parseFloat(ee)&&(e=d?"-":""),e}function et(e,t){var r=t.prefix;r===void 0&&(r="");var n=t.suffix;n===void 0&&(n="");var a=Array.from({length:e.length+1}).map(function(){return!0}),u=e[0]==="-";a.fill(!1,0,r.length+(u?1:0));var l=e.length;return a.fill(!1,l-n.length+1,l+1),a}function tt(e){var t=ue(e),r=t.thousandSeparator,n=t.decimalSeparator,a=e.prefix;a===void 0&&(a="");var u=e.allowNegative;if(u===void 0&&(u=!0),r===n)throw new Error(`
Decimal separator can't be same as thousand separator.
thousandSeparator: `+r+` (thousandSeparator = {true} is same as thousandSeparator = ",")
decimalSeparator: `+n+` (default value for decimalSeparator is .)
`);return a.startsWith("-")&&u&&(console.error(`
Prefix can't start with '-' when allowNegative is true.
prefix: `+a+`
allowNegative: `+u+`
`),u=!1),Object.assign(Object.assign({},e),{allowNegative:u})}function rt(e){e=tt(e),e.decimalSeparator,e.allowedDecimalSeparators,e.thousandsGroupStyle;var t=e.suffix,r=e.allowNegative,n=e.allowLeadingZeros,a=e.onKeyDown;a===void 0&&(a=J);var u=e.onBlur;u===void 0&&(u=J);var l=e.thousandSeparator,g=e.decimalScale,h=e.fixedDecimalScale,S=e.prefix;S===void 0&&(S="");var p=e.defaultValue,v=e.value,V=e.valueIsNumericString,b=e.onValueChange,s=de(e,["decimalSeparator","allowedDecimalSeparators","thousandsGroupStyle","suffix","allowNegative","allowLeadingZeros","onKeyDown","onBlur","thousandSeparator","decimalScale","fixedDecimalScale","prefix","defaultValue","value","valueIsNumericString","onValueChange"]),O=ue(e),E=O.decimalSeparator,m=O.allowedDecimalSeparators,T=function(d){return xe(d,e)},F=function(d,c){return Ye(d,c,e)},L=Y(v)?p:v,M=V??Xe(L,S,t);Y(v)?Y(p)||(M=M||typeof p=="number"):M=M||typeof v=="number";var Z=function(d){return me(d)?d:(typeof d=="number"&&(d=Se(d)),M&&typeof g=="number"?be(d,g,!!h):d)},P=we(Z(v),Z(p),!!M,T,F,b),w=P[0],k=w.numAsString,q=w.formattedValue,W=P[1],U=function(d){var c=d.target,x=d.key,C=c.selectionStart,j=c.selectionEnd,A=c.value;if(A===void 0&&(A=""),(x==="Backspace"||x==="Delete")&&j<S.length){d.preventDefault();return}if(C!==j){a(d);return}x==="Backspace"&&A[0]==="-"&&C===S.length+1&&r&&G(c,1),g&&h&&(x==="Backspace"&&A[C-1]===E?(G(c,C-1),d.preventDefault()):x==="Delete"&&A[C]===E&&d.preventDefault()),m?.includes(x)&&A[C]===E&&G(c,C+1);var I=l===!0?",":l;x==="Backspace"&&A[C-1]===I&&G(c,C-1),x==="Delete"&&A[C]===I&&G(c,C+1),a(d)},_=function(d){var c=k;if(c.match(/\d/g)||(c=""),n||(c=Le(c)),h&&g&&(c=be(c,g,h)),c!==k){var x=xe(c,e);W({formattedValue:x,value:c,floatValue:parseFloat(c)},{event:d,source:re.event})}u(d)},Q=function(d){return d===E?!0:ae(d)},ee=function(d){var c=d.currentValue,x=d.lastValue,C=d.formattedValue,j=d.currentValueIndex,A=d.formattedValueIndex,I=c[j],H=C[A],oe=ye(x,c),te=oe.to,ne=function(ie){return F(ie).indexOf(".")+S.length};return v===0&&h&&g&&c[te.start]===E&&ne(c)<j&&ne(C)>A?!1:j>=te.start&&j<te.end&&m&&m.includes(I)&&H===E?!0:I===H};return Object.assign(Object.assign({},s),{value:q,valueIsNumericString:!1,isValidInputCharacter:Q,isCharacterSame:ee,onValueChange:W,format:T,removeFormatting:F,getCaretBoundary:function(d){return et(d,e)},onKeyDown:U,onBlur:_})}function at(e){var t=rt(e);return X.createElement(Ge,Object.assign({},t))}function De(){return Intl.NumberFormat()?.formatToParts(1.1)?.find(e=>e.type==="decimal")?.value??"."}function nt(){return De()==="."?",":"."}const ut=e=>{const{value:t,onChange:r,disabled:n,highlight:a,validatedSelection:u,fixedDecimals:l,allowNegative:g,thousandSeparator:h,decimalSeparator:S}=e,p=R.useRef();return R.useLayoutEffect(()=>{if(u!==void 0){const v=typeof u=="number"?[u,null]:u;p.current?.setSelectionRange(v[0],v[1])}},[u]),R.createElement(Te,null,R.createElement(at,{autoFocus:!0,getInputRef:p,className:"gdg-input",onFocus:v=>v.target.setSelectionRange(a?0:v.target.value.length,v.target.value.length),disabled:n===!0,decimalScale:l,allowNegative:g,thousandSeparator:h??nt(),decimalSeparator:S??De(),value:Object.is(t,-0)?"-":t??"",onValueChange:r}))};export{ut as default};