primereact
Version:
PrimeReact is an open source UI library for React featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime
2 lines (1 loc) • 24.9 kB
JavaScript
import*as e from"react";import n,{PrimeReactContext as t}from"primereact/api";import{ComponentBase as r,useHandleStyle as u}from"primereact/componentbase";import{useMergeProps as i,useUnmountEffect as a,useMountEffect as l,useUpdateEffect as o}from"primereact/hooks";import{AngleDownIcon as c}from"primereact/icons/angledown";import{AngleUpIcon as s}from"primereact/icons/angleup";import{InputText as p}from"primereact/inputtext";import{Ripple as d}from"primereact/ripple";import{Tooltip as f}from"primereact/tooltip";import{classNames as m,DomHandler as b,ObjectUtils as v,IconUtils as g}from"primereact/utils";function y(){return y=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)({}).hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},y.apply(null,arguments)}function h(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t<n;t++)r[t]=e[t];return r}function x(e){if(Array.isArray(e))return h(e)}function w(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function I(e,n){if(e){if("string"==typeof e)return h(e,n);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?h(e,n):void 0}}function D(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function S(e){return x(e)||w(e)||I(e)||D()}function R(e){return R="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},R(e)}function E(e,n){if("object"!=R(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=R(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function O(e){var n=E(e,"string");return"symbol"==R(n)?n:n+""}function F(e,n,t){return(n=O(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function C(e){if(Array.isArray(e))return e}function N(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,u,i,a,l=[],o=!0,c=!1;try{if(i=(t=t.call(e)).next,0===n){if(Object(t)!==t)return;o=!1}else for(;!(o=(r=i.call(t)).done)&&(l.push(r.value),l.length!==n);o=!0);}catch(e){c=!0,u=e}finally{try{if(!o&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(c)throw u}}return l}}function k(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var P=r.extend({defaultProps:{__TYPE:"InputNumber",__parentMetadata:null,allowEmpty:!0,ariaLabelledBy:null,autoFocus:!1,buttonLayout:"stacked",className:null,currency:void 0,currencyDisplay:void 0,decrementButtonClassName:null,decrementButtonIcon:null,disabled:!1,format:!0,id:null,incrementButtonClassName:null,incrementButtonIcon:null,inputClassName:null,inputId:null,inputMode:null,inputRef:null,inputStyle:null,invalid:!1,variant:null,locale:void 0,localeMatcher:void 0,max:null,maxFractionDigits:void 0,maxLength:null,min:null,minFractionDigits:void 0,mode:"decimal",name:null,onBlur:null,onChange:null,onFocus:null,onKeyDown:null,onKeyUp:null,onValueChange:null,pattern:null,placeholder:null,prefix:null,readOnly:!1,required:!1,roundingMode:void 0,showButtons:!1,size:null,step:1,style:null,suffix:null,tabIndex:null,tooltip:null,tooltipOptions:null,type:"text",useGrouping:!0,value:null,children:void 0},css:{classes:{root:function(e){var n=e.props,t=e.focusedState,r=e.stacked,u=e.horizontal,i=e.vertical;return m("p-inputnumber p-component p-inputwrapper",{"p-inputwrapper-filled":null!=n.value&&n.value.toString().length>0,"p-inputwrapper-focus":t,"p-inputnumber-buttons-stacked":r,"p-inputnumber-buttons-horizontal":u,"p-inputnumber-buttons-vertical":i,"p-invalid":n.invalid})},input:function(e){var n=e.props,t=e.context;return m("p-inputnumber-input",{"p-variant-filled":n.variant?"filled"===n.variant:t&&"filled"===t.inputStyle})},buttonGroup:"p-inputnumber-button-group",incrementButton:function(e){return m("p-inputnumber-button p-inputnumber-button-up p-button p-button-icon-only p-component",{"p-disabled":e.props.disabled})},incrementIcon:"p-button-icon",decrementButton:function(e){return m("p-inputnumber-button p-inputnumber-button-down p-button p-button-icon-only p-component",{"p-disabled":e.props.disabled})},decrementIcon:"p-button-icon"},styles:"\n@layer primereact {\n .p-inputnumber {\n display: inline-flex;\n }\n \n .p-inputnumber-button {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n }\n \n .p-inputnumber-buttons-stacked .p-button.p-inputnumber-button .p-button-label,\n .p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button .p-button-label {\n display: none;\n }\n \n .p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-up {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n padding: 0;\n }\n \n .p-inputnumber-buttons-stacked .p-inputnumber-input {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n \n .p-inputnumber-buttons-stacked .p-button.p-inputnumber-button-down {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-left-radius: 0;\n padding: 0;\n }\n \n .p-inputnumber-buttons-stacked .p-inputnumber-button-group {\n display: flex;\n flex-direction: column;\n }\n \n .p-inputnumber-buttons-stacked .p-inputnumber-button-group .p-button.p-inputnumber-button {\n flex: 1 1 auto;\n }\n \n .p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-up {\n order: 3;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n \n .p-inputnumber-buttons-horizontal .p-inputnumber-input {\n order: 2;\n border-radius: 0;\n }\n \n .p-inputnumber-buttons-horizontal .p-button.p-inputnumber-button-down {\n order: 1;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n \n .p-inputnumber-buttons-vertical {\n flex-direction: column;\n }\n \n .p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-up {\n order: 1;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n width: 100%;\n }\n \n .p-inputnumber-buttons-vertical .p-inputnumber-input {\n order: 2;\n border-radius: 0;\n text-align: center;\n }\n \n .p-inputnumber-buttons-vertical .p-button.p-inputnumber-button-down {\n order: 3;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n width: 100%;\n }\n \n .p-inputnumber-input {\n flex: 1 1 auto;\n }\n \n .p-fluid .p-inputnumber {\n width: 100%;\n }\n \n .p-fluid .p-inputnumber .p-inputnumber-input {\n width: 1%;\n }\n \n .p-fluid .p-inputnumber-buttons-vertical .p-inputnumber-input {\n width: 100%;\n }\n}\n"}});function A(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function B(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?A(Object(t),!0).forEach((function(n){F(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):A(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}var j=e.memo(e.forwardRef((function(r,h){var x,w,D=i(),R=e.useContext(t),E=P.getProps(r,R),O=e.useState(!1),F=(w=2,C(x=O)||N(x,w)||I(x,w)||k()),A=F[0],j=F[1],M=B(B({props:E},E.__parentMetadata),{},{state:{focused:A}}),K=P.setMetaData(M),L=K.ptm,T=K.cx;u(P.css.styles,K.isUnstyled,{name:"inputnumber"});var G=e.useRef(null),z=e.useRef(null),U=e.useRef(null),_=e.useRef(null),$=e.useRef(null),V=e.useRef(null),q=e.useRef(null),W=e.useRef(null),H=e.useRef(null),J=e.useRef(null),X=e.useRef(null),Y=e.useRef(null),Q=e.useRef(null),Z=e.useRef(null),ee=e.useRef(null),ne=e.useRef(null),te=e.useRef(null),re=e.useRef(null),ue=e.useRef(!1),ie=E.locale||R&&R.locale||n.locale,ae=E.showButtons&&"stacked"===E.buttonLayout,le=E.showButtons&&"horizontal"===E.buttonLayout,oe=E.showButtons&&"vertical"===E.buttonLayout,ce=E.inputMode||("decimal"!==E.mode||E.minFractionDigits||E.maxFractionDigits?"decimal":"numeric"),se=function(){var e,n;return{localeMatcher:E.localeMatcher,style:E.mode,currency:E.currency,currencyDisplay:E.currencyDisplay,useGrouping:E.useGrouping,minimumFractionDigits:null!==(e=E.minFractionDigits)&&void 0!==e?e:void 0,maximumFractionDigits:null!==(n=E.maxFractionDigits)&&void 0!==n?n:void 0,roundingMode:E.roundingMode}},pe=function(){$.current=new Intl.NumberFormat(ie,se());var e=S(new Intl.NumberFormat(ie,{useGrouping:!1}).format(9876543210)).reverse(),n=new Map(e.map((function(e,n){return[e,n]})));J.current=new RegExp("[".concat(e.join(""),"]"),"g"),X.current=be(),Y.current=ve(),Q.current=ge(),Z.current=me(),ee.current=fe(),ne.current=he(),te.current=ye(),re.current=function(e){return n.get(e)}},de=function(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},fe=function(){return new Intl.NumberFormat(ie,{useGrouping:!1}).format(1.1).trim().replace(J.current,"")},me=function(){var e=new Intl.NumberFormat(ie,B(B({},se()),{},{useGrouping:!1}));return new RegExp("[".concat(e.format(1.1).replace(Q.current,"").trim().replace(J.current,""),"]"),"g")},be=function(){var e=new Intl.NumberFormat(ie,{useGrouping:!0});return V.current=e.format(1e6).trim().replace(J.current,"").charAt(0),new RegExp("[".concat(V.current,"]"),"g")},ve=function(){var e=new Intl.NumberFormat(ie,{useGrouping:!1});return new RegExp("[".concat(e.format(-1).trim().replace(J.current,""),"]"),"g")},ge=function(){if(E.currency){var e=new Intl.NumberFormat(ie,{style:"currency",currency:E.currency,currencyDisplay:E.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0,roundingMode:E.roundingMode});return new RegExp("[".concat(e.format(1).replace(/\s/g,"").replace(J.current,"").replace(X.current,""),"]"),"g")}return new RegExp("[]","g")},ye=function(){if(E.prefix)q.current=E.prefix;else{var e=new Intl.NumberFormat(ie,{style:E.mode,currency:E.currency,currencyDisplay:E.currencyDisplay});q.current=e.format(1).split("1")[0]}return new RegExp("".concat(de(q.current||"")),"g")},he=function(){if(E.suffix)W.current=E.suffix;else{var e=new Intl.NumberFormat(ie,{style:E.mode,currency:E.currency,currencyDisplay:E.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0,roundingMode:E.roundingMode});W.current=e.format(1).split("1")[1]}return new RegExp("".concat(de(W.current||"")),"g")},xe=function(e){if(null!=e){if("-"===e)return e;if(E.format){var n=new Intl.NumberFormat(ie,se()).format(e);return E.prefix&&(n=E.prefix+n),E.suffix&&(n+=E.suffix),n}return e.toString()}return""},we=function(e){var n=e.replace(ne.current,"").replace(te.current,"").trim().replace(/\s/g,"").replace(Q.current,"").replace(X.current,"").replace(Y.current,"-").replace(Z.current,".").replace(J.current,re.current);if(n){if("-"===n)return n;var t=+n;return isNaN(t)?null:t}return null},Ie=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return Math.round((e+n)*t)/t},De=function(e,n,t){var r=n||500;dn(),U.current=setTimeout((function(){De(e,40,t)}),r),Se(e,t)},Se=function(e,n){if(z.current){var t=E.step*n,r=we(z.current.value)||0,u=nn(Ie(r,t));if(E.maxLength&&E.maxLength<xe(u).length)return;Ze(e,r,u),!b.isTouchDevice()&&rn(u,null,"spin"),cn(e,u)}},Re=function(){E.disabled||E.readOnly||dn()},Ee=function(){E.disabled||E.readOnly||dn()},Oe=function(){E.disabled||E.readOnly||dn()},Fe=function(){E.disabled||E.readOnly||dn()},Ce=function(){E.disabled||E.readOnly||dn()},Ne=function(){E.disabled||E.readOnly||dn()},ke=function(e){E.disabled||E.readOnly||(H.current&&(e.target.value=_.current,H.current=!1),b.isAndroid()||"insertText"===e.nativeEvent.inputType&&/\D/.test(e.nativeEvent.data)&&(e.target.value=_.current))},Pe=function(e){if(b.isAndroid()&&!E.disabled&&!E.readOnly&&(!E.onKeyUp||(E.onKeyUp(e),!e.defaultPrevented))){var n=e.which||e.keyCode;13!==n&&e.preventDefault();var t=String.fromCharCode(n),r=Ke(t),u=je(t);48<=n&&n<=57||u||r?Ue(e,t,{isDecimalSign:r,isMinusSign:u}):Ye(e,e.target.value,null,"delete-single")}},Ae=function(e){if(!E.disabled&&!E.readOnly)if(e.altKey||e.ctrlKey||e.metaKey)H.current="x"!==e.key.toLowerCase()||!e.ctrlKey&&!e.metaKey;else if(!(E.onKeyDown&&(E.onKeyDown(e),e.defaultPrevented)||(_.current=e.target.value,b.isAndroid()))){var n=e.target.selectionStart,t=e.target.selectionEnd,r=e.target.value,u=null;switch(e.code){case"ArrowUp":Se(e,1),e.preventDefault();break;case"ArrowDown":Se(e,-1),e.preventDefault();break;case"ArrowLeft":Je(r.charAt(n-1))||e.preventDefault();break;case"ArrowRight":Je(r.charAt(n))||e.preventDefault();break;case"Tab":case"Enter":case"NumpadEnter":u=nn(we(r)),z.current.value=xe(u),z.current.setAttribute("aria-valuenow",u),cn(e,u);break;case"Backspace":if(e.preventDefault(),n===t){var i=r.charAt(n-1);if(Je(i)){var a=Ge(r),l=a.decimalCharIndex,o=a.decimalCharIndexWithoutPrefix,c=on(r);if(X.current.test(i))X.current.lastIndex=0,u=r.slice(0,n-2)+r.slice(n-1);else if(Z.current.test(i))Z.current.lastIndex=0,c?z.current.setSelectionRange(n-1,n-1):u=r.slice(0,n-1)+r.slice(n);else if(l>0&&n>l){var s=Le()&&(E.minFractionDigits||0)<c?"":"0";u=r.slice(0,n-1)+s+r.slice(n)}else 1===o?(u=r.slice(0,n-1)+"0"+r.slice(n),u=we(u)>0?u:""):u=r.slice(0,n-1)+r.slice(n)}else if(Q.current.test(i)){var p=ze(r),d=p.minusCharIndex;d===p.currencyCharIndex-1&&(u=r.slice(0,d)+r.slice(n))}Ye(e,u,null,"delete-single")}else u=Ve(r,n,t),Ye(e,u,null,"delete-range");break;case"Delete":if(e.preventDefault(),n===t){var f=r.charAt(n),m=Ge(r),g=m.decimalCharIndex,y=m.decimalCharIndexWithoutPrefix;if(Je(f)){var h=on(r);if(X.current.test(f))X.current.lastIndex=0,u=r.slice(0,n)+r.slice(n+2);else if(Z.current.test(f))Z.current.lastIndex=0,h?z.current.setSelectionRange(n+1,n+1):u=r.slice(0,n)+r.slice(n+1);else if(g>0&&n>g){var x=Le()&&(E.minFractionDigits||0)<h?"":"0";u=r.slice(0,n)+x+r.slice(n+1)}else 1===y?(u=r.slice(0,n)+"0"+r.slice(n+1),u=we(u)>0?u:""):u=r.slice(0,n)+r.slice(n+1)}Ye(e,u,null,"delete-back-single")}else u=Ve(r,n,t),Ye(e,u,null,"delete-range");break;case"End":e.preventDefault(),v.isEmpty(E.max)||cn(e,E.max);break;case"Home":e.preventDefault(),v.isEmpty(E.min)||cn(e,E.min);break;default:e.preventDefault();var w=e.key;if(w){"."===w&&(w=ee.current);var I=Ke(w),D=je(w);(Number(w)>=0&&Number(w)<=9||D||I)&&Ue(e,w,{isDecimalSign:I,isMinusSign:D})}}}},Be=function(e){if(e.preventDefault(),!E.disabled&&!E.readOnly){var n=(e.clipboardData||window.clipboardData).getData("Text");if(n){var t=we(n);if(null!=t)if(Te(t)){var r=xe(t);z.current.value=r,cn(e,t)}else Ue(e,t.toString())}}},je=function(e){return!(!Y.current.test(e)&&"-"!==e)&&(Y.current.lastIndex=0,!0)},Me=function(e){return Te(e)?e.toString().replace(/\.(?=[^.]*$)/,ee.current):e},Ke=function(e){return!(!Z.current.test(e)&&!Te(e))&&(Z.current.lastIndex=0,!0)},Le=function(){return"decimal"===E.mode},Te=function(e){var n=new Intl.NumberFormat(ie,se()),t=we(n.format(e));return null!==t&&t%1!=0},Ge=function(e){var n=e.search(Z.current);Z.current.lastIndex=0;var t=e.replace(te.current,"").trim().replace(/\s/g,"").replace(Q.current,"").search(Z.current);return Z.current.lastIndex=0,{decimalCharIndex:n,decimalCharIndexWithoutPrefix:t}},ze=function(e){var n=e.search(Z.current);Z.current.lastIndex=0;var t=e.search(Y.current);Y.current.lastIndex=0;var r=e.search(ne.current);ne.current.lastIndex=0;var u=e.search(Q.current);return 0===u&&q.current&&q.current.length>1&&(u=q.current.trim().length),Q.current.lastIndex=0,{decimalCharIndex:n,minusCharIndex:t,suffixCharIndex:r,currencyCharIndex:u}},Ue=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{isDecimalSign:!1,isMinusSign:!1},r=n.search(Y.current);if(Y.current.lastIndex=0,v.isEmpty(E.min)||E.min<0||-1===r){var u,i=z.current.selectionStart,a=z.current.selectionEnd,l=z.current.value.trim(),o=ze(l),c=o.decimalCharIndex,s=o.minusCharIndex,p=o.suffixCharIndex,d=o.currencyCharIndex,f=$.current.resolvedOptions().maximumFractionDigits,m=E.min||E.max||E.suffix||E.prefix;if(t.isMinusSign)0!==i&&i!==d+1||(u=l,(-1===s||0!==a)&&(u=$e(l,n,0,a)),Ye(e,u,n,"insert"));else if(t.isDecimalSign){if(c>0&&i===c)Ye(e,l,n,"insert");else if(c>i&&c<a)u=$e(l,n,i,a),Ye(e,u,n,"insert");else if(-1===c&&(f||E.maxFractionDigits)){("numeric"!==ce||"numeric"===ce&&m)&&(u=$e(l,n,i,a),Ye(e,u,n,"insert"))}}else{var b=i!==a?"range-insert":"insert";if(c>0&&i>c){if(i+n.length-(c+1)<=f){var g=d>=i?d-1:p>=i?p:l.length;u=l.slice(0,i)+n+l.slice(i+n.length,g)+l.slice(g),Ye(e,u,n,b)}}else u=$e(l,n,i,a),Ye(e,u,n,b)}}},_e=function(e){return e?e.replace(ne.current,"").trim().replace(/\s/g,"").replace(Q.current,""):e},$e=function(e,n,t,r){if(2===(Ke(n)?n:n.split(Z.current)).length){var u=e.slice(t,r).search(Z.current);return Z.current.lastIndex=0,u>0?e.slice(0,t)+xe(n)+_e(e).slice(r):e||xe(n)}if(Ke(n)&&0===e.length)return xe("0.");if(r-t===e.length)return xe(n);if(0===t){var i=v.isLetter(e[r])?r-1:r;return n+e.slice(i)}if(r===e.length)return e.slice(0,t)+n;var a=e.slice(t,r),l=/\s$/.test(a)?" ":"";return e.slice(0,t)+n+l+e.slice(r)},Ve=function(e,n,t){return t-n===e.length?"":0===n?e.slice(t):t===e.length?e.slice(0,n):e.slice(0,n)+e.slice(t)},qe=function(){var e=z.current.selectionStart,n=z.current.value,t=n.length,r=null,u=(q.current||"").length,i=(n=n.replace(te.current,"")).charAt(e-=u);if(Je(i))return e+u;for(var a=e-1;a>=0;){if(i=n.charAt(a),Je(i)){r=a+u;break}a--}if(null!==r)z.current.setSelectionRange(r+1,r+1);else{for(a=e;a<t;){if(i=n.charAt(a),Je(i)){r=a+u;break}a++}null!==r&&z.current.setSelectionRange(r,r)}return r||0},We=function(){ue.current=!0},He=function(){qe()},Je=function(e){return!(1!==e.length||!(J.current.test(e)||Z.current.test(e)||X.current.test(e)||Y.current.test(e)))&&(Xe(),!0)},Xe=function(){J.current.lastIndex=0,Z.current.lastIndex=0,X.current.lastIndex=0,Y.current.lastIndex=0},Ye=function(e,n,t,r){var u=z.current.value,i=null;null!=n&&(i=Qe(we(n)),rn(i,t,r,n),Ze(e,u,i))},Qe=function(e){return e||E.allowEmpty?e:E.min||0},Ze=function(e,n,t){E.onChange&&en(n,t)&&E.onChange({originalEvent:e,value:t})},en=function(e,n){return null===n&&null!==e||null!=n&&n!==("string"==typeof e?we(e):e)},nn=function(e){return"-"===e?null:tn(e)},tn=function(e){return v.isEmpty(e)?null:null!==E.min&&e<E.min?E.min:null!==E.max&&e>E.max?E.max:e},rn=function(e,n,t,r){n=n||"";var u=z.current,i=u.value,a=xe(e),l=i.length;if(a!==r&&(a=ln(a,r)),0===l){u.value=a,u.setSelectionRange(0,0);var o=qe()+n.length+(Ke(n)?1:0);u.setSelectionRange(o,o)}else{var c=u.selectionStart,s=u.selectionEnd;if(E.maxLength&&E.maxLength<a.length)return;u.value=a;var p=a.length;if("range-insert"===t){var d=we((i||"").slice(0,c)),f=(null!==d?d.toString():"").split("").join("(".concat(V.current,")?")),m=new RegExp(f,"g");m.test(a);var b=n.split("").join("(".concat(V.current,")?")),v=new RegExp(b,"g");v.test(a.slice(m.lastIndex)),u.setSelectionRange(s=m.lastIndex+v.lastIndex,s)}else if(p===l)if("insert"===t||"delete-back-single"===t){var g=s;"0"===n?g=s+1:g+=Number(Ke(e)||Ke(n)),u.setSelectionRange(g,g)}else"delete-single"===t?u.setSelectionRange(s-1,s-1):"delete-range"!==t&&"spin"!==t||u.setSelectionRange(s,s);else if("delete-back-single"===t){var y=i.charAt(s-1),h=i.charAt(s),x=l-p,w=X.current.test(h);w&&1===x?s+=1:!w&&Je(y)&&(s+=-1*x+1),X.current.lastIndex=0,u.setSelectionRange(s,s)}else if("-"===i&&"insert"===t){u.setSelectionRange(0,0);var I=qe()+n.length+1;u.setSelectionRange(I,I)}else u.setSelectionRange(s+=p-l,s)}u.setAttribute("aria-valuenow",e)},un=function(e){e=Qe(e);var n=z.current,t=n.value,r=an(e);t!==r&&(n.value=r,n.setAttribute("aria-valuenow",e))},an=function(e){return xe(Qe(e))},ln=function(e,n){if(e&&n){var t=n.search(Z.current);Z.current.lastIndex=0;var r=Me(e).split(Z.current)[0].replace(ne.current,"").trim();return-1!==t?r+n.slice(t):e}return e},on=function(e){if(e){var n=e.split(Z.current);if(2===n.length)return _e(n[1]).length}return 0},cn=function(e,n){E.onValueChange&&E.onValueChange({originalEvent:e,value:n,stopPropagation:function(){null==e||e.stopPropagation()},preventDefault:function(){null==e||e.preventDefault()},target:{name:E.name,id:E.id,value:n}})},sn=function(e){if(j(!0),E.onFocus&&E.onFocus(e),(E.suffix||E.currency||E.prefix)&&z.current&&!ue.current){var n=z.current.value;z.current.setSelectionRange((q.current||"").length,0===n.length?0:n.length-(W.current||"").length)}},pn=function(e){if(j(!1),ue.current=!1,z.current){var n=z.current.value;if(en(n,E.value)){var t=nn(we(n));un(t),cn(e,t)}}E.onBlur&&E.onBlur(e)},dn=function(){U.current&&clearInterval(U.current)},fn=function(){var e=tn(E.value);un(E.format?e:Me(e));var n=nn(E.value);null!==E.value&&E.value!==n&&cn(null,n)},mn=function(){return $.current};e.useImperativeHandle(h,(function(){return{props:E,focus:function(){return b.focus(z.current)},getFormatter:mn,getElement:function(){return G.current},getInput:function(){return z.current}}})),e.useEffect((function(){v.combinedRefs(z,E.inputRef)}),[z,E.inputRef]),a((function(){dn()})),l((function(){pe();var e=nn(E.value);null!==E.value&&E.value!==e&&cn(null,e)})),o((function(){pe(),fn()}),[ie,E.locale,E.localeMatcher,E.mode,E.currency,E.currencyDisplay,E.useGrouping,E.minFractionDigits,E.maxFractionDigits,E.suffix,E.prefix]),o((function(){fn()}),[E.value]),o((function(){E.disabled&&dn()}),[E.disabled]);var bn,vn,gn,yn,hn,xn=function(){var n=D({className:T("incrementIcon")},L("incrementIcon")),t=g.getJSXIcon(E.incrementButtonIcon||e.createElement(s,n),B({},n),{props:E}),r=D({type:"button",className:m(E.incrementButtonClassName,T("incrementButton")),onPointerLeave:Ee,onPointerDown:function(e){return n=e,void(E.disabled||E.readOnly||(b.isTouchDevice()||b.focus(z.current,E.autoFocus),De(n,null,1),n.preventDefault()));var n},onPointerUp:Re,onKeyDown:function(e){return n=e,void(E.disabled||E.readOnly||32!==n.keyCode&&13!==n.keyCode||De(n,null,1));var n},onKeyUp:Oe,disabled:E.disabled,tabIndex:-1,"aria-hidden":!0},L("incrementButton"));return e.createElement("button",r,t,e.createElement(d,null))},wn=function(){var n=D({className:T("decrementIcon")},L("decrementIcon")),t=g.getJSXIcon(E.decrementButtonIcon||e.createElement(c,n),B({},n),{props:E}),r=D({type:"button",className:m(E.decrementButtonClassName,T("decrementButton")),onPointerLeave:Ce,onPointerDown:function(e){return n=e,void(E.disabled||E.readOnly||(b.isTouchDevice()||b.focus(z.current,E.autoFocus),De(n,null,-1),n.preventDefault()));var n},onPointerUp:Fe,onKeyDown:function(e){return n=e,void(E.disabled||E.readOnly||32!==n.keyCode&&13!==n.keyCode||De(n,null,-1));var n},onKeyUp:Ne,disabled:E.disabled,tabIndex:-1,"aria-hidden":!0},L("decrementButton"));return e.createElement("button",r,t,e.createElement(d,null))},In=v.isNotEmpty(E.tooltip),Dn=P.getOtherProps(E),Sn=v.reduceKeys(Dn,b.DATA_PROPS),Rn=v.reduceKeys(Dn,b.ARIA_PROPS),En=(bn=m(E.inputClassName,T("input",{context:R})),vn=an(E.value),e.createElement(p,y({ref:z,id:E.inputId,style:E.inputStyle,role:"spinbutton",className:bn,defaultValue:vn,type:E.type,size:E.size,tabIndex:E.tabIndex,inputMode:ce,maxLength:E.maxLength,disabled:E.disabled,required:E.required,pattern:E.pattern,placeholder:E.placeholder,readOnly:E.readOnly,name:E.name,autoFocus:E.autoFocus,onKeyDown:Ae,onKeyPress:Pe,onInput:ke,onClick:He,onPointerDown:We,onBlur:pn,onFocus:sn,onPaste:Be,min:E.min,max:E.max,"aria-valuemin":E.min,"aria-valuemax":E.max,"aria-valuenow":E.value},Rn,Sn,{pt:L("input"),unstyled:E.unstyled,__parentMetadata:{parent:M}}))),On=(gn=E.showButtons&&xn(),yn=E.showButtons&&wn(),hn=D({className:T("buttonGroup")},L("buttonGroup")),ae?e.createElement("span",hn,gn,yn):e.createElement(e.Fragment,null,gn,yn)),Fn=D({id:E.id,className:m(E.className,T("root",{focusedState:A,stacked:ae,horizontal:le,vertical:oe})),style:E.style},Dn,L("root"));return e.createElement(e.Fragment,null,e.createElement("span",y({ref:G},Fn),En,On),In&&e.createElement(f,y({target:G,content:E.tooltip,pt:L("tooltip")},E.tooltipOptions)))})));j.displayName="InputNumber";export{j as InputNumber};