raqam 0.2.0 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/react.cjs CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- 'use strict';var Rt=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Rt__default=/*#__PURE__*/_interopDefault(Rt);function De({value:t,defaultValue:e,onChange:n}){let r=t!==void 0,o=Rt.useRef(r);typeof window<"u"&&window.__DEV__!==false&&o.current!==r&&console.warn(`[raqam] Component is changing from ${o.current?"controlled":"uncontrolled"} to ${r?"controlled":"uncontrolled"}. Decide between using a controlled or uncontrolled component and don't switch.`);let[i,u]=Rt.useState(e),c=Rt.useCallback(s=>{let l=typeof s=="function"?s(r?t:i):s;r||u(l),n?.(l);},[r,t,i,n]);return [r?t:i,c]}var Ke=new Map;function ze(t,e){let n=`${t??""}::${JSON.stringify(e??{})}`,r=Ke.get(n);return r||(r=new Intl.NumberFormat(t,e),Ke.set(n,r)),r}function at(t,e){let n=ze(t,e),r=n.formatToParts(12345.6),o=".",i=",",u="-",c="0";for(let b of r)b.type==="decimal"&&(o=b.value),b.type==="group"&&(i=b.value),b.type==="minusSign"&&(u=b.value);let s=n.formatToParts(0);for(let b of s)if(b.type==="integer"){c=b.value;break}let l=/^(ar|he|fa|ur|syc|nqo|ug|yi)/i,a=n.resolvedOptions().locale,m=l.test(a);return {decimalSeparator:o,groupingSeparator:i,minusSign:u,zero:c,isRTL:m}}function Z(t){let e={...t.formatOptions};t.minimumFractionDigits!==void 0&&(e.minimumFractionDigits=t.minimumFractionDigits),t.maximumFractionDigits!==void 0&&(e.maximumFractionDigits=t.maximumFractionDigits),t.fixedDecimalScale&&t.maximumFractionDigits!==void 0&&(e.minimumFractionDigits=t.maximumFractionDigits,e.maximumFractionDigits=t.maximumFractionDigits);let n=ze(t.locale,e),r=null;function o(){return r||(r=at(t.locale,e)),r}function i(s){let l=n.formatToParts(s);if(!t.prefix&&!t.suffix)return l;let a=[];return t.prefix&&a.push({type:"literal",value:t.prefix}),a.push(...l),t.suffix&&a.push({type:"literal",value:t.suffix}),a}function u(s){if(!Number.isFinite(s))return "";let l=n.format(s);return (t.prefix??"")+l+(t.suffix??"")}function c(s){let l=i(s);return {formatted:l.map(m=>m.value).join(""),parts:l}}return {format:u,formatToParts:i,getLocaleInfo:o,formatResult:c}}var ut=[[1632,1641],[1776,1785],[2406,2415],[2534,2543],[3664,3673]],lt=[...ut];function z(t){return /[^\u0020-\u007e]/.test(t)?t.replace(/\p{Nd}/gu,e=>{let n=e.codePointAt(0);for(let[o,i]of lt)if(n>=o&&n<=i)return String(n-o);let r=Number.parseInt(e,10);return Number.isNaN(r)?e:String(r)}):t}function Ye(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function qe(t,e,n,r){let o=Ye(e.decimalSeparator),i=Ye(e.minusSign);return !!(n&&(t==="-"||t===e.minusSign)||r&&new RegExp(`^${i}?\\d+${o}$`).test(t)||r&&new RegExp(`^${i}?\\d+${o}\\d*0+$`).test(t))}function ve(t={}){let e=t.allowNegative??true,n=t.allowDecimal??true,r=Z({locale:t.locale,formatOptions:t.formatOptions,prefix:t.prefix,suffix:t.suffix});function o(){return r.getLocaleInfo()}function i(s){let l=o(),a=z(s),m=a.match(/^\((.+)\)$/);return m&&(a=`-${m[1]}`),t.prefix&&a.startsWith(t.prefix)&&(a=a.slice(t.prefix.length)),t.suffix&&a.endsWith(t.suffix)&&(a=a.slice(0,-t.suffix.length)),l.groupingSeparator&&(a=a.split(l.groupingSeparator).join("")),l.decimalSeparator!=="."&&(a=a.split(l.decimalSeparator).join(".")),l.minusSign!=="-"&&(a=a.split(l.minusSign).join("-")),a=a.replace(/[^\d.\-]/g,"").trim(),a}function u(s){if(!s||s.trim()==="")return {value:null,isValid:false,isIntermediate:false};let l=o();if(qe(s,l,e,n))return {value:null,isValid:false,isIntermediate:true};let a=i(s);if(a==="")return {value:null,isValid:false,isIntermediate:false};if(a==="-")return {value:null,isValid:false,isIntermediate:e};if(!/^-?\d+\.?\d*$/.test(a))return {value:null,isValid:false,isIntermediate:false};if(!e&&a.startsWith("-"))return {value:null,isValid:false,isIntermediate:false};if(!n&&a.includes("."))return {value:null,isValid:false,isIntermediate:false};let m=Number.parseFloat(a);return Number.isFinite(m)?{value:m,isValid:true,isIntermediate:false}:{value:null,isValid:false,isIntermediate:false}}function c(s){let l=o();return qe(s,l,e,n)}return {parse:u,isIntermediate:c,getLocaleInfo:o}}function we(t,e,n){let r=t;return e!==void 0&&(r=Math.max(r,e)),n!==void 0&&(r=Math.min(r,n)),r}function We(t,e){let r=10**Math.max(Ge(t),Ge(e));return Math.round(t*r+e*r)/r}function Ge(t){let e=String(t),n=e.indexOf(".");return n===-1?0:e.length-n-1}function Ae(t){let{locale:e,formatOptions:n,minValue:r,maxValue:o,step:i=1,largeStep:u,smallStep:c,allowNegative:s=true,allowDecimal:l=true,maximumFractionDigits:a,minimumFractionDigits:m,fixedDecimalScale:b,clampBehavior:P="blur",prefix:x,suffix:h,allowOutOfRange:R=false,validate:j,onRawChange:K,formatValue:J}=t,Y=Rt.useMemo(()=>Z({locale:e,formatOptions:n,prefix:x,suffix:h,minimumFractionDigits:m,maximumFractionDigits:a,fixedDecimalScale:b}),[e,JSON.stringify(n),x,h,m,a,b]),p=Rt.useMemo(()=>ve({locale:e,formatOptions:n,allowNegative:s,allowDecimal:l,prefix:x,suffix:h}),[e,JSON.stringify(n),s,l,x,h]),[L,A]=De({value:t.value,defaultValue:t.defaultValue??null,onChange:t.onChange}),k=Rt.useCallback(f=>J?J(f):Y.format(f),[Y,J]),I=Rt.useMemo(()=>t.defaultValue!=null?k(t.defaultValue):t.value!=null?k(t.value):"",[]),[C,X]=Rt.useState(I),D=Rt.useRef(I),[ae,ue]=Rt.useState(t.defaultValue!=null?String(t.defaultValue):null),q=Rt.useCallback(f=>{if(!j)return {validationState:"valid",validationError:null};let y=j(f);return y===false?{validationState:"invalid",validationError:null}:typeof y=="string"?{validationState:"invalid",validationError:y}:{validationState:"valid",validationError:null}},[j]),re=Rt.useMemo(()=>{let f=t.defaultValue??t.value??null;return q(f??null)},[]),[Ie,de]=Rt.useState(re.validationState),[F,B]=Rt.useState(re.validationError),[N,le]=Rt.useState(false),[ye,Se]=Rt.useState(false),fe=Rt.useRef("input"),Fe=Rt.useCallback(f=>{fe.current=f;},[]),Pe=Rt.useCallback(()=>fe.current,[]),te=t.value,pe=Rt.useRef(te);if(pe.current!==te)if(pe.current=te,te!=null){let f=Y.format(te);f!==D.current&&(D.current=f);}else D.current="";let Q=Rt.useCallback(f=>{let{validationState:y,validationError:ne}=q(f);de(y),B(ne);},[q]),he=Rt.useCallback(f=>{let y=p.parse(f);P==="strict"&&!R&&y.value!==null&&(r!==void 0&&y.value<r||o!==void 0&&y.value>o)||(X(f),A(y.value),ue(y.value!==null?f:null),K?.(y.value!==null?f:null),Q(y.value));},[p,P,R,r,o,A,K,Q]),_=Rt.useCallback(f=>{if(A(f),f!=null){let y=k(f);X(y),D.current=y;let ne=String(f);ue(ne),K?.(ne);}else X(""),D.current="",ue(null),K?.(null);Q(f);},[k,A,K,Q]),Ee=Rt.useCallback(()=>{if(L==null){X(""),D.current="";return}let f=L;P==="blur"&&!R&&(f=we(L,r,o));let y=k(f);X(y),D.current=y,f!==L&&A(f),Q(f);},[L,P,R,r,o,Y,A,Q]),Te=u??i*10,be=c??i*.1,Ue=!t.disabled&&!t.readOnly&&(R||o===void 0||(L??Number.NEGATIVE_INFINITY)<o),se=!t.disabled&&!t.readOnly&&(R||r===void 0||(L??Number.POSITIVE_INFINITY)>r),Ne=Rt.useCallback(f=>{let ge=we(We(L??0,f??i),r,o);_(ge);},[L,i,r,o,_]),Me=Rt.useCallback(f=>{let ge=we(We(L??0,-(f??i)),r,o);_(ge);},[L,i,r,o,_]),Ce=Rt.useCallback(()=>{o!==void 0&&_(o);},[o,_]),Ve=Rt.useCallback(()=>{r!==void 0&&_(r);},[r,_]);return {inputValue:C,numberValue:L??null,rawValue:ae,canIncrement:Ue,canDecrement:se,isScrubbing:N,setIsScrubbing:le,isFocused:ye,setIsFocused:Se,validationState:Ie,validationError:F,_setLastChangeReason:Fe,_getLastChangeReason:Pe,setInputValue:he,setNumberValue:_,commit:Ee,increment:Ne,decrement:Me,incrementToMax:Ce,decrementToMin:Ve,options:{...t,step:i,largeStep:Te,smallStep:be}}}function Je(t,e){return t>="0"&&t<="9"||t===e.decimalSeparator||t===e.minusSign||t==="-"}function st(t,e,n){let r=z(t),o=0;for(let i=0;i<e&&i<r.length;i++)Je(r[i],n)&&o++;return o}function ct(t,e){let n=t.length,r=new Array(n+1).fill(true);for(let o=0;o<n;o++)t[o]===e.groupingSeparator&&(r[o+1]=false);return r[0]=true,r[n]=true,r}function Oe(t,e,n,r,o){let i=z(t),u=st(i,e,r);o==="deleteContentBackward"&&e>0&&t[e-1]===r.groupingSeparator&&(u=Math.max(0,u-1));let c=ct(n,r),s=z(n),l=0,a=0;for(let m=0;m<s.length;m++){if(l===u){a=m;break}Je(s[m],r)&&l++,a=m+1;}return u>0&&l<u&&(a=n.length),a=mt(a,c),a}function mt(t,e){if(e[t])return t;for(let n=t+1;n<e.length;n++)if(e[n])return n;for(let n=t-1;n>=0;n--)if(e[n])return n;return 0}function ke(t,e={}){let{delay:n=400,interval:r=200,disabled:o=false}=e,i=Rt.useRef(t);Rt.useEffect(()=>{i.current=t;});let u=Rt.useRef(n);Rt.useEffect(()=>{u.current=n;});let c=Rt.useRef(r);Rt.useEffect(()=>{c.current=r;});let s=Rt.useRef(null),l=Rt.useRef(null),a=Rt.useRef(false),m=Rt.useCallback(()=>{a.current=false,s.current!==null&&(clearTimeout(s.current),s.current=null),l.current!==null&&(clearTimeout(l.current),l.current=null);},[]),b=Rt.useCallback(R=>{if(!a.current)return;i.current();let j=Math.max(50,Math.floor(R/2));l.current=setTimeout(()=>{b(j);},R);},[]),P=Rt.useCallback(R=>{o||R.button!==0&&R.pointerType==="mouse"||(i.current(),a.current=true,s.current=setTimeout(()=>{b(c.current);},u.current));},[o,b]),x=Rt.useCallback(R=>{R.preventDefault(),m();},[m]),h=Rt.useCallback(R=>{m();},[m]);return Rt.useEffect(()=>m,[m]),{onPointerDown:P,onPointerUp:x,onPointerLeave:h}}function Qe(t){return t.replace(/[.*+?^${}()|[\]\\\-]/g,"\\$&")}function _e(t,e,n){let{locale:r,formatOptions:o,minValue:i,maxValue:u,allowNegative:c=true,allowDecimal:s=true,allowMouseWheel:l=false,liveFormat:a=true,prefix:m,suffix:b,name:P,disabled:x,readOnly:h,required:R,onFocus:j,onBlur:K,maximumFractionDigits:J,minimumFractionDigits:Y,fixedDecimalScale:p,copyBehavior:L="formatted",stepHoldDelay:A=400,stepHoldInterval:k=200,formatValue:I,parseValue:C}=t,{step:X=1,largeStep:D=X*10,smallStep:ae=X*.1}=e.options,ue=Rt.useId(),q=t.id??`raqam-${ue}`,re=`${q}-label`,Ie=`${q}-description`,de=`${q}-error`,F=Rt.useMemo(()=>Z({locale:r,formatOptions:o,prefix:m,suffix:b,minimumFractionDigits:Y,maximumFractionDigits:J,fixedDecimalScale:p}),[r,JSON.stringify(o),m,b,Y,J,p]),B=Rt.useMemo(()=>ve({locale:r,formatOptions:o,allowNegative:c,allowDecimal:s,prefix:m,suffix:b}),[r,JSON.stringify(o),c,s,m,b]),N=Rt.useRef(null);Rt.useLayoutEffect(()=>{N.current!==null&&n.current&&document.activeElement===n.current&&(n.current.setSelectionRange(N.current,N.current),N.current=null);},[e.inputValue,n]),Rt.useEffect(()=>{let d=n.current;if(!d||!l)return;let g=E=>{x||h||document.activeElement===d&&(E.preventDefault(),e._setLastChangeReason("wheel"),E.deltaY<0?e.increment():e.decrement());};return d.addEventListener("wheel",g,{passive:false}),()=>d.removeEventListener("wheel",g)},[l,x,h,e,n]);let le=Rt.useRef(false),ye=Rt.useCallback(()=>{le.current=true;},[]),Se=Rt.useCallback(d=>{le.current=false;let g=d.currentTarget.value,E=F.getLocaleInfo(),S=z(g),T;if(C){let v=C(S);v.isIntermediate?T=S:v.value!==null&&I?T=I(v.value):v.value!==null?T=F.format(v.value):T=S,N.current=T.length;}else if(a){let v=B.parse(S);v.isIntermediate?T=S:v.value!==null?T=I?I(v.value):F.format(v.value):T=S===""?"":S,N.current=Oe(g,g.length,T,E,"insertCompositionText");}else T=S,N.current=S.length;e._setLastChangeReason("input"),e.setInputValue(T);},[F,B,a,e,I,C]),fe=Rt.useCallback(d=>{let g=d.target.value,E=d.target.selectionStart??g.length,S=d.nativeEvent.inputType,T=F.getLocaleInfo();if(le.current){e.setInputValue(g);return}let v=z(g),M;if(C){let V=C(v);V.isIntermediate?M=v:V.value!==null?M=I?I(V.value):F.format(V.value):v===""?M="":M=v,N.current=M.length;}else if(a){let V=B.parse(v);V.isIntermediate?M=v:V.value!==null?M=I?I(V.value):F.format(V.value):v===""?M="":M=v,I?N.current=M.length:N.current=Oe(g,E,M,T,S);}else M=v,N.current=E;e._setLastChangeReason("input"),e.setInputValue(M);},[F,B,a,e,I,C]),Fe=Rt.useCallback(d=>{d.preventDefault();let g=d.clipboardData.getData("text/plain");if(!g)return;let E=g.replace(/[€$£¥₹₺₽﷼฿₩¢₦₨₪₫₱]/g,"").trim(),S=z(E);if(e._setLastChangeReason("paste"),C){let $=C(S);if($.value!==null){let je=I?I($.value):F.format($.value);e.setInputValue(je),N.current=je.length;}return}let T=B.parse(S);if(T.value!==null){let $=F.format(T.value);e.setInputValue($),N.current=$.length;return}let v=F.getLocaleInfo(),M=new RegExp(`[^0-9${Qe(v.decimalSeparator)}${Qe(v.minusSign)}-]`,"g"),V=S.replace(M,""),ce=B.parse(V);if(ce.value!==null){let $=F.format(ce.value);e.setInputValue($),N.current=$.length;}},[B,F,e,I,C]),Pe=Rt.useCallback(d=>{if(L==="formatted")return;d.preventDefault();let g=String(e.numberValue??"");d.clipboardData.setData("text/plain",g);},[L,e.numberValue]),te=Rt.useCallback(d=>{if(L==="formatted")return;d.preventDefault();let g=String(e.numberValue??"");d.clipboardData.setData("text/plain",g),e.setInputValue("");},[L,e]),pe=Rt.useCallback(d=>{if(x||h)return;let g=d.key;if(g==="Backspace"&&!d.shiftKey&&!d.altKey&&!d.metaKey&&!d.ctrlKey){let E=n.current;if(E){let S=E.selectionStart??0,T=E.selectionEnd??S,v=E.value,M=F.getLocaleInfo();if(S===T&&S>=2&&v[S-1]===M.groupingSeparator){d.preventDefault();let V=v.slice(0,S-2)+v.slice(S),ce=B.parse(V);if(e._setLastChangeReason("input"),ce.value!==null){let $=F.format(ce.value);e.setInputValue($);}else e.setInputValue(V);N.current=S-2;return}}}if(g==="ArrowUp"||g==="ArrowDown"){d.preventDefault();let E=g==="ArrowUp"?1:-1;e._setLastChangeReason("keyboard"),d.shiftKey?E>0?e.increment(D):e.decrement(D):d.metaKey||d.ctrlKey?E>0?e.increment(ae):e.decrement(ae):E>0?e.increment():e.decrement();return}if(g==="PageUp"){d.preventDefault(),e._setLastChangeReason("keyboard"),e.increment(D);return}if(g==="PageDown"){d.preventDefault(),e._setLastChangeReason("keyboard"),e.decrement(D);return}if(g==="Home"){i!==void 0&&(d.preventDefault(),e._setLastChangeReason("keyboard"),e.decrementToMin());return}if(g==="End"){u!==void 0&&(d.preventDefault(),e._setLastChangeReason("keyboard"),e.incrementToMax());return}if(g==="Enter"){e._setLastChangeReason("blur"),e.commit();return}},[x,h,e,D,ae,i,u,F,B,n]),Q=Rt.useCallback(d=>{e.setIsFocused(false),e._setLastChangeReason("blur"),e.commit(),K?.(d);},[e,K]),he=Rt.useCallback(d=>{e.setIsFocused(true),j?.(d);},[e,j]),_=ke(()=>{e._setLastChangeReason("increment"),e.increment();},{delay:A,interval:k,disabled:x||!e.canIncrement}),Ee=ke(()=>{e._setLastChangeReason("decrement"),e.decrement();},{delay:A,interval:k,disabled:x||!e.canDecrement}),Te=Rt.useMemo(()=>{if(e.numberValue!=null)return I?I(e.numberValue):F.format(e.numberValue)},[e.numberValue,F,I]),be=F.getLocaleInfo(),se=e.numberValue!==null&&(i!==void 0&&e.numberValue<i||u!==void 0&&e.numberValue>u)||e.validationState==="invalid",Ne={id:re,htmlFor:q},Me={role:"group","aria-labelledby":t["aria-labelledby"]??re},Ce={id:q,type:"text",inputMode:"decimal",role:"spinbutton",autoComplete:"off",autoCorrect:"off",spellCheck:false,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"]??re,"aria-describedby":t["aria-describedby"],"aria-valuenow":e.numberValue??void 0,"aria-valuemin":i,"aria-valuemax":u,"aria-valuetext":Te,"aria-disabled":x||void 0,"aria-readonly":h||void 0,"aria-required":R||void 0,"aria-invalid":se?true:void 0,"aria-errormessage":se&&e.validationError?de:void 0,disabled:x,readOnly:h,required:R,value:e.inputValue,onChange:fe,onKeyDown:pe,onBlur:Q,onFocus:he,onPaste:Fe,onCopy:L!=="formatted"?Pe:void 0,onCut:L!=="formatted"?te:void 0,onCompositionStart:ye,onCompositionEnd:Se,style:be.isRTL?{direction:"ltr",textAlign:"right",unicodeBidi:"embed"}:void 0,"data-disabled":x?"":void 0,"data-readonly":h?"":void 0,"data-required":R?"":void 0,"data-invalid":se?"":void 0,"data-rtl":be.isRTL?"":void 0},Ve=P?{type:"hidden",name:P,value:e.numberValue??"","aria-hidden":true}:null,f={type:"button",tabIndex:-1,"aria-label":"Increase",disabled:x||!e.canIncrement,..._,"data-disabled":x||!e.canIncrement?"":void 0},y={type:"button",tabIndex:-1,"aria-label":"Decrease",disabled:x||!e.canDecrement,...Ee,"data-disabled":x||!e.canDecrement?"":void 0};return {labelProps:Ne,groupProps:Me,inputProps:Ce,hiddenInputProps:Ve,incrementButtonProps:f,decrementButtonProps:y,descriptionProps:{id:Ie},errorMessageProps:{id:de,role:"alert","aria-live":"polite"}}}function bt(t,e={}){let{locale:n,formatOptions:r,prefix:o,suffix:i,minimumFractionDigits:u,maximumFractionDigits:c,fixedDecimalScale:s}=e,l=Rt.useMemo(()=>Z({locale:n,formatOptions:r,prefix:o,suffix:i,minimumFractionDigits:u,maximumFractionDigits:c,fixedDecimalScale:s}),[n,JSON.stringify(r),o,i,u,c,s]);return Rt.useMemo(()=>t==null?"":l.format(t),[t,l])}var Le=Rt.createContext(null);function H(){let t=Rt.useContext(Le);if(!t)throw new Error("[raqam] NumberField sub-components must be used inside <NumberField.Root>.");return t}function nt(t,e={}){let{direction:n="horizontal",pixelSensitivity:r=4}=e,[o,i]=Rt.useState(false),u=Rt.useRef(t);u.current=t;let c=Rt.useRef(n);c.current=n;let s=Rt.useRef(r);s.current=r;let l=Rt.useRef(false),a=Rt.useRef(0),m=Rt.useRef(null),b=Rt.useRef({x:0,y:0}),[P,x]=Rt.useState({x:0,y:0}),h=Rt.useRef(p=>{if(!l.current)return;let L=b.current.x+p.movementX,A=b.current.y+p.movementY;b.current={x:L,y:A},x({x:L,y:A});let k=c.current,I=0;k==="horizontal"?I=p.movementX:k==="vertical"?I=-p.movementY:I=Math.abs(p.movementX)>=Math.abs(p.movementY)?p.movementX:-p.movementY,a.current+=I;let C=s.current;for(;a.current>=C;)u.current.increment(),a.current-=C;for(;a.current<=-C;)u.current.decrement(),a.current+=C;}),R=Rt.useRef(()=>{document.pointerLockElement===m.current?(l.current=true,a.current=0,i(true),u.current.setIsScrubbing(true),document.addEventListener("mousemove",h.current)):(l.current=false,a.current=0,document.removeEventListener("mousemove",h.current),i(false),u.current.setIsScrubbing(false));});Rt.useEffect(()=>{let p=R.current;return document.addEventListener("pointerlockchange",p),()=>{document.removeEventListener("pointerlockchange",p),document.removeEventListener("mousemove",h.current);}},[]);let j=Rt.useCallback(p=>{if(u.current.options.disabled||u.current.options.readOnly||p.button!==0)return;let L=p.currentTarget;m.current=L,b.current={x:p.clientX,y:p.clientY},x({x:p.clientX,y:p.clientY}),L.requestPointerLock();},[]),K=Rt.useCallback(p=>{u.current.options.disabled||u.current.options.readOnly||(p.key==="ArrowRight"||p.key==="ArrowUp"?(p.preventDefault(),u.current.increment()):(p.key==="ArrowLeft"||p.key==="ArrowDown")&&(p.preventDefault(),u.current.decrement()));},[]),J=n==="horizontal"?"ew-resize":n==="vertical"?"ns-resize":"move",Y={role:"slider",tabIndex:t.options.disabled?-1:0,style:{cursor:t.options.disabled?void 0:J,userSelect:"none",WebkitUserSelect:"none"},"aria-label":"Scrub to change value","data-scrubbing":o?"":void 0,onPointerDown:j,onKeyDown:K};return {isScrubbing:o,scrubAreaProps:Y,virtualCursor:P}}function ee(t,e,n){return e?typeof e=="function"?e(t.props,n):Rt__default.default.cloneElement(e,Object.assign({},t.props,e.props)):t}function Lt(t,e){let{options:n}=t;return {"data-disabled":n.disabled?"":void 0,"data-readonly":n.readOnly?"":void 0,"data-required":n.required?"":void 0,"data-scrubbing":t.isScrubbing?"":void 0,"data-focused":t.isFocused?"":void 0,"data-invalid":e?"":void 0}}var It=new Set(["className","style","id","tabIndex","title","role","aria-label","data-testid","onClick","onMouseEnter","onMouseLeave"]);function yt(t){let e={},n={};for(let[r,o]of Object.entries(t))It.has(r)||r.startsWith("data-")||r.startsWith("aria-")?n[r]=o:e[r]=o;return {fieldProps:e,divProps:n}}var St=Rt.forwardRef(function({children:e,onValueChange:n,onValueCommitted:r,...o},i){let u=Rt.useRef(null),{fieldProps:c,divProps:s}=yt(o),l=c,a=Rt.useRef(n);a.current=n;let m=Rt.useRef(null),b={...l,onChange:R=>{l.onChange?.(R),a.current&&m.current&&a.current(R,{reason:m.current._getLastChangeReason(),formattedValue:m.current.inputValue});}},P=Ae(b);m.current=P;let x=_e(b,P,u),h=P.validationState==="invalid"||P.numberValue!==null&&(l.minValue!==void 0&&P.numberValue<l.minValue||l.maxValue!==void 0&&P.numberValue>l.maxValue);return jsxRuntime.jsx(Le.Provider,{value:{state:P,aria:x,inputRef:u,props:b},children:jsxRuntime.jsx("div",{ref:i,...s,...Lt(P,h),children:e})})}),Ft=Rt.forwardRef(function({render:e,children:n,...r},o){let{aria:i,state:u}=H(),c=jsxRuntime.jsx("label",{ref:o,...i.labelProps,...r,children:n});return ee(c,e,u)}),Pt=Rt.forwardRef(function({render:e,children:n,...r},o){let{aria:i,state:u}=H(),c=jsxRuntime.jsx("div",{ref:o,...i.groupProps,...r,children:n});return ee(c,e,u)}),ht=Rt.forwardRef(function({render:e,...n},r){let{aria:o,state:i,inputRef:u}=H(),c=jsxRuntime.jsx("input",{ref:u,...o.inputProps,...n});return ee(c,e,i)}),Et=Rt.forwardRef(function({render:e,children:n,...r},o){let{aria:i,state:u}=H(),c=jsxRuntime.jsx("button",{ref:o,...i.incrementButtonProps,...r,children:n??"+"});return ee(c,e,u)}),Tt=Rt.forwardRef(function({render:e,children:n,...r},o){let{aria:i,state:u}=H(),c=jsxRuntime.jsx("button",{ref:o,...i.decrementButtonProps,...r,children:n??"\u2212"});return ee(c,e,u)}),Nt=function(){let{aria:e}=H();return e.hiddenInputProps?jsxRuntime.jsx("input",{...e.hiddenInputProps}):null},Mt=Rt.forwardRef(function({render:e,children:n,direction:r="horizontal",pixelSensitivity:o=4,...i},u){let{state:c}=H(),{scrubAreaProps:s}=nt(c,{direction:r,pixelSensitivity:o}),l=jsxRuntime.jsx("span",{ref:u,...s,...i,children:n});return ee(l,e,c)}),Ct=Rt.forwardRef(function({render:e,children:n,style:r,...o},i){let{state:u}=H();if(!u.isScrubbing)return null;let c=jsxRuntime.jsx("span",{ref:i,style:{position:"fixed",pointerEvents:"none",zIndex:9999,...r},...o,children:n});return ee(c,e,u)}),Vt=Rt.forwardRef(function({children:e,...n},r){let{aria:o}=H();return jsxRuntime.jsx("p",{ref:r,...o.descriptionProps,...n,children:e})}),Dt=Rt.forwardRef(function({children:e,...n},r){let{aria:o,state:i}=H(),u=e??i.validationError??null;return u?jsxRuntime.jsx("p",{ref:r,...o.errorMessageProps,...n,children:u}):null}),Ht=Rt.forwardRef(function({render:e,...n},r){let{state:o}=H(),i=jsxRuntime.jsx("span",{ref:r,"aria-hidden":"true",...n,children:o.inputValue});return ee(i,e,o)}),wt={Root:St,Label:Ft,Group:Pt,Input:ht,Increment:Et,Decrement:Tt,HiddenInput:Nt,ScrubArea:Mt,ScrubAreaCursor:Ct,Description:Vt,ErrorMessage:Dt,Formatted:Ht};exports.NumberField=wt;exports.NumberFieldContext=Le;exports.useControllableState=De;exports.useNumberField=_e;exports.useNumberFieldContext=H;exports.useNumberFieldFormat=bt;exports.useNumberFieldState=Ae;//# sourceMappingURL=react.cjs.map
2
+ 'use strict';var Rt=require('react'),jsxRuntime=require('react/jsx-runtime');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Rt__default=/*#__PURE__*/_interopDefault(Rt);function De({value:t,defaultValue:e,onChange:n}){let r=t!==void 0,o=Rt.useRef(r);typeof window<"u"&&window.__DEV__!==false&&o.current!==r&&console.warn(`[raqam] Component is changing from ${o.current?"controlled":"uncontrolled"} to ${r?"controlled":"uncontrolled"}. Decide between using a controlled or uncontrolled component and don't switch.`);let[i,u]=Rt.useState(e),d=Rt.useCallback(s=>{let l=typeof s=="function"?s(r?t:i):s;r||u(l),n?.(l);},[r,t,i,n]);return [r?t:i,d]}var Ke=new Map;function ze(t,e){let n=`${t??""}::${JSON.stringify(e??{})}`,r=Ke.get(n);return r||(r=new Intl.NumberFormat(t,e),Ke.set(n,r)),r}function at(t,e){let n=ze(t,e),r=n.formatToParts(12345.6),o=".",i=",",u="-",d="0";for(let b of r)b.type==="decimal"&&(o=b.value),b.type==="group"&&(i=b.value),b.type==="minusSign"&&(u=b.value);let s=n.formatToParts(0);for(let b of s)if(b.type==="integer"){d=b.value;break}let l=/^(ar|he|fa|ur|syc|nqo|ug|yi)/i,a=n.resolvedOptions().locale,m=l.test(a);return {decimalSeparator:o,groupingSeparator:i,minusSign:u,zero:d,isRTL:m}}function Z(t){let e={...t.formatOptions};t.minimumFractionDigits!==void 0&&(e.minimumFractionDigits=t.minimumFractionDigits),t.maximumFractionDigits!==void 0&&(e.maximumFractionDigits=t.maximumFractionDigits),t.fixedDecimalScale&&t.maximumFractionDigits!==void 0&&(e.minimumFractionDigits=t.maximumFractionDigits,e.maximumFractionDigits=t.maximumFractionDigits);let n=ze(t.locale,e),r=null;function o(){return r||(r=at(t.locale,e)),r}function i(s){let l=n.formatToParts(s);if(!t.prefix&&!t.suffix)return l;let a=[];return t.prefix&&a.push({type:"literal",value:t.prefix}),a.push(...l),t.suffix&&a.push({type:"literal",value:t.suffix}),a}function u(s){if(!Number.isFinite(s))return "";let l=n.format(s);return (t.prefix??"")+l+(t.suffix??"")}function d(s){let l=i(s);return {formatted:l.map(m=>m.value).join(""),parts:l}}return {format:u,formatToParts:i,getLocaleInfo:o,formatResult:d}}var ut=[[1632,1641],[1776,1785],[2406,2415],[2534,2543],[3664,3673]],lt=[...ut];function z(t){return /[^\u0020-\u007e]/.test(t)?t.replace(/\p{Nd}/gu,e=>{let n=e.codePointAt(0);for(let[o,i]of lt)if(n>=o&&n<=i)return String(n-o);let r=Number.parseInt(e,10);return Number.isNaN(r)?e:String(r)}):t}function Ye(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function qe(t,e,n,r){let o=Ye(e.decimalSeparator),i=Ye(e.minusSign);return !!(n&&(t==="-"||t===e.minusSign)||r&&new RegExp(`^${i}?\\d+${o}$`).test(t)||r&&new RegExp(`^${i}?\\d+${o}\\d*0+$`).test(t))}function ve(t={}){let e=t.allowNegative??true,n=t.allowDecimal??true,r=Z({locale:t.locale,formatOptions:t.formatOptions,prefix:t.prefix,suffix:t.suffix});function o(){return r.getLocaleInfo()}function i(s){let l=o(),a=z(s),m=a.match(/^\((.+)\)$/);return m&&(a=`-${m[1]}`),t.prefix&&a.startsWith(t.prefix)&&(a=a.slice(t.prefix.length)),t.suffix&&a.endsWith(t.suffix)&&(a=a.slice(0,-t.suffix.length)),l.groupingSeparator&&(a=a.split(l.groupingSeparator).join("")),l.decimalSeparator!=="."&&(a=a.split(l.decimalSeparator).join(".")),l.minusSign!=="-"&&(a=a.split(l.minusSign).join("-")),a=a.replace(/[^\d.\-]/g,"").trim(),a}function u(s){if(!s||s.trim()==="")return {value:null,isValid:false,isIntermediate:false};let l=o();if(qe(s,l,e,n))return {value:null,isValid:false,isIntermediate:true};let a=i(s);if(a==="")return {value:null,isValid:false,isIntermediate:false};if(a==="-")return {value:null,isValid:false,isIntermediate:e};if(!/^-?\d+\.?\d*$/.test(a))return {value:null,isValid:false,isIntermediate:false};if(!e&&a.startsWith("-"))return {value:null,isValid:false,isIntermediate:false};if(!n&&a.includes("."))return {value:null,isValid:false,isIntermediate:false};let m=Number.parseFloat(a);return Number.isFinite(m)?{value:m,isValid:true,isIntermediate:false}:{value:null,isValid:false,isIntermediate:false}}function d(s){let l=o();return qe(s,l,e,n)}return {parse:u,isIntermediate:d,getLocaleInfo:o}}function we(t,e,n){let r=t;return e!==void 0&&(r=Math.max(r,e)),n!==void 0&&(r=Math.min(r,n)),r}function We(t,e){let r=10**Math.max(Ge(t),Ge(e));return Math.round(t*r+e*r)/r}function Ge(t){let e=String(t),n=e.indexOf(".");return n===-1?0:e.length-n-1}function Ae(t){let{locale:e,formatOptions:n,minValue:r,maxValue:o,step:i=1,largeStep:u,smallStep:d,allowNegative:s=true,allowDecimal:l=true,maximumFractionDigits:a,minimumFractionDigits:m,fixedDecimalScale:b,clampBehavior:E="blur",prefix:R,suffix:T,allowOutOfRange:L=false,validate:j,onRawChange:K,formatValue:J}=t,Y=Rt.useMemo(()=>Z({locale:e,formatOptions:n,prefix:R,suffix:T,minimumFractionDigits:m,maximumFractionDigits:a,fixedDecimalScale:b}),[e,JSON.stringify(n),R,T,m,a,b]),p=Rt.useMemo(()=>ve({locale:e,formatOptions:n,allowNegative:s,allowDecimal:l,prefix:R,suffix:T}),[e,JSON.stringify(n),s,l,R,T]),[I,A]=De({value:t.value,defaultValue:t.defaultValue??null,onChange:t.onChange}),k=Rt.useCallback(f=>J?J(f):Y.format(f),[Y,J]),y=Rt.useMemo(()=>t.defaultValue!=null?k(t.defaultValue):t.value!=null?k(t.value):"",[]),[C,X]=Rt.useState(y),D=Rt.useRef(y),[ae,ue]=Rt.useState(t.defaultValue!=null?String(t.defaultValue):null),q=Rt.useCallback(f=>{if(!j)return {validationState:"valid",validationError:null};let S=j(f);return S===false?{validationState:"invalid",validationError:null}:typeof S=="string"?{validationState:"invalid",validationError:S}:{validationState:"valid",validationError:null}},[j]),re=Rt.useMemo(()=>{let f=t.defaultValue??t.value??null;return q(f??null)},[]),[Ie,me]=Rt.useState(re.validationState),[F,B]=Rt.useState(re.validationError),[N,le]=Rt.useState(false),[ye,Se]=Rt.useState(false),fe=Rt.useRef("input"),Fe=Rt.useCallback(f=>{fe.current=f;},[]),Pe=Rt.useCallback(()=>fe.current,[]),te=t.value,pe=Rt.useRef(te);if(pe.current!==te)if(pe.current=te,te!=null){let f=Y.format(te);f!==D.current&&(D.current=f);}else D.current="";let Q=Rt.useCallback(f=>{let{validationState:S,validationError:ne}=q(f);me(S),B(ne);},[q]),he=Rt.useCallback(f=>{let S=p.parse(f);E==="strict"&&!L&&S.value!==null&&(r!==void 0&&S.value<r||o!==void 0&&S.value>o)||(X(f),A(S.value),ue(S.value!==null?f:null),K?.(S.value!==null?f:null),Q(S.value));},[p,E,L,r,o,A,K,Q]),_=Rt.useCallback(f=>{if(A(f),f!=null){let S=k(f);X(S),D.current=S;let ne=String(f);ue(ne),K?.(ne);}else X(""),D.current="",ue(null),K?.(null);Q(f);},[k,A,K,Q]),Ee=Rt.useCallback(()=>{if(I==null){X(""),D.current="";return}let f=I;E==="blur"&&!L&&(f=we(I,r,o));let S=k(f);X(S),D.current=S,f!==I&&A(f),Q(f);},[I,E,L,r,o,Y,A,Q]),Te=u??i*10,be=d??i*.1,Ue=!t.disabled&&!t.readOnly&&(L||o===void 0||(I??Number.NEGATIVE_INFINITY)<o),se=!t.disabled&&!t.readOnly&&(L||r===void 0||(I??Number.POSITIVE_INFINITY)>r),Ne=Rt.useCallback(f=>{let ge=we(We(I??0,f??i),r,o);_(ge);},[I,i,r,o,_]),Me=Rt.useCallback(f=>{let ge=we(We(I??0,-(f??i)),r,o);_(ge);},[I,i,r,o,_]),Ce=Rt.useCallback(()=>{o!==void 0&&_(o);},[o,_]),Ve=Rt.useCallback(()=>{r!==void 0&&_(r);},[r,_]);return {inputValue:C,numberValue:I??null,rawValue:ae,canIncrement:Ue,canDecrement:se,isScrubbing:N,setIsScrubbing:le,isFocused:ye,setIsFocused:Se,validationState:Ie,validationError:F,_setLastChangeReason:Fe,_getLastChangeReason:Pe,setInputValue:he,setNumberValue:_,commit:Ee,increment:Ne,decrement:Me,incrementToMax:Ce,decrementToMin:Ve,options:{...t,step:i,largeStep:Te,smallStep:be}}}function Je(t,e){return t>="0"&&t<="9"||t===e.decimalSeparator||t===e.minusSign||t==="-"}function st(t,e,n){let r=z(t),o=0;for(let i=0;i<e&&i<r.length;i++)Je(r[i],n)&&o++;return o}function ct(t,e){let n=t.length,r=new Array(n+1).fill(true);for(let o=0;o<n;o++)t[o]===e.groupingSeparator&&(r[o+1]=false);return r[0]=true,r[n]=true,r}function Oe(t,e,n,r,o){let i=z(t),u=st(i,e,r);o==="deleteContentBackward"&&e>0&&t[e-1]===r.groupingSeparator&&(u=Math.max(0,u-1));let d=ct(n,r),s=z(n),l=0,a=0;for(let m=0;m<s.length;m++){if(l===u){a=m;break}Je(s[m],r)&&l++,a=m+1;}return u>0&&l<u&&(a=n.length),a=dt(a,d),a}function dt(t,e){if(e[t])return t;for(let n=t+1;n<e.length;n++)if(e[n])return n;for(let n=t-1;n>=0;n--)if(e[n])return n;return 0}function ke(t,e={}){let{delay:n=400,interval:r=200,disabled:o=false}=e,i=Rt.useRef(t);Rt.useEffect(()=>{i.current=t;});let u=Rt.useRef(n);Rt.useEffect(()=>{u.current=n;});let d=Rt.useRef(r);Rt.useEffect(()=>{d.current=r;});let s=Rt.useRef(null),l=Rt.useRef(null),a=Rt.useRef(false),m=Rt.useCallback(()=>{a.current=false,s.current!==null&&(clearTimeout(s.current),s.current=null),l.current!==null&&(clearTimeout(l.current),l.current=null);},[]),b=Rt.useCallback(L=>{if(!a.current)return;i.current();let j=Math.max(50,Math.floor(L/2));l.current=setTimeout(()=>{b(j);},L);},[]),E=Rt.useCallback(L=>{o||L.button!==0&&L.pointerType==="mouse"||(i.current(),a.current=true,s.current=setTimeout(()=>{b(d.current);},u.current));},[o,b]),R=Rt.useCallback(L=>{L.preventDefault(),m();},[m]),T=Rt.useCallback(L=>{m();},[m]);return Rt.useEffect(()=>m,[m]),{onPointerDown:E,onPointerUp:R,onPointerLeave:T}}function Qe(t){return t.replace(/[.*+?^${}()|[\]\\\-]/g,"\\$&")}function _e(t,e,n){let{locale:r,formatOptions:o,minValue:i,maxValue:u,allowNegative:d=true,allowDecimal:s=true,allowMouseWheel:l=false,liveFormat:a=true,prefix:m,suffix:b,name:E,disabled:R,readOnly:T,required:L,onFocus:j,onBlur:K,maximumFractionDigits:J,minimumFractionDigits:Y,fixedDecimalScale:p,copyBehavior:I="formatted",stepHoldDelay:A=400,stepHoldInterval:k=200,formatValue:y,parseValue:C}=t,{step:X=1,largeStep:D=X*10,smallStep:ae=X*.1}=e.options,ue=Rt.useId(),q=t.id??`raqam-${ue}`,re=`${q}-label`,Ie=`${q}-description`,me=`${q}-error`,F=Rt.useMemo(()=>Z({locale:r,formatOptions:o,prefix:m,suffix:b,minimumFractionDigits:Y,maximumFractionDigits:J,fixedDecimalScale:p}),[r,JSON.stringify(o),m,b,Y,J,p]),B=Rt.useMemo(()=>ve({locale:r,formatOptions:o,allowNegative:d,allowDecimal:s,prefix:m,suffix:b}),[r,JSON.stringify(o),d,s,m,b]),N=Rt.useRef(null);Rt.useLayoutEffect(()=>{N.current!==null&&n.current&&document.activeElement===n.current&&(n.current.setSelectionRange(N.current,N.current),N.current=null);},[e.inputValue,n]),Rt.useEffect(()=>{let c=n.current;if(!c||!l)return;let g=h=>{R||T||document.activeElement===c&&(h.preventDefault(),e._setLastChangeReason("wheel"),h.deltaY<0?e.increment():e.decrement());};return c.addEventListener("wheel",g,{passive:false}),()=>c.removeEventListener("wheel",g)},[l,R,T,e,n]);let le=Rt.useRef(false),ye=Rt.useCallback(()=>{le.current=true;},[]),Se=Rt.useCallback(c=>{le.current=false;let g=c.currentTarget.value,h=F.getLocaleInfo(),v=z(g),P;if(C){let x=C(v);x.isIntermediate?P=v:x.value!==null&&y?P=y(x.value):x.value!==null?P=F.format(x.value):P=v,N.current=P.length;}else if(a){let x=B.parse(v);x.isIntermediate?P=v:x.value!==null?P=y?y(x.value):F.format(x.value):P=v===""?"":v,N.current=Oe(g,g.length,P,h,"insertCompositionText");}else P=v,N.current=v.length;e._setLastChangeReason("input"),e.setInputValue(P);},[F,B,a,e,y,C]),fe=Rt.useCallback(c=>{let g=c.target.value,h=c.target.selectionStart??g.length,v=c.nativeEvent.inputType,P=F.getLocaleInfo();if(le.current){e.setInputValue(g);return}let x=z(g),M;if(C){let V=C(x);V.isIntermediate?M=x:V.value!==null?M=y?y(V.value):F.format(V.value):x===""?M="":M=x,N.current=M.length;}else if(a){let V=B.parse(x);V.isIntermediate?M=x:V.value!==null?M=y?y(V.value):F.format(V.value):x===""?M="":M=x,y?N.current=M.length:N.current=Oe(g,h,M,P,v);}else M=x,N.current=h;e._setLastChangeReason("input"),e.setInputValue(M);},[F,B,a,e,y,C]),Fe=Rt.useCallback(c=>{c.preventDefault();let g=c.clipboardData.getData("text/plain");if(!g)return;let h=g.replace(/[€$£¥₹₺₽﷼฿₩¢₦₨₪₫₱]/g,"").trim(),v=z(h);if(e._setLastChangeReason("paste"),C){let $=C(v);if($.value!==null){let je=y?y($.value):F.format($.value);e.setInputValue(je),N.current=je.length;}return}let P=B.parse(v);if(P.value!==null){let $=F.format(P.value);e.setInputValue($),N.current=$.length;return}let x=F.getLocaleInfo(),M=new RegExp(`[^0-9${Qe(x.decimalSeparator)}${Qe(x.minusSign)}-]`,"g"),V=v.replace(M,""),ce=B.parse(V);if(ce.value!==null){let $=F.format(ce.value);e.setInputValue($),N.current=$.length;}},[B,F,e,y,C]),Pe=Rt.useCallback(c=>{if(I==="formatted")return;c.preventDefault();let g=String(e.numberValue??"");c.clipboardData.setData("text/plain",g);},[I,e.numberValue]),te=Rt.useCallback(c=>{if(I==="formatted")return;c.preventDefault();let g=String(e.numberValue??"");c.clipboardData.setData("text/plain",g),e.setInputValue("");},[I,e]),pe=Rt.useCallback(c=>{if(R||T)return;let g=c.key;if(!c.metaKey&&!c.ctrlKey&&!c.altKey&&s){let h=F.getLocaleInfo();if(g===h.decimalSeparator){let v=n.current;if(v){let P=v.value.indexOf(h.decimalSeparator);if(P!==-1){c.preventDefault(),v.setSelectionRange(P+1,P+1);return}}}}if(g==="Backspace"&&!c.shiftKey&&!c.altKey&&!c.metaKey&&!c.ctrlKey){let h=n.current;if(h){let v=h.selectionStart??0,P=h.selectionEnd??v,x=h.value,M=F.getLocaleInfo();if(v===P&&v>=2&&x[v-1]===M.groupingSeparator){c.preventDefault();let V=x.slice(0,v-2)+x.slice(v),ce=B.parse(V);if(e._setLastChangeReason("input"),ce.value!==null){let $=F.format(ce.value);e.setInputValue($);}else e.setInputValue(V);N.current=v-2;return}}}if(g==="ArrowUp"||g==="ArrowDown"){c.preventDefault();let h=g==="ArrowUp"?1:-1;e._setLastChangeReason("keyboard"),c.shiftKey?h>0?e.increment(D):e.decrement(D):c.metaKey||c.ctrlKey?h>0?e.increment(ae):e.decrement(ae):h>0?e.increment():e.decrement();return}if(g==="PageUp"){c.preventDefault(),e._setLastChangeReason("keyboard"),e.increment(D);return}if(g==="PageDown"){c.preventDefault(),e._setLastChangeReason("keyboard"),e.decrement(D);return}if(g==="Home"){i!==void 0&&(c.preventDefault(),e._setLastChangeReason("keyboard"),e.decrementToMin());return}if(g==="End"){u!==void 0&&(c.preventDefault(),e._setLastChangeReason("keyboard"),e.incrementToMax());return}if(g==="Enter"){e._setLastChangeReason("blur"),e.commit();return}},[R,T,e,D,ae,i,u,F,B,n]),Q=Rt.useCallback(c=>{e.setIsFocused(false),e._setLastChangeReason("blur"),e.commit(),K?.(c);},[e,K]),he=Rt.useCallback(c=>{e.setIsFocused(true),j?.(c);},[e,j]),_=ke(()=>{e._setLastChangeReason("increment"),e.increment();},{delay:A,interval:k,disabled:R||!e.canIncrement}),Ee=ke(()=>{e._setLastChangeReason("decrement"),e.decrement();},{delay:A,interval:k,disabled:R||!e.canDecrement}),Te=Rt.useMemo(()=>{if(e.numberValue!=null)return y?y(e.numberValue):F.format(e.numberValue)},[e.numberValue,F,y]),be=F.getLocaleInfo(),se=e.numberValue!==null&&(i!==void 0&&e.numberValue<i||u!==void 0&&e.numberValue>u)||e.validationState==="invalid",Ne={id:re,htmlFor:q},Me={role:"group","aria-labelledby":t["aria-labelledby"]??re},Ce={id:q,type:"text",inputMode:"decimal",role:"spinbutton",autoComplete:"off",autoCorrect:"off",spellCheck:false,"aria-label":t["aria-label"],"aria-labelledby":t["aria-labelledby"]??re,"aria-describedby":t["aria-describedby"],"aria-valuenow":e.numberValue??void 0,"aria-valuemin":i,"aria-valuemax":u,"aria-valuetext":Te,"aria-disabled":R||void 0,"aria-readonly":T||void 0,"aria-required":L||void 0,"aria-invalid":se?true:void 0,"aria-errormessage":se&&e.validationError?me:void 0,disabled:R,readOnly:T,required:L,value:e.inputValue,onChange:fe,onKeyDown:pe,onBlur:Q,onFocus:he,onPaste:Fe,onCopy:I!=="formatted"?Pe:void 0,onCut:I!=="formatted"?te:void 0,onCompositionStart:ye,onCompositionEnd:Se,style:be.isRTL?{direction:"ltr",textAlign:"right",unicodeBidi:"embed"}:void 0,"data-disabled":R?"":void 0,"data-readonly":T?"":void 0,"data-required":L?"":void 0,"data-invalid":se?"":void 0,"data-rtl":be.isRTL?"":void 0},Ve=E?{type:"hidden",name:E,value:e.numberValue??"","aria-hidden":true}:null,f={type:"button",tabIndex:-1,"aria-label":"Increase",disabled:R||!e.canIncrement,..._,"data-disabled":R||!e.canIncrement?"":void 0},S={type:"button",tabIndex:-1,"aria-label":"Decrease",disabled:R||!e.canDecrement,...Ee,"data-disabled":R||!e.canDecrement?"":void 0};return {labelProps:Ne,groupProps:Me,inputProps:Ce,hiddenInputProps:Ve,incrementButtonProps:f,decrementButtonProps:S,descriptionProps:{id:Ie},errorMessageProps:{id:me,role:"alert","aria-live":"polite"}}}function bt(t,e={}){let{locale:n,formatOptions:r,prefix:o,suffix:i,minimumFractionDigits:u,maximumFractionDigits:d,fixedDecimalScale:s}=e,l=Rt.useMemo(()=>Z({locale:n,formatOptions:r,prefix:o,suffix:i,minimumFractionDigits:u,maximumFractionDigits:d,fixedDecimalScale:s}),[n,JSON.stringify(r),o,i,u,d,s]);return Rt.useMemo(()=>t==null?"":l.format(t),[t,l])}var Le=Rt.createContext(null);function H(){let t=Rt.useContext(Le);if(!t)throw new Error("[raqam] NumberField sub-components must be used inside <NumberField.Root>.");return t}function nt(t,e={}){let{direction:n="horizontal",pixelSensitivity:r=4}=e,[o,i]=Rt.useState(false),u=Rt.useRef(t);u.current=t;let d=Rt.useRef(n);d.current=n;let s=Rt.useRef(r);s.current=r;let l=Rt.useRef(false),a=Rt.useRef(0),m=Rt.useRef(null),b=Rt.useRef({x:0,y:0}),[E,R]=Rt.useState({x:0,y:0}),T=Rt.useRef(p=>{if(!l.current)return;let I=b.current.x+p.movementX,A=b.current.y+p.movementY;b.current={x:I,y:A},R({x:I,y:A});let k=d.current,y=0;k==="horizontal"?y=p.movementX:k==="vertical"?y=-p.movementY:y=Math.abs(p.movementX)>=Math.abs(p.movementY)?p.movementX:-p.movementY,a.current+=y;let C=s.current;for(;a.current>=C;)u.current.increment(),a.current-=C;for(;a.current<=-C;)u.current.decrement(),a.current+=C;}),L=Rt.useRef(()=>{document.pointerLockElement===m.current?(l.current=true,a.current=0,i(true),u.current.setIsScrubbing(true),document.addEventListener("mousemove",T.current)):(l.current=false,a.current=0,document.removeEventListener("mousemove",T.current),i(false),u.current.setIsScrubbing(false));});Rt.useEffect(()=>{let p=L.current;return document.addEventListener("pointerlockchange",p),()=>{document.removeEventListener("pointerlockchange",p),document.removeEventListener("mousemove",T.current);}},[]);let j=Rt.useCallback(p=>{if(u.current.options.disabled||u.current.options.readOnly||p.button!==0)return;let I=p.currentTarget;m.current=I,b.current={x:p.clientX,y:p.clientY},R({x:p.clientX,y:p.clientY}),I.requestPointerLock();},[]),K=Rt.useCallback(p=>{u.current.options.disabled||u.current.options.readOnly||(p.key==="ArrowRight"||p.key==="ArrowUp"?(p.preventDefault(),u.current.increment()):(p.key==="ArrowLeft"||p.key==="ArrowDown")&&(p.preventDefault(),u.current.decrement()));},[]),J=n==="horizontal"?"ew-resize":n==="vertical"?"ns-resize":"move",Y={role:"slider",tabIndex:t.options.disabled?-1:0,style:{cursor:t.options.disabled?void 0:J,userSelect:"none",WebkitUserSelect:"none"},"aria-label":"Scrub to change value","data-scrubbing":o?"":void 0,onPointerDown:j,onKeyDown:K};return {isScrubbing:o,scrubAreaProps:Y,virtualCursor:E}}function ee(t,e,n){return e?typeof e=="function"?e(t.props,n):Rt__default.default.cloneElement(e,Object.assign({},t.props,e.props)):t}function Lt(t,e){let{options:n}=t;return {"data-disabled":n.disabled?"":void 0,"data-readonly":n.readOnly?"":void 0,"data-required":n.required?"":void 0,"data-scrubbing":t.isScrubbing?"":void 0,"data-focused":t.isFocused?"":void 0,"data-invalid":e?"":void 0}}var It=new Set(["className","style","id","tabIndex","title","role","aria-label","data-testid","onClick","onMouseEnter","onMouseLeave"]);function yt(t){let e={},n={};for(let[r,o]of Object.entries(t))It.has(r)||r.startsWith("data-")||r.startsWith("aria-")?n[r]=o:e[r]=o;return {fieldProps:e,divProps:n}}var St=Rt.forwardRef(function({children:e,onValueChange:n,onValueCommitted:r,...o},i){let u=Rt.useRef(null),{fieldProps:d,divProps:s}=yt(o),l=d,a=Rt.useRef(n);a.current=n;let m=Rt.useRef(null),b={...l,onChange:L=>{l.onChange?.(L),a.current&&m.current&&a.current(L,{reason:m.current._getLastChangeReason(),formattedValue:m.current.inputValue});}},E=Ae(b);m.current=E;let R=_e(b,E,u),T=E.validationState==="invalid"||E.numberValue!==null&&(l.minValue!==void 0&&E.numberValue<l.minValue||l.maxValue!==void 0&&E.numberValue>l.maxValue);return jsxRuntime.jsx(Le.Provider,{value:{state:E,aria:R,inputRef:u,props:b},children:jsxRuntime.jsx("div",{ref:i,...s,...Lt(E,T),children:e})})}),Ft=Rt.forwardRef(function({render:e,children:n,...r},o){let{aria:i,state:u}=H(),d=jsxRuntime.jsx("label",{ref:o,...i.labelProps,...r,children:n});return ee(d,e,u)}),Pt=Rt.forwardRef(function({render:e,children:n,...r},o){let{aria:i,state:u}=H(),d=jsxRuntime.jsx("div",{ref:o,...i.groupProps,...r,children:n});return ee(d,e,u)}),ht=Rt.forwardRef(function({render:e,...n},r){let{aria:o,state:i,inputRef:u}=H(),d=jsxRuntime.jsx("input",{ref:u,...o.inputProps,...n});return ee(d,e,i)}),Et=Rt.forwardRef(function({render:e,children:n,...r},o){let{aria:i,state:u}=H(),d=jsxRuntime.jsx("button",{ref:o,...i.incrementButtonProps,...r,children:n??"+"});return ee(d,e,u)}),Tt=Rt.forwardRef(function({render:e,children:n,...r},o){let{aria:i,state:u}=H(),d=jsxRuntime.jsx("button",{ref:o,...i.decrementButtonProps,...r,children:n??"\u2212"});return ee(d,e,u)}),Nt=function(){let{aria:e}=H();return e.hiddenInputProps?jsxRuntime.jsx("input",{...e.hiddenInputProps}):null},Mt=Rt.forwardRef(function({render:e,children:n,direction:r="horizontal",pixelSensitivity:o=4,...i},u){let{state:d}=H(),{scrubAreaProps:s}=nt(d,{direction:r,pixelSensitivity:o}),l=jsxRuntime.jsx("span",{ref:u,...s,...i,children:n});return ee(l,e,d)}),Ct=Rt.forwardRef(function({render:e,children:n,style:r,...o},i){let{state:u}=H();if(!u.isScrubbing)return null;let d=jsxRuntime.jsx("span",{ref:i,style:{position:"fixed",pointerEvents:"none",zIndex:9999,...r},...o,children:n});return ee(d,e,u)}),Vt=Rt.forwardRef(function({children:e,...n},r){let{aria:o}=H();return jsxRuntime.jsx("p",{ref:r,...o.descriptionProps,...n,children:e})}),Dt=Rt.forwardRef(function({children:e,...n},r){let{aria:o,state:i}=H(),u=e??i.validationError??null;return u?jsxRuntime.jsx("p",{ref:r,...o.errorMessageProps,...n,children:u}):null}),Ht=Rt.forwardRef(function({render:e,...n},r){let{state:o}=H(),i=jsxRuntime.jsx("span",{ref:r,"aria-hidden":"true",...n,children:o.inputValue});return ee(i,e,o)}),wt={Root:St,Label:Ft,Group:Pt,Input:ht,Increment:Et,Decrement:Tt,HiddenInput:Nt,ScrubArea:Mt,ScrubAreaCursor:Ct,Description:Vt,ErrorMessage:Dt,Formatted:Ht};exports.NumberField=wt;exports.NumberFieldContext=Le;exports.useControllableState=De;exports.useNumberField=_e;exports.useNumberFieldContext=H;exports.useNumberFieldFormat=bt;exports.useNumberFieldState=Ae;//# sourceMappingURL=react.cjs.map
3
3
  //# sourceMappingURL=react.cjs.map