{"version":3,"file":"CodeSpellChecker-B99cVTPn.js","sources":["../../components/features/CodeSpellChecker.tsx"],"sourcesContent":["import React, { useState, useMemo } from 'react';\nimport { BeakerIcon } from '../icons/FeatureIcons.tsx';\n\nconst commonTypos = [\n 'funtion', 'functoin', 'funciton', 'contructor', 'cosntructor',\n 'consle', 'conosle', 'cosnole', 'varable', 'varaible', 'vairable',\n 'docment', 'docuemnt', 'docmunet', 'componnet', 'componenet', 'compnent',\n 'retunr', 'retrun', 'asnyc', 'asycn', 'awai', 'awiat', 'promse',\n 'resolv', 'rejct', 'catach', 'thne', 'lenght', 'lengt', 'prperty',\n 'undefinded', 'nul', 'booleon', 'numbar', 'srtring', 'arrya', 'objcet',\n 'elemnt', 'attriubte', 'eveent', 'listner', 'handeler', 'clieck',\n 'submitt', 'resposne', 'requset', 'stauts', 'eror', 'sucess',\n 'implemnt', 'overide', 'extned', 'pbulic', 'prvate', 'procted',\n 'statci', 'abstact', 'interace', 'enmu', 'moduel', 'packge',\n 'importt', 'exprot', 'defualt', 'namspace', 'tyep', 'clsas',\n 'whiel', 'swich', 'cse', 'brek', 'contiune', 'thrwo', 'finnaly'\n];\n\nconst typoRegex = new RegExp(`\\\\b(${commonTypos.join('|')})\\\\b`, 'gi');\n\nconst HighlightedText: React.FC<{ text: string }> = React.memo(({ text }) => {\n const parts = useMemo(() => {\n return text.split(typoRegex).map((part, i) => {\n if (typoRegex.test(part)) {\n return {part};\n }\n return part;\n });\n }, [text]);\n\n return <>{parts};\n});\n\nexport const CodeSpellChecker: React.FC = () => {\n const [code, setCode] = useState('funtion myFunction() {\\n consle.log(\"Hello World\");\\n const myVarable = docment.getElementById(\"root\");\\n // This is a React componnet\\n}');\n\n return (\n
\n
\n

\n \n Code Spell Checker\n

\n

A simple tool that finds and highlights common typos in code.

\n
\n
\n setCode(e.target.value)}\n className=\"absolute inset-0 w-full h-full p-4 bg-transparent text-transparent caret-primary resize-none z-10\"\n spellCheck=\"false\"\n />\n
\n                    \n                
\n
\n

This checker uses a predefined list of common typos and does not use AI.

\n
\n );\n};\n"],"names":["commonTypos","typoRegex","HighlightedText","React","text","parts","useMemo","part","i","CodeSpellChecker","code","setCode","useState","jsxs","jsx","BeakerIcon","e"],"mappings":"+QAGA,MAAMA,EAAc,CAChB,UAAW,WAAY,WAAY,aAAc,cACjD,SAAU,UAAW,UAAW,UAAW,WAAY,WACvD,UAAW,WAAY,WAAY,YAAa,aAAc,WAC9D,SAAU,SAAU,QAAS,QAAS,OAAQ,QAAS,SACvD,SAAU,QAAS,SAAU,OAAQ,SAAU,QAAS,UACxD,aAAc,MAAO,UAAW,SAAU,UAAW,QAAS,SAC9D,SAAU,YAAa,SAAU,UAAW,WAAY,SACxD,UAAW,WAAY,UAAW,SAAU,OAAQ,SACpD,WAAY,UAAW,SAAU,SAAU,SAAU,UACrD,SAAU,UAAW,WAAY,OAAQ,SAAU,SACnD,UAAW,SAAU,UAAW,WAAY,OAAQ,QACpD,QAAS,QAAS,MAAO,OAAQ,WAAY,QAAS,SAC1D,EAEMC,EAAY,IAAI,OAAO,OAAOD,EAAY,KAAK,GAAG,CAAC,OAAQ,IAAI,EAE/DE,EAA8CC,EAAM,KAAK,CAAC,CAAE,KAAAC,KAAW,CACzE,MAAMC,EAAQC,EAAAA,QAAQ,IACXF,EAAK,MAAMH,CAAS,EAAE,IAAI,CAACM,EAAMC,IAChCP,EAAU,KAAKM,CAAI,QACX,OAAA,CAAa,UAAU,+CAA+C,MAAO,gBAAkB,YAArFC,CAA0F,EAEzGD,CACV,EACF,CAACH,CAAI,CAAC,EAET,yBAAU,SAAAC,CAAA,CAAM,CACpB,CAAC,EAEYI,EAA6B,IAAM,CAC5C,KAAM,CAACC,EAAMC,CAAO,EAAIC,EAAAA,SAAS;AAAA;AAAA;AAAA;AAAA,EAA8I,EAE/K,OACIC,EAAAA,KAAC,MAAA,CAAI,UAAU,2DACX,SAAA,CAAAA,EAAAA,KAAC,SAAA,CAAO,UAAU,OACd,SAAA,CAAAA,EAAAA,KAAC,KAAA,CAAG,UAAU,6BACV,SAAA,CAAAC,EAAAA,IAACC,EAAA,EAAW,EACZD,EAAAA,IAAC,OAAA,CAAK,UAAU,OAAO,SAAA,oBAAA,CAAkB,CAAA,EAC7C,EACAA,EAAAA,IAAC,IAAA,CAAE,UAAU,2BAA2B,SAAA,+DAAA,CAA6D,CAAA,EACzG,EACAD,EAAAA,KAAC,MAAA,CAAI,UAAU,oGACX,SAAA,CAAAC,EAAAA,IAAC,WAAA,CACG,MAAOJ,EACP,SAAWM,GAAML,EAAQK,EAAE,OAAO,KAAK,EACvC,UAAU,oGACV,WAAW,OAAA,CAAA,EAEfF,EAAAA,IAAC,MAAA,CAAI,UAAU,6EAA6E,cAAY,OACpG,SAAAA,EAAAA,IAACZ,EAAA,CAAgB,KAAMQ,CAAA,CAAM,CAAA,CACjC,CAAA,EACJ,EACCI,EAAAA,IAAC,IAAA,CAAE,UAAU,+CAA+C,SAAA,0EAAA,CAAwE,CAAA,EACzI,CAER"}