persian-mobile-input
Version:
A TypeScript React input component that converts Persian and Arabic numerals to English numerals
3 lines (2 loc) • 1.39 kB
JavaScript
;var e=require("react/jsx-runtime"),r=require("react"),t=function(){return t=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var a in r=arguments[t])Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a]);return e},t.apply(this,arguments)};"function"==typeof SuppressedError&&SuppressedError;var n=r.forwardRef(function(n,a){var o=n.value,u=n.onChange,i=n.className,l=function(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(n=Object.getOwnPropertySymbols(e);a<n.length;a++)r.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(t[n[a]]=e[n[a]])}return t}(n,["value","onChange","className"]),s=r.useState(o||""),p=s[0],c=s[1],f={"۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9"},v={"٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9"},y=void 0!==o?o:p;return e.jsx("input",t({type:"tel",value:y,onChange:function(e){var r=e.target.value.split("").filter(function(e){return/[۰-۹٠-٩0-9]/.test(e)}).join(""),t=r.split("").map(function(e){return f[e]||v[e]||e}).join("");void 0!==o||u||c(t),u&&(e.target.value=t,u(e))},className:i,ref:a},l))});n.displayName="PersianMobileInput",module.exports=n;
//# sourceMappingURL=index.js.map