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) 25.4 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 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 S="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},S(e)}function R(e,n){if("object"!=S(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,n||"default");if("object"!=S(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(e)}function E(e){var n=R(e,"string");return"symbol"==S(n)?n:n+""}function O(e,n,t){return(n=E(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function F(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 C(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function k(e,n){return F(e)||N(e,n)||I(e,n)||C()}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 M(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){O(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 B=e.memo(e.forwardRef(function(r,h){var S=i(),R=e.useContext(t),E=P.getProps(r,R),O=k(e.useState(!1),2),F=O[0],N=O[1],C=M(M({props:E},E.__parentMetadata),{},{state:{focused:F}}),A=P.setMetaData(C),B=A.ptm,j=A.cx;u(P.css.styles,A.isUnstyled,{name:"inputnumber"});var K=e.useRef(null),L=e.useRef(null),T=e.useRef(null),G=e.useRef(null),_=e.useRef(null),z=e.useRef(null),U=e.useRef(null),$=e.useRef(null),V=e.useRef(null),q=e.useRef(null),W=e.useRef(null),X=e.useRef(null),H=e.useRef(null),J=e.useRef(null),Y=e.useRef(null),Q=e.useRef(null),Z=e.useRef(null),ee=e.useRef(null),ne=e.useRef(!1),te=E.locale||R&&R.locale||n.locale,re=E.showButtons&&"stacked"===E.buttonLayout,ue=E.showButtons&&"horizontal"===E.buttonLayout,ie=E.showButtons&&"vertical"===E.buttonLayout,ae=E.inputMode||("decimal"!==E.mode||E.minFractionDigits||E.maxFractionDigits?"decimal":"numeric"),le=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}},oe=function(){_.current=new Intl.NumberFormat(te,le());var e,n=(e=new Intl.NumberFormat(te,{useGrouping:!1}).format(9876543210),x(e)||w(e)||I(e)||D()).reverse(),t=new Map(n.map(function(e,n){return[e,n]}));q.current=new RegExp("[".concat(n.join(""),"]"),"g"),W.current=de(),X.current=fe(),H.current=me(),J.current=pe(),Y.current=se(),Q.current=ve(),Z.current=be(),ee.current=function(e){return t.get(e)}},ce=function(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},se=function(){return new Intl.NumberFormat(te,{useGrouping:!1}).format(1.1).trim().replace(q.current,"")},pe=function(){var e=new Intl.NumberFormat(te,M(M({},le()),{},{useGrouping:!1}));return new RegExp("[".concat(e.format(1.1).replace(H.current,"").trim().replace(q.current,""),"]"),"g")},de=function(){var e=new Intl.NumberFormat(te,{useGrouping:!0});return z.current=e.format(1e6).trim().replace(q.current,"").charAt(0),new RegExp("[".concat(z.current,"]"),"g")},fe=function(){var e=new Intl.NumberFormat(te,{useGrouping:!1});return new RegExp("[".concat(e.format(-1).trim().replace(q.current,""),"]"),"g")},me=function(){if(E.currency){var e=new Intl.NumberFormat(te,{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(q.current,"").replace(W.current,""),"]"),"g")}return new RegExp("[]","g")},be=function(){if(E.prefix)U.current=E.prefix;else{var e=new Intl.NumberFormat(te,{style:E.mode,currency:E.currency,currencyDisplay:E.currencyDisplay});U.current=e.format(1).split("1")[0]}return new RegExp("".concat(ce(U.current||"")),"g")},ve=function(){if(E.suffix)$.current=E.suffix;else{var e=new Intl.NumberFormat(te,{style:E.mode,currency:E.currency,currencyDisplay:E.currencyDisplay,minimumFractionDigits:0,maximumFractionDigits:0,roundingMode:E.roundingMode});$.current=e.format(1).split("1")[1]}return new RegExp("".concat(ce($.current||"")),"g")},ge=function(e){if(null!=e){if("-"===e)return e;if(E.format){var n=new Intl.NumberFormat(te,le()).format(e);return E.prefix&&(n=E.prefix+n),E.suffix&&(n+=E.suffix),n}return e.toString()}return""},ye=function(e){var n=e.replace(Q.current,"").replace(Z.current,"").trim().replace(/\s/g,"").replace(H.current,"").replace(W.current,"").replace(X.current,"-").replace(J.current,".").replace(q.current,ee.current);if(n){if("-"===n)return n;var t=+n;return isNaN(t)?null:t}return null};function he(e){if(!isFinite(e))return 0;var n=String(e);if(n.toLowerCase().includes("e")){var t=k(n.split("e"),2),r=t[0],u=parseInt(t[1],10),i=(r.split(".")[1]||"").length;return u<0?i+Math.abs(u):Math.max(0,i-u)}return(n.split(".")[1]||"").length}var xe=function(e,n){if(e=Number(e),n=Number(n),!isFinite(e)||!isFinite(n))return NaN;var t=he(e),r=he(n),u=Math.min(Math.max(t,r),15),i=Math.pow(10,u),a=Number.MAX_SAFE_INTEGER;if(Math.abs(e)*i>a||Math.abs(n)*i>a){var l=e+n,o=Math.pow(10,15);return Math.round(l*o)/o}return Math.round(e*i+n*i)/i},we=function(e,n,t){var r=n||500;sn(),T.current=setTimeout(function(){we(e,40,t)},r),Ie(e,t)},Ie=function(e,n){if(L.current){var t=E.step*n,r=ye(L.current.value)||0,u=Ze(xe(r,t));if(E.maxLength&&E.maxLength<ge(u).length)return;Ye(e,r,u),!b.isTouchDevice()&&nn(u,null,"spin"),ln(e,u)}},De=function(){E.disabled||E.readOnly||sn()},Se=function(){E.disabled||E.readOnly||sn()},Re=function(){E.disabled||E.readOnly||sn()},Ee=function(){E.disabled||E.readOnly||sn()},Oe=function(){E.disabled||E.readOnly||sn()},Fe=function(){E.disabled||E.readOnly||sn()},Ne=function(e){E.disabled||E.readOnly||(V.current&&(e.target.value=G.current,V.current=!1),b.isAndroid()||"insertText"===e.nativeEvent.inputType&&/\D/.test(e.nativeEvent.data)&&(e.target.value=G.current))},Ce=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=Be(t),u=Ae(t);48<=n&&n<=57||u||r?Ge(e,t,{isDecimalSign:r,isMinusSign:u}):He(e,e.target.value,null,"delete-single")}},ke=function(e){if(!E.disabled&&!E.readOnly)if(e.altKey||e.ctrlKey||e.metaKey)V.current="x"!==e.key.toLowerCase()||!e.ctrlKey&&!e.metaKey;else if(!(E.onKeyDown&&(E.onKeyDown(e),e.defaultPrevented)||(G.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":Ie(e,1),e.preventDefault();break;case"ArrowDown":Ie(e,-1),e.preventDefault();break;case"ArrowLeft":We(r.charAt(n-1))||e.preventDefault();break;case"ArrowRight":We(r.charAt(n))||e.preventDefault();break;case"Tab":case"Enter":case"NumpadEnter":u=Ze(ye(r)),L.current.value=ge(u),L.current.setAttribute("aria-valuenow",u),ln(e,u);break;case"Backspace":if(e.preventDefault(),n===t){var i=r.charAt(n-1);if(We(i)){var a=Le(r),l=a.decimalCharIndex,o=a.decimalCharIndexWithoutPrefix,c=an(r);if(W.current.test(i))W.current.lastIndex=0,u=r.slice(0,n-2)+r.slice(n-1);else if(J.current.test(i))J.current.lastIndex=0,c?L.current.setSelectionRange(n-1,n-1):u=r.slice(0,n-1)+r.slice(n);else if(l>0&&n>l){var s=je()&&(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=ye(u)>0?u:""):u=r.slice(0,n-1)+r.slice(n)}else if(H.current.test(i)){var p=Te(r),d=p.minusCharIndex;d===p.currencyCharIndex-1&&(u=r.slice(0,d)+r.slice(n))}He(e,u,null,"delete-single")}else u=Ue(r,n,t),He(e,u,null,"delete-range");break;case"Delete":if(e.preventDefault(),n===t){var f=r.charAt(n),m=Le(r),g=m.decimalCharIndex,y=m.decimalCharIndexWithoutPrefix;if(We(f)){var h=an(r);if(W.current.test(f))W.current.lastIndex=0,u=r.slice(0,n)+r.slice(n+2);else if(J.current.test(f))J.current.lastIndex=0,h?L.current.setSelectionRange(n+1,n+1):u=r.slice(0,n)+r.slice(n+1);else if(g>0&&n>g){var x=je()&&(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=ye(u)>0?u:""):u=r.slice(0,n)+r.slice(n+1)}He(e,u,null,"delete-back-single")}else u=Ue(r,n,t),He(e,u,null,"delete-range");break;case"End":e.preventDefault(),v.isEmpty(E.max)||ln(e,E.max);break;case"Home":e.preventDefault(),v.isEmpty(E.min)||ln(e,E.min);break;default:e.preventDefault();var w=e.key;if(w){"."===w&&(w=Y.current);var I=Be(w),D=Ae(w);(Number(w)>=0&&Number(w)<=9||D||I)&&Ge(e,w,{isDecimalSign:I,isMinusSign:D})}}}},Pe=function(e){if(e.preventDefault(),!E.disabled&&!E.readOnly){var n=(e.clipboardData||window.clipboardData).getData("Text");if(("integeronly"!==E.inputId||!/[^\d-]/.test(n))&&n){var t=ye(n);if(null!=t)if(Ke(t)){var r=ge(t);L.current.value=r,ln(e,t)}else Ge(e,t.toString())}}},Ae=function(e){return!(!X.current.test(e)&&"-"!==e)&&(X.current.lastIndex=0,!0)},Me=function(e){return Ke(e)?e.toString().replace(/\.(?=[^.]*$)/,Y.current):e},Be=function(e){return!(!J.current.test(e)&&!Ke(e))&&(J.current.lastIndex=0,!0)},je=function(){return"decimal"===E.mode},Ke=function(e){var n=e;"string"!=typeof n&&(n=new Intl.NumberFormat(te,le()).format(e));var t=ye(n);return null!==t&&t%1!=0},Le=function(e){var n=e.search(J.current);J.current.lastIndex=0;var t=e.replace(Z.current,"").trim().replace(/\s/g,"").replace(H.current,"").search(J.current);return J.current.lastIndex=0,{decimalCharIndex:n,decimalCharIndexWithoutPrefix:t}},Te=function(e){var n=e.search(J.current);J.current.lastIndex=0;var t=e.search(X.current);X.current.lastIndex=0;var r=e.search(Q.current);Q.current.lastIndex=0;var u=e.search(H.current);return 0===u&&U.current&&U.current.length>1&&(u=U.current.trim().length),H.current.lastIndex=0,{decimalCharIndex:n,minusCharIndex:t,suffixCharIndex:r,currencyCharIndex:u}},Ge=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{isDecimalSign:!1,isMinusSign:!1},r=n.search(X.current);if(X.current.lastIndex=0,v.isEmpty(E.min)||E.min<0||-1===r){var u,i=L.current.selectionStart,a=L.current.selectionEnd,l=L.current.value.trim(),o=Te(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=ze(l,n,0,a)),He(e,u,n,"insert"));else if(t.isDecimalSign){if(c>0&&i===c)He(e,l,n,"insert");else if(c>i&&c<a)u=ze(l,n,i,a),He(e,u,n,"insert");else if(-1===c&&(f||E.maxFractionDigits)){("numeric"!==ae||"numeric"===ae&&m)&&(u=ze(l,n,i,a),He(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),He(e,u,n,b)}}else u=ze(l,n,i,a),He(e,u,n,b)}}},_e=function(e){return e?e.replace(Q.current,"").trim().replace(/\s/g,"").replace(H.current,""):e},ze=function(e,n,t,r){if(2===(Be(n)?n:n.split(J.current)).length){var u=e.slice(t,r).search(J.current);return J.current.lastIndex=0,u>0?e.slice(0,t)+ge(n)+_e(e).slice(r):e||ge(n)}if(Be(n)&&0===e.length)return ge("0.");if(r-t===e.length)return ge(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)},Ue=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)},$e=function(){var e=L.current.selectionStart,n=L.current.value,t=n.length,r=null,u=(U.current||"").length,i=(n=n.replace(Z.current,"")).charAt(e-=u);if(We(i))return e+u;for(var a=e-1;a>=0;){if(i=n.charAt(a),We(i)){r=a+u;break}a--}if(null!==r)L.current.setSelectionRange(r+1,r+1);else{for(a=e;a<t;){if(i=n.charAt(a),We(i)){r=a+u;break}a++}null!==r&&L.current.setSelectionRange(r,r)}return r||0},Ve=function(){ne.current=!0},qe=function(){$e()},We=function(e){return!(1!==e.length||!(q.current.test(e)||J.current.test(e)||W.current.test(e)||X.current.test(e)))&&(Xe(),!0)},Xe=function(){q.current.lastIndex=0,J.current.lastIndex=0,W.current.lastIndex=0,X.current.lastIndex=0},He=function(e,n,t,r){var u=L.current.value,i=null;null!=n&&(i=Je(ye(n)),nn(i,t,r,n),Ye(e,u,i))},Je=function(e){return e||E.allowEmpty?e:E.min||0},Ye=function(e,n,t){E.onChange&&Qe(n,t)&&E.onChange({originalEvent:e,value:t})},Qe=function(e,n){return null===n&&null!==e||null!=n&&n!==("string"==typeof e?ye(e):e)},Ze=function(e){return"-"===e?null:en(e)},en=function(e){return v.isEmpty(e)?null:null!==E.min&&e<E.min?E.min:null!==E.max&&e>E.max?E.max:e},nn=function(e,n,t,r){n=n||"";var u=L.current,i=u.value,a=ge(e),l=i.length;if(a!==r&&(a=un(a,r)),0===l){u.value=a,u.setSelectionRange(0,0);var o=$e()+n.length+(Be(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=ye((i||"").slice(0,c)),f=(null!==d?d.toString():"").split("").join("(".concat(z.current,")?")),m=new RegExp(f,"g");m.test(a);var b=n.split("").join("(".concat(z.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(Be(e)||Be(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=W.current.test(h);w&&1===x?s+=1:!w&&We(y)&&(s+=-1*x+1),W.current.lastIndex=0,u.setSelectionRange(s,s)}else if("-"===i&&"insert"===t){u.setSelectionRange(0,0);var I=$e()+n.length+1;u.setSelectionRange(I,I)}else u.setSelectionRange(s+=p-l,s)}u.setAttribute("aria-valuenow",e)},tn=function(e){e=Je(e);var n=L.current,t=n.value,r=rn(e);t!==r&&(n.value=r,n.setAttribute("aria-valuenow",e))},rn=function(e){return ge(Je(e))},un=function(e,n){if(e&&n){var t=n.search(J.current);J.current.lastIndex=0;var r=Me(e).split(J.current)[0].replace(Q.current,"").trim();return-1!==t?r+n.slice(t):e}return e},an=function(e){if(e){var n=e.split(J.current);if(2===n.length)return _e(n[1]).length}return 0},ln=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}})},on=function(e){if(N(!0),E.onFocus&&E.onFocus(e),(E.suffix||E.currency||E.prefix)&&L.current&&!ne.current){var n=L.current.value;L.current.setSelectionRange((U.current||"").length,0===n.length?0:n.length-($.current||"").length)}},cn=function(e){if(N(!1),ne.current=!1,L.current){var n=L.current.value;if(Qe(n,E.value)){var t=Ze(ye(n));tn(t),ln(e,t)}}E.onBlur&&E.onBlur(e)},sn=function(){T.current&&clearInterval(T.current)},pn=function(){var e=en(E.value),n=L.current.value;tn(E.format?e:Me(e));var t=Ze(E.value);null!==E.value&&n!==t&&(ln(null,t),Ye(null,n,t))},dn=function(){return _.current};e.useImperativeHandle(h,function(){return{props:E,focus:function(){return b.focus(L.current)},getFormatter:dn,getElement:function(){return K.current},getInput:function(){return L.current}}}),e.useEffect(function(){v.combinedRefs(L,E.inputRef)},[L,E.inputRef]),a(function(){sn()}),l(function(){oe();var e=Ze(E.value);null!==E.value&&E.value!==e&&ln(null,e)}),o(function(){oe(),pn()},[te,E.locale,E.localeMatcher,E.mode,E.currency,E.currencyDisplay,E.useGrouping,E.minFractionDigits,E.maxFractionDigits,E.suffix,E.prefix]),o(function(){pn()},[E.value]),o(function(){E.disabled&&sn()},[E.disabled]);var fn,mn,bn,vn,gn,yn=function(){var n=S({className:j("incrementIcon")},B("incrementIcon")),t=g.getJSXIcon(E.incrementButtonIcon||e.createElement(s,n),M({},n),{props:E}),r=S({type:"button",className:m(E.incrementButtonClassName,j("incrementButton")),onPointerLeave:Se,onPointerDown:function(e){return n=e,void(E.disabled||E.readOnly||(b.isTouchDevice()||b.focus(L.current,E.autoFocus),we(n,null,1),n.preventDefault()));var n},onPointerUp:De,onKeyDown:function(e){return n=e,void(E.disabled||E.readOnly||32!==n.keyCode&&13!==n.keyCode||we(n,null,1));var n},onKeyUp:Re,disabled:E.disabled,tabIndex:-1,"aria-hidden":!0},B("incrementButton"));return e.createElement("button",r,t,e.createElement(d,null))},hn=function(){var n=S({className:j("decrementIcon")},B("decrementIcon")),t=g.getJSXIcon(E.decrementButtonIcon||e.createElement(c,n),M({},n),{props:E}),r=S({type:"button",className:m(E.decrementButtonClassName,j("decrementButton")),onPointerLeave:Oe,onPointerDown:function(e){return n=e,void(E.disabled||E.readOnly||(b.isTouchDevice()||b.focus(L.current,E.autoFocus),we(n,null,-1),n.preventDefault()));var n},onPointerUp:Ee,onKeyDown:function(e){return n=e,void(E.disabled||E.readOnly||32!==n.keyCode&&13!==n.keyCode||we(n,null,-1));var n},onKeyUp:Fe,disabled:E.disabled,tabIndex:-1,"aria-hidden":!0},B("decrementButton"));return e.createElement("button",r,t,e.createElement(d,null))},xn=v.isNotEmpty(E.tooltip),wn=P.getOtherProps(E),In=v.reduceKeys(wn,b.DATA_PROPS),Dn=v.reduceKeys(wn,b.ARIA_PROPS),Sn=(fn=m(E.inputClassName,j("input",{context:R})),mn=rn(E.value),e.createElement(p,y({ref:L,id:E.inputId,style:E.inputStyle,role:"spinbutton",className:fn,defaultValue:mn,type:E.type,size:E.size,tabIndex:E.tabIndex,inputMode:ae,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:ke,onKeyPress:Ce,onInput:Ne,onClick:qe,onPointerDown:Ve,onBlur:cn,onFocus:on,onPaste:Pe,min:E.min,max:E.max,"aria-valuemin":E.min,"aria-valuemax":E.max,"aria-valuenow":E.value},Dn,In,{pt:B("input"),unstyled:E.unstyled,__parentMetadata:{parent:C}}))),Rn=(bn=E.showButtons&&yn(),vn=E.showButtons&&hn(),gn=S({className:j("buttonGroup")},B("buttonGroup")),re?e.createElement("span",gn,bn,vn):e.createElement(e.Fragment,null,bn,vn)),En=S({id:E.id,className:m(E.className,j("root",{focusedState:F,stacked:re,horizontal:ue,vertical:ie})),style:E.style},wn,B("root"));return e.createElement(e.Fragment,null,e.createElement("span",y({ref:K},En),Sn,Rn),xn&&e.createElement(f,y({target:K,content:E.tooltip,pt:B("tooltip")},E.tooltipOptions)))}));B.displayName="InputNumber";export{B as InputNumber};