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