UNPKG

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.7 kB
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 m}from"primereact/tooltip";import{classNames as f,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 f("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 f("p-inputnumber-input",{"p-variant-filled":n.variant?"filled"===n.variant:t&&"filled"===t.inputStyle})},buttonGroup:"p-inputnumber-button-group",incrementButton:function(e){return f("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 f("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?"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=fe(),ee.current=me(),ne.current=he(),te.current=ye(),re.current=function(e){return n.get(e)}},de=function(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},me=function(){return new Intl.NumberFormat(ie,{useGrouping:!1}).format(1.1).trim().replace(J.current,"")},fe=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,t){var r=n||500;pn(),U.current=setTimeout((function(){Ie(e,40,t)}),r),De(e,t)},De=function(e,n){if(z.current){var t=E.step*n,r=we(z.current.value)||0,u=en(r+t);if(E.maxLength&&E.maxLength<xe(u).length)return;Qe(e,r,u),!b.isTouchDevice()&&tn(u,null,"spin"),on(e,u)}},Se=function(){E.disabled||E.readOnly||pn()},Re=function(){E.disabled||E.readOnly||pn()},Ee=function(){E.disabled||E.readOnly||pn()},Oe=function(){E.disabled||E.readOnly||pn()},Fe=function(){E.disabled||E.readOnly||pn()},Ce=function(){E.disabled||E.readOnly||pn()},Ne=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))},ke=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=Me(t),u=Be(t);48<=n&&n<=57||u||r?ze(e,t,{isDecimalSign:r,isMinusSign:u}):Xe(e,e.target.value,null,"delete-single")}},Pe=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":De(e,1),e.preventDefault();break;case"ArrowDown":De(e,-1),e.preventDefault();break;case"ArrowLeft":He(r.charAt(n-1))||e.preventDefault();break;case"ArrowRight":He(r.charAt(n))||e.preventDefault();break;case"Tab":case"Enter":case"NumpadEnter":u=en(we(r)),z.current.value=xe(u),z.current.setAttribute("aria-valuenow",u),on(e,u);break;case"Backspace":if(e.preventDefault(),n===t){var i=r.charAt(n-1);if(He(i)){var a=Te(r),l=a.decimalCharIndex,o=a.decimalCharIndexWithoutPrefix,c=ln(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=Ke()&&(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=Ge(r),d=p.minusCharIndex;d===p.currencyCharIndex-1&&(u=r.slice(0,d)+r.slice(n))}Xe(e,u,null,"delete-single")}else u=$e(r,n,t),Xe(e,u,null,"delete-range");break;case"Delete":if(e.preventDefault(),n===t){var m=r.charAt(n),f=Te(r),g=f.decimalCharIndex,y=f.decimalCharIndexWithoutPrefix;if(He(m)){var h=ln(r);if(X.current.test(m))X.current.lastIndex=0,u=r.slice(0,n)+r.slice(n+2);else if(Z.current.test(m))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=Ke()&&(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)}Xe(e,u,null,"delete-back-single")}else u=$e(r,n,t),Xe(e,u,null,"delete-range");break;case"End":e.preventDefault(),v.isEmpty(E.max)||on(e,E.max);break;case"Home":e.preventDefault(),v.isEmpty(E.min)||on(e,E.min);break;default:e.preventDefault();var w=e.key;if(w){var I=Me(w),D=Be(w);(Number(w)>=0&&Number(w)<=9||D||I)&&ze(e,w,{isDecimalSign:I,isMinusSign:D})}}}},Ae=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(Le(t)){var r=xe(t);z.current.value=r,on(e,t)}else ze(e,t.toString())}}},Be=function(e){return!(!Y.current.test(e)&&"-"!==e)&&(Y.current.lastIndex=0,!0)},je=function(e){return Le(e)?e.toString().replace(/\.(?=[^.]*$)/,ee.current):e},Me=function(e){return!(!Z.current.test(e)&&!Le(e))&&(Z.current.lastIndex=0,!0)},Ke=function(){return"decimal"===E.mode},Le=function(e){var n=new Intl.NumberFormat(ie,se()),t=we(n.format(e));return null!==t&&t%1!=0},Te=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}},Ge=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}},ze=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=Ge(l),c=o.decimalCharIndex,s=o.minusCharIndex,p=o.suffixCharIndex,d=o.currencyCharIndex,m=$.current.resolvedOptions().maximumFractionDigits;if(t.isMinusSign)0!==i&&i!==d+1||(u=l,(-1===s||0!==a)&&(u=_e(l,n,0,a)),Xe(e,u,n,"insert"));else if(t.isDecimalSign){if(c>0&&i===c)Xe(e,l,n,"insert");else if(c>i&&c<a)u=_e(l,n,i,a),Xe(e,u,n,"insert");else if(-1===c&&(m||E.maxFractionDigits)){("numeric"!==ce||"numeric"===ce&&(E.min||E.max))&&(u=_e(l,n,i,a),Xe(e,u,n,"insert"))}}else{var f=i!==a?"range-insert":"insert";if(c>0&&i>c){if(i+n.length-(c+1)<=m){var b=d>=i?d-1:p>=i?p:l.length;u=l.slice(0,i)+n+l.slice(i+n.length,b)+l.slice(b),Xe(e,u,n,f)}}else u=_e(l,n,i,a),Xe(e,u,n,f)}}},Ue=function(e){return e?e.replace(ne.current,"").trim().replace(/\s/g,"").replace(Q.current,""):e},_e=function(e,n,t,r){if(2===(Me(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)+Ue(e).slice(r):e||xe(n)}if(Me(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)},$e=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)},Ve=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(He(i))return e+u;for(var a=e-1;a>=0;){if(i=n.charAt(a),He(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),He(i)){r=a+u;break}a++}null!==r&&z.current.setSelectionRange(r,r)}return r||0},qe=function(){ue.current=!0},We=function(){Ve()},He=function(e){return!(1!==e.length||!(J.current.test(e)||Z.current.test(e)||X.current.test(e)||Y.current.test(e)))&&(Je(),!0)},Je=function(){J.current.lastIndex=0,Z.current.lastIndex=0,X.current.lastIndex=0,Y.current.lastIndex=0},Xe=function(e,n,t,r){var u=z.current.value,i=null;null!=n&&(i=Ye(we(n)),tn(i,t,r,n),Qe(e,u,i))},Ye=function(e){return e||E.allowEmpty?e:E.min||0},Qe=function(e,n,t){E.onChange&&Ze(n,t)&&E.onChange({originalEvent:e,value:t})},Ze=function(e,n){return null===n&&null!==e||null!=n&&n!==("string"==typeof e?we(e):e)},en=function(e){return"-"===e?null:nn(e)},nn=function(e){return v.isEmpty(e)?null:null!==E.min&&e<E.min?E.min:null!==E.max&&e>E.max?E.max:e},tn=function(e,n,t,r){n=n||"";var u=z.current,i=u.value,a=xe(e),l=i.length;if(a!==r&&(a=an(a,r)),0===l){u.value=a,u.setSelectionRange(0,0);var o=Ve()+n.length+(Me(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)),m=(null!==d?d.toString():"").split("").join("(".concat(V.current,")?")),f=new RegExp(m,"g");f.test(a);var b=n.split("").join("(".concat(V.current,")?")),v=new RegExp(b,"g");v.test(a.slice(f.lastIndex)),u.setSelectionRange(s=f.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(Me(e)||Me(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&&He(y)&&(s+=-1*x+1),X.current.lastIndex=0,u.setSelectionRange(s,s)}else if("-"===i&&"insert"===t){u.setSelectionRange(0,0);var I=Ve()+n.length+1;u.setSelectionRange(I,I)}else u.setSelectionRange(s+=p-l,s)}u.setAttribute("aria-valuenow",e)},rn=function(e){e=Ye(e);var n=z.current,t=n.value,r=un(e);t!==r&&(n.value=r,n.setAttribute("aria-valuenow",e))},un=function(e){return xe(Ye(e))},an=function(e,n){if(e&&n){var t=n.search(Z.current);Z.current.lastIndex=0;var r=je(e).split(Z.current)[0].replace(ne.current,"").trim();return-1!==t?r+n.slice(t):e}return e},ln=function(e){if(e){var n=e.split(Z.current);if(2===n.length)return Ue(n[1]).length}return 0},on=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}})},cn=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)}},sn=function(e){if(j(!1),ue.current=!1,z.current){var n=z.current.value;if(Ze(n,E.value)){var t=en(we(n));rn(t),on(e,t)}}E.onBlur&&E.onBlur(e)},pn=function(){U.current&&clearInterval(U.current)},dn=function(){var e=nn(E.value);rn(E.format?e:je(e));var n=en(E.value);null!==E.value&&E.value!==n&&on(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(){pn()})),l((function(){pe();var e=en(E.value);null!==E.value&&E.value!==e&&on(null,e)})),o((function(){pe(),dn()}),[ie,E.locale,E.localeMatcher,E.mode,E.currency,E.currencyDisplay,E.useGrouping,E.minFractionDigits,E.maxFractionDigits,E.suffix,E.prefix]),o((function(){dn()}),[E.value]),o((function(){E.disabled&&pn()}),[E.disabled]);var fn,bn,vn,gn,yn,hn=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:f(E.incrementButtonClassName,T("incrementButton")),onPointerLeave:Re,onPointerDown:function(e){return n=e,void(E.disabled||E.readOnly||(b.isTouchDevice()||b.focus(z.current,E.autoFocus),Ie(n,null,1),n.preventDefault()));var n},onPointerUp:Se,onKeyDown:function(e){return n=e,void(E.disabled||E.readOnly||32!==n.keyCode&&13!==n.keyCode||Ie(n,null,1));var n},onKeyUp:Ee,disabled:E.disabled,tabIndex:-1,"aria-hidden":!0},L("incrementButton"));return e.createElement("button",r,t,e.createElement(d,null))},xn=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:f(E.decrementButtonClassName,T("decrementButton")),onPointerLeave:Fe,onPointerDown:function(e){return n=e,void(E.disabled||E.readOnly||(b.isTouchDevice()||b.focus(z.current,E.autoFocus),Ie(n,null,-1),n.preventDefault()));var n},onPointerUp:Oe,onKeyDown:function(e){return n=e,void(E.disabled||E.readOnly||32!==n.keyCode&&13!==n.keyCode||Ie(n,null,-1));var n},onKeyUp:Ce,disabled:E.disabled,tabIndex:-1,"aria-hidden":!0},L("decrementButton"));return e.createElement("button",r,t,e.createElement(d,null))},wn=v.isNotEmpty(E.tooltip),In=P.getOtherProps(E),Dn=v.reduceKeys(In,b.DATA_PROPS),Sn=v.reduceKeys(In,b.ARIA_PROPS),Rn=(fn=f(E.inputClassName,T("input",{context:R})),bn=un(E.value),e.createElement(p,y({ref:z,id:E.inputId,style:E.inputStyle,role:"spinbutton",className:fn,defaultValue:bn,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:Pe,onKeyPress:ke,onInput:Ne,onClick:We,onPointerDown:qe,onBlur:sn,onFocus:cn,onPaste:Ae,min:E.min,max:E.max,"aria-valuemin":E.min,"aria-valuemax":E.max,"aria-valuenow":E.value},Sn,Dn,{pt:L("input"),unstyled:E.unstyled,__parentMetadata:{parent:M}}))),En=(vn=E.showButtons&&hn(),gn=E.showButtons&&xn(),yn=D({className:T("buttonGroup")},L("buttonGroup")),ae?e.createElement("span",yn,vn,gn):e.createElement(e.Fragment,null,vn,gn)),On=D({id:E.id,className:f(E.className,T("root",{focusedState:A,stacked:ae,horizontal:le,vertical:oe})),style:E.style},In,L("root"));return e.createElement(e.Fragment,null,e.createElement("span",y({ref:G},On),Rn,En),wn&&e.createElement(m,y({target:G,content:E.tooltip,pt:L("tooltip")},E.tooltipOptions)))})));j.displayName="InputNumber";export{j as InputNumber};