UNPKG

preeti-to-unicode-input

Version:

An input element or textarea to convert preeti font or nepali font to unicode with language toggle support for Nepali and english typing.

2 lines (1 loc) 4.59 kB
import{jsx as e,Fragment as t}from"react/jsx-runtime";import n,{useState as r,useRef as a}from"react";function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(null,arguments)}function l(e){for(var t={name:"Preeti","post-rules":[["ि्(.)","्$1ि"],["l((.्)*[^्])","$1ि"],["्ा",""],["(त्र|त्त)([^उभप]+?)m","$1m$2"],["त्रm","क्र"],["त्तm","क्त"],["उm","ऊ"],["भm","झ"],["पm","फ"],["इ{","ई"],["(.[ािीुूृेैोौंःँ]*?){","{$1"],["((.्)*){","{$1"],["{","र्"],["([ाीुूृेैोौंःँ]+?)(्(.्)*[^्])","$2$1"],["्([ाीुूृेैोौंःँ]+?)((.्)*[^्])","्$2$1"],["([ंँ])([ािीुूृेैोौः]*)","$2$1"],["ँँ","ँ"],["ंं","ं"],["ेे","े"],["ैै","ै"],["ुु","ु"],["ूू","ू"],["^ः",":"],["टृ","ट्ट"],["ेा","ाे"],["ैा","ाै"],["आे","ओ"],["आै","औ"],["अा","आ"],["एे","ऐ"],["ाे","ो"],["ाै","ौ"],["/","र"],[" "," ⁄"],["पिm","फि"],["भिm","झि"]],v:"1.0.1","char-map":{v:"ख",r:"च",'"':"ू","~":"ञ्",z:"श","ç":"ॐ",f:"ा",b:"द",n:"ल",j:"व","×":"×",V:"ख्",R:"च्","ß":"द्म","^":"६","Û":"!",Z:"श्",F:"ँ",B:"द्य",N:"ल्","Ë":"ङ्ग",J:"व्",6:"ट",2:"द्द","¿":"रू",">":"श्र",":":"स्","§":"ट्ट","&":"७","£":"घ्","•":"ड्ड",". ":"।","«":"्र","*":"८","„":"ध्र",w:"ध",s:"क",g:"न","æ":"“",c:"अ",o:"य",k:"प",W:"ध्","Ö":"=",S:"क्","Ò":"¨",_:"❩","[":"ृ","Ú":"’",G:"न्","ˆ":"फ्",C:"ऋ",O:"इ","Î":"ङ्ख",K:"प्",7:"ठ","¶":"ठ्ठ",3:"घ",9:"ढ","?":"रु",";":"स","'":"ु","#":"३","¢":"द्घ","+":"ं","ª":"ङ",t:"त",p:"उ","|":"्र",x:"ह","å":"द्व",d:"म","`":"ञ",l:"l",h:"ज",T:"त्",P:"ए","Ý":"ट्ठ","\\":"्","Ù":";",X:"ह्","Å":"हृ",D:"म्","@":"२","Í":"ङ्क",L:"ी",H:"ज्",4:"द्ध","±":"+",0:"ण्","<":"?",8:"ड","¥":"र्‍",$:"४","¡":"ज्ञ्",",":",","©":"र","(":"९","‘":"ॅ",u:"ग",q:"त्र","}":"ै",y:"थ",e:"भ",a:"ब",i:"ष्","‰":"झ्",U:"ग्",Q:"त्त","]":"े","˜":"ऽ",Y:"थ्","Ø":"्य",E:"भ्",A:"ब्",M:"ः","Ì":"न्न",I:"क्ष्",5:"छ","´":"झ",1:"ज्ञ","°":"ङ्ढ","÷":"⁄",".":"।","=":"۔","Æ":"”","‹":"ङ्घ","%":"५","¤":"झ्","!":"१","-":"❨","›":"द्र",")":"०","…":"‘","Ü":"%"}},n=t["char-map"],r=t["post-rules"],a=[],i=0;i<e.length;i++){var l=e[i];a.push(n[l]||l)}for(var g=a.join(""),s=0;s<r.length;s++){var u=r[s],c=u[1],o=new RegExp(u[0],"g");g=g.replace(o,c)}return g}var g=n.memo(function(g){var s=g.inputElement,u=g.enableEnglishLanguageToggle,c=void 0!==u&&u,o=r("n"),m=o[0],h=o[1],f=s.props.onChange,v=function(e){f&&f(e)},p=!1,b=a(!1),$=a(""),y=n.cloneElement(s,{onChange:function(e){if(p)return v(e),void(p=!1);if("e"!==m){var t,n,r,a=e.target.selectionStart||0,i=e.target.value,g=i.length;if(b.current)t=i.substring(0,a-$.current.length),n=$.current,r=t,b.current=!1;else{var s=(t=i.substring(0,a)).lastIndexOf(" ");n=t.substring(s),r=t.substring(0,s)}var u=l(n),c="",o=r+u;if(i.length!==a){var h=i.substring(a),f=h.charAt(0),y="्"===u.substring(u.length-1);o=o+(c=" "!==f&&y?" ":"")+h}e.target.value=o,a=a-g+o.length-c.length,v(e),setTimeout(function(){e.target.setSelectionRange(a,a)},0)}else v(e)},onPaste:function(e){b.current=!0,$.current=e.clipboardData.getData("text")},onKeyDown:function(e){"Backspace"===e.key&&(p=!0,function(e){var t=e.target,n=t.value,r=n.length,a=t.selectionStart||0,l=n.substring(0,a),g=n.substring(a),s=g.charAt(0);if("ि"===l.substring(l.length-1)){e.preventDefault();var u=new Intl.Segmenter("en",{granularity:"grapheme"}),c=[].concat(u.segment(l)),o=c.slice(-1)[0].segment.replace("ि",""),m="्"===o.slice(-2,-1),h=m?o.slice(0,-2)+"ि्":o.length>1?o.slice(0,-1)+"ि":1===o.length?"l":"",f=" "!==s&&n.length!==a&&m?" ":"",b=c.slice(0,-1).map(function(e){return e.segment}).join("")+h+f+g;t.value=b,a=a-r+b.length,setTimeout(function(){t.setSelectionRange(a,a)},0),v(i({},e,{target:t}))}p=!1}(e)),"i"===e.key&&e.altKey&&c&&h("e"===m?"n":"e")}});return e(t,{children:y})});export{g as PreetiToUnicodeInput,l as preetiToUnicode};