/* ============================================================ Trilha — Custom branded icon set A hand-drawn line-icon family tied to the brand metaphor: trilha / montanha / alpinista / ampulheta / coroa de louros / brasa. 24px grid, 1.7px stroke, round caps — gold on active. ============================================================ */ (function () { const e = React.createElement; // Each entry returns an array of // children. const P = (d, extra) => e('path', Object.assign({ d, fill: 'none' }, extra || {})); const C = (cx, cy, r, extra) => e('circle', Object.assign({ cx, cy, r, fill: 'none' }, extra || {})); const PATHS = { // Início — montanha com bandeira no cume (base do acampamento) inicio: () => [ P('M3 20.5h18'), P('M4.5 20.5 10 8.5l2.6 5 1.7-3 4.7 10'), P('M10 8.5V4l3.2 1.1L10 6.2'), ], // Banco de Questões — pilha de cadernos com faísca (a estrela) banco: () => [ P('M5 7.5 12 4l7 3.5-7 3.5z'), P('M5 12 12 15.5 19 12'), P('M5 16.5 12 20l7-3.5'), ], // Simulados — ampulheta (tempo / urgência) simulados: () => [ P('M6.5 3.5h11'), P('M6.5 20.5h11'), P('M7.5 3.5c0 4.2 9 4.6 9 0'), P('M7.5 20.5c0-4.2 9-4.6 9 0'), P('M12 11.4v2.2'), ], // Cursos — capelo / chapéu de formatura cursos: () => [ P('M2.5 9 12 5l9.5 4-9.5 4z'), P('M6.5 11.2v4.3c0 1.4 11 1.4 11 0v-4.3'), P('M21.5 9v4.5'), ], // Mapas Mentais — nós que se ramificam (a trilha que se abre) mapas: () => [ C(5, 12, 2), C(18, 6.5, 1.8), C(18, 17.5, 1.8), P('M7 12c4 0 5-5.5 9-5.5'), P('M7 12c4 0 5 5.5 9 5.5'), ], // Resumos — folha com linhas e canto dobrado resumos: () => [ P('M6 3.5h8l4 4v13H6z'), P('M14 3.5v4h4'), P('M9 12h6M9 15.5h6M9 8.7h2.5'), ], // Flashcards — dois cartões (frente / verso) flashcards: () => [ P('M4 9.2 8.6 4.4l8.4 3.8-4.6 4.8z', { transform: 'rotate(-6 10 9)' }), P('M7.5 11h9.5a1.5 1.5 0 0 1 1.5 1.5v6a1.5 1.5 0 0 1-1.5 1.5H7.5A1.5 1.5 0 0 1 6 18.5v-6A1.5 1.5 0 0 1 7.5 11z'), P('M12 11v9'), ], // Redação IA — pena escrevendo com faísca redacao: () => [ P('M5 19.5c5.5 1 9-2.5 12.5-9C19 7.5 18.5 5 16 6 9.5 9.5 6 13 5 18.5z'), P('M5 19.5 9.5 15'), P('M19.5 4.2 20 5.7l1.5.5-1.5.5-.5 1.5-.5-1.5L17 6.2l1.5-.5z'), ], // Cronograma — calendário com trilha/rota cronograma: () => [ P('M4.5 6.5h15v13h-15z'), P('M4.5 10h15'), P('M8 4.2v3.6M16 4.2v3.6'), P('M8 16c1.6 0 1.6-2.2 3.2-2.2S12.8 16 14.4 16'), ], // Edital Verticalizado — lista hierárquica com checks edital: () => [ P('M5 5.5h6M5 9.5h9M9 13.5h6M9 17.5h4'), P('M5 13.3v4.4'), P('M16.5 6 18 7.5 21 4.5'), ], // Agenda — calendário com ponto de evento agenda: () => [ P('M4.5 6.5h15v13h-15z'), P('M4.5 10h15'), P('M8 4.2v3.6M16 4.2v3.6'), C(12, 14.6, 1.6, { fill: 'currentColor', stroke: 'none' }), ], // Revisão — ciclo (repetição espaçada) com brasa revisao: () => [ P('M19 12a7 7 0 1 1-2.2-5.1'), P('M19 4.2v3.4h-3.4'), C(12, 12, 1.7, { fill: 'currentColor', stroke: 'none' }), ], // Raio-X da Prova — alvo / mira (inteligência da banca) raiox: () => [ C(12, 12, 8), C(12, 12, 4), P('M12 2v3M12 19v3M2 12h3M19 12h3'), C(12, 12, 1, { fill: 'currentColor', stroke: 'none' }), ], // Tutor IA — bússola (guia na trilha) tutor: () => [ C(12, 12, 8.5), P('M15.5 8.5 13 13l-4.5 2.5L11 11z'), C(12, 12, 1, { fill: 'currentColor', stroke: 'none' }), ], // Biblioteca IA — livro aberto com faísca (converse com seus materiais) biblioteca: () => [ P('M12 6.5C10 5 7 4.7 4.5 5.2v12C7 16.7 10 17 12 18.5'), P('M12 6.5C14 5 17 4.7 19.5 5.2v12C17 16.7 14 17 12 18.5'), P('M12 6.5v12'), P('M16.8 3.4 17.3 5l1.6.5-1.6.5-.5 1.6-.5-1.6L14.7 5.5l1.6-.5z'), ], // ---- Brand motifs ---- coroa: () => [ // coroa de louros (conquistas / aprovação) P('M12 21c-3.5-1-5.5-4-5.5-8 0-1.4.3-2.7.8-3.8'), P('M12 21c3.5-1 5.5-4 5.5-8 0-1.4-.3-2.7-.8-3.8'), P('M7.6 10.2C6.4 10 5.5 9 5.4 7.6c1.3-.1 2.4.4 3 1.4'), P('M7 14c-1.3 0-2.4-.8-2.8-2 1.3-.4 2.5 0 3.2 1'), P('M16.4 10.2c1.2-.2 2.1-1.2 2.2-2.6-1.3-.1-2.4.4-3 1.4'), P('M17 14c1.3 0 2.4-.8 2.8-2-1.3-.4-2.5 0-3.2 1'), P('M12 21V9'), ], brasa: () => [ // brasa / chama (ofensiva) P('M12 21c3.3 0 5.5-2.3 5.5-5.3 0-2.6-1.7-4.2-2.8-6.4C13.4 6.7 13 4.3 12 3c-.6 1.8-1.7 3-3 4.6-1.4 1.8-2.5 3.4-2.5 6.1C6.5 18.7 8.7 21 12 21z'), P('M12 21c1.7 0 2.9-1.3 2.9-3 0-1.6-1-2.4-1.7-3.7-.6 1-1.2 1.6-2 2.5-.5.7-.9 1.2-.9 2.2 0 1.7 1 3 1.7 3z', { fill: 'currentColor', stroke: 'none', opacity: 0.55 }), ], }; function TrIcon({ name, size = 20, stroke = 1.7, color = 'currentColor', style }) { const build = PATHS[name]; const children = build ? build() : []; return e('svg', { width: size, height: size, viewBox: '0 0 24 24', stroke: color, strokeWidth: stroke, strokeLinecap: 'round', strokeLinejoin: 'round', fill: 'none', style, 'aria-hidden': true, }, ...children); } window.TR = window.TR || {}; window.TR.TrIcon = TrIcon; window.TR.ICON_NAMES = Object.keys(PATHS); })();