PageSourceSearch

https://scolab.ai/assets/PrefixSplitter-DByXpjTe.js

js scolab.ai collected 2026-09-24 14:30:19 UTC 10,483 bytes, 8 lines download raw bytes

1import{z as i,N as e}from"./index-BLWRXzF8.js";const m=[{prefix:"ab",meaning:"afastamento, redução",examples:["abfahren","abholen","abnehmen","abgeben"]},{prefix:"an",meaning:"aproximação, início",examples:["anfangen","ankommen","anrufen","anziehen"]},{prefix:"auf",meaning:"abertura, para cima",examples:["aufmachen","aufstehen","aufhören","aufpassen"]},{prefix:"aus",meaning:"para fora, conclusão",examples:["ausgehen","aussehen","ausziehen","ausmachen"]},{prefix:"bei",meaning:"adição, proximidade",examples:["beibringen","beitragen","beitreten"]},{prefix:"ein",meaning:"para dentro, início",examples:["einladen","einkaufen","einschlafen","einsteigen"]},{prefix:"fest",meaning:"fixação",examples:["feststellen","festhalten","festsetzen"]},{prefix:"her",meaning:"em direção ao falante",examples:["herkommen","herstellen","hergeben"]},{prefix:"hin",meaning:"para longe do falante",examples:["hinfahren","hingehen","hinfallen"]},{prefix:"los",meaning:"início, liberação",examples:["losfahren","losgehen","loslassen"]},{prefix:"mit",meaning:"junto, participação",examples:["mitkommen","mitbringen","mitmachen","mitnehmen"]},{prefix:"nach",meaning:"imitação, sequência",examples:["nachdenken","nachmachen","nachfragen"]},{prefix:"vor",meaning:"antes, demonstração",examples:["vorstellen","vorbereiten","vorschlagen","vorhaben"]},{prefix:"weg",meaning:"remoção",examples:["weggehen","wegnehmen","wegwerfen"]},{prefix:"weiter",meaning:"continuação",examples:["weitergehen","weitermachen","weiterfahren"]},{prefix:"zu",meaning:"fechamento, direção",examples:["zumachen","zuhören","zunehmen","zusehen"]},{prefix:"zurück",meaning:"retorno",examples:["zurückkommen","zurückgehen","zurückgeben"]},{prefix:"zusammen",meaning:"união",examples:["zusammenarbeiten","zusammenfassen","zusammenkommen"]}],p=[{prefix:"be",meaning:"transitivização",examples:["bekommen","besuchen","bezahlen","beginnen","bestellen"]},{prefix:"emp",meaning:"recepção (formal)",examples:["empfangen","empfehlen","empfinden"]},{prefix:"ent",meaning:"remoção, início",examples:["entscheiden","entdecken","entwickeln","entschuldigen"]},{prefix:"er",meaning:"resultado, alcance",examples:["erklären","erfahren","erreichen","erzählen"]},{prefix:"ge",meaning:"resultado coletivo",examples:["gehören","gefallen","gelingen","gebrauchen"]},{prefix:"miss",meaning:"erro, falha",examples:["missverstehen","missbrauchen","misslingen"]},{prefix:"ver",meaning:"mudança, erro",examples:["verstehen","vergessen","verlieren","versuchen","verkaufen"]},{prefix:"zer",meaning:"destruição",examples:["zerstören","zerbrechen","zerreißen"]}],d=[{prefix:"über",examples_sep:["übersetzen (ferry)"],examples_insep:["übersetzen (translate)","überlegen"]},{prefix:"um",examples_sep:["umziehen (mudar-se)"],examples_insep:["umarmen"]},{prefix:"unter",examples_sep:["untergehen"],examples_insep:["untersuchen","unterscheiden"]},{prefix:"durch",examples_sep:["durchlesen"],examples_insep:["durchsuchen"]},{prefix:"wieder",examples_sep:["wiederkommen"],examples_insep:["wiederholen"]}];new Set(m.map(r=>r.prefix));new Set(p.map(r=>r.prefix));const c=r=>{const t=r.toLowerCase().trim(),x=[...m.map(n=>({...n,type:"separable"})),...p.map(n=>({...n,type:"inseparable"})),...d.map(n=>({...n,type:"dual"}))].sort((n,l)=>l.prefix.length-n.prefix.length);for(const n of x)if(t.startsWith(n.prefix)){const l=t.slice(n.prefix.length);if(l.length<2)continue;return{prefix:n.prefix,stem:l,type:n.type,meaning:n.meaning||null,examples:n.examples||n.examples_sep||[],examplesInsep:n.examples_insep||[],info:n}}return null},g=({isDark:r})=>{const[t,x]=i.useState(""),[n,l]=i.useState(!1),a=i.useMemo(()=>t.trim()?c(t):null,[t]);return e.jsxs("div",{className:"flex flex-col h-full",children:[e.jsxs("div",{className:`px-5 py-4 border-b ${r?"border-gray-800":"border-gray-200"}`,children:[e.jsx("h3",{className:`text-sm font-bold ${r?"text-gray-100":"text-gray-900"}`,children:"Separador de Prefixos"}),e.jsx("p",{className:`text-xs mt-1 ${r?"text-gray-500":"text-gray-400"}`,children:"Descubra se um verbo é separável e onde o prefixo vai"})]}),e.jsx("div",{className:"px-5 py-3",children:e.jsx("input",{value:t,onChange:s=>
1x(s.target.value),placeholder:"anfangen, verstehen, aufmachen...",className:`
2            w-full rounded-xl p-3 text-lg text-center
3            border focus:outline-none focus:ring-2 focus:ring-indigo-500/40
4            ${r?"bg-gray-800 border-gray-700 text-gray-200 placeholder-gray-600":"bg-white border-gray-200 text-gray-800 placeholder-gray-400"}
5          `})}),e.jsx("div",{className:"flex-1 overflow-y-auto px-5 pb-6",children:a?e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:`
6              flex flex-col items-center py-6 rounded-xl
7              ${r?"bg-gray-800 border border-gray-700":"bg-white border border-gray-200"}
8            `,children:[e.jsxs("div",{className:"flex items-center gap-1 text-2xl",children:[e.jsx("span",{className:`px-3 py-1.5 rounded-lg font-bold ${a.type==="separable"?r?"bg-emerald-600/20 text-emerald-300 border border-emerald-500/30":"bg-emerald-100 text-emerald-700 border border-emerald-200":a.type==="inseparable"?r?"bg-red-600/20 text-red-300 border border-red-500/30":"bg-red-100 text-red-700 border border-red-200":r?"bg-amber-600/20 text-amber-300 border border-amber-500/30":"bg-amber-100 text-amber-700 border border-amber-200"}`,children:a.prefix}),a.type==="separable"&&e.jsx("span",{className:`text-sm ${r?"text-gray-600":"text-gray-300"}`,children:"|"}),e.jsx("span",{className:r?"text-gray-200":"text-gray-800",children:a.stem})]}),e.jsxs("div",{className:`mt-3 px-3 py-1.5 rounded-full text-xs font-semibold ${a.type==="separable"?r?"bg-emerald-600/10 text-emerald-400":"bg-emerald-50 text-emerald-600":a.type==="inseparable"?r?"bg-red-600/10 text-red-400":"bg-red-50 text-red-600":r?"bg-amber-600/10 text-amber-400":"bg-amber-50 text-amber-600"}`,children:[a.type==="separable"&&"✂️ Separável",a.type==="inseparable"&&"Inseparável",a.type==="dual"&&"Depende do contexto"]}),a.meaning&&e.jsxs("p",{className:`mt-2 text-xs ${r?"text-gray-500":"text-gray-400"}`,children:['Prefixo "',a.prefix,'" → ',a.meaning]})]}),a.type==="separable"&&e.jsxs("div",{className:`p-4 rounded-xl space-y-3 ${r?"bg-gray-800/50 border border-gray-700/50":"bg-indigo-50/50 border border-indigo-100"}`,children:[e.jsx("p",{className:`text-[10px] font-semibold uppercase tracking-wider ${r?"text-gray-500":"text-gray-400"}`,children:"Como funciona na frase"}),e.jsxs("div",{className:"space-y-2 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:`text-[10px] ${r?"text-gray-500":"text-gray-400"}`,children:"Frase principal:"}),e.jsxs("p",{className:r?"text-gray-200":"text-gray-800",children:["Ich ",e.jsxs("strong",{className:r?"text-emerald-300":"text-emerald-600",children:[a.stem,"e"]})," morgen"," ",e.jsx("strong",{className:r?"text-emerald-300":"text-emerald-600",children:a.prefix}),"."]})]}),e.jsxs("div",{children:[e.jsx("span",{className:`text-[10px] ${r?"text-gray-500":"text-gray-400"}`,children:"Subordinada:"}),e.jsxs("p",{className:r?"text-gray-200":"text-gray-800",children:["..., weil ich morgen"," ",e.jsxs("strong",{className:r?"text-amber-300":"text-amber-600",children:[a.prefix,a.stem,"e"]}),"."]})]}),e.jsxs("div",{children:[e.jsx("span",{className:`text-[10px] ${r?"text-gray-500":"text-gray-400"}`,children:"Partizip II:"}),e.jsx("p",{className:r?"text-gray-200":"text-gray-800",children:e.jsxs("strong",{className:r?"text-purple-300":"text-purple-600",children:[a.prefix,"ge",a.stem,"t"]})})]})]})]}),a.type==="inseparable"&&e.jsxs("div",{className:`p-4 rounded-xl space-y-3 ${r?"bg-gray-800/50 border border-gray-700/50":"bg-red-50/50 border border-red-100"}`,children:[e.jsx("p",{className:`text-[10px] font-semibold uppercase tracking-wider ${r?"text-gray-500":"text-gray-400"}`,children:"Como funciona na frase"}),e.jsxs("div",{className:"space-y-2 text-sm",children:[e.jsxs("div",{children:[e.jsx("span",{className:`text-[10px] ${r?"text-gray-500":"text-gray-400"}`,children:"Qualquer posição:"}),e.jsxs("p",{className:r?"text-gray-200":"text-gray-800",children:["Ich ",e.jsxs("strong",{className:r?"text-red-300":"text-red-600",children:[a.prefix,a.stem,"e"]})," das."," ",e.jsx("span",{className:`text-xs ${r?"text-gray-500":"text-gray-400"}`,children:"(nunca separa)"})]})]}),e.jsxs("div",{children:[e.jsx("span",{className:`text-[10px] ${r?"text-gray-500":"text-gray-400"}`,children:'Partizip II (sem "ge"):'}),e.jsx("p",{className:r?"text-gray-200":"text-gray-800",children:e.jsxs("strong",{className:r?"text-purple-300":"text-purple-600",children:[a.prefix,a.stem,"t"]})})]})]})]})]}):t.trim()?e.jsxs("div",{className:`text-center py-8 text-sm ${r?"text-gray-500":"text-gray-400"}`,children:['Nenhum prefixo conhecido encontrado em "',t,'"']}):e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:`flex flex-col items-center justify-center py-10 text-center ${r?"text-gray-600":"text-gray-300"}`,children:[e.jsx(Scissors,{size:36,className:"mb-3"}),e.jsx("p",{className:"text-sm",children:"Digite um verbo alemão com prefixo"})]}),e.jsxs("button",{onClick:()=>l(s=>!s),className:`w-full text-left text-xs font-semibold px-3 py-2 rounded-lg ${r?"text-gray-400 hover:bg-gray-800":"text-gray-500 hover:bg-gray-100"}`,children:[n?"▼":"▶"," Referência rápida de prefixos"]}),n&&e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{children:[e.jsx("h4",{className:`text-[10px] font-semibold uppercase tracking-wider mb-1.5 ${r?"text-emerald-400":"text-emerald-600"}`,children:"✂️ Separáveis"}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:m.map(s=>e.jsxs("button",{onClick:()=>x(s.examples[0]||""),className:`px-2.5 py-1 rounded-lg text-xs ${r?"bg-emerald-600/10 text-emerald-300 border border-emerald-600/20":"bg-emerald-50 text-emerald-700 border border-emerald-200"}`,children:[s.prefix,"-"]},s.prefix))})]}),e.jsxs("div",{children:[e.jsx("h4",{className:`text-[10px] font-semibold uppercase tracking-wider mb-1.5 ${r?"text-red-400":"text-red-600"}`,children:"🔒 Inseparáveis"}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:p.map(s=>e.jsxs("button",{onClick:()=>x(s.examples[0]||""),className:`px-2.5 py-1 rounded-lg text-xs ${r?"bg-red-600/10 text-red-300 border border-red-600/20":"bg-red-50 text-red-700 border border-red-200"}`,children:[s.prefix,"-"]},s.prefix))})]})]})]})})]})};export{g as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.