UNPKG

@react-input/number-format

Version:

React input component for formatted number input with locale-specific.

2 lines (1 loc) 8.08 kB
function e(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function t(e,t,r){return t=c(t),function(e,t){if(t&&("object"==typeof t||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,l()?Reflect.construct(t,r||[],c(e).constructor):t.apply(e,r))}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t,r){return Object.defineProperty(e,"prototype",{writable:!1}),e}function i(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},o.apply(null,arguments)}function c(e){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},c(e)}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&g(e,t)}function l(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(l=function(){return!!e})()}function u(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?u(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function f(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.includes(n))continue;r[n]=e[n]}return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.includes(r)||{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function g(e,t){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},g(e,t)}function p(t,r){return function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,c,a=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(a.push(n.value),a.length!==t);l=!0);}catch(e){u=!0,i=e}finally{try{if(!l&&null!=r.return&&(c=r.return(),Object(c)!==c))return}finally{if(u)throw i}}return a}}(t,r)||function(t,r){if(t){if("string"==typeof t)return e(t,r);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?e(t,r):void 0}}(t,r)||function(){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 m(e,t){var r,n,i=t.minusSign,o=t.decimal,c=t.digits,a=t.signBackwards,l="[".concat(c,"]+([^").concat(o).concat(c,"][").concat(c,"]+)*"),u="[".concat(o,"][").concat(c,"]"),s="".concat(l).concat(u,"*"),f="".concat(u,"+"),g=l,p="[".concat(o,"]"),m=null!==(r=null===(n=RegExp("(".concat(s,"|").concat(f,"|").concat(g,"|").concat(p,")")).exec(e))||void 0===n?void 0:n[0])&&void 0!==r?r:"";return a&&RegExp("[".concat(c,"]?.*").concat(i)).test(e)?m+i:RegExp("".concat(i,".*[").concat(c,"]?")).test(e)?i+m:m}function d(e,t){var r=t.minusSign,n=t.decimal,i=t.digits;return e.replace(RegExp("[^\\".concat(r).concat(n).concat(i,"]"),"g"),"")}function y(e,t){var r,n,i=t.locales,o=t.options,c=t.localizedValues,a=t.resolvedOptions,l=a.maximumIntegerDigits,u=a.minimumFractionDigits,f=void 0===u?0:u,g=a.maximumFractionDigits,m=s({},o);m.style=m.format,m.useGrouping=m.groupDisplay,m.minimumFractionDigits=0,m.maximumFractionDigits=0,delete m.format,delete m.groupDisplay,delete m.maximumIntegerDigits;var d=p(e.split("."),2),y=d[0],v=d[1],b=void 0===v?"":v;y=y.replace(/^(-)?0+/,"$1"),y=null!==(r=null===(n=RegExp("-?\\d{0,".concat(null!=l?l:"","}")).exec(y))||void 0===n?void 0:n[0])&&void 0!==r?r:"";var O,h=/^-0?$/.test(y)?-0:BigInt(y),w="";if("percent"===a.format){var j,x,D="[".concat(c.digits,"]+([^").concat(c.digits,"][").concat(c.digits,"]+)*"),S=RegExp(D),E=new Intl.NumberFormat(i,s(s({},m),{},{style:"decimal"})).format(h);w=new Intl.NumberFormat(i,m).format(h).replace(S,null!==(j=null===(x=S.exec(E))||void 0===x?void 0:x[0])&&void 0!==j?j:"")}else w=new Intl.NumberFormat(i,m).format(h);if(w=w.replace(/\s/g," "),b.length<f&&(b+="0".repeat(f-b.length)),(void 0===g||g>0)&&(e.includes(".")||b.length>0)&&(w=w.replace(RegExp("([".concat(c.digits,"])([^").concat(c.digits,"]*)$")),"$1".concat(c.decimal,"$2")),b.length>0)){var P=(b=b.slice(0,g)).replace(/\d/g,(function(e){return c.digits[Number(e)]}));w=w.replace(RegExp("([".concat(c.decimal,"])([^").concat(c.digits,"]*)$")),"$1".concat(P,"$2"))}if(w.includes("+")?O="+":w.includes(c.minusSign)&&(O=c.minusSign),void 0!==O&&c.signBackwards){var I=(w=w.replace(RegExp("[‎؜\\".concat(O,"]"),"g"),"")).search(RegExp("[".concat(c.digits,"](?!.*[").concat(c.digits,"])")));-1!==I&&((w=w.slice(0,I+1)+O+w.slice(I+1)).startsWith("‏")||(w="‏".concat(w)))}return w}function v(e){var t=new Intl.NumberFormat(e,{useGrouping:!1,signDisplay:"always",minimumIntegerDigits:10,minimumFractionDigits:1,maximumFractionDigits:1}).format(-1234567890.1),r=t.startsWith("‎")||t.startsWith("؜"),n=r?t[1]:t[0],i=t[t.length-2],o=t.slice(r?2:1,-2);return{signBackwards:r,minusSign:n,decimal:i,digits:o=o[9]+o.slice(0,-1)}}function b(e,t){var r=t.minusSign,n=t.decimal,i=t.digits;return e.replace(RegExp(r,"g"),"-").replace(RegExp("[".concat(n,"]"),"g"),".").replace(RegExp("[".concat(i,"]"),"g"),(function(e){var t=i.indexOf(e);return-1!==t?t.toString():e}))}var O=["format","groupDisplay","maximumIntegerDigits"];function h(e,t){var r=t.format,n=t.groupDisplay,i=t.maximumIntegerDigits,o=f(t,O);if(void 0!==(i=void 0!==i?Number(i):void 0)&&Number.isNaN(i))throw new RangeError("maximumIntegerDigits value is out of range.");var c=new Intl.NumberFormat(e,s(s({},o),{},{style:"percent"===r?"decimal":r,useGrouping:n})).resolvedOptions(),a=c.style,l=c.useGrouping;c.format="percent"===r?"percent":a,c.groupDisplay=l;var u=void 0!==i&&i<c.minimumIntegerDigits;c.maximumIntegerDigits=u?c.minimumIntegerDigits:i;var g=c;return delete g.style,delete g.currencySign,delete g.useGrouping,delete g.minimumSignificantDigits,delete g.maximumSignificantDigits,delete g.compactDisplay,delete g.notation,delete g.numberingSystem,delete g.localeMatcher,delete g.roundingIncrement,delete g.roundingMode,delete g.roundingPriority,delete g.trailingZeroDisplay,c}var w=["locales"];function j(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.locales,n=f(t,w),i=v(r),o=h(r,n);return y(e.toString(),{locales:r,options:n,localizedValues:i,resolvedOptions:o})}function x(e,t){var r=v(t);return b(d(m(e,r),r),r).replace(/(.+)(-)$/,"$2$1").replace(/\.$/,"")}export{f as _,o as a,p as b,a as c,n as d,r as e,j as f,t as g,y as h,m as i,d as j,v as l,b as n,h as r,x as u};