1import{z as p,N as r}from"./index-BLLX5Hn7.js";import{L as u}from"./link-BtGMVVMK.js";const s=[{phrase:"les amis",liaison:"lesâ¿amis",type:"obligatoire",sound:"/z/",rule:"Determinante + substantivo começando com vogal"},{phrase:"un ami",liaison:"unâ¿ami",type:"obligatoire",sound:"/n/",rule:"Determinante + substantivo"},{phrase:"nous avons",liaison:"nousâ¿avons",type:"obligatoire",sound:"/z/",rule:"Pronome sujeito + verbo"},{phrase:"ils ont",liaison:"ilsâ¿ont",type:"obligatoire",sound:"/z/",rule:"Pronome sujeito + verbo"},{phrase:"petit ami",liaison:"petitâ¿ami",type:"obligatoire",sound:"/t/",rule:"Adjetivo + substantivo"},{phrase:"très important",liaison:"trèsâ¿important",type:"obligatoire",sound:"/z/",rule:"Advérbio + adjetivo"},{phrase:"en Italie",liaison:"enâ¿Italie",type:"obligatoire",sound:"/n/",rule:"Preposição + substantivo"},{phrase:"pas encore",liaison:"pasâ¿encore",type:"facultative",sound:"/z/",rule:"Advérbio de negação + vogal (opcional)"},{phrase:"et il",liaison:"(proibida)",type:"interdite",sound:"â",rule:'Depois de "et" nunca há liaison'},{phrase:"un / héros",liaison:"(proibida)",type:"interdite",sound:"â",rule:"H aspiré bloqueia liaison"}],l={obligatoire:{d:"bg-emerald-600/20 text-emerald-300 border-emerald-500/30",l:"bg-emerald-50 text-emerald-700 border-emerald-200"},facultative:{d:"bg-amber-600/20 text-amber-300 border-amber-500/30",l:"bg-amber-50 text-amber-700 border-amber-200"},interdite:{d:"bg-red-600/20 text-red-300 border-red-500/30",l:"bg-red-50 text-red-700 border-red-200"}},n={obligatoire:"Obrigatória",facultative:"Facultativa",interdite:"Proibida"},m=({isDark:t})=>{const[o,d]=p.useState("all"),b=o==="all"?s:s.filter(e=>e.type===o);return r.jsxs("div",{className:"flex flex-col h-full",children:[r.jsx("div",{className:`px-5 py-4 border-b ${t?"border-gray-800":"border-gray-200"}`,children:r.jsxs("h3",{className:`flex items-center gap-2 text-sm font-bold ${t?"text-gray-100":"text-gray-900"}`,children:[r.jsx(u,{size:16})," Visualizador de Liaisons"]})}),r.jsx("div",{className:`flex gap-2 px-5 py-3 border-b ${t?"border-gray-800":"border-gray-200"}`,children:["all","obligatoire","facultative","interdite"].map(e=>{const a=e==="all"?null:l[e];return r.jsx("button",{onClick:()=>d(e),className:`px-3 py-1.5 rounded-lg text-[11px] font-medium border ${o===e?a?t?a.d:a.l:t?"bg-indigo-600/30 text-indigo-300 border-indigo-500/40":"bg-indigo-50 text-indigo-700 border-indigo-200":t?"bg-gray-800 text-gray-400 border-gray-700":"bg-white text-gray-500 border-gray-200"}`,children:e==="all"?"Todas":n[e]},e)})}),r.jsx("div",{className:"flex-1 overflow-y-auto px-5 py-4 space-y-2",children:b.map((e,a)=>{const i=l[e.type];return r.jsxs("div",{className:`p-3 rounded-xl border ${t?"bg-gray-800/40 border-gray-700/50":"bg-white border-gray-100"}`,children:[r.jsxs("div",{className:"flex items-center justify-between mb-1",children:[r.jsx("span",{className:`text-base font-medium ${t?"text-gray-100":"text-gray-900"}`,children:e.liaison}),r.jsx("span",{className:`text-[10px] px-1.5 py-0.5 rounded border ${t?i.d:i.l}`,children:n[e.type]})]}),r.jsx("p",{className:`text-xs ${t?"text-gray-400":"text-gray-500"}`,children:e.rule}),e.sound!=="â"&&r.jsxs("p",{className:`text-[10px] mt-1 ${t?"text-gray-500":"text-gray-400"}`,children:["Som da liaison: ",e.sound]})]},a)})})]})};export{m 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.