[{"data":1,"prerenderedAt":10667},["ShallowReactive",2],{"palette-projects":3,"palette-posts":177,"blog":194},[4,27,44,57,73,86,101,113,126,138,150,163],{"id":5,"title":6,"accent":7,"description":8,"device":9,"extension":10,"featured":11,"image":12,"kind":13,"meta":14,"repo":15,"stem":16,"tagline":17,"tags":18,"url":24,"year":25,"__hash__":26},"projects\u002Fprojects\u002F01.fluxxi.yml","Fluxxi","#0f766e","Comandas por mesa que enviam pedidos direto para cozinha e bar, estoque com alertas, fechamento de caixa por turno, equipe com comissões e relatórios em PDF. Um produto completo, com planos pagos e versão PWA para o celular.","desktop","yml",true,"\u002Fprojects\u002Ffluxxi.png","Produto",{},null,"projects\u002F01.fluxxi","SaaS de gestão para bares e restaurantes.",[19,20,21,22,23],"Nuxt","Nuxt UI","Supabase","Pinia","GSAP","https:\u002F\u002Fwww.fluxxi.com.br\u002F",2026,"_1Q9DQI2p5piM84tbn1QZM3GNYJ2sAsr-h1syMorkiQ",{"id":28,"title":29,"accent":30,"description":31,"device":9,"extension":10,"featured":11,"image":32,"kind":33,"meta":34,"repo":15,"stem":35,"tagline":36,"tags":37,"url":42,"year":25,"__hash__":43},"projects\u002Fprojects\u002F02.lifetour.yml","LifeTour","#f5b301","Jogo de tabuleiro inspirado no Business Tour, em Phaser 3 e WebGL. Motor de regras desacoplado da interface, bots com IA, modo online, editor de mapas e balanceamento validado com milhares de partidas simuladas.","\u002Fprojects\u002Flifetour.png","Pessoal",{},"projects\u002F02.lifetour","Board game de negócios isométrico, jogável no navegador.",[38,39,40,21,41],"Phaser 3","TypeScript","Vite","Vitest","https:\u002F\u002Flifetour-ivory.vercel.app\u002F","yLAYCM2fRZtFZ-zkolG0zvY-NpM_hsP-_G9xowC72MI",{"id":45,"title":46,"accent":47,"description":48,"device":9,"extension":10,"featured":11,"image":49,"kind":33,"meta":50,"repo":15,"stem":51,"tagline":52,"tags":53,"url":55,"year":25,"__hash__":56},"projects\u002Fprojects\u002F03.faictory.yml","Faictory","#facc15","Inspirado em Factorio. Minere recursos, monte cadeias de produção com esteiras, braços robóticos e máquinas, e explore uma ilha gerada proceduralmente. Renderização em three.js com HUD em Nuxt UI.","\u002Fprojects\u002Ffaictory.png",{},"projects\u002F03.faictory","Jogo 3D de automação industrial no navegador.",[19,54,20,39],"three.js","https:\u002F\u002Ffaictory.vercel.app\u002F","LxtgDr3OCa8rqhWUiwzYIi1vm7kX4iI9OWJEfoeVNts",{"id":58,"title":59,"accent":60,"description":61,"device":62,"extension":10,"featured":11,"image":63,"kind":33,"meta":64,"repo":15,"stem":65,"tagline":66,"tags":67,"url":71,"year":25,"__hash__":72},"projects\u002Fprojects\u002F04.myfin.yml","MyFin","#c6f16b","PWA instalável para controlar o dinheiro do dia a dia e as vendas a prazo, com parcelas, cobrança pelo WhatsApp e lembretes. Os dados ficam no aparelho e funcionam offline, com sincronização cifrada opcional.","mobile","\u002Fprojects\u002Fmyfin.png",{},"projects\u002F04.myfin","Finanças pessoais e vendas fiado, offline-first.",[68,39,69,70,41],"React","PWA","IndexedDB","https:\u002F\u002Fmyfin-wine.vercel.app\u002F","MnKq_n6lh7yoUZeI27pDEp0ziBT6nb62qi8W7SDudXU",{"id":74,"title":75,"accent":15,"description":76,"device":9,"extension":10,"featured":11,"image":77,"kind":78,"meta":79,"repo":15,"stem":80,"tagline":81,"tags":82,"url":84,"year":25,"__hash__":85},"projects\u002Fprojects\u002F05.imperiodabeleza.yml","Império da Beleza","Site com serviços e pacotes, agendamento com escolha de horário, área do cliente e programa de fidelidade. Painel admin com agenda, clientes, financeiro e promoções, e lembretes automáticos pelo WhatsApp.","\u002Fprojects\u002Fimperiodabeleza.png","Cliente",{},"projects\u002F05.imperiodabeleza","Agendamento online e gestão para salão de beleza.",[19,20,21,83],"WhatsApp API","https:\u002F\u002Fimperiodabeleza.vercel.app\u002F","dYH4YyKfMy-yjcJrhnW0kLPMoyHKGsgidRamwvyJE48",{"id":87,"title":88,"accent":15,"description":89,"device":9,"extension":10,"featured":11,"image":90,"kind":91,"meta":92,"repo":15,"stem":93,"tagline":94,"tags":95,"url":98,"year":99,"__hash__":100},"projects\u002Fprojects\u002F06.paper-ui.yml","Paper UI","Design system com estética de desenho à mão, em Vue 3 e Nuxt, com TypeScript e Tailwind CSS. Hoje na versão 2.0, com documentação própria.","\u002Fprojects\u002Fpaper-ui.png","Open source",{},"projects\u002F06.paper-ui","Biblioteca de componentes hand-drawn para Nuxt.",[19,96,39,97],"Design System","Tailwind","https:\u002F\u002Fpaper-docs.nuxt.space\u002F",2025,"Oq9ZcBuOfRs5t6tO_vpEkYVnkeSZBMolKc7lh_K1aN0",{"id":102,"title":103,"accent":15,"description":104,"device":9,"extension":10,"featured":11,"image":105,"kind":78,"meta":106,"repo":15,"stem":107,"tagline":108,"tags":109,"url":111,"year":99,"__hash__":112},"projects\u002Fprojects\u002F07.bushdocs.yml","BushDocs","Documentação técnica com categorias hierárquicas ilimitadas, editor rich text com imagens e vídeos, fluxo de rascunho e publicação e busca rápida com ⌘K.","\u002Fprojects\u002Fbushdocs.png",{},"projects\u002F07.bushdocs","Plataforma de documentação interna.",[19,20,110,21],"Tiptap","https:\u002F\u002Fbushdocs.vercel.app\u002F","88pcETkmoP3NFm07m8OTaAdbai37nd2-8TIY-i81Ryk",{"id":114,"title":115,"accent":15,"description":116,"device":9,"extension":10,"featured":117,"image":118,"kind":33,"meta":119,"repo":15,"stem":120,"tagline":121,"tags":122,"url":124,"year":25,"__hash__":125},"projects\u002Fprojects\u002F08.pokerpg.yml","PokeRPG","Explore mapas procedurais pelo teclado, enfrente encontros aleatórios e capture, batalhe e troque Pokémon, com perfis, níveis e experiência. Dados da PokeAPI.",false,"\u002Fprojects\u002Fpokerpg.png",{},"projects\u002F08.pokerpg","RPG multiplayer de Pokémon no navegador.",[19,21,123,22],"PokeAPI","https:\u002F\u002Fpokerpg-chi.vercel.app\u002F","18Xeq0OHakXFKJ6CLbDXi7OHTcExH4qCrqfKCf5gKdM",{"id":127,"title":128,"accent":15,"description":129,"device":9,"extension":10,"featured":117,"image":130,"kind":78,"meta":131,"repo":15,"stem":132,"tagline":133,"tags":134,"url":136,"year":25,"__hash__":137},"projects\u002Fprojects\u002F09.booking-panels.yml","Booking Panels","Dois painéis mensais com linha do tempo de 36 dias e sete tipos de agendamento. Visualização pública, edição autenticada e atualização em tempo real via Supabase Realtime.","\u002Fprojects\u002Fbooking-panels.png",{},"projects\u002F09.booking-panels","Painéis de agendamento de produção em tempo real.",[19,20,135],"Supabase Realtime","https:\u002F\u002Fbooking-panels.vercel.app\u002F","y2iEjTOCE9uomrY_BvcUrEc1s68I2UbyMzuOt-d_jZw",{"id":139,"title":140,"accent":15,"description":141,"device":9,"extension":10,"featured":117,"image":142,"kind":78,"meta":143,"repo":15,"stem":144,"tagline":145,"tags":146,"url":148,"year":25,"__hash__":149},"projects\u002Fprojects\u002F10.accelerator.yml","Production Accelerator","Seis indicadores em gauges e um cronograma de 60 dias por baia, com modo TV que se atualiza sozinho e modo de edição com drag & drop de datas.","\u002Fprojects\u002Faccelerator.png",{},"projects\u002F10.accelerator","Dashboard de acompanhamento de produção.",[19,21,147],"Chart.js","https:\u002F\u002Faccelerator-gilt.vercel.app\u002F","cQB8X0ir3dZipl1HElNl0elYQuA6HvT13efem-d5NcY",{"id":151,"title":152,"accent":15,"description":153,"device":9,"extension":10,"featured":117,"image":154,"kind":33,"meta":155,"repo":156,"stem":157,"tagline":158,"tags":159,"url":161,"year":99,"__hash__":162},"projects\u002Fprojects\u002F11.kanboard.yml","KanBoard","Quadro Kanban com criação e remoção de colunas e cards, atalhos de teclado, undo\u002Fredo e persistência local. Projeto para explorar o Nuxt 4.","\u002Fkanboard.jpg",{},"https:\u002F\u002Fgithub.com\u002FFelipeO16\u002Fkanboard","projects\u002F11.kanboard","Kanban com atalhos de teclado e undo\u002Fredo.",[19,97,160],"VueUse","https:\u002F\u002Fkanboard.nuxt.dev\u002F","tsQYWkJzBU8Rj5hph3X0_oKcPXmnyLAIRh69QVA85-w",{"id":164,"title":165,"accent":15,"description":166,"device":9,"extension":10,"featured":117,"image":167,"kind":33,"meta":168,"repo":169,"stem":170,"tagline":171,"tags":172,"url":174,"year":175,"__hash__":176},"projects\u002Fprojects\u002F12.wordle.yml","Wordle Clone","Clone de Wordle feito para praticar Test-Driven Development com Vitest, com palavra do dia e feedback visual interativo.","\u002Fwordle.jpg",{},"https:\u002F\u002Fgithub.com\u002FFelipeO16\u002Fwordle","projects\u002F12.wordle","Wordle em Nuxt, construído com TDD.",[19,41,173,39],"TDD","https:\u002F\u002Fwordle.nuxt.dev\u002F",2024,"JLM-jGzPC_oxnzB5dVkdQisY6zTDDPjQZSKHQ9cHQFc",[178,182,186,190],{"title":179,"path":180,"description":181},"Nuxt 4: As Novidades Revolucionárias que Você Precisa Conhecer","\u002Fblog\u002Fnuxt-4-novidades-revolucionarias","Descubra as principais novidades do Nuxt 4, incluindo nova estrutura de projeto, data fetching inteligente, melhor suporte TypeScript e CLI mais rápido.",{"title":183,"path":184,"description":185},"Paper UI: A História por Trás da Biblioteca que Revolucionou o Design Vue.js","\u002Fblog\u002Fpaper-ui-historia-criacao","Descubra como nasceu a Paper UI, os desafios técnicos enfrentados e como uma ideia simples se tornou um módulo oficial do Nuxt.js.",{"title":187,"path":188,"description":189},"Nuxt Performance: Otimizações Avançadas que Aumentaram 40% a Velocidade dos Meus Projetos","\u002Fblog\u002Fnuxt-performance-otimizacoes-avancadas","Técnicas avançadas de otimização de performance em Nuxt.js que implementei em projetos reais, com resultados mensuráveis e código prático.",{"title":191,"path":192,"description":193},"O Futuro do Ecossistema Nuxt.js: Tendências que Vão Moldar o Desenvolvimento Front-end em 2025","\u002Fblog\u002Fnuxt-ecosystem-futuro-desenvolvimento","Análise profunda das tendências emergentes no ecossistema Nuxt.js, incluindo AI, edge computing, e as tecnologias que vão revolucionar o desenvolvimento front-end.",[195,1186,3184,7422],{"id":196,"title":179,"body":197,"date":1169,"description":181,"extension":1170,"image":1171,"meta":1172,"navigation":11,"path":180,"seo":1180,"stem":1181,"tags":1182,"__hash__":1185},"blog\u002Fblog\u002Fnuxt-4-novidades-revolucionarias.md",{"type":198,"value":199,"toc":1130},"minimark",[200,209,214,222,232,237,259,265,269,280,284,368,372,392,396,519,523,526,530,561,565,588,591,681,685,688,692,722,726,746,750,753,757,783,787,849,853,857,883,887,893,897,919,923,943,947,958,962,986,990,993,997,1035,1039,1058,1062,1067,1073,1077,1109,1112,1126],[201,202,203,204,208],"p",{},"O ",[205,206,207],"strong",{},"Nuxt 4"," chegou oficialmente em julho de 2025 e trouxe consigo uma evolução focada na experiência do desenvolvedor, com melhor organização de projetos, data fetching mais inteligente e suporte TypeScript aprimorado. Como desenvolvedor que acompanha de perto a evolução do framework, vou compartilhar as principais novidades que mais me impressionaram.",[210,211,213],"h2",{"id":212},"️-nova-estrutura-de-projeto-organização-inteligente","🗂️ Nova Estrutura de Projeto: Organização Inteligente",[201,215,216,217,221],{},"A maior mudança visível é como os projetos são organizados. Seu código de aplicação agora vive em um diretório ",[218,219,220],"code",{},"app\u002F"," por padrão:",[223,224,229],"pre",{"className":225,"code":227,"language":228},[226],"language-text","my-nuxt-app\u002F\n├─ app\u002F\n│  ├─ assets\u002F\n│  ├─ components\u002F\n│  ├─ composables\u002F\n│  ├─ layouts\u002F\n│  ├─ middleware\u002F\n│  ├─ pages\u002F\n│  ├─ plugins\u002F\n│  ├─ utils\u002F\n│  ├─ app.vue\n│  ├─ app.config.ts\n│  └─ error.vue\n├─ content\u002F\n├─ public\u002F\n├─ shared\u002F\n├─ server\u002F\n└─ nuxt.config.ts\n","text",[218,230,227],{"__ignoreMap":231},"",[233,234,236],"h3",{"id":235},"benefícios-da-nova-estrutura","Benefícios da Nova Estrutura",[238,239,240,247,253],"ul",{},[241,242,243,246],"li",{},[205,244,245],{},"File watchers mais rápidos"," (especialmente no Windows e Linux)",[241,248,249,252],{},[205,250,251],{},"Melhor contexto para IDEs"," sobre código cliente vs servidor",[241,254,255,258],{},[205,256,257],{},"Separação clara"," entre código da aplicação e dependências",[201,260,261,264],{},[205,262,263],{},"Não quer migrar?"," Não se preocupe! O Nuxt detecta sua estrutura existente e continua funcionando exatamente como antes.",[210,266,268],{"id":267},"data-fetching-mais-inteligente","🔄 Data Fetching Mais Inteligente",[201,270,271,272,275,276,279],{},"O Nuxt 4 trouxe melhorias significativas no ",[218,273,274],{},"useAsyncData"," e ",[218,277,278],{},"useFetch",":",[233,281,283],{"id":282},"compartilhamento-automático-de-dados","Compartilhamento Automático de Dados",[223,285,289],{"className":286,"code":287,"language":288,"meta":231,"style":231},"language-typescript shiki shiki-themes material-theme-lighter github-light github-dark","\u002F\u002F Múltiplos componentes usando a mesma chave agora compartilham dados automaticamente\nconst { data } = await useAsyncData('user-profile', () => $fetch('\u002Fapi\u002Fuser'))\n","typescript",[218,290,291,300],{"__ignoreMap":231},[292,293,296],"span",{"class":294,"line":295},"line",1,[292,297,299],{"class":298},"sutJx","\u002F\u002F Múltiplos componentes usando a mesma chave agora compartilham dados automaticamente\n",[292,301,303,307,311,315,318,322,326,330,334,338,342,344,347,350,353,356,358,360,363,365],{"class":294,"line":302},2,[292,304,306],{"class":305},"sbsja","const",[292,308,310],{"class":309},"sP7_E"," {",[292,312,314],{"class":313},"s_hVV"," data",[292,316,317],{"class":309}," }",[292,319,321],{"class":320},"smGrS"," =",[292,323,325],{"class":324},"sVHd0"," await",[292,327,329],{"class":328},"sGLFI"," useAsyncData",[292,331,333],{"class":332},"su5hD","(",[292,335,337],{"class":336},"sjJ54","'",[292,339,341],{"class":340},"s_sjI","user-profile",[292,343,337],{"class":336},[292,345,346],{"class":309},",",[292,348,349],{"class":309}," ()",[292,351,352],{"class":305}," =>",[292,354,355],{"class":328}," $fetch",[292,357,333],{"class":332},[292,359,337],{"class":336},[292,361,362],{"class":340},"\u002Fapi\u002Fuser",[292,364,337],{"class":336},[292,366,367],{"class":332},"))\n",[233,369,371],{"id":370},"limpeza-automática","Limpeza Automática",[238,373,374,380,386],{},[241,375,376,379],{},[205,377,378],{},"Cleanup automático"," quando componentes são desmontados",[241,381,382,385],{},[205,383,384],{},"Chaves reativas"," para refetch automático quando necessário",[241,387,388,391],{},[205,389,390],{},"Controle aprimorado"," sobre quando usar dados em cache",[233,393,395],{"id":394},"exemplo-prático","Exemplo Prático",[223,397,399],{"className":286,"code":398,"language":288,"meta":231,"style":231},"\u002F\u002F Chave reativa - refetch automático quando userId muda\nconst { data: user } = await useAsyncData('user', () => \n  $fetch(`\u002Fapi\u002Fusers\u002F${userId.value}`), \n  { key: `user-${userId.value}` }\n)\n",[218,400,401,406,446,482,513],{"__ignoreMap":231},[292,402,403],{"class":294,"line":295},[292,404,405],{"class":298},"\u002F\u002F Chave reativa - refetch automático quando userId muda\n",[292,407,408,410,412,415,417,420,422,424,426,428,430,432,435,437,439,441,443],{"class":294,"line":302},[292,409,306],{"class":305},[292,411,310],{"class":309},[292,413,314],{"class":414},"sucvu",[292,416,279],{"class":309},[292,418,419],{"class":313}," user",[292,421,317],{"class":309},[292,423,321],{"class":320},[292,425,325],{"class":324},[292,427,329],{"class":328},[292,429,333],{"class":332},[292,431,337],{"class":336},[292,433,434],{"class":340},"user",[292,436,337],{"class":336},[292,438,346],{"class":309},[292,440,349],{"class":309},[292,442,352],{"class":305},[292,444,445],{"class":332}," \n",[292,447,449,452,454,457,460,463,466,469,472,475,478,480],{"class":294,"line":448},3,[292,450,451],{"class":328},"  $fetch",[292,453,333],{"class":332},[292,455,456],{"class":336},"`",[292,458,459],{"class":340},"\u002Fapi\u002Fusers\u002F",[292,461,462],{"class":336},"${",[292,464,465],{"class":332},"userId",[292,467,468],{"class":336},".",[292,470,471],{"class":332},"value",[292,473,474],{"class":336},"}`",[292,476,477],{"class":332},")",[292,479,346],{"class":309},[292,481,445],{"class":332},[292,483,485,488,492,494,497,500,502,504,506,508,510],{"class":294,"line":484},4,[292,486,487],{"class":309},"  {",[292,489,491],{"class":490},"skxfh"," key",[292,493,279],{"class":309},[292,495,496],{"class":336}," `",[292,498,499],{"class":340},"user-",[292,501,462],{"class":336},[292,503,465],{"class":332},[292,505,468],{"class":336},[292,507,471],{"class":332},[292,509,474],{"class":336},[292,511,512],{"class":309}," }\n",[292,514,516],{"class":294,"line":515},5,[292,517,518],{"class":332},")\n",[210,520,522],{"id":521},"melhor-experiência-typescript","🔧 Melhor Experiência TypeScript",[201,524,525],{},"O Nuxt 4 cria projetos TypeScript separados para diferentes contextos:",[233,527,529],{"id":528},"separação-inteligente-de-contextos","Separação Inteligente de Contextos",[238,531,532,540,548,556],{},[241,533,534,537,538,477],{},[205,535,536],{},"Código da aplicação"," (",[218,539,220],{},[241,541,542,537,545,477],{},[205,543,544],{},"Código do servidor",[218,546,547],{},"server\u002F",[241,549,550,537,553,477],{},[205,551,552],{},"Código compartilhado",[218,554,555],{},"shared\u002F",[241,557,558],{},[205,559,560],{},"Código de configuração",[233,562,564],{"id":563},"benefícios-reais","Benefícios Reais",[238,566,567,573,579],{},[241,568,569,572],{},[205,570,571],{},"Autocompletar mais preciso"," e inferência de tipos",[241,574,575,578],{},[205,576,577],{},"Menos erros confusos"," ao trabalhar em diferentes contextos",[241,580,581,587],{},[205,582,583,584],{},"Apenas um ",[218,585,586],{},"tsconfig.json"," na raiz do projeto",[233,589,395],{"id":590},"exemplo-prático-1",[223,592,594],{"className":286,"code":593,"language":288,"meta":231,"style":231},"\u002F\u002F app\u002Fcomposables\u002FuseAuth.ts - Tipagem automática\nexport const useAuth = () => {\n  const user = ref\u003CUser | null>(null)\n  \u002F\u002F TypeScript entende automaticamente o tipo User\n  return { user }\n}\n",[218,595,596,601,622,659,664,675],{"__ignoreMap":231},[292,597,598],{"class":294,"line":295},[292,599,600],{"class":298},"\u002F\u002F app\u002Fcomposables\u002FuseAuth.ts - Tipagem automática\n",[292,602,603,606,609,613,615,617,619],{"class":294,"line":302},[292,604,605],{"class":324},"export",[292,607,608],{"class":305}," const",[292,610,612],{"class":611},"sfCm-"," useAuth",[292,614,321],{"class":320},[292,616,349],{"class":309},[292,618,352],{"class":305},[292,620,621],{"class":309}," {\n",[292,623,624,627,629,631,634,637,641,644,648,651,653,657],{"class":294,"line":448},[292,625,626],{"class":305},"  const",[292,628,419],{"class":313},[292,630,321],{"class":320},[292,632,633],{"class":328}," ref",[292,635,636],{"class":309},"\u003C",[292,638,640],{"class":639},"sbgvK","User",[292,642,643],{"class":320}," |",[292,645,647],{"class":646},"sZMiF"," null",[292,649,650],{"class":309},">",[292,652,333],{"class":490},[292,654,656],{"class":655},"s39Yj","null",[292,658,518],{"class":490},[292,660,661],{"class":294,"line":484},[292,662,663],{"class":298},"  \u002F\u002F TypeScript entende automaticamente o tipo User\n",[292,665,666,669,671,673],{"class":294,"line":515},[292,667,668],{"class":324},"  return",[292,670,310],{"class":309},[292,672,419],{"class":332},[292,674,512],{"class":309},[292,676,678],{"class":294,"line":677},6,[292,679,680],{"class":309},"}\n",[210,682,684],{"id":683},"cli-e-desenvolvimento-mais-rápido","⚡ CLI e Desenvolvimento Mais Rápido",[201,686,687],{},"O Nuxt 4 trouxe melhorias significativas na velocidade:",[233,689,691],{"id":690},"melhorias-de-performance","Melhorias de Performance",[238,693,694,700,706,716],{},[241,695,696,699],{},[205,697,698],{},"Cold starts mais rápidos"," - inicialização do servidor de desenvolvimento",[241,701,702,705],{},[205,703,704],{},"Node.js compile cache"," - reutilização automática do cache v8",[241,707,708,711,712,715],{},[205,709,710],{},"File watching nativo"," - usa APIs ",[218,713,714],{},"fs.watch"," para menos recursos do sistema",[241,717,718,721],{},[205,719,720],{},"Comunicação via sockets"," - CLI e Vite se comunicam via sockets internos",[233,723,725],{"id":724},"impacto-real","Impacto Real",[238,727,728,734,740],{},[241,729,730,733],{},[205,731,732],{},"Startup 40% mais rápido"," em desenvolvimento",[241,735,736,739],{},[205,737,738],{},"Menos uso de memória"," e recursos do sistema",[241,741,742,745],{},[205,743,744],{},"Especialmente notável no Windows"," devido às otimizações de socket",[210,747,749],{"id":748},"templates-atualizados","🎨 Templates Atualizados",[201,751,752],{},"Os templates de inicialização do Nuxt receberam uma renovação completa:",[233,754,756],{"id":755},"melhorias-nos-templates","Melhorias nos Templates",[238,758,759,765,771,777],{},[241,760,761,764],{},[205,762,763],{},"Acessibilidade aprimorada"," por padrão",[241,766,767,770],{},[205,768,769],{},"Títulos padrão"," mais informativos",[241,772,773,776],{},[205,774,775],{},"Polimento visual"," geral dos templates",[241,778,779,782],{},[205,780,781],{},"Melhor estrutura"," de componentes",[233,784,786],{"id":785},"template-padrão-renovado","Template Padrão Renovado",[223,788,792],{"className":789,"code":790,"language":791,"meta":231,"style":231},"language-vue shiki shiki-themes material-theme-lighter github-light github-dark","\u003C!-- app.vue - Template mais limpo e organizado -->\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003CNuxtWelcome \u002F>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n","vue",[218,793,794,799,810,820,831,840],{"__ignoreMap":231},[292,795,796],{"class":294,"line":295},[292,797,798],{"class":298},"\u003C!-- app.vue - Template mais limpo e organizado -->\n",[292,800,801,803,807],{"class":294,"line":302},[292,802,636],{"class":309},[292,804,806],{"class":805},"sQzsp","template",[292,808,809],{"class":309},">\n",[292,811,812,815,818],{"class":294,"line":448},[292,813,814],{"class":309},"  \u003C",[292,816,817],{"class":805},"div",[292,819,809],{"class":309},[292,821,822,825,828],{"class":294,"line":484},[292,823,824],{"class":309},"    \u003C",[292,826,827],{"class":805},"NuxtWelcome",[292,829,830],{"class":309}," \u002F>\n",[292,832,833,836,838],{"class":294,"line":515},[292,834,835],{"class":309},"  \u003C\u002F",[292,837,817],{"class":805},[292,839,809],{"class":309},[292,841,842,845,847],{"class":294,"line":677},[292,843,844],{"class":309},"\u003C\u002F",[292,846,806],{"class":805},[292,848,809],{"class":309},[210,850,852],{"id":851},"impacto-real-nos-projetos","📈 Impacto Real nos Projetos",[233,854,856],{"id":855},"melhorias-observadas","Melhorias Observadas",[238,858,859,865,871,877],{},[241,860,861,864],{},[205,862,863],{},"Desenvolvimento mais fluido"," com file watchers otimizados",[241,866,867,870],{},[205,868,869],{},"TypeScript mais preciso"," com separação de contextos",[241,872,873,876],{},[205,874,875],{},"Data fetching mais eficiente"," com compartilhamento automático",[241,878,879,882],{},[205,880,881],{},"CLI mais responsivo"," especialmente no Windows",[210,884,886],{"id":885},"como-fazer-a-migração","🚀 Como Fazer a Migração",[201,888,889,890,279],{},"A migração é ",[205,891,892],{},"surpreendentemente simples",[233,894,896],{"id":895},"_1-atualizar-o-nuxt","1. Atualizar o Nuxt",[223,898,902],{"className":899,"code":900,"language":901,"meta":231,"style":231},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark","npx nuxt upgrade --dedupe\n","bash",[218,903,904],{"__ignoreMap":231},[292,905,906,909,912,915],{"class":294,"line":295},[292,907,908],{"class":639},"npx",[292,910,911],{"class":340}," nuxt",[292,913,914],{"class":340}," upgrade",[292,916,918],{"class":917},"stzsN"," --dedupe\n",[233,920,922],{"id":921},"_2-usar-ferramentas-de-migração-opcional","2. Usar Ferramentas de Migração (Opcional)",[223,924,926],{"className":899,"code":925,"language":901,"meta":231,"style":231},"# Automatiza muitos passos da migração\nnpx codemod@latest nuxt\u002F4\u002Fmigration-recipe\n",[218,927,928,933],{"__ignoreMap":231},[292,929,930],{"class":294,"line":295},[292,931,932],{"class":298},"# Automatiza muitos passos da migração\n",[292,934,935,937,940],{"class":294,"line":302},[292,936,908],{"class":639},[292,938,939],{"class":340}," codemod@latest",[292,941,942],{"class":340}," nuxt\u002F4\u002Fmigration-recipe\n",[233,944,946],{"id":945},"_3-testar-e-ajustar","3. Testar e Ajustar",[238,948,949,952,955],{},[241,950,951],{},"Execute seus testes",[241,953,954],{},"Verifique se tudo compila corretamente",[241,956,957],{},"Ajuste qualquer problema que surgir",[233,959,961],{"id":960},"compatibilidade","Compatibilidade",[238,963,964,974,980],{},[241,965,966,969,970,973],{},[205,967,968],{},"Nuxt 2 compatibility removida"," do ",[218,971,972],{},"@nuxt\u002Fkit"," (afeta principalmente autores de módulos)",[241,975,976,979],{},[205,977,978],{},"Utilitários legados"," e funcionalidades depreciadas foram limpos",[241,981,982,985],{},[205,983,984],{},"Configurações de compatibilidade"," disponíveis para reverter comportamento antigo",[210,987,989],{"id":988},"o-futuro-do-nuxt","🔮 O Futuro do Nuxt",[201,991,992],{},"O Nuxt 4 estabelece as bases para:",[233,994,996],{"id":995},"próximas-versões","Próximas Versões",[238,998,999,1005,1011,1017,1023,1029],{},[241,1000,1001,1004],{},[205,1002,1003],{},"Nuxt 5"," planejado para o futuro próximo com Nitro v3 e h3 v2",[241,1006,1007,1010],{},[205,1008,1009],{},"Melhor performance"," com Vite Environment API",[241,1012,1013,1016],{},[205,1014,1015],{},"SSR streaming"," (#4753)",[241,1018,1019,1022],{},[205,1020,1021],{},"Módulo de acessibilidade"," oficial (#23255)",[241,1024,1025,1028],{},[205,1026,1027],{},"Estratégias de cache"," para fetch (#26017)",[241,1030,1031,1034],{},[205,1032,1033],{},"Suporte multi-app"," (#21635)",[233,1036,1038],{"id":1037},"roadmap","Roadmap",[238,1040,1041,1047,1052],{},[241,1042,1043,1046],{},[205,1044,1045],{},"Nuxt 3"," continuará recebendo atualizações até janeiro de 2026",[241,1048,1049,1051],{},[205,1050,207],{}," receberá patches rápidos para correções",[241,1053,1054,1057],{},[205,1055,1056],{},"Funcionalidades"," continuarão sendo lançadas em versões menores",[210,1059,1061],{"id":1060},"conclusão","🎉 Conclusão",[201,1063,203,1064,1066],{},[205,1065,207],{}," representa uma evolução focada na experiência do desenvolvedor, com melhor organização de projetos, data fetching mais inteligente e suporte TypeScript aprimorado. As melhorias são pensadas para tornar o desenvolvimento mais fluido e eficiente.",[201,1068,1069,1072],{},[205,1070,1071],{},"Minha recomendação",": A migração é simples e os benefícios são imediatos. O Nuxt 4 é a escolha natural para novos projetos Vue.js em 2025.",[233,1074,1076],{"id":1075},"principais-benefícios","Principais Benefícios",[238,1078,1079,1088,1093,1098,1103],{},[241,1080,1081,1082,1085,1086],{},"✅ ",[205,1083,1084],{},"Organização melhor"," com estrutura ",[218,1087,220],{},[241,1089,1081,1090,876],{},[205,1091,1092],{},"Data fetching inteligente",[241,1094,1081,1095,870],{},[205,1096,1097],{},"TypeScript aprimorado",[241,1099,1081,1100,882],{},[205,1101,1102],{},"CLI mais rápido",[241,1104,1081,1105,1108],{},[205,1106,1107],{},"Migração simples"," com ferramentas automatizadas",[1110,1111],"hr",{},[201,1113,1114],{},[1115,1116,1117,1118,1125],"em",{},"Quer saber mais sobre alguma funcionalidade específica? Deixe um comentário ou me siga no ",[1119,1120,1124],"a",{"href":1121,"rel":1122},"https:\u002F\u002Fgithub.com\u002FFelipeOl6",[1123],"nofollow","GitHub"," para mais insights sobre Nuxt.js!",[1127,1128,1129],"style",{},"html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sucvu, html code.shiki .sucvu{--shiki-light:#E53935;--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sfCm-, html code.shiki .sfCm-{--shiki-light:#90A4AE;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sQzsp, html code.shiki .sQzsp{--shiki-light:#E53935;--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .stzsN, html code.shiki .stzsN{--shiki-light:#91B859;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":231,"searchDepth":302,"depth":302,"links":1131},[1132,1135,1140,1145,1149,1153,1156,1162,1166],{"id":212,"depth":302,"text":213,"children":1133},[1134],{"id":235,"depth":448,"text":236},{"id":267,"depth":302,"text":268,"children":1136},[1137,1138,1139],{"id":282,"depth":448,"text":283},{"id":370,"depth":448,"text":371},{"id":394,"depth":448,"text":395},{"id":521,"depth":302,"text":522,"children":1141},[1142,1143,1144],{"id":528,"depth":448,"text":529},{"id":563,"depth":448,"text":564},{"id":590,"depth":448,"text":395},{"id":683,"depth":302,"text":684,"children":1146},[1147,1148],{"id":690,"depth":448,"text":691},{"id":724,"depth":448,"text":725},{"id":748,"depth":302,"text":749,"children":1150},[1151,1152],{"id":755,"depth":448,"text":756},{"id":785,"depth":448,"text":786},{"id":851,"depth":302,"text":852,"children":1154},[1155],{"id":855,"depth":448,"text":856},{"id":885,"depth":302,"text":886,"children":1157},[1158,1159,1160,1161],{"id":895,"depth":448,"text":896},{"id":921,"depth":448,"text":922},{"id":945,"depth":448,"text":946},{"id":960,"depth":448,"text":961},{"id":988,"depth":302,"text":989,"children":1163},[1164,1165],{"id":995,"depth":448,"text":996},{"id":1037,"depth":448,"text":1038},{"id":1060,"depth":302,"text":1061,"children":1167},[1168],{"id":1075,"depth":448,"text":1076},"2025-01-15","md","https:\u002F\u002Fvueschool.io\u002F_ipx\u002Ff_webp&q_100&s_1200x1200\u002Fhttps:\u002F\u002Fvueschool.io\u002Fstorage\u002Fmedia\u002F02c8784f683de4262d21016a4ae714b8\u002FThe-Complete-Guide-to-Data-Fetching-in-Nuxt-01.png",{"author":1173},{"name":1174,"avatar":1175,"bio":1177,"social":1178},"Felipe Oliveira",{"src":1176},"https:\u002F\u002Fi.imgur.com\u002FywWj688.jpeg","Desenvolvedor Front-end especialista em Vue.js, Nuxt.js e TypeScript. Criador da Paper UI e apaixonado por design systems inovadores.",{"github":1121,"linkedin":1179},"https:\u002F\u002Flinkedin.com\u002Fin\u002Ffelipe-oliveira-dev",{"title":179,"description":181},"blog\u002Fnuxt-4-novidades-revolucionarias",[1183,791,288,1184],"nuxt","performance","Kran5QPG72bh6emMR0je4p5DD4PKzxj_yQcqWQhPnAI",{"id":1187,"title":183,"body":1188,"date":3171,"description":185,"extension":1170,"image":3172,"meta":3173,"navigation":11,"path":184,"seo":3177,"stem":3178,"tags":3179,"__hash__":3183},"blog\u002Fblog\u002Fpaper-ui-historia-criacao.md",{"type":198,"value":1189,"toc":3121},[1190,1203,1207,1211,1214,1236,1246,1250,1253,1261,1265,1269,1276,1302,1306,1499,1505,1509,1513,1516,1721,1725,1883,1887,2041,2045,2049,2108,2112,2213,2217,2269,2273,2277,2303,2305,2375,2379,2383,2454,2458,2604,2608,2661,2665,2669,2672,2679,2683,2689,2693,2761,2765,2769,2776,2780,2787,2791,2798,2802,2806,2832,2836,2908,2912,2916,2923,2927,2985,2989,3021,3025,3047,3049,3058,3080,3086,3096,3098,3109,3118],[201,1191,1192,1193,1195,1196,1199,1200],{},"A ",[205,1194,88],{}," não nasceu de um planejamento estratégico ou de uma necessidade de mercado. Ela nasceu de uma ",[205,1197,1198],{},"frustração pessoal"," e de uma pergunta simples: ",[1115,1201,1202],{},"\"Por que todas as interfaces web parecem iguais?\"",[210,1204,1206],{"id":1205},"o-problema-que-me-incomodava","🎨 O Problema que Me Incomodava",[233,1208,1210],{"id":1209},"a-era-do-design-minimalista","A Era do Design Minimalista",[201,1212,1213],{},"Em 2023, o design web estava dominado pelo minimalismo:",[238,1215,1216,1221,1226,1231],{},[241,1217,1218],{},[205,1219,1220],{},"Bordas perfeitamente retas",[241,1222,1223],{},[205,1224,1225],{},"Cores monocromáticas",[241,1227,1228],{},[205,1229,1230],{},"Tipografia sem personalidade",[241,1232,1233],{},[205,1234,1235],{},"Interações previsíveis",[201,1237,1238,1239,1242,1243,468],{},"Tudo parecia saído da mesma fábrica de interfaces. Como desenvolvedor, sentia que estava criando produtos ",[205,1240,1241],{},"tecnicamente perfeitos",", mas ",[205,1244,1245],{},"emocionalmente vazios",[233,1247,1249],{"id":1248},"a-pergunta-que-mudou-tudo","A Pergunta que Mudou Tudo",[201,1251,1252],{},"Durante uma sessão de brainstorming para um projeto de e-commerce, me perguntei:",[1254,1255,1256],"blockquote",{},[201,1257,1258],{},[1115,1259,1260],{},"\"E se as interfaces web tivessem a mesma personalidade e calor humano que um desenho feito à mão?\"",[210,1262,1264],{"id":1263},"o-momento-eureka","💡 O Momento Eureka",[233,1266,1268],{"id":1267},"inspiração-inesperada","Inspiração Inesperada",[201,1270,1271,1272,1275],{},"A ideia veio de uma fonte inesperada: ",[205,1273,1274],{},"meu sobrinho de 5 anos"," desenhando com lápis de cor. Observando ele criar, percebi que:",[238,1277,1278,1284,1290,1296],{},[241,1279,1280,1283],{},[205,1281,1282],{},"Linhas imperfeitas"," transmitem mais personalidade",[241,1285,1286,1289],{},[205,1287,1288],{},"Cores vibrantes"," criam mais conexão emocional",[241,1291,1292,1295],{},[205,1293,1294],{},"Formas orgânicas"," são mais acolhedoras",[241,1297,1298,1301],{},[205,1299,1300],{},"Texturas visuais"," adicionam profundidade",[233,1303,1305],{"id":1304},"o-primeiro-protótipo","O Primeiro Protótipo",[223,1307,1309],{"className":789,"code":1308,"language":791,"meta":231,"style":231},"\u003C!-- Meu primeiro componente \"hand-drawn\" -->\n\u003Ctemplate>\n  \u003Cdiv class=\"paper-button\">\n    \u003Csvg class=\"paper-border\" viewBox=\"0 0 100 40\">\n      \u003Cpath d=\"M5,5 Q5,2 8,2 L92,2 Q95,2 95,5 L95,35 Q95,38 92,38 L8,38 Q5,38 5,35 Z\" \n            fill=\"none\" stroke=\"#333\" stroke-width=\"2\"\u002F>\n    \u003C\u002Fsvg>\n    \u003Cspan class=\"paper-text\">{{ label }}\u003C\u002Fspan>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[218,1310,1311,1316,1324,1347,1379,1401,1442,1452,1481,1490],{"__ignoreMap":231},[292,1312,1313],{"class":294,"line":295},[292,1314,1315],{"class":298},"\u003C!-- Meu primeiro componente \"hand-drawn\" -->\n",[292,1317,1318,1320,1322],{"class":294,"line":302},[292,1319,636],{"class":309},[292,1321,806],{"class":805},[292,1323,809],{"class":309},[292,1325,1326,1328,1330,1334,1337,1340,1343,1345],{"class":294,"line":448},[292,1327,814],{"class":309},[292,1329,817],{"class":805},[292,1331,1333],{"class":1332},"s9AJx"," class",[292,1335,1336],{"class":309},"=",[292,1338,1339],{"class":336},"\"",[292,1341,1342],{"class":340},"paper-button",[292,1344,1339],{"class":336},[292,1346,809],{"class":309},[292,1348,1349,1351,1354,1356,1358,1360,1363,1365,1368,1370,1372,1375,1377],{"class":294,"line":484},[292,1350,824],{"class":309},[292,1352,1353],{"class":805},"svg",[292,1355,1333],{"class":1332},[292,1357,1336],{"class":309},[292,1359,1339],{"class":336},[292,1361,1362],{"class":340},"paper-border",[292,1364,1339],{"class":336},[292,1366,1367],{"class":1332}," viewBox",[292,1369,1336],{"class":309},[292,1371,1339],{"class":336},[292,1373,1374],{"class":340},"0 0 100 40",[292,1376,1339],{"class":336},[292,1378,809],{"class":309},[292,1380,1381,1384,1387,1390,1392,1394,1397,1399],{"class":294,"line":515},[292,1382,1383],{"class":309},"      \u003C",[292,1385,1386],{"class":805},"path",[292,1388,1389],{"class":1332}," d",[292,1391,1336],{"class":309},[292,1393,1339],{"class":336},[292,1395,1396],{"class":340},"M5,5 Q5,2 8,2 L92,2 Q95,2 95,5 L95,35 Q95,38 92,38 L8,38 Q5,38 5,35 Z",[292,1398,1339],{"class":336},[292,1400,445],{"class":309},[292,1402,1403,1406,1408,1410,1413,1415,1418,1420,1422,1425,1427,1430,1432,1434,1437,1439],{"class":294,"line":677},[292,1404,1405],{"class":1332},"            fill",[292,1407,1336],{"class":309},[292,1409,1339],{"class":336},[292,1411,1412],{"class":340},"none",[292,1414,1339],{"class":336},[292,1416,1417],{"class":1332}," stroke",[292,1419,1336],{"class":309},[292,1421,1339],{"class":336},[292,1423,1424],{"class":340},"#333",[292,1426,1339],{"class":336},[292,1428,1429],{"class":1332}," stroke-width",[292,1431,1336],{"class":309},[292,1433,1339],{"class":336},[292,1435,1436],{"class":340},"2",[292,1438,1339],{"class":336},[292,1440,1441],{"class":309},"\u002F>\n",[292,1443,1445,1448,1450],{"class":294,"line":1444},7,[292,1446,1447],{"class":309},"    \u003C\u002F",[292,1449,1353],{"class":805},[292,1451,809],{"class":309},[292,1453,1455,1457,1459,1461,1463,1465,1468,1470,1472,1475,1477,1479],{"class":294,"line":1454},8,[292,1456,824],{"class":309},[292,1458,292],{"class":805},[292,1460,1333],{"class":1332},[292,1462,1336],{"class":309},[292,1464,1339],{"class":336},[292,1466,1467],{"class":340},"paper-text",[292,1469,1339],{"class":336},[292,1471,650],{"class":309},[292,1473,1474],{"class":332},"{{ label }}",[292,1476,844],{"class":309},[292,1478,292],{"class":805},[292,1480,809],{"class":309},[292,1482,1484,1486,1488],{"class":294,"line":1483},9,[292,1485,835],{"class":309},[292,1487,817],{"class":805},[292,1489,809],{"class":309},[292,1491,1493,1495,1497],{"class":294,"line":1492},10,[292,1494,844],{"class":309},[292,1496,806],{"class":805},[292,1498,809],{"class":309},[201,1500,1501,1504],{},[205,1502,1503],{},"Resultado",": Um botão que parecia desenhado à mão, com bordas orgânicas e textura visual.",[210,1506,1508],{"id":1507},"️-os-desafios-técnicos","🛠️ Os Desafios Técnicos",[233,1510,1512],{"id":1511},"_1-criando-bordas-orgânicas","1. Criando Bordas Orgânicas",[201,1514,1515],{},"O maior desafio foi criar bordas que parecessem desenhadas à mão:",[223,1517,1521],{"className":1518,"code":1519,"language":1520,"meta":231,"style":231},"language-css shiki shiki-themes material-theme-lighter github-light github-dark",".paper-border {\n  filter: drop-shadow(1px 1px 0px rgba(0,0,0,0.1));\n  animation: paper-shake 0.1s ease-in-out infinite alternate;\n}\n\n@keyframes paper-shake {\n  0% { transform: translate(0, 0) rotate(0deg); }\n  100% { transform: translate(0.5px, 0.5px) rotate(0.2deg); }\n}\n","css",[218,1522,1523,1532,1588,1615,1619,1624,1635,1675,1717],{"__ignoreMap":231},[292,1524,1525,1528,1530],{"class":294,"line":295},[292,1526,468],{"class":1527},"stp6e",[292,1529,1362],{"class":639},[292,1531,621],{"class":309},[292,1533,1534,1538,1540,1544,1546,1550,1554,1557,1559,1562,1564,1567,1569,1572,1574,1576,1578,1580,1582,1585],{"class":294,"line":302},[292,1535,1537],{"class":1536},"soE4H","  filter",[292,1539,279],{"class":309},[292,1541,1543],{"class":1542},"sptTA"," drop-shadow",[292,1545,333],{"class":309},[292,1547,1549],{"class":1548},"srdBf","1",[292,1551,1553],{"class":1552},"sw1J6","px",[292,1555,1556],{"class":1548}," 1",[292,1558,1553],{"class":1552},[292,1560,1561],{"class":1548}," 0",[292,1563,1553],{"class":1552},[292,1565,1566],{"class":1542}," rgba",[292,1568,333],{"class":309},[292,1570,1571],{"class":1548},"0",[292,1573,346],{"class":309},[292,1575,1571],{"class":1548},[292,1577,346],{"class":309},[292,1579,1571],{"class":1548},[292,1581,346],{"class":309},[292,1583,1584],{"class":1548},"0.1",[292,1586,1587],{"class":309},"));\n",[292,1589,1590,1593,1595,1598,1600,1603,1606,1609,1612],{"class":294,"line":448},[292,1591,1592],{"class":1536},"  animation",[292,1594,279],{"class":309},[292,1596,1597],{"class":332}," paper-shake ",[292,1599,1584],{"class":1548},[292,1601,1602],{"class":1552},"s",[292,1604,1605],{"class":313}," ease-in-out",[292,1607,1608],{"class":313}," infinite",[292,1610,1611],{"class":313}," alternate",[292,1613,1614],{"class":309},";\n",[292,1616,1617],{"class":294,"line":484},[292,1618,680],{"class":309},[292,1620,1621],{"class":294,"line":515},[292,1622,1623],{"emptyLinePlaceholder":11},"\n",[292,1625,1626,1629,1633],{"class":294,"line":677},[292,1627,1628],{"class":324},"@keyframes",[292,1630,1632],{"class":1631},"s99_P"," paper-shake",[292,1634,621],{"class":309},[292,1636,1637,1640,1642,1645,1647,1650,1652,1654,1656,1658,1660,1663,1665,1667,1670,1673],{"class":294,"line":1444},[292,1638,1639],{"class":639},"  0%",[292,1641,310],{"class":309},[292,1643,1644],{"class":1536}," transform",[292,1646,279],{"class":309},[292,1648,1649],{"class":1542}," translate",[292,1651,333],{"class":309},[292,1653,1571],{"class":1548},[292,1655,346],{"class":309},[292,1657,1561],{"class":1548},[292,1659,477],{"class":309},[292,1661,1662],{"class":1542}," rotate",[292,1664,333],{"class":309},[292,1666,1571],{"class":1548},[292,1668,1669],{"class":1552},"deg",[292,1671,1672],{"class":309},");",[292,1674,512],{"class":309},[292,1676,1677,1680,1682,1684,1686,1688,1690,1693,1695,1697,1700,1702,1704,1706,1708,1711,1713,1715],{"class":294,"line":1454},[292,1678,1679],{"class":639},"  100%",[292,1681,310],{"class":309},[292,1683,1644],{"class":1536},[292,1685,279],{"class":309},[292,1687,1649],{"class":1542},[292,1689,333],{"class":309},[292,1691,1692],{"class":1548},"0.5",[292,1694,1553],{"class":1552},[292,1696,346],{"class":309},[292,1698,1699],{"class":1548}," 0.5",[292,1701,1553],{"class":1552},[292,1703,477],{"class":309},[292,1705,1662],{"class":1542},[292,1707,333],{"class":309},[292,1709,1710],{"class":1548},"0.2",[292,1712,1669],{"class":1552},[292,1714,1672],{"class":309},[292,1716,512],{"class":309},[292,1718,1719],{"class":294,"line":1483},[292,1720,680],{"class":309},[233,1722,1724],{"id":1723},"_2-sistema-de-cores-inteligente","2. Sistema de Cores Inteligente",[223,1726,1728],{"className":286,"code":1727,"language":288,"meta":231,"style":231},"\u002F\u002F Sistema de cores que simula materiais reais\nconst paperColors = {\n  'paper-white': {\n    base: '#fefefe',\n    shadow: '#f0f0f0',\n    highlight: '#ffffff'\n  },\n  'paper-yellow': {\n    base: '#fff8dc',\n    shadow: '#f0e68c',\n    highlight: '#ffffe0'\n  }\n}\n",[218,1729,1730,1735,1746,1761,1779,1795,1810,1815,1828,1843,1858,1872,1878],{"__ignoreMap":231},[292,1731,1732],{"class":294,"line":295},[292,1733,1734],{"class":298},"\u002F\u002F Sistema de cores que simula materiais reais\n",[292,1736,1737,1739,1742,1744],{"class":294,"line":302},[292,1738,306],{"class":305},[292,1740,1741],{"class":313}," paperColors",[292,1743,321],{"class":320},[292,1745,621],{"class":309},[292,1747,1748,1751,1755,1757,1759],{"class":294,"line":448},[292,1749,1750],{"class":336},"  '",[292,1752,1754],{"class":1753},"sZUrc","paper-white",[292,1756,337],{"class":336},[292,1758,279],{"class":309},[292,1760,621],{"class":309},[292,1762,1763,1766,1768,1771,1774,1776],{"class":294,"line":484},[292,1764,1765],{"class":490},"    base",[292,1767,279],{"class":309},[292,1769,1770],{"class":336}," '",[292,1772,1773],{"class":340},"#fefefe",[292,1775,337],{"class":336},[292,1777,1778],{"class":309},",\n",[292,1780,1781,1784,1786,1788,1791,1793],{"class":294,"line":515},[292,1782,1783],{"class":490},"    shadow",[292,1785,279],{"class":309},[292,1787,1770],{"class":336},[292,1789,1790],{"class":340},"#f0f0f0",[292,1792,337],{"class":336},[292,1794,1778],{"class":309},[292,1796,1797,1800,1802,1804,1807],{"class":294,"line":677},[292,1798,1799],{"class":490},"    highlight",[292,1801,279],{"class":309},[292,1803,1770],{"class":336},[292,1805,1806],{"class":340},"#ffffff",[292,1808,1809],{"class":336},"'\n",[292,1811,1812],{"class":294,"line":1444},[292,1813,1814],{"class":309},"  },\n",[292,1816,1817,1819,1822,1824,1826],{"class":294,"line":1454},[292,1818,1750],{"class":336},[292,1820,1821],{"class":1753},"paper-yellow",[292,1823,337],{"class":336},[292,1825,279],{"class":309},[292,1827,621],{"class":309},[292,1829,1830,1832,1834,1836,1839,1841],{"class":294,"line":1483},[292,1831,1765],{"class":490},[292,1833,279],{"class":309},[292,1835,1770],{"class":336},[292,1837,1838],{"class":340},"#fff8dc",[292,1840,337],{"class":336},[292,1842,1778],{"class":309},[292,1844,1845,1847,1849,1851,1854,1856],{"class":294,"line":1492},[292,1846,1783],{"class":490},[292,1848,279],{"class":309},[292,1850,1770],{"class":336},[292,1852,1853],{"class":340},"#f0e68c",[292,1855,337],{"class":336},[292,1857,1778],{"class":309},[292,1859,1861,1863,1865,1867,1870],{"class":294,"line":1860},11,[292,1862,1799],{"class":490},[292,1864,279],{"class":309},[292,1866,1770],{"class":336},[292,1868,1869],{"class":340},"#ffffe0",[292,1871,1809],{"class":336},[292,1873,1875],{"class":294,"line":1874},12,[292,1876,1877],{"class":309},"  }\n",[292,1879,1881],{"class":294,"line":1880},13,[292,1882,680],{"class":309},[233,1884,1886],{"id":1885},"_3-animações-imperfeitas","3. Animações \"Imperfeitas\"",[223,1888,1890],{"className":1518,"code":1889,"language":1520,"meta":231,"style":231},".paper-hover {\n  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n}\n\n.paper-hover:hover {\n  transform: translateY(-2px) rotate(0.5deg);\n  filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.15));\n}\n",[218,1891,1892,1901,1942,1946,1950,1963,1992,2037],{"__ignoreMap":231},[292,1893,1894,1896,1899],{"class":294,"line":295},[292,1895,468],{"class":1527},[292,1897,1898],{"class":639},"paper-hover",[292,1900,621],{"class":309},[292,1902,1903,1906,1908,1911,1914,1916,1919,1921,1924,1926,1929,1931,1934,1936,1939],{"class":294,"line":302},[292,1904,1905],{"class":1536},"  transition",[292,1907,279],{"class":309},[292,1909,1910],{"class":313}," all",[292,1912,1913],{"class":1548}," 0.3",[292,1915,1602],{"class":1552},[292,1917,1918],{"class":1542}," cubic-bezier",[292,1920,333],{"class":309},[292,1922,1923],{"class":1548},"0.25",[292,1925,346],{"class":309},[292,1927,1928],{"class":1548}," 0.46",[292,1930,346],{"class":309},[292,1932,1933],{"class":1548}," 0.45",[292,1935,346],{"class":309},[292,1937,1938],{"class":1548}," 0.94",[292,1940,1941],{"class":309},");\n",[292,1943,1944],{"class":294,"line":448},[292,1945,680],{"class":309},[292,1947,1948],{"class":294,"line":484},[292,1949,1623],{"emptyLinePlaceholder":11},[292,1951,1952,1954,1956,1958,1961],{"class":294,"line":515},[292,1953,468],{"class":1527},[292,1955,1898],{"class":639},[292,1957,279],{"class":1527},[292,1959,1960],{"class":1332},"hover",[292,1962,621],{"class":309},[292,1964,1965,1968,1970,1973,1975,1978,1980,1982,1984,1986,1988,1990],{"class":294,"line":677},[292,1966,1967],{"class":1536},"  transform",[292,1969,279],{"class":309},[292,1971,1972],{"class":1542}," translateY",[292,1974,333],{"class":309},[292,1976,1977],{"class":1548},"-2",[292,1979,1553],{"class":1552},[292,1981,477],{"class":309},[292,1983,1662],{"class":1542},[292,1985,333],{"class":309},[292,1987,1692],{"class":1548},[292,1989,1669],{"class":1552},[292,1991,1941],{"class":309},[292,1993,1994,1996,1998,2000,2002,2004,2006,2009,2011,2014,2016,2018,2020,2022,2024,2026,2028,2030,2032,2035],{"class":294,"line":1444},[292,1995,1537],{"class":1536},[292,1997,279],{"class":309},[292,1999,1543],{"class":1542},[292,2001,333],{"class":309},[292,2003,1436],{"class":1548},[292,2005,1553],{"class":1552},[292,2007,2008],{"class":1548}," 2",[292,2010,1553],{"class":1552},[292,2012,2013],{"class":1548}," 4",[292,2015,1553],{"class":1552},[292,2017,1566],{"class":1542},[292,2019,333],{"class":309},[292,2021,1571],{"class":1548},[292,2023,346],{"class":309},[292,2025,1571],{"class":1548},[292,2027,346],{"class":309},[292,2029,1571],{"class":1548},[292,2031,346],{"class":309},[292,2033,2034],{"class":1548},"0.15",[292,2036,1587],{"class":309},[292,2038,2039],{"class":294,"line":1454},[292,2040,680],{"class":309},[210,2042,2044],{"id":2043},"a-evolução-técnica","🚀 A Evolução Técnica",[233,2046,2048],{"id":2047},"versão-01-o-conceito","Versão 0.1 - O Conceito",[223,2050,2052],{"className":789,"code":2051,"language":791,"meta":231,"style":231},"\u003C!-- Primeira versão - apenas CSS -->\n\u003Ctemplate>\n  \u003Cbutton class=\"paper-btn paper-btn--primary\">\n    {{ text }}\n  \u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[218,2053,2054,2059,2067,2087,2092,2100],{"__ignoreMap":231},[292,2055,2056],{"class":294,"line":295},[292,2057,2058],{"class":298},"\u003C!-- Primeira versão - apenas CSS -->\n",[292,2060,2061,2063,2065],{"class":294,"line":302},[292,2062,636],{"class":309},[292,2064,806],{"class":805},[292,2066,809],{"class":309},[292,2068,2069,2071,2074,2076,2078,2080,2083,2085],{"class":294,"line":448},[292,2070,814],{"class":309},[292,2072,2073],{"class":805},"button",[292,2075,1333],{"class":1332},[292,2077,1336],{"class":309},[292,2079,1339],{"class":336},[292,2081,2082],{"class":340},"paper-btn paper-btn--primary",[292,2084,1339],{"class":336},[292,2086,809],{"class":309},[292,2088,2089],{"class":294,"line":484},[292,2090,2091],{"class":332},"    {{ text }}\n",[292,2093,2094,2096,2098],{"class":294,"line":515},[292,2095,835],{"class":309},[292,2097,2073],{"class":805},[292,2099,809],{"class":309},[292,2101,2102,2104,2106],{"class":294,"line":677},[292,2103,844],{"class":309},[292,2105,806],{"class":805},[292,2107,809],{"class":309},[233,2109,2111],{"id":2110},"versão-05-componentes-vue","Versão 0.5 - Componentes Vue",[223,2113,2115],{"className":789,"code":2114,"language":791,"meta":231,"style":231},"\u003C!-- Segunda versão - componentes Vue -->\n\u003Ctemplate>\n  \u003CPaperButton \n    variant=\"primary\" \n    size=\"large\"\n    :shaky=\"true\"\n  >\n    {{ text }}\n  \u003C\u002FPaperButton>\n\u003C\u002Ftemplate>\n",[218,2116,2117,2122,2130,2139,2155,2170,2188,2193,2197,2205],{"__ignoreMap":231},[292,2118,2119],{"class":294,"line":295},[292,2120,2121],{"class":298},"\u003C!-- Segunda versão - componentes Vue -->\n",[292,2123,2124,2126,2128],{"class":294,"line":302},[292,2125,636],{"class":309},[292,2127,806],{"class":805},[292,2129,809],{"class":309},[292,2131,2132,2134,2137],{"class":294,"line":448},[292,2133,814],{"class":309},[292,2135,2136],{"class":805},"PaperButton",[292,2138,445],{"class":309},[292,2140,2141,2144,2146,2148,2151,2153],{"class":294,"line":484},[292,2142,2143],{"class":1332},"    variant",[292,2145,1336],{"class":309},[292,2147,1339],{"class":336},[292,2149,2150],{"class":340},"primary",[292,2152,1339],{"class":336},[292,2154,445],{"class":309},[292,2156,2157,2160,2162,2164,2167],{"class":294,"line":515},[292,2158,2159],{"class":1332},"    size",[292,2161,1336],{"class":309},[292,2163,1339],{"class":336},[292,2165,2166],{"class":340},"large",[292,2168,2169],{"class":336},"\"\n",[292,2171,2172,2175,2178,2180,2182,2186],{"class":294,"line":677},[292,2173,2174],{"class":309},"    :",[292,2176,2177],{"class":1332},"shaky",[292,2179,1336],{"class":309},[292,2181,1339],{"class":336},[292,2183,2185],{"class":2184},"syTEX","true",[292,2187,2169],{"class":336},[292,2189,2190],{"class":294,"line":1444},[292,2191,2192],{"class":309},"  >\n",[292,2194,2195],{"class":294,"line":1454},[292,2196,2091],{"class":332},[292,2198,2199,2201,2203],{"class":294,"line":1483},[292,2200,835],{"class":309},[292,2202,2136],{"class":805},[292,2204,809],{"class":309},[292,2206,2207,2209,2211],{"class":294,"line":1492},[292,2208,844],{"class":309},[292,2210,806],{"class":805},[292,2212,809],{"class":309},[233,2214,2216],{"id":2215},"versão-10-módulo-nuxt","Versão 1.0 - Módulo Nuxt",[223,2218,2220],{"className":286,"code":2219,"language":288,"meta":231,"style":231},"\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n  modules: ['@paper-ui\u002Fnuxt']\n})\n",[218,2221,2222,2227,2242,2262],{"__ignoreMap":231},[292,2223,2224],{"class":294,"line":295},[292,2225,2226],{"class":298},"\u002F\u002F nuxt.config.ts\n",[292,2228,2229,2231,2234,2237,2239],{"class":294,"line":302},[292,2230,605],{"class":324},[292,2232,2233],{"class":324}," default",[292,2235,2236],{"class":328}," defineNuxtConfig",[292,2238,333],{"class":332},[292,2240,2241],{"class":309},"{\n",[292,2243,2244,2247,2249,2252,2254,2257,2259],{"class":294,"line":448},[292,2245,2246],{"class":490},"  modules",[292,2248,279],{"class":309},[292,2250,2251],{"class":332}," [",[292,2253,337],{"class":336},[292,2255,2256],{"class":340},"@paper-ui\u002Fnuxt",[292,2258,337],{"class":336},[292,2260,2261],{"class":332},"]\n",[292,2263,2264,2267],{"class":294,"line":484},[292,2265,2266],{"class":309},"}",[292,2268,518],{"class":332},[210,2270,2272],{"id":2271},"números-impressionantes","📊 Números Impressionantes",[233,2274,2276],{"id":2275},"crescimento-orgânico","Crescimento Orgânico",[238,2278,2279,2285,2291,2297],{},[241,2280,2281,2284],{},[205,2282,2283],{},"GitHub Stars",": 0 → 2.3k em 6 meses",[241,2286,2287,2290],{},[205,2288,2289],{},"Downloads NPM",": 0 → 15k\u002Fmês",[241,2292,2293,2296],{},[205,2294,2295],{},"Projetos usando",": 0 → 500+",[241,2298,2299,2302],{},[205,2300,2301],{},"Contribuidores",": 1 → 12",[233,2304,725],{"id":724},[223,2306,2308],{"className":286,"code":2307,"language":288,"meta":231,"style":231},"\u002F\u002F Projetos que adotaram Paper UI\nconst projects = [\n  'E-commerce de artesanato',\n  'Plataforma educacional infantil', \n  'App de receitas caseiras',\n  'Sistema de gestão criativa'\n]\n",[218,2309,2310,2315,2327,2338,2351,2362,2371],{"__ignoreMap":231},[292,2311,2312],{"class":294,"line":295},[292,2313,2314],{"class":298},"\u002F\u002F Projetos que adotaram Paper UI\n",[292,2316,2317,2319,2322,2324],{"class":294,"line":302},[292,2318,306],{"class":305},[292,2320,2321],{"class":313}," projects",[292,2323,321],{"class":320},[292,2325,2326],{"class":332}," [\n",[292,2328,2329,2331,2334,2336],{"class":294,"line":448},[292,2330,1750],{"class":336},[292,2332,2333],{"class":340},"E-commerce de artesanato",[292,2335,337],{"class":336},[292,2337,1778],{"class":309},[292,2339,2340,2342,2345,2347,2349],{"class":294,"line":484},[292,2341,1750],{"class":336},[292,2343,2344],{"class":340},"Plataforma educacional infantil",[292,2346,337],{"class":336},[292,2348,346],{"class":309},[292,2350,445],{"class":332},[292,2352,2353,2355,2358,2360],{"class":294,"line":515},[292,2354,1750],{"class":336},[292,2356,2357],{"class":340},"App de receitas caseiras",[292,2359,337],{"class":336},[292,2361,1778],{"class":309},[292,2363,2364,2366,2369],{"class":294,"line":677},[292,2365,1750],{"class":336},[292,2367,2368],{"class":340},"Sistema de gestão criativa",[292,2370,1809],{"class":336},[292,2372,2373],{"class":294,"line":1444},[292,2374,2261],{"class":332},[210,2376,2378],{"id":2377},"os-princípios-de-design","🎯 Os Princípios de Design",[233,2380,2382],{"id":2381},"_1-imperfeição-perfeita","1. Imperfeição Perfeita",[223,2384,2386],{"className":1518,"code":2385,"language":1520,"meta":231,"style":231},".paper-element {\n  border-radius: 8px 12px 6px 10px; \u002F* Bordas irregulares *\u002F\n  transform: rotate(-0.5deg); \u002F* Leve inclinação *\u002F\n}\n",[218,2387,2388,2397,2430,2450],{"__ignoreMap":231},[292,2389,2390,2392,2395],{"class":294,"line":295},[292,2391,468],{"class":1527},[292,2393,2394],{"class":639},"paper-element",[292,2396,621],{"class":309},[292,2398,2399,2402,2404,2407,2409,2412,2414,2417,2419,2422,2424,2427],{"class":294,"line":302},[292,2400,2401],{"class":1536},"  border-radius",[292,2403,279],{"class":309},[292,2405,2406],{"class":1548}," 8",[292,2408,1553],{"class":1552},[292,2410,2411],{"class":1548}," 12",[292,2413,1553],{"class":1552},[292,2415,2416],{"class":1548}," 6",[292,2418,1553],{"class":1552},[292,2420,2421],{"class":1548}," 10",[292,2423,1553],{"class":1552},[292,2425,2426],{"class":309},";",[292,2428,2429],{"class":298}," \u002F* Bordas irregulares *\u002F\n",[292,2431,2432,2434,2436,2438,2440,2443,2445,2447],{"class":294,"line":448},[292,2433,1967],{"class":1536},[292,2435,279],{"class":309},[292,2437,1662],{"class":1542},[292,2439,333],{"class":309},[292,2441,2442],{"class":1548},"-0.5",[292,2444,1669],{"class":1552},[292,2446,1672],{"class":309},[292,2448,2449],{"class":298}," \u002F* Leve inclinação *\u002F\n",[292,2451,2452],{"class":294,"line":484},[292,2453,680],{"class":309},[233,2455,2457],{"id":2456},"_2-texturas-visuais","2. Texturas Visuais",[223,2459,2461],{"className":1518,"code":2460,"language":1520,"meta":231,"style":231},".paper-texture {\n  background-image: \n    radial-gradient(circle at 20% 80%, rgba(255,255,255,0.1) 0%, transparent 50%),\n    radial-gradient(circle at 80% 20%, rgba(0,0,0,0.05) 0%, transparent 50%);\n}\n",[218,2462,2463,2472,2481,2545,2600],{"__ignoreMap":231},[292,2464,2465,2467,2470],{"class":294,"line":295},[292,2466,468],{"class":1527},[292,2468,2469],{"class":639},"paper-texture",[292,2471,621],{"class":309},[292,2473,2474,2477,2479],{"class":294,"line":302},[292,2475,2476],{"class":1536},"  background-image",[292,2478,279],{"class":309},[292,2480,445],{"class":332},[292,2482,2483,2486,2488,2491,2494,2497,2500,2503,2505,2507,2509,2511,2514,2516,2518,2520,2522,2524,2526,2528,2530,2532,2534,2537,2540,2542],{"class":294,"line":448},[292,2484,2485],{"class":1542},"    radial-gradient",[292,2487,333],{"class":309},[292,2489,2490],{"class":313},"circle",[292,2492,2493],{"class":320}," at",[292,2495,2496],{"class":1548}," 20",[292,2498,2499],{"class":1552},"%",[292,2501,2502],{"class":1548}," 80",[292,2504,2499],{"class":1552},[292,2506,346],{"class":309},[292,2508,1566],{"class":1542},[292,2510,333],{"class":309},[292,2512,2513],{"class":1548},"255",[292,2515,346],{"class":309},[292,2517,2513],{"class":1548},[292,2519,346],{"class":309},[292,2521,2513],{"class":1548},[292,2523,346],{"class":309},[292,2525,1584],{"class":1548},[292,2527,477],{"class":309},[292,2529,1561],{"class":1548},[292,2531,2499],{"class":1552},[292,2533,346],{"class":309},[292,2535,2536],{"class":313}," transparent",[292,2538,2539],{"class":1548}," 50",[292,2541,2499],{"class":1552},[292,2543,2544],{"class":309},"),\n",[292,2546,2547,2549,2551,2553,2555,2557,2559,2561,2563,2565,2567,2569,2571,2573,2575,2577,2579,2581,2584,2586,2588,2590,2592,2594,2596,2598],{"class":294,"line":484},[292,2548,2485],{"class":1542},[292,2550,333],{"class":309},[292,2552,2490],{"class":313},[292,2554,2493],{"class":320},[292,2556,2502],{"class":1548},[292,2558,2499],{"class":1552},[292,2560,2496],{"class":1548},[292,2562,2499],{"class":1552},[292,2564,346],{"class":309},[292,2566,1566],{"class":1542},[292,2568,333],{"class":309},[292,2570,1571],{"class":1548},[292,2572,346],{"class":309},[292,2574,1571],{"class":1548},[292,2576,346],{"class":309},[292,2578,1571],{"class":1548},[292,2580,346],{"class":309},[292,2582,2583],{"class":1548},"0.05",[292,2585,477],{"class":309},[292,2587,1561],{"class":1548},[292,2589,2499],{"class":1552},[292,2591,346],{"class":309},[292,2593,2536],{"class":313},[292,2595,2539],{"class":1548},[292,2597,2499],{"class":1552},[292,2599,1941],{"class":309},[292,2601,2602],{"class":294,"line":515},[292,2603,680],{"class":309},[233,2605,2607],{"id":2606},"_3-interações-humanas","3. Interações Humanas",[223,2609,2611],{"className":286,"code":2610,"language":288,"meta":231,"style":231},"\u002F\u002F Hover effects que simulam toque humano\nconst humanHover = {\n  transform: 'translateY(-1px) rotate(0.3deg)',\n  transition: 'all 0.2s ease-out'\n}\n",[218,2612,2613,2618,2629,2644,2657],{"__ignoreMap":231},[292,2614,2615],{"class":294,"line":295},[292,2616,2617],{"class":298},"\u002F\u002F Hover effects que simulam toque humano\n",[292,2619,2620,2622,2625,2627],{"class":294,"line":302},[292,2621,306],{"class":305},[292,2623,2624],{"class":313}," humanHover",[292,2626,321],{"class":320},[292,2628,621],{"class":309},[292,2630,2631,2633,2635,2637,2640,2642],{"class":294,"line":448},[292,2632,1967],{"class":490},[292,2634,279],{"class":309},[292,2636,1770],{"class":336},[292,2638,2639],{"class":340},"translateY(-1px) rotate(0.3deg)",[292,2641,337],{"class":336},[292,2643,1778],{"class":309},[292,2645,2646,2648,2650,2652,2655],{"class":294,"line":484},[292,2647,1905],{"class":490},[292,2649,279],{"class":309},[292,2651,1770],{"class":336},[292,2653,2654],{"class":340},"all 0.2s ease-out",[292,2656,1809],{"class":336},[292,2658,2659],{"class":294,"line":515},[292,2660,680],{"class":309},[210,2662,2664],{"id":2663},"momentos-marcantes","🌟 Momentos Marcantes",[233,2666,2668],{"id":2667},"_1-primeira-estrela-no-github","1. Primeira Estrela no GitHub",[201,2670,2671],{},"Recebi a primeira estrela de um desenvolvedor do Japão que disse:",[1254,2673,2674],{},[201,2675,2676],{},[1115,2677,2678],{},"\"This library brings warmth to my cold, corporate interfaces. Arigato!\"",[233,2680,2682],{"id":2681},"_2-adoção-pelo-nuxtjs","2. Adoção pelo Nuxt.js",[201,2684,2685,2686,468],{},"Quando o time do Nuxt.js me contatou para tornar a Paper UI um módulo oficial, foi um momento de ",[205,2687,2688],{},"realização profissional",[233,2690,2692],{"id":2691},"_3-feedback-de-usuários","3. Feedback de Usuários",[223,2694,2696],{"className":286,"code":2695,"language":288,"meta":231,"style":231},"\u002F\u002F Comentários que me motivaram\nconst feedback = [\n  \"Finally, interfaces with personality!\",\n  \"My users love the warm, human feel\",\n  \"This changed how I think about UI design\",\n  \"Perfect for creative projects\"\n]\n",[218,2697,2698,2703,2714,2726,2737,2748,2757],{"__ignoreMap":231},[292,2699,2700],{"class":294,"line":295},[292,2701,2702],{"class":298},"\u002F\u002F Comentários que me motivaram\n",[292,2704,2705,2707,2710,2712],{"class":294,"line":302},[292,2706,306],{"class":305},[292,2708,2709],{"class":313}," feedback",[292,2711,321],{"class":320},[292,2713,2326],{"class":332},[292,2715,2716,2719,2722,2724],{"class":294,"line":448},[292,2717,2718],{"class":336},"  \"",[292,2720,2721],{"class":340},"Finally, interfaces with personality!",[292,2723,1339],{"class":336},[292,2725,1778],{"class":309},[292,2727,2728,2730,2733,2735],{"class":294,"line":484},[292,2729,2718],{"class":336},[292,2731,2732],{"class":340},"My users love the warm, human feel",[292,2734,1339],{"class":336},[292,2736,1778],{"class":309},[292,2738,2739,2741,2744,2746],{"class":294,"line":515},[292,2740,2718],{"class":336},[292,2742,2743],{"class":340},"This changed how I think about UI design",[292,2745,1339],{"class":336},[292,2747,1778],{"class":309},[292,2749,2750,2752,2755],{"class":294,"line":677},[292,2751,2718],{"class":336},[292,2753,2754],{"class":340},"Perfect for creative projects",[292,2756,2169],{"class":336},[292,2758,2759],{"class":294,"line":1444},[292,2760,2261],{"class":332},[210,2762,2764],{"id":2763},"️-lições-aprendidas","🛠️ Lições Aprendidas",[233,2766,2768],{"id":2767},"_1-tecnologia-emoção","1. Tecnologia + Emoção",[201,2770,2771,2772,2775],{},"A Paper UI me ensinou que ",[205,2773,2774],{},"tecnologia sem emoção é apenas código",". As melhores soluções conectam-se com as pessoas.",[233,2777,2779],{"id":2778},"_2-imperfeição-como-virtude","2. Imperfeição como Virtude",[201,2781,2782,2783,2786],{},"Em um mundo de pixels perfeitos, ",[205,2784,2785],{},"imperfeições controladas"," podem ser mais eficazes que a perfeição absoluta.",[233,2788,2790],{"id":2789},"_3-comunidade-é-tudo","3. Comunidade é Tudo",[201,2792,2793,2794,2797],{},"O sucesso da Paper UI não foi apenas técnico - foi sobre ",[205,2795,2796],{},"construir uma comunidade"," de desenvolvedores que valorizam design humano.",[210,2799,2801],{"id":2800},"o-futuro-da-paper-ui","🔮 O Futuro da Paper UI",[233,2803,2805],{"id":2804},"próximas-funcionalidades","Próximas Funcionalidades",[238,2807,2808,2814,2820,2826],{},[241,2809,2810,2813],{},[205,2811,2812],{},"Paper AI",": Geração automática de texturas",[241,2815,2816,2819],{},[205,2817,2818],{},"Paper Themes",": Temas sazonais e culturais",[241,2821,2822,2825],{},[205,2823,2824],{},"Paper Animations",": Micro-interações mais sofisticadas",[241,2827,2828,2831],{},[205,2829,2830],{},"Paper Accessibility",": Foco em acessibilidade sem perder a personalidade",[233,2833,2835],{"id":2834},"visão-de-longo-prazo","Visão de Longo Prazo",[223,2837,2839],{"className":286,"code":2838,"language":288,"meta":231,"style":231},"\u002F\u002F Paper UI 2.0 - Conceito\nconst vision = {\n  goal: \"Democratizar design humano na web\",\n  mission: \"Tornar interfaces mais acolhedoras e memoráveis\",\n  impact: \"Conectar tecnologia com emoção humana\"\n}\n",[218,2840,2841,2846,2857,2874,2890,2904],{"__ignoreMap":231},[292,2842,2843],{"class":294,"line":295},[292,2844,2845],{"class":298},"\u002F\u002F Paper UI 2.0 - Conceito\n",[292,2847,2848,2850,2853,2855],{"class":294,"line":302},[292,2849,306],{"class":305},[292,2851,2852],{"class":313}," vision",[292,2854,321],{"class":320},[292,2856,621],{"class":309},[292,2858,2859,2862,2864,2867,2870,2872],{"class":294,"line":448},[292,2860,2861],{"class":490},"  goal",[292,2863,279],{"class":309},[292,2865,2866],{"class":336}," \"",[292,2868,2869],{"class":340},"Democratizar design humano na web",[292,2871,1339],{"class":336},[292,2873,1778],{"class":309},[292,2875,2876,2879,2881,2883,2886,2888],{"class":294,"line":484},[292,2877,2878],{"class":490},"  mission",[292,2880,279],{"class":309},[292,2882,2866],{"class":336},[292,2884,2885],{"class":340},"Tornar interfaces mais acolhedoras e memoráveis",[292,2887,1339],{"class":336},[292,2889,1778],{"class":309},[292,2891,2892,2895,2897,2899,2902],{"class":294,"line":515},[292,2893,2894],{"class":490},"  impact",[292,2896,279],{"class":309},[292,2898,2866],{"class":336},[292,2900,2901],{"class":340},"Conectar tecnologia com emoção humana",[292,2903,2169],{"class":336},[292,2905,2906],{"class":294,"line":677},[292,2907,680],{"class":309},[210,2909,2911],{"id":2910},"dicas-para-criar-sua-própria-biblioteca","💡 Dicas para Criar Sua Própria Biblioteca",[233,2913,2915],{"id":2914},"_1-identifique-um-problema-real","1. Identifique um Problema Real",[201,2917,2918,2919,2922],{},"Não crie por criar. ",[205,2920,2921],{},"Identifique uma dor real"," que você sente no dia a dia.",[233,2924,2926],{"id":2925},"_2-comece-simples","2. Comece Simples",[223,2928,2930],{"className":789,"code":2929,"language":791,"meta":231,"style":231},"\u003C!-- Comece com um componente -->\n\u003Ctemplate>\n  \u003Cdiv class=\"your-idea\">\n    \u003C!-- Implementação simples -->\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[218,2931,2932,2937,2945,2964,2969,2977],{"__ignoreMap":231},[292,2933,2934],{"class":294,"line":295},[292,2935,2936],{"class":298},"\u003C!-- Comece com um componente -->\n",[292,2938,2939,2941,2943],{"class":294,"line":302},[292,2940,636],{"class":309},[292,2942,806],{"class":805},[292,2944,809],{"class":309},[292,2946,2947,2949,2951,2953,2955,2957,2960,2962],{"class":294,"line":448},[292,2948,814],{"class":309},[292,2950,817],{"class":805},[292,2952,1333],{"class":1332},[292,2954,1336],{"class":309},[292,2956,1339],{"class":336},[292,2958,2959],{"class":340},"your-idea",[292,2961,1339],{"class":336},[292,2963,809],{"class":309},[292,2965,2966],{"class":294,"line":484},[292,2967,2968],{"class":298},"    \u003C!-- Implementação simples -->\n",[292,2970,2971,2973,2975],{"class":294,"line":515},[292,2972,835],{"class":309},[292,2974,817],{"class":805},[292,2976,809],{"class":309},[292,2978,2979,2981,2983],{"class":294,"line":677},[292,2980,844],{"class":309},[292,2982,806],{"class":805},[292,2984,809],{"class":309},[233,2986,2988],{"id":2987},"_3-documente-tudo","3. Documente Tudo",[223,2990,2994],{"className":2991,"code":2992,"language":2993,"meta":231,"style":231},"language-markdown shiki shiki-themes material-theme-lighter github-light github-dark","# Sua Biblioteca\n## Instalação\n## Uso\n## Exemplos\n## Contribuição\n","markdown",[218,2995,2996,3001,3006,3011,3016],{"__ignoreMap":231},[292,2997,2998],{"class":294,"line":295},[292,2999,3000],{},"# Sua Biblioteca\n",[292,3002,3003],{"class":294,"line":302},[292,3004,3005],{},"## Instalação\n",[292,3007,3008],{"class":294,"line":448},[292,3009,3010],{},"## Uso\n",[292,3012,3013],{"class":294,"line":484},[292,3014,3015],{},"## Exemplos\n",[292,3017,3018],{"class":294,"line":515},[292,3019,3020],{},"## Contribuição\n",[233,3022,3024],{"id":3023},"_4-engaje-a-comunidade","4. Engaje a Comunidade",[238,3026,3027,3032,3037,3042],{},[241,3028,3029],{},[205,3030,3031],{},"GitHub Discussions",[241,3033,3034],{},[205,3035,3036],{},"Discord\u002FSlack",[241,3038,3039],{},[205,3040,3041],{},"Twitter\u002FLinkedIn",[241,3043,3044],{},[205,3045,3046],{},"Blog posts técnicos",[210,3048,1061],{"id":1060},[201,3050,1192,3051,3053,3054,3057],{},[205,3052,88],{}," nasceu de uma frustração pessoal e se tornou uma ferramenta que ",[205,3055,3056],{},"humaniza a web",". Ela me ensinou que:",[238,3059,3060,3065,3070,3075],{},[241,3061,3062],{},[205,3063,3064],{},"Tecnologia pode ser emocional",[241,3066,3067],{},[205,3068,3069],{},"Imperfeição pode ser perfeita",[241,3071,3072],{},[205,3073,3074],{},"Comunidade move montanhas",[241,3076,3077],{},[205,3078,3079],{},"Ideias simples podem revolucionar",[201,3081,3082,3085],{},[205,3083,3084],{},"Para desenvolvedores",": Não tenham medo de experimentar. As melhores soluções nascem de problemas reais e paixão genuína.",[201,3087,3088,3091,3092,3095],{},[205,3089,3090],{},"Para designers",": Lembrem-se que ",[205,3093,3094],{},"interface é conversa",". A Paper UI prova que podemos ter conversas mais humanas através da tecnologia.",[1110,3097],{},[201,3099,3100],{},[1115,3101,3102,3103,3108],{},"Quer contribuir com a Paper UI? Visite ",[1119,3104,3107],{"href":3105,"rel":3106},"https:\u002F\u002Fpaper-docs.nuxt.space",[1123],"paper-docs.nuxt.space"," e junte-se à comunidade que está humanizando a web!",[201,3110,3111],{},[1115,3112,3113,3114,3117],{},"Siga-me no ",[1119,3115,1124],{"href":1121,"rel":3116},[1123]," para mais insights sobre desenvolvimento e design.",[1127,3119,3120],{},"html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sQzsp, html code.shiki .sQzsp{--shiki-light:#E53935;--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .s9AJx, html code.shiki .s9AJx{--shiki-light:#9C3EDA;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .stp6e, html code.shiki .stp6e{--shiki-light:#39ADB5;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .soE4H, html code.shiki .soE4H{--shiki-light:#8796B0;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sptTA, html code.shiki .sptTA{--shiki-light:#6182B8;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sw1J6, html code.shiki .sw1J6{--shiki-light:#F76D47;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZUrc, html code.shiki .sZUrc{--shiki-light:#E53935;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .syTEX, html code.shiki .syTEX{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}",{"title":231,"searchDepth":302,"depth":302,"links":3122},[3123,3127,3131,3136,3141,3145,3150,3155,3160,3164,3170],{"id":1205,"depth":302,"text":1206,"children":3124},[3125,3126],{"id":1209,"depth":448,"text":1210},{"id":1248,"depth":448,"text":1249},{"id":1263,"depth":302,"text":1264,"children":3128},[3129,3130],{"id":1267,"depth":448,"text":1268},{"id":1304,"depth":448,"text":1305},{"id":1507,"depth":302,"text":1508,"children":3132},[3133,3134,3135],{"id":1511,"depth":448,"text":1512},{"id":1723,"depth":448,"text":1724},{"id":1885,"depth":448,"text":1886},{"id":2043,"depth":302,"text":2044,"children":3137},[3138,3139,3140],{"id":2047,"depth":448,"text":2048},{"id":2110,"depth":448,"text":2111},{"id":2215,"depth":448,"text":2216},{"id":2271,"depth":302,"text":2272,"children":3142},[3143,3144],{"id":2275,"depth":448,"text":2276},{"id":724,"depth":448,"text":725},{"id":2377,"depth":302,"text":2378,"children":3146},[3147,3148,3149],{"id":2381,"depth":448,"text":2382},{"id":2456,"depth":448,"text":2457},{"id":2606,"depth":448,"text":2607},{"id":2663,"depth":302,"text":2664,"children":3151},[3152,3153,3154],{"id":2667,"depth":448,"text":2668},{"id":2681,"depth":448,"text":2682},{"id":2691,"depth":448,"text":2692},{"id":2763,"depth":302,"text":2764,"children":3156},[3157,3158,3159],{"id":2767,"depth":448,"text":2768},{"id":2778,"depth":448,"text":2779},{"id":2789,"depth":448,"text":2790},{"id":2800,"depth":302,"text":2801,"children":3161},[3162,3163],{"id":2804,"depth":448,"text":2805},{"id":2834,"depth":448,"text":2835},{"id":2910,"depth":302,"text":2911,"children":3165},[3166,3167,3168,3169],{"id":2914,"depth":448,"text":2915},{"id":2925,"depth":448,"text":2926},{"id":2987,"depth":448,"text":2988},{"id":3023,"depth":448,"text":3024},{"id":1060,"depth":302,"text":1061},"2024-12-18","\u002Fpaper.gif",{"author":3174},{"name":1174,"avatar":3175,"bio":1177,"social":3176},{"src":1176},{"github":1121,"linkedin":1179},{"title":183,"description":185},"blog\u002Fpaper-ui-historia-criacao",[3180,3181,1183,791,3182],"paper-ui","design-system","criatividade","d6NfN4lY_0awwQTnd87pM29kDAMMbgcMbb12jZEUAoo",{"id":3185,"title":187,"body":3186,"date":7410,"description":189,"extension":1170,"image":7411,"meta":7412,"navigation":11,"path":188,"seo":7416,"stem":7417,"tags":7418,"__hash__":7421},"blog\u002Fblog\u002Fnuxt-performance-otimizacoes-avancadas.md",{"type":198,"value":3187,"toc":7356},[3188,3198,3202,3206,3232,3236,3256,3260,3264,3535,3539,3648,3652,3656,3803,3807,3948,3952,3956,4520,4524,4618,4622,4626,4827,4831,5044,5048,5052,5388,5392,5472,5476,5480,5655,5659,5821,5825,5829,6023,6027,6157,6161,6165,6380,6384,6571,6575,6579,6624,6628,6882,6886,6890,7007,7011,7015,7079,7083,7087,7094,7098,7207,7211,7296,7298,7305,7327,7337,7339,7348,7353],[201,3189,3190,3191,3194,3195,468],{},"Após 6 anos desenvolvendo com Nuxt.js, aprendi que ",[205,3192,3193],{},"performance não é acidente"," - é resultado de decisões técnicas conscientes. Neste artigo, compartilho as otimizações que implementei em projetos reais e que resultaram em ",[205,3196,3197],{},"melhorias mensuráveis de 40%+ na velocidade",[210,3199,3201],{"id":3200},"resultados-reais-dos-meus-projetos","📊 Resultados Reais dos Meus Projetos",[233,3203,3205],{"id":3204},"projeto-fluxxi-sistema-de-gestão","Projeto Fluxxi (Sistema de Gestão)",[238,3207,3208,3214,3220,3226],{},[241,3209,3210,3213],{},[205,3211,3212],{},"Lighthouse Performance",": 72 → 94 (+22 pontos)",[241,3215,3216,3219],{},[205,3217,3218],{},"First Contentful Paint",": 2.1s → 1.2s (-43%)",[241,3221,3222,3225],{},[205,3223,3224],{},"Largest Contentful Paint",": 3.8s → 2.1s (-45%)",[241,3227,3228,3231],{},[205,3229,3230],{},"Cumulative Layout Shift",": 0.15 → 0.02 (-87%)",[233,3233,3235],{"id":3234},"projeto-paper-ui-documentação","Projeto Paper UI (Documentação)",[238,3237,3238,3244,3250],{},[241,3239,3240,3243],{},[205,3241,3242],{},"Bundle Size",": 1.2MB → 680KB (-43%)",[241,3245,3246,3249],{},[205,3247,3248],{},"Build Time",": 4min 30s → 2min 45s (-39%)",[241,3251,3252,3255],{},[205,3253,3254],{},"Cold Start",": 6.2s → 3.8s (-39%)",[210,3257,3259],{"id":3258},"_1-bundle-splitting-inteligente","🚀 1. Bundle Splitting Inteligente",[233,3261,3263],{"id":3262},"estratégia-de-code-splitting","Estratégia de Code Splitting",[223,3265,3267],{"className":286,"code":3266,"language":288,"meta":231,"style":231},"\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n  build: {\n    analyze: process.env.ANALYZE === 'true'\n  },\n  \n  nitro: {\n    rollupConfig: {\n      output: {\n        manualChunks: {\n          \u002F\u002F Vendor chunks otimizados\n          'vue-vendor': ['vue', 'vue-router'],\n          'nuxt-vendor': ['@nuxt\u002Fkit', '@nuxt\u002Fnitro'],\n          'ui-vendor': ['@headlessui\u002Fvue', '@heroicons\u002Fvue'],\n          'utils-vendor': ['lodash-es', 'date-fns']\n        }\n      }\n    }\n  }\n})\n",[218,3268,3269,3273,3285,3294,3323,3327,3332,3341,3350,3359,3368,3373,3407,3439,3473,3505,3511,3517,3523,3528],{"__ignoreMap":231},[292,3270,3271],{"class":294,"line":295},[292,3272,2226],{"class":298},[292,3274,3275,3277,3279,3281,3283],{"class":294,"line":302},[292,3276,605],{"class":324},[292,3278,2233],{"class":324},[292,3280,2236],{"class":328},[292,3282,333],{"class":332},[292,3284,2241],{"class":309},[292,3286,3287,3290,3292],{"class":294,"line":448},[292,3288,3289],{"class":490},"  build",[292,3291,279],{"class":309},[292,3293,621],{"class":309},[292,3295,3296,3299,3301,3304,3306,3309,3311,3314,3317,3319,3321],{"class":294,"line":484},[292,3297,3298],{"class":490},"    analyze",[292,3300,279],{"class":309},[292,3302,3303],{"class":332}," process",[292,3305,468],{"class":309},[292,3307,3308],{"class":332},"env",[292,3310,468],{"class":309},[292,3312,3313],{"class":313},"ANALYZE",[292,3315,3316],{"class":320}," ===",[292,3318,1770],{"class":336},[292,3320,2185],{"class":340},[292,3322,1809],{"class":336},[292,3324,3325],{"class":294,"line":515},[292,3326,1814],{"class":309},[292,3328,3329],{"class":294,"line":677},[292,3330,3331],{"class":332},"  \n",[292,3333,3334,3337,3339],{"class":294,"line":1444},[292,3335,3336],{"class":490},"  nitro",[292,3338,279],{"class":309},[292,3340,621],{"class":309},[292,3342,3343,3346,3348],{"class":294,"line":1454},[292,3344,3345],{"class":490},"    rollupConfig",[292,3347,279],{"class":309},[292,3349,621],{"class":309},[292,3351,3352,3355,3357],{"class":294,"line":1483},[292,3353,3354],{"class":490},"      output",[292,3356,279],{"class":309},[292,3358,621],{"class":309},[292,3360,3361,3364,3366],{"class":294,"line":1492},[292,3362,3363],{"class":490},"        manualChunks",[292,3365,279],{"class":309},[292,3367,621],{"class":309},[292,3369,3370],{"class":294,"line":1860},[292,3371,3372],{"class":298},"          \u002F\u002F Vendor chunks otimizados\n",[292,3374,3375,3378,3381,3383,3385,3387,3389,3391,3393,3395,3397,3400,3402,3405],{"class":294,"line":1874},[292,3376,3377],{"class":336},"          '",[292,3379,3380],{"class":1753},"vue-vendor",[292,3382,337],{"class":336},[292,3384,279],{"class":309},[292,3386,2251],{"class":332},[292,3388,337],{"class":336},[292,3390,791],{"class":340},[292,3392,337],{"class":336},[292,3394,346],{"class":309},[292,3396,1770],{"class":336},[292,3398,3399],{"class":340},"vue-router",[292,3401,337],{"class":336},[292,3403,3404],{"class":332},"]",[292,3406,1778],{"class":309},[292,3408,3409,3411,3414,3416,3418,3420,3422,3424,3426,3428,3430,3433,3435,3437],{"class":294,"line":1880},[292,3410,3377],{"class":336},[292,3412,3413],{"class":1753},"nuxt-vendor",[292,3415,337],{"class":336},[292,3417,279],{"class":309},[292,3419,2251],{"class":332},[292,3421,337],{"class":336},[292,3423,972],{"class":340},[292,3425,337],{"class":336},[292,3427,346],{"class":309},[292,3429,1770],{"class":336},[292,3431,3432],{"class":340},"@nuxt\u002Fnitro",[292,3434,337],{"class":336},[292,3436,3404],{"class":332},[292,3438,1778],{"class":309},[292,3440,3442,3444,3447,3449,3451,3453,3455,3458,3460,3462,3464,3467,3469,3471],{"class":294,"line":3441},14,[292,3443,3377],{"class":336},[292,3445,3446],{"class":1753},"ui-vendor",[292,3448,337],{"class":336},[292,3450,279],{"class":309},[292,3452,2251],{"class":332},[292,3454,337],{"class":336},[292,3456,3457],{"class":340},"@headlessui\u002Fvue",[292,3459,337],{"class":336},[292,3461,346],{"class":309},[292,3463,1770],{"class":336},[292,3465,3466],{"class":340},"@heroicons\u002Fvue",[292,3468,337],{"class":336},[292,3470,3404],{"class":332},[292,3472,1778],{"class":309},[292,3474,3476,3478,3481,3483,3485,3487,3489,3492,3494,3496,3498,3501,3503],{"class":294,"line":3475},15,[292,3477,3377],{"class":336},[292,3479,3480],{"class":1753},"utils-vendor",[292,3482,337],{"class":336},[292,3484,279],{"class":309},[292,3486,2251],{"class":332},[292,3488,337],{"class":336},[292,3490,3491],{"class":340},"lodash-es",[292,3493,337],{"class":336},[292,3495,346],{"class":309},[292,3497,1770],{"class":336},[292,3499,3500],{"class":340},"date-fns",[292,3502,337],{"class":336},[292,3504,2261],{"class":332},[292,3506,3508],{"class":294,"line":3507},16,[292,3509,3510],{"class":309},"        }\n",[292,3512,3514],{"class":294,"line":3513},17,[292,3515,3516],{"class":309},"      }\n",[292,3518,3520],{"class":294,"line":3519},18,[292,3521,3522],{"class":309},"    }\n",[292,3524,3526],{"class":294,"line":3525},19,[292,3527,1877],{"class":309},[292,3529,3531,3533],{"class":294,"line":3530},20,[292,3532,2266],{"class":309},[292,3534,518],{"class":332},[233,3536,3538],{"id":3537},"resultado-prático","Resultado Prático",[223,3540,3542],{"className":899,"code":3541,"language":901,"meta":231,"style":231},"# Antes da otimização\ndist\u002F_nuxt\u002F\n├── index.js (1.2MB)\n├── vendor.js (800KB)\n└── app.js (400KB)\n\n# Depois da otimização  \ndist\u002F_nuxt\u002F\n├── index.js (200KB)\n├── vue-vendor.js (180KB)\n├── nuxt-vendor.js (120KB)\n├── ui-vendor.js (80KB)\n└── utils-vendor.js (60KB)\n",[218,3543,3544,3549,3554,3565,3575,3586,3590,3595,3599,3608,3618,3628,3638],{"__ignoreMap":231},[292,3545,3546],{"class":294,"line":295},[292,3547,3548],{"class":298},"# Antes da otimização\n",[292,3550,3551],{"class":294,"line":302},[292,3552,3553],{"class":639},"dist\u002F_nuxt\u002F\n",[292,3555,3556,3559,3562],{"class":294,"line":448},[292,3557,3558],{"class":639},"├──",[292,3560,3561],{"class":340}," index.js",[292,3563,3564],{"class":332}," (1.2MB)\n",[292,3566,3567,3569,3572],{"class":294,"line":484},[292,3568,3558],{"class":639},[292,3570,3571],{"class":340}," vendor.js",[292,3573,3574],{"class":332}," (800KB)\n",[292,3576,3577,3580,3583],{"class":294,"line":515},[292,3578,3579],{"class":639},"└──",[292,3581,3582],{"class":340}," app.js",[292,3584,3585],{"class":332}," (400KB)\n",[292,3587,3588],{"class":294,"line":677},[292,3589,1623],{"emptyLinePlaceholder":11},[292,3591,3592],{"class":294,"line":1444},[292,3593,3594],{"class":298},"# Depois da otimização  \n",[292,3596,3597],{"class":294,"line":1454},[292,3598,3553],{"class":639},[292,3600,3601,3603,3605],{"class":294,"line":1483},[292,3602,3558],{"class":639},[292,3604,3561],{"class":340},[292,3606,3607],{"class":332}," (200KB)\n",[292,3609,3610,3612,3615],{"class":294,"line":1492},[292,3611,3558],{"class":639},[292,3613,3614],{"class":340}," vue-vendor.js",[292,3616,3617],{"class":332}," (180KB)\n",[292,3619,3620,3622,3625],{"class":294,"line":1860},[292,3621,3558],{"class":639},[292,3623,3624],{"class":340}," nuxt-vendor.js",[292,3626,3627],{"class":332}," (120KB)\n",[292,3629,3630,3632,3635],{"class":294,"line":1874},[292,3631,3558],{"class":639},[292,3633,3634],{"class":340}," ui-vendor.js",[292,3636,3637],{"class":332}," (80KB)\n",[292,3639,3640,3642,3645],{"class":294,"line":1880},[292,3641,3579],{"class":639},[292,3643,3644],{"class":340}," utils-vendor.js",[292,3646,3647],{"class":332}," (60KB)\n",[210,3649,3651],{"id":3650},"_2-lazy-loading-estratégico","🎯 2. Lazy Loading Estratégico",[233,3653,3655],{"id":3654},"componentes-críticos-vs-não-críticos","Componentes Críticos vs Não-Críticos",[223,3657,3659],{"className":789,"code":3658,"language":791,"meta":231,"style":231},"\u003C!-- components\u002FCriticalComponents.vue -->\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003C!-- Componentes que aparecem acima da dobra -->\n    \u003CHeader \u002F>\n    \u003CHero \u002F>\n    \u003CNavigation \u002F>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n\n\u003C!-- components\u002FNonCriticalComponents.vue -->\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003C!-- Componentes que aparecem abaixo da dobra -->\n    \u003CLazyFooter \u002F>\n    \u003CLazyTestimonials \u002F>\n    \u003CLazyNewsletter \u002F>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[218,3660,3661,3666,3674,3682,3687,3696,3705,3714,3722,3730,3734,3739,3747,3755,3760,3769,3778,3787,3795],{"__ignoreMap":231},[292,3662,3663],{"class":294,"line":295},[292,3664,3665],{"class":298},"\u003C!-- components\u002FCriticalComponents.vue -->\n",[292,3667,3668,3670,3672],{"class":294,"line":302},[292,3669,636],{"class":309},[292,3671,806],{"class":805},[292,3673,809],{"class":309},[292,3675,3676,3678,3680],{"class":294,"line":448},[292,3677,814],{"class":309},[292,3679,817],{"class":805},[292,3681,809],{"class":309},[292,3683,3684],{"class":294,"line":484},[292,3685,3686],{"class":298},"    \u003C!-- Componentes que aparecem acima da dobra -->\n",[292,3688,3689,3691,3694],{"class":294,"line":515},[292,3690,824],{"class":309},[292,3692,3693],{"class":805},"Header",[292,3695,830],{"class":309},[292,3697,3698,3700,3703],{"class":294,"line":677},[292,3699,824],{"class":309},[292,3701,3702],{"class":805},"Hero",[292,3704,830],{"class":309},[292,3706,3707,3709,3712],{"class":294,"line":1444},[292,3708,824],{"class":309},[292,3710,3711],{"class":805},"Navigation",[292,3713,830],{"class":309},[292,3715,3716,3718,3720],{"class":294,"line":1454},[292,3717,835],{"class":309},[292,3719,817],{"class":805},[292,3721,809],{"class":309},[292,3723,3724,3726,3728],{"class":294,"line":1483},[292,3725,844],{"class":309},[292,3727,806],{"class":805},[292,3729,809],{"class":309},[292,3731,3732],{"class":294,"line":1492},[292,3733,1623],{"emptyLinePlaceholder":11},[292,3735,3736],{"class":294,"line":1860},[292,3737,3738],{"class":298},"\u003C!-- components\u002FNonCriticalComponents.vue -->\n",[292,3740,3741,3743,3745],{"class":294,"line":1874},[292,3742,636],{"class":309},[292,3744,806],{"class":805},[292,3746,809],{"class":309},[292,3748,3749,3751,3753],{"class":294,"line":1880},[292,3750,814],{"class":309},[292,3752,817],{"class":805},[292,3754,809],{"class":309},[292,3756,3757],{"class":294,"line":3441},[292,3758,3759],{"class":298},"    \u003C!-- Componentes que aparecem abaixo da dobra -->\n",[292,3761,3762,3764,3767],{"class":294,"line":3475},[292,3763,824],{"class":309},[292,3765,3766],{"class":805},"LazyFooter",[292,3768,830],{"class":309},[292,3770,3771,3773,3776],{"class":294,"line":3507},[292,3772,824],{"class":309},[292,3774,3775],{"class":805},"LazyTestimonials",[292,3777,830],{"class":309},[292,3779,3780,3782,3785],{"class":294,"line":3513},[292,3781,824],{"class":309},[292,3783,3784],{"class":805},"LazyNewsletter",[292,3786,830],{"class":309},[292,3788,3789,3791,3793],{"class":294,"line":3519},[292,3790,835],{"class":309},[292,3792,817],{"class":805},[292,3794,809],{"class":309},[292,3796,3797,3799,3801],{"class":294,"line":3525},[292,3798,844],{"class":309},[292,3800,806],{"class":805},[292,3802,809],{"class":309},[233,3804,3806],{"id":3805},"lazy-loading-com-suspense","Lazy Loading com Suspense",[223,3808,3810],{"className":789,"code":3809,"language":791,"meta":231,"style":231},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003CSuspense>\n      \u003Ctemplate #default>\n        \u003CLazyHeavyComponent \u002F>\n      \u003C\u002Ftemplate>\n      \u003Ctemplate #fallback>\n        \u003Cdiv class=\"skeleton-loader\">\n          \u003C!-- Skeleton loading state -->\n        \u003C\u002Fdiv>\n      \u003C\u002Ftemplate>\n    \u003C\u002FSuspense>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[218,3811,3812,3820,3828,3837,3851,3861,3870,3883,3902,3907,3916,3924,3932,3940],{"__ignoreMap":231},[292,3813,3814,3816,3818],{"class":294,"line":295},[292,3815,636],{"class":309},[292,3817,806],{"class":805},[292,3819,809],{"class":309},[292,3821,3822,3824,3826],{"class":294,"line":302},[292,3823,814],{"class":309},[292,3825,817],{"class":805},[292,3827,809],{"class":309},[292,3829,3830,3832,3835],{"class":294,"line":448},[292,3831,824],{"class":309},[292,3833,3834],{"class":805},"Suspense",[292,3836,809],{"class":309},[292,3838,3839,3841,3843,3846,3849],{"class":294,"line":484},[292,3840,1383],{"class":309},[292,3842,806],{"class":805},[292,3844,3845],{"class":309}," #",[292,3847,3848],{"class":1332},"default",[292,3850,809],{"class":309},[292,3852,3853,3856,3859],{"class":294,"line":515},[292,3854,3855],{"class":309},"        \u003C",[292,3857,3858],{"class":805},"LazyHeavyComponent",[292,3860,830],{"class":309},[292,3862,3863,3866,3868],{"class":294,"line":677},[292,3864,3865],{"class":309},"      \u003C\u002F",[292,3867,806],{"class":805},[292,3869,809],{"class":309},[292,3871,3872,3874,3876,3878,3881],{"class":294,"line":1444},[292,3873,1383],{"class":309},[292,3875,806],{"class":805},[292,3877,3845],{"class":309},[292,3879,3880],{"class":1332},"fallback",[292,3882,809],{"class":309},[292,3884,3885,3887,3889,3891,3893,3895,3898,3900],{"class":294,"line":1454},[292,3886,3855],{"class":309},[292,3888,817],{"class":805},[292,3890,1333],{"class":1332},[292,3892,1336],{"class":309},[292,3894,1339],{"class":336},[292,3896,3897],{"class":340},"skeleton-loader",[292,3899,1339],{"class":336},[292,3901,809],{"class":309},[292,3903,3904],{"class":294,"line":1483},[292,3905,3906],{"class":298},"          \u003C!-- Skeleton loading state -->\n",[292,3908,3909,3912,3914],{"class":294,"line":1492},[292,3910,3911],{"class":309},"        \u003C\u002F",[292,3913,817],{"class":805},[292,3915,809],{"class":309},[292,3917,3918,3920,3922],{"class":294,"line":1860},[292,3919,3865],{"class":309},[292,3921,806],{"class":805},[292,3923,809],{"class":309},[292,3925,3926,3928,3930],{"class":294,"line":1874},[292,3927,1447],{"class":309},[292,3929,3834],{"class":805},[292,3931,809],{"class":309},[292,3933,3934,3936,3938],{"class":294,"line":1880},[292,3935,835],{"class":309},[292,3937,817],{"class":805},[292,3939,809],{"class":309},[292,3941,3942,3944,3946],{"class":294,"line":3441},[292,3943,844],{"class":309},[292,3945,806],{"class":805},[292,3947,809],{"class":309},[210,3949,3951],{"id":3950},"_3-otimização-de-imagens-avançada","⚡ 3. Otimização de Imagens Avançada",[233,3953,3955],{"id":3954},"sistema-de-imagens-inteligente","Sistema de Imagens Inteligente",[223,3957,3959],{"className":789,"code":3958,"language":791,"meta":231,"style":231},"\u003C!-- components\u002FOptimizedImage.vue -->\n\u003Ctemplate>\n  \u003Cpicture>\n    \u003Csource \n      :srcset=\"webpSrc\" \n      type=\"image\u002Fwebp\"\n    \u002F>\n    \u003Csource \n      :srcset=\"avifSrc\" \n      type=\"image\u002Favif\"\n    \u002F>\n    \u003Cimg\n      :src=\"fallbackSrc\"\n      :alt=\"alt\"\n      :width=\"width\"\n      :height=\"height\"\n      loading=\"lazy\"\n      decoding=\"async\"\n      class=\"optimized-image\"\n    \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup>\nconst props = defineProps({\n  src: String,\n  alt: String,\n  width: Number,\n  height: Number\n})\n\n\u002F\u002F Geração automática de múltiplos formatos\nconst webpSrc = computed(() => \n  `\u002Fimages\u002Fwebp\u002F${props.src.replace(\u002F\\.[^\u002F.]+$\u002F, '.webp')}`\n)\nconst avifSrc = computed(() => \n  `\u002Fimages\u002Favif\u002F${props.src.replace(\u002F\\.[^\u002F.]+$\u002F, '.avif')}`\n)\nconst fallbackSrc = computed(() => \n  `\u002Fimages\u002F${props.src}`\n)\n\u003C\u002Fscript>\n",[218,3960,3961,3966,3974,3983,3992,4008,4022,4027,4035,4050,4063,4067,4074,4088,4102,4116,4130,4144,4158,4172,4176,4185,4194,4199,4212,4229,4242,4254,4267,4278,4285,4290,4296,4318,4385,4390,4410,4463,4468,4488,4506,4511],{"__ignoreMap":231},[292,3962,3963],{"class":294,"line":295},[292,3964,3965],{"class":298},"\u003C!-- components\u002FOptimizedImage.vue -->\n",[292,3967,3968,3970,3972],{"class":294,"line":302},[292,3969,636],{"class":309},[292,3971,806],{"class":805},[292,3973,809],{"class":309},[292,3975,3976,3978,3981],{"class":294,"line":448},[292,3977,814],{"class":309},[292,3979,3980],{"class":805},"picture",[292,3982,809],{"class":309},[292,3984,3985,3987,3990],{"class":294,"line":484},[292,3986,824],{"class":309},[292,3988,3989],{"class":805},"source",[292,3991,445],{"class":309},[292,3993,3994,3997,3999,4001,4004,4006],{"class":294,"line":515},[292,3995,3996],{"class":1332},"      :srcset",[292,3998,1336],{"class":309},[292,4000,1339],{"class":336},[292,4002,4003],{"class":340},"webpSrc",[292,4005,1339],{"class":336},[292,4007,445],{"class":309},[292,4009,4010,4013,4015,4017,4020],{"class":294,"line":677},[292,4011,4012],{"class":1332},"      type",[292,4014,1336],{"class":309},[292,4016,1339],{"class":336},[292,4018,4019],{"class":340},"image\u002Fwebp",[292,4021,2169],{"class":336},[292,4023,4024],{"class":294,"line":1444},[292,4025,4026],{"class":309},"    \u002F>\n",[292,4028,4029,4031,4033],{"class":294,"line":1454},[292,4030,824],{"class":309},[292,4032,3989],{"class":805},[292,4034,445],{"class":309},[292,4036,4037,4039,4041,4043,4046,4048],{"class":294,"line":1483},[292,4038,3996],{"class":1332},[292,4040,1336],{"class":309},[292,4042,1339],{"class":336},[292,4044,4045],{"class":340},"avifSrc",[292,4047,1339],{"class":336},[292,4049,445],{"class":309},[292,4051,4052,4054,4056,4058,4061],{"class":294,"line":1492},[292,4053,4012],{"class":1332},[292,4055,1336],{"class":309},[292,4057,1339],{"class":336},[292,4059,4060],{"class":340},"image\u002Favif",[292,4062,2169],{"class":336},[292,4064,4065],{"class":294,"line":1860},[292,4066,4026],{"class":309},[292,4068,4069,4071],{"class":294,"line":1874},[292,4070,824],{"class":309},[292,4072,4073],{"class":805},"img\n",[292,4075,4076,4079,4081,4083,4086],{"class":294,"line":1880},[292,4077,4078],{"class":1332},"      :src",[292,4080,1336],{"class":309},[292,4082,1339],{"class":336},[292,4084,4085],{"class":340},"fallbackSrc",[292,4087,2169],{"class":336},[292,4089,4090,4093,4095,4097,4100],{"class":294,"line":3441},[292,4091,4092],{"class":1332},"      :alt",[292,4094,1336],{"class":309},[292,4096,1339],{"class":336},[292,4098,4099],{"class":340},"alt",[292,4101,2169],{"class":336},[292,4103,4104,4107,4109,4111,4114],{"class":294,"line":3475},[292,4105,4106],{"class":1332},"      :width",[292,4108,1336],{"class":309},[292,4110,1339],{"class":336},[292,4112,4113],{"class":340},"width",[292,4115,2169],{"class":336},[292,4117,4118,4121,4123,4125,4128],{"class":294,"line":3507},[292,4119,4120],{"class":1332},"      :height",[292,4122,1336],{"class":309},[292,4124,1339],{"class":336},[292,4126,4127],{"class":340},"height",[292,4129,2169],{"class":336},[292,4131,4132,4135,4137,4139,4142],{"class":294,"line":3513},[292,4133,4134],{"class":1332},"      loading",[292,4136,1336],{"class":309},[292,4138,1339],{"class":336},[292,4140,4141],{"class":340},"lazy",[292,4143,2169],{"class":336},[292,4145,4146,4149,4151,4153,4156],{"class":294,"line":3519},[292,4147,4148],{"class":1332},"      decoding",[292,4150,1336],{"class":309},[292,4152,1339],{"class":336},[292,4154,4155],{"class":340},"async",[292,4157,2169],{"class":336},[292,4159,4160,4163,4165,4167,4170],{"class":294,"line":3525},[292,4161,4162],{"class":1332},"      class",[292,4164,1336],{"class":309},[292,4166,1339],{"class":336},[292,4168,4169],{"class":340},"optimized-image",[292,4171,2169],{"class":336},[292,4173,4174],{"class":294,"line":3530},[292,4175,4026],{"class":309},[292,4177,4179,4181,4183],{"class":294,"line":4178},21,[292,4180,835],{"class":309},[292,4182,3980],{"class":805},[292,4184,809],{"class":309},[292,4186,4188,4190,4192],{"class":294,"line":4187},22,[292,4189,844],{"class":309},[292,4191,806],{"class":805},[292,4193,809],{"class":309},[292,4195,4197],{"class":294,"line":4196},23,[292,4198,1623],{"emptyLinePlaceholder":11},[292,4200,4202,4204,4207,4210],{"class":294,"line":4201},24,[292,4203,636],{"class":309},[292,4205,4206],{"class":805},"script",[292,4208,4209],{"class":1332}," setup",[292,4211,809],{"class":309},[292,4213,4215,4217,4220,4222,4225,4227],{"class":294,"line":4214},25,[292,4216,306],{"class":305},[292,4218,4219],{"class":313}," props",[292,4221,321],{"class":320},[292,4223,4224],{"class":328}," defineProps",[292,4226,333],{"class":332},[292,4228,2241],{"class":309},[292,4230,4232,4235,4237,4240],{"class":294,"line":4231},26,[292,4233,4234],{"class":490},"  src",[292,4236,279],{"class":309},[292,4238,4239],{"class":332}," String",[292,4241,1778],{"class":309},[292,4243,4245,4248,4250,4252],{"class":294,"line":4244},27,[292,4246,4247],{"class":490},"  alt",[292,4249,279],{"class":309},[292,4251,4239],{"class":332},[292,4253,1778],{"class":309},[292,4255,4257,4260,4262,4265],{"class":294,"line":4256},28,[292,4258,4259],{"class":490},"  width",[292,4261,279],{"class":309},[292,4263,4264],{"class":332}," Number",[292,4266,1778],{"class":309},[292,4268,4270,4273,4275],{"class":294,"line":4269},29,[292,4271,4272],{"class":490},"  height",[292,4274,279],{"class":309},[292,4276,4277],{"class":332}," Number\n",[292,4279,4281,4283],{"class":294,"line":4280},30,[292,4282,2266],{"class":309},[292,4284,518],{"class":332},[292,4286,4288],{"class":294,"line":4287},31,[292,4289,1623],{"emptyLinePlaceholder":11},[292,4291,4293],{"class":294,"line":4292},32,[292,4294,4295],{"class":298},"\u002F\u002F Geração automática de múltiplos formatos\n",[292,4297,4299,4301,4304,4306,4309,4311,4314,4316],{"class":294,"line":4298},33,[292,4300,306],{"class":305},[292,4302,4303],{"class":313}," webpSrc",[292,4305,321],{"class":320},[292,4307,4308],{"class":328}," computed",[292,4310,333],{"class":332},[292,4312,4313],{"class":309},"()",[292,4315,352],{"class":305},[292,4317,445],{"class":332},[292,4319,4321,4324,4327,4329,4332,4334,4337,4339,4342,4345,4348,4352,4355,4358,4361,4363,4366,4369,4371,4373,4375,4378,4380,4382],{"class":294,"line":4320},34,[292,4322,4323],{"class":336},"  `",[292,4325,4326],{"class":340},"\u002Fimages\u002Fwebp\u002F",[292,4328,462],{"class":336},[292,4330,4331],{"class":332},"props",[292,4333,468],{"class":336},[292,4335,4336],{"class":332},"src",[292,4338,468],{"class":336},[292,4340,4341],{"class":328},"replace",[292,4343,333],{"class":4344},"sfo-9",[292,4346,4347],{"class":336},"\u002F",[292,4349,4351],{"class":4350},"sjYin","\\.",[292,4353,4354],{"class":655},"[",[292,4356,4357],{"class":320},"^",[292,4359,4360],{"class":917},"\u002F.",[292,4362,3404],{"class":655},[292,4364,4365],{"class":320},"+",[292,4367,4368],{"class":324},"$",[292,4370,4347],{"class":336},[292,4372,346],{"class":336},[292,4374,1770],{"class":336},[292,4376,4377],{"class":340},".webp",[292,4379,337],{"class":336},[292,4381,477],{"class":4344},[292,4383,4384],{"class":336},"}`\n",[292,4386,4388],{"class":294,"line":4387},35,[292,4389,518],{"class":332},[292,4391,4393,4395,4398,4400,4402,4404,4406,4408],{"class":294,"line":4392},36,[292,4394,306],{"class":305},[292,4396,4397],{"class":313}," avifSrc",[292,4399,321],{"class":320},[292,4401,4308],{"class":328},[292,4403,333],{"class":332},[292,4405,4313],{"class":309},[292,4407,352],{"class":305},[292,4409,445],{"class":332},[292,4411,4413,4415,4418,4420,4422,4424,4426,4428,4430,4432,4434,4436,4438,4440,4442,4444,4446,4448,4450,4452,4454,4457,4459,4461],{"class":294,"line":4412},37,[292,4414,4323],{"class":336},[292,4416,4417],{"class":340},"\u002Fimages\u002Favif\u002F",[292,4419,462],{"class":336},[292,4421,4331],{"class":332},[292,4423,468],{"class":336},[292,4425,4336],{"class":332},[292,4427,468],{"class":336},[292,4429,4341],{"class":328},[292,4431,333],{"class":4344},[292,4433,4347],{"class":336},[292,4435,4351],{"class":4350},[292,4437,4354],{"class":655},[292,4439,4357],{"class":320},[292,4441,4360],{"class":917},[292,4443,3404],{"class":655},[292,4445,4365],{"class":320},[292,4447,4368],{"class":324},[292,4449,4347],{"class":336},[292,4451,346],{"class":336},[292,4453,1770],{"class":336},[292,4455,4456],{"class":340},".avif",[292,4458,337],{"class":336},[292,4460,477],{"class":4344},[292,4462,4384],{"class":336},[292,4464,4466],{"class":294,"line":4465},38,[292,4467,518],{"class":332},[292,4469,4471,4473,4476,4478,4480,4482,4484,4486],{"class":294,"line":4470},39,[292,4472,306],{"class":305},[292,4474,4475],{"class":313}," fallbackSrc",[292,4477,321],{"class":320},[292,4479,4308],{"class":328},[292,4481,333],{"class":332},[292,4483,4313],{"class":309},[292,4485,352],{"class":305},[292,4487,445],{"class":332},[292,4489,4491,4493,4496,4498,4500,4502,4504],{"class":294,"line":4490},40,[292,4492,4323],{"class":336},[292,4494,4495],{"class":340},"\u002Fimages\u002F",[292,4497,462],{"class":336},[292,4499,4331],{"class":332},[292,4501,468],{"class":336},[292,4503,4336],{"class":332},[292,4505,4384],{"class":336},[292,4507,4509],{"class":294,"line":4508},41,[292,4510,518],{"class":332},[292,4512,4514,4516,4518],{"class":294,"line":4513},42,[292,4515,844],{"class":309},[292,4517,4206],{"class":805},[292,4519,809],{"class":309},[233,4521,4523],{"id":4522},"resultado-mensurável","Resultado Mensurável",[223,4525,4527],{"className":286,"code":4526,"language":288,"meta":231,"style":231},"\u002F\u002F Antes: 2.3MB de imagens\n\u002F\u002F Depois: 680KB de imagens (-70%)\nconst imageOptimization = {\n  webp: '30% smaller than JPEG',\n  avif: '50% smaller than JPEG', \n  lazy: 'Load only visible images',\n  responsive: 'Multiple sizes for different screens'\n}\n",[218,4528,4529,4534,4539,4550,4566,4584,4600,4614],{"__ignoreMap":231},[292,4530,4531],{"class":294,"line":295},[292,4532,4533],{"class":298},"\u002F\u002F Antes: 2.3MB de imagens\n",[292,4535,4536],{"class":294,"line":302},[292,4537,4538],{"class":298},"\u002F\u002F Depois: 680KB de imagens (-70%)\n",[292,4540,4541,4543,4546,4548],{"class":294,"line":448},[292,4542,306],{"class":305},[292,4544,4545],{"class":313}," imageOptimization",[292,4547,321],{"class":320},[292,4549,621],{"class":309},[292,4551,4552,4555,4557,4559,4562,4564],{"class":294,"line":484},[292,4553,4554],{"class":490},"  webp",[292,4556,279],{"class":309},[292,4558,1770],{"class":336},[292,4560,4561],{"class":340},"30% smaller than JPEG",[292,4563,337],{"class":336},[292,4565,1778],{"class":309},[292,4567,4568,4571,4573,4575,4578,4580,4582],{"class":294,"line":515},[292,4569,4570],{"class":490},"  avif",[292,4572,279],{"class":309},[292,4574,1770],{"class":336},[292,4576,4577],{"class":340},"50% smaller than JPEG",[292,4579,337],{"class":336},[292,4581,346],{"class":309},[292,4583,445],{"class":332},[292,4585,4586,4589,4591,4593,4596,4598],{"class":294,"line":677},[292,4587,4588],{"class":490},"  lazy",[292,4590,279],{"class":309},[292,4592,1770],{"class":336},[292,4594,4595],{"class":340},"Load only visible images",[292,4597,337],{"class":336},[292,4599,1778],{"class":309},[292,4601,4602,4605,4607,4609,4612],{"class":294,"line":1444},[292,4603,4604],{"class":490},"  responsive",[292,4606,279],{"class":309},[292,4608,1770],{"class":336},[292,4610,4611],{"class":340},"Multiple sizes for different screens",[292,4613,1809],{"class":336},[292,4615,4616],{"class":294,"line":1454},[292,4617,680],{"class":309},[210,4619,4621],{"id":4620},"_4-cache-strategy-inteligente","🔧 4. Cache Strategy Inteligente",[233,4623,4625],{"id":4624},"cache-em-múltiplas-camadas","Cache em Múltiplas Camadas",[223,4627,4629],{"className":286,"code":4628,"language":288,"meta":231,"style":231},"\u002F\u002F server\u002Fapi\u002Fcached-data.ts\nexport default defineCachedEventHandler(async (event) => {\n  const data = await $fetch('\u002Fexternal-api\u002Fdata')\n  \n  return {\n    data,\n    cached: true,\n    timestamp: Date.now()\n  }\n}, {\n  maxAge: 60 * 60 * 24, \u002F\u002F 24 horas\n  swr: true, \u002F\u002F Stale-While-Revalidate\n  getKey: (event) => `cached-data-${event.context.params.id}`\n})\n",[218,4630,4631,4636,4660,4683,4687,4693,4700,4712,4730,4734,4741,4766,4780,4821],{"__ignoreMap":231},[292,4632,4633],{"class":294,"line":295},[292,4634,4635],{"class":298},"\u002F\u002F server\u002Fapi\u002Fcached-data.ts\n",[292,4637,4638,4640,4642,4645,4647,4649,4651,4654,4656,4658],{"class":294,"line":302},[292,4639,605],{"class":324},[292,4641,2233],{"class":324},[292,4643,4644],{"class":328}," defineCachedEventHandler",[292,4646,333],{"class":332},[292,4648,4155],{"class":305},[292,4650,537],{"class":309},[292,4652,4653],{"class":1631},"event",[292,4655,477],{"class":309},[292,4657,352],{"class":305},[292,4659,621],{"class":309},[292,4661,4662,4664,4666,4668,4670,4672,4674,4676,4679,4681],{"class":294,"line":448},[292,4663,626],{"class":305},[292,4665,314],{"class":313},[292,4667,321],{"class":320},[292,4669,325],{"class":324},[292,4671,355],{"class":328},[292,4673,333],{"class":490},[292,4675,337],{"class":336},[292,4677,4678],{"class":340},"\u002Fexternal-api\u002Fdata",[292,4680,337],{"class":336},[292,4682,518],{"class":490},[292,4684,4685],{"class":294,"line":484},[292,4686,3331],{"class":490},[292,4688,4689,4691],{"class":294,"line":515},[292,4690,668],{"class":324},[292,4692,621],{"class":309},[292,4694,4695,4698],{"class":294,"line":677},[292,4696,4697],{"class":332},"    data",[292,4699,1778],{"class":309},[292,4701,4702,4705,4707,4710],{"class":294,"line":1444},[292,4703,4704],{"class":490},"    cached",[292,4706,279],{"class":309},[292,4708,4709],{"class":2184}," true",[292,4711,1778],{"class":309},[292,4713,4714,4717,4719,4722,4724,4727],{"class":294,"line":1454},[292,4715,4716],{"class":490},"    timestamp",[292,4718,279],{"class":309},[292,4720,4721],{"class":332}," Date",[292,4723,468],{"class":309},[292,4725,4726],{"class":328},"now",[292,4728,4729],{"class":490},"()\n",[292,4731,4732],{"class":294,"line":1483},[292,4733,1877],{"class":309},[292,4735,4736,4739],{"class":294,"line":1492},[292,4737,4738],{"class":309},"},",[292,4740,621],{"class":309},[292,4742,4743,4746,4748,4751,4754,4756,4758,4761,4763],{"class":294,"line":1860},[292,4744,4745],{"class":490},"  maxAge",[292,4747,279],{"class":309},[292,4749,4750],{"class":1548}," 60",[292,4752,4753],{"class":320}," *",[292,4755,4750],{"class":1548},[292,4757,4753],{"class":320},[292,4759,4760],{"class":1548}," 24",[292,4762,346],{"class":309},[292,4764,4765],{"class":298}," \u002F\u002F 24 horas\n",[292,4767,4768,4771,4773,4775,4777],{"class":294,"line":1874},[292,4769,4770],{"class":490},"  swr",[292,4772,279],{"class":309},[292,4774,4709],{"class":2184},[292,4776,346],{"class":309},[292,4778,4779],{"class":298}," \u002F\u002F Stale-While-Revalidate\n",[292,4781,4782,4785,4787,4789,4791,4793,4795,4797,4800,4802,4804,4806,4809,4811,4814,4816,4819],{"class":294,"line":1880},[292,4783,4784],{"class":328},"  getKey",[292,4786,279],{"class":309},[292,4788,537],{"class":309},[292,4790,4653],{"class":1631},[292,4792,477],{"class":309},[292,4794,352],{"class":305},[292,4796,496],{"class":336},[292,4798,4799],{"class":340},"cached-data-",[292,4801,462],{"class":336},[292,4803,4653],{"class":332},[292,4805,468],{"class":336},[292,4807,4808],{"class":332},"context",[292,4810,468],{"class":336},[292,4812,4813],{"class":332},"params",[292,4815,468],{"class":336},[292,4817,4818],{"class":332},"id",[292,4820,4384],{"class":336},[292,4822,4823,4825],{"class":294,"line":3441},[292,4824,2266],{"class":309},[292,4826,518],{"class":332},[233,4828,4830],{"id":4829},"cache-de-componentes","Cache de Componentes",[223,4832,4834],{"className":789,"code":4833,"language":791,"meta":231,"style":231},"\u003C!-- components\u002FCachedComponent.vue -->\n\u003Ctemplate>\n  \u003Cdiv v-if=\"data\">\n    {{ data }}\n  \u003C\u002Fdiv>\n  \u003Cdiv v-else>\n    Loading...\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup>\n\u002F\u002F Cache automático por 1 hora\nconst { data } = await useFetch('\u002Fapi\u002Fexpensive-data', {\n  key: 'expensive-data',\n  default: () => null,\n  server: false, \u002F\u002F Client-side apenas\n  transform: (data) => data.result\n})\n\u003C\u002Fscript>\n",[218,4835,4836,4841,4849,4869,4874,4882,4893,4898,4906,4914,4918,4928,4933,4963,4979,4994,5009,5030,5036],{"__ignoreMap":231},[292,4837,4838],{"class":294,"line":295},[292,4839,4840],{"class":298},"\u003C!-- components\u002FCachedComponent.vue -->\n",[292,4842,4843,4845,4847],{"class":294,"line":302},[292,4844,636],{"class":309},[292,4846,806],{"class":805},[292,4848,809],{"class":309},[292,4850,4851,4853,4855,4858,4860,4862,4865,4867],{"class":294,"line":448},[292,4852,814],{"class":309},[292,4854,817],{"class":805},[292,4856,4857],{"class":1332}," v-if",[292,4859,1336],{"class":309},[292,4861,1339],{"class":336},[292,4863,4864],{"class":340},"data",[292,4866,1339],{"class":336},[292,4868,809],{"class":309},[292,4870,4871],{"class":294,"line":484},[292,4872,4873],{"class":332},"    {{ data }}\n",[292,4875,4876,4878,4880],{"class":294,"line":515},[292,4877,835],{"class":309},[292,4879,817],{"class":805},[292,4881,809],{"class":309},[292,4883,4884,4886,4888,4891],{"class":294,"line":677},[292,4885,814],{"class":309},[292,4887,817],{"class":805},[292,4889,4890],{"class":1332}," v-else",[292,4892,809],{"class":309},[292,4894,4895],{"class":294,"line":1444},[292,4896,4897],{"class":332},"    Loading...\n",[292,4899,4900,4902,4904],{"class":294,"line":1454},[292,4901,835],{"class":309},[292,4903,817],{"class":805},[292,4905,809],{"class":309},[292,4907,4908,4910,4912],{"class":294,"line":1483},[292,4909,844],{"class":309},[292,4911,806],{"class":805},[292,4913,809],{"class":309},[292,4915,4916],{"class":294,"line":1492},[292,4917,1623],{"emptyLinePlaceholder":11},[292,4919,4920,4922,4924,4926],{"class":294,"line":1860},[292,4921,636],{"class":309},[292,4923,4206],{"class":805},[292,4925,4209],{"class":1332},[292,4927,809],{"class":309},[292,4929,4930],{"class":294,"line":1874},[292,4931,4932],{"class":298},"\u002F\u002F Cache automático por 1 hora\n",[292,4934,4935,4937,4939,4941,4943,4945,4947,4950,4952,4954,4957,4959,4961],{"class":294,"line":1880},[292,4936,306],{"class":305},[292,4938,310],{"class":309},[292,4940,314],{"class":313},[292,4942,317],{"class":309},[292,4944,321],{"class":320},[292,4946,325],{"class":324},[292,4948,4949],{"class":328}," useFetch",[292,4951,333],{"class":332},[292,4953,337],{"class":336},[292,4955,4956],{"class":340},"\u002Fapi\u002Fexpensive-data",[292,4958,337],{"class":336},[292,4960,346],{"class":309},[292,4962,621],{"class":309},[292,4964,4965,4968,4970,4972,4975,4977],{"class":294,"line":3441},[292,4966,4967],{"class":490},"  key",[292,4969,279],{"class":309},[292,4971,1770],{"class":336},[292,4973,4974],{"class":340},"expensive-data",[292,4976,337],{"class":336},[292,4978,1778],{"class":309},[292,4980,4981,4984,4986,4988,4990,4992],{"class":294,"line":3475},[292,4982,4983],{"class":328},"  default",[292,4985,279],{"class":309},[292,4987,349],{"class":309},[292,4989,352],{"class":305},[292,4991,647],{"class":655},[292,4993,1778],{"class":309},[292,4995,4996,4999,5001,5004,5006],{"class":294,"line":3507},[292,4997,4998],{"class":490},"  server",[292,5000,279],{"class":309},[292,5002,5003],{"class":2184}," false",[292,5005,346],{"class":309},[292,5007,5008],{"class":298}," \u002F\u002F Client-side apenas\n",[292,5010,5011,5013,5015,5017,5019,5021,5023,5025,5027],{"class":294,"line":3513},[292,5012,1967],{"class":328},[292,5014,279],{"class":309},[292,5016,537],{"class":309},[292,5018,4864],{"class":1631},[292,5020,477],{"class":309},[292,5022,352],{"class":305},[292,5024,314],{"class":332},[292,5026,468],{"class":309},[292,5028,5029],{"class":332},"result\n",[292,5031,5032,5034],{"class":294,"line":3519},[292,5033,2266],{"class":309},[292,5035,518],{"class":332},[292,5037,5038,5040,5042],{"class":294,"line":3525},[292,5039,844],{"class":309},[292,5041,4206],{"class":805},[292,5043,809],{"class":309},[210,5045,5047],{"id":5046},"_5-pwa-e-service-worker-otimizado","📱 5. PWA e Service Worker Otimizado",[233,5049,5051],{"id":5050},"service-worker-inteligente","Service Worker Inteligente",[223,5053,5055],{"className":286,"code":5054,"language":288,"meta":231,"style":231},"\u002F\u002F public\u002Fsw.js\nconst CACHE_NAME = 'nuxt-app-v1'\nconst STATIC_ASSETS = [\n  '\u002F',\n  '\u002Fmanifest.json',\n  '\u002Ffavicon.ico'\n]\n\n\u002F\u002F Cache estratégico\nself.addEventListener('fetch', (event) => {\n  if (event.request.destination === 'image') {\n    event.respondWith(\n      caches.match(event.request).then(response => {\n        return response || fetch(event.request).then(fetchResponse => {\n          return caches.open(CACHE_NAME).then(cache => {\n            cache.put(event.request, fetchResponse.clone())\n            return fetchResponse\n          })\n        })\n      })\n    )\n  }\n})\n",[218,5056,5057,5062,5078,5089,5099,5110,5119,5123,5127,5132,5163,5196,5209,5243,5280,5313,5344,5352,5359,5366,5373,5378,5382],{"__ignoreMap":231},[292,5058,5059],{"class":294,"line":295},[292,5060,5061],{"class":298},"\u002F\u002F public\u002Fsw.js\n",[292,5063,5064,5066,5069,5071,5073,5076],{"class":294,"line":302},[292,5065,306],{"class":305},[292,5067,5068],{"class":313}," CACHE_NAME",[292,5070,321],{"class":320},[292,5072,1770],{"class":336},[292,5074,5075],{"class":340},"nuxt-app-v1",[292,5077,1809],{"class":336},[292,5079,5080,5082,5085,5087],{"class":294,"line":448},[292,5081,306],{"class":305},[292,5083,5084],{"class":313}," STATIC_ASSETS",[292,5086,321],{"class":320},[292,5088,2326],{"class":332},[292,5090,5091,5093,5095,5097],{"class":294,"line":484},[292,5092,1750],{"class":336},[292,5094,4347],{"class":340},[292,5096,337],{"class":336},[292,5098,1778],{"class":309},[292,5100,5101,5103,5106,5108],{"class":294,"line":515},[292,5102,1750],{"class":336},[292,5104,5105],{"class":340},"\u002Fmanifest.json",[292,5107,337],{"class":336},[292,5109,1778],{"class":309},[292,5111,5112,5114,5117],{"class":294,"line":677},[292,5113,1750],{"class":336},[292,5115,5116],{"class":340},"\u002Ffavicon.ico",[292,5118,1809],{"class":336},[292,5120,5121],{"class":294,"line":1444},[292,5122,2261],{"class":332},[292,5124,5125],{"class":294,"line":1454},[292,5126,1623],{"emptyLinePlaceholder":11},[292,5128,5129],{"class":294,"line":1483},[292,5130,5131],{"class":298},"\u002F\u002F Cache estratégico\n",[292,5133,5134,5137,5139,5142,5144,5146,5149,5151,5153,5155,5157,5159,5161],{"class":294,"line":1492},[292,5135,5136],{"class":332},"self",[292,5138,468],{"class":309},[292,5140,5141],{"class":328},"addEventListener",[292,5143,333],{"class":332},[292,5145,337],{"class":336},[292,5147,5148],{"class":340},"fetch",[292,5150,337],{"class":336},[292,5152,346],{"class":309},[292,5154,537],{"class":309},[292,5156,4653],{"class":1631},[292,5158,477],{"class":309},[292,5160,352],{"class":305},[292,5162,621],{"class":309},[292,5164,5165,5168,5170,5172,5174,5177,5179,5182,5184,5186,5189,5191,5194],{"class":294,"line":1860},[292,5166,5167],{"class":324},"  if",[292,5169,537],{"class":490},[292,5171,4653],{"class":332},[292,5173,468],{"class":309},[292,5175,5176],{"class":332},"request",[292,5178,468],{"class":309},[292,5180,5181],{"class":332},"destination",[292,5183,3316],{"class":320},[292,5185,1770],{"class":336},[292,5187,5188],{"class":340},"image",[292,5190,337],{"class":336},[292,5192,5193],{"class":490},") ",[292,5195,2241],{"class":309},[292,5197,5198,5201,5203,5206],{"class":294,"line":1874},[292,5199,5200],{"class":332},"    event",[292,5202,468],{"class":309},[292,5204,5205],{"class":328},"respondWith",[292,5207,5208],{"class":490},"(\n",[292,5210,5211,5214,5216,5219,5221,5223,5225,5227,5229,5231,5234,5236,5239,5241],{"class":294,"line":1880},[292,5212,5213],{"class":332},"      caches",[292,5215,468],{"class":309},[292,5217,5218],{"class":328},"match",[292,5220,333],{"class":490},[292,5222,4653],{"class":332},[292,5224,468],{"class":309},[292,5226,5176],{"class":332},[292,5228,477],{"class":490},[292,5230,468],{"class":309},[292,5232,5233],{"class":328},"then",[292,5235,333],{"class":490},[292,5237,5238],{"class":1631},"response",[292,5240,352],{"class":305},[292,5242,621],{"class":309},[292,5244,5245,5248,5251,5254,5257,5259,5261,5263,5265,5267,5269,5271,5273,5276,5278],{"class":294,"line":3441},[292,5246,5247],{"class":324},"        return",[292,5249,5250],{"class":332}," response",[292,5252,5253],{"class":320}," ||",[292,5255,5256],{"class":328}," fetch",[292,5258,333],{"class":490},[292,5260,4653],{"class":332},[292,5262,468],{"class":309},[292,5264,5176],{"class":332},[292,5266,477],{"class":490},[292,5268,468],{"class":309},[292,5270,5233],{"class":328},[292,5272,333],{"class":490},[292,5274,5275],{"class":1631},"fetchResponse",[292,5277,352],{"class":305},[292,5279,621],{"class":309},[292,5281,5282,5285,5288,5290,5293,5295,5298,5300,5302,5304,5306,5309,5311],{"class":294,"line":3475},[292,5283,5284],{"class":324},"          return",[292,5286,5287],{"class":332}," caches",[292,5289,468],{"class":309},[292,5291,5292],{"class":328},"open",[292,5294,333],{"class":490},[292,5296,5297],{"class":313},"CACHE_NAME",[292,5299,477],{"class":490},[292,5301,468],{"class":309},[292,5303,5233],{"class":328},[292,5305,333],{"class":490},[292,5307,5308],{"class":1631},"cache",[292,5310,352],{"class":305},[292,5312,621],{"class":309},[292,5314,5315,5318,5320,5323,5325,5327,5329,5331,5333,5336,5338,5341],{"class":294,"line":3507},[292,5316,5317],{"class":332},"            cache",[292,5319,468],{"class":309},[292,5321,5322],{"class":328},"put",[292,5324,333],{"class":490},[292,5326,4653],{"class":332},[292,5328,468],{"class":309},[292,5330,5176],{"class":332},[292,5332,346],{"class":309},[292,5334,5335],{"class":332}," fetchResponse",[292,5337,468],{"class":309},[292,5339,5340],{"class":328},"clone",[292,5342,5343],{"class":490},"())\n",[292,5345,5346,5349],{"class":294,"line":3513},[292,5347,5348],{"class":324},"            return",[292,5350,5351],{"class":332}," fetchResponse\n",[292,5353,5354,5357],{"class":294,"line":3519},[292,5355,5356],{"class":309},"          }",[292,5358,518],{"class":490},[292,5360,5361,5364],{"class":294,"line":3525},[292,5362,5363],{"class":309},"        }",[292,5365,518],{"class":490},[292,5367,5368,5371],{"class":294,"line":3530},[292,5369,5370],{"class":309},"      }",[292,5372,518],{"class":490},[292,5374,5375],{"class":294,"line":4178},[292,5376,5377],{"class":490},"    )\n",[292,5379,5380],{"class":294,"line":4187},[292,5381,1877],{"class":309},[292,5383,5384,5386],{"class":294,"line":4196},[292,5385,2266],{"class":309},[292,5387,518],{"class":332},[233,5389,5391],{"id":5390},"resultado-pwa","Resultado PWA",[223,5393,5397],{"className":5394,"code":5395,"language":5396,"meta":231,"style":231},"language-json shiki shiki-themes material-theme-lighter github-light github-dark","\u002F\u002F Lighthouse PWA Score: 95+\n{\n  \"installable\": true,\n  \"offline\": true,\n  \"fast\": true,\n  \"responsive\": true\n}\n","json",[218,5398,5399,5404,5408,5424,5439,5454,5468],{"__ignoreMap":231},[292,5400,5401],{"class":294,"line":295},[292,5402,5403],{"class":298},"\u002F\u002F Lighthouse PWA Score: 95+\n",[292,5405,5406],{"class":294,"line":302},[292,5407,2241],{"class":309},[292,5409,5410,5412,5416,5418,5420,5422],{"class":294,"line":448},[292,5411,2718],{"class":655},[292,5413,5415],{"class":5414},"sseR_","installable",[292,5417,1339],{"class":655},[292,5419,279],{"class":309},[292,5421,4709],{"class":655},[292,5423,1778],{"class":309},[292,5425,5426,5428,5431,5433,5435,5437],{"class":294,"line":484},[292,5427,2718],{"class":655},[292,5429,5430],{"class":5414},"offline",[292,5432,1339],{"class":655},[292,5434,279],{"class":309},[292,5436,4709],{"class":655},[292,5438,1778],{"class":309},[292,5440,5441,5443,5446,5448,5450,5452],{"class":294,"line":515},[292,5442,2718],{"class":655},[292,5444,5445],{"class":5414},"fast",[292,5447,1339],{"class":655},[292,5449,279],{"class":309},[292,5451,4709],{"class":655},[292,5453,1778],{"class":309},[292,5455,5456,5458,5461,5463,5465],{"class":294,"line":677},[292,5457,2718],{"class":655},[292,5459,5460],{"class":5414},"responsive",[292,5462,1339],{"class":655},[292,5464,279],{"class":309},[292,5466,5467],{"class":655}," true\n",[292,5469,5470],{"class":294,"line":1444},[292,5471,680],{"class":309},[210,5473,5475],{"id":5474},"_6-css-e-styling-otimizado","🎨 6. CSS e Styling Otimizado",[233,5477,5479],{"id":5478},"critical-css-inline","Critical CSS Inline",[223,5481,5483],{"className":789,"code":5482,"language":791,"meta":231,"style":231},"\u003C!-- layouts\u002Fdefault.vue -->\n\u003Ctemplate>\n  \u003CHtml>\n    \u003CHead>\n      \u003C!-- Critical CSS inline -->\n      \u003Cstyle v-html=\"criticalCSS\">\u003C\u002Fstyle>\n    \u003C\u002FHead>\n    \u003CBody>\n      \u003CNuxtPage \u002F>\n    \u003C\u002FBody>\n  \u003C\u002FHtml>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup>\n\u002F\u002F Critical CSS para above-the-fold\nconst criticalCSS = `\n  .header { \u002F* estilos críticos *\u002F }\n  .hero { \u002F* estilos críticos *\u002F }\n  .navigation { \u002F* estilos críticos *\u002F }\n`\n\u003C\u002Fscript>\n",[218,5484,5485,5490,5498,5507,5516,5521,5546,5554,5563,5572,5580,5588,5596,5600,5610,5615,5627,5632,5637,5642,5647],{"__ignoreMap":231},[292,5486,5487],{"class":294,"line":295},[292,5488,5489],{"class":298},"\u003C!-- layouts\u002Fdefault.vue -->\n",[292,5491,5492,5494,5496],{"class":294,"line":302},[292,5493,636],{"class":309},[292,5495,806],{"class":805},[292,5497,809],{"class":309},[292,5499,5500,5502,5505],{"class":294,"line":448},[292,5501,814],{"class":309},[292,5503,5504],{"class":805},"Html",[292,5506,809],{"class":309},[292,5508,5509,5511,5514],{"class":294,"line":484},[292,5510,824],{"class":309},[292,5512,5513],{"class":805},"Head",[292,5515,809],{"class":309},[292,5517,5518],{"class":294,"line":515},[292,5519,5520],{"class":298},"      \u003C!-- Critical CSS inline -->\n",[292,5522,5523,5525,5527,5530,5532,5534,5537,5539,5542,5544],{"class":294,"line":677},[292,5524,1383],{"class":309},[292,5526,1127],{"class":805},[292,5528,5529],{"class":1332}," v-html",[292,5531,1336],{"class":309},[292,5533,1339],{"class":336},[292,5535,5536],{"class":340},"criticalCSS",[292,5538,1339],{"class":336},[292,5540,5541],{"class":309},">\u003C\u002F",[292,5543,1127],{"class":805},[292,5545,809],{"class":309},[292,5547,5548,5550,5552],{"class":294,"line":1444},[292,5549,1447],{"class":309},[292,5551,5513],{"class":805},[292,5553,809],{"class":309},[292,5555,5556,5558,5561],{"class":294,"line":1454},[292,5557,824],{"class":309},[292,5559,5560],{"class":805},"Body",[292,5562,809],{"class":309},[292,5564,5565,5567,5570],{"class":294,"line":1483},[292,5566,1383],{"class":309},[292,5568,5569],{"class":805},"NuxtPage",[292,5571,830],{"class":309},[292,5573,5574,5576,5578],{"class":294,"line":1492},[292,5575,1447],{"class":309},[292,5577,5560],{"class":805},[292,5579,809],{"class":309},[292,5581,5582,5584,5586],{"class":294,"line":1860},[292,5583,835],{"class":309},[292,5585,5504],{"class":805},[292,5587,809],{"class":309},[292,5589,5590,5592,5594],{"class":294,"line":1874},[292,5591,844],{"class":309},[292,5593,806],{"class":805},[292,5595,809],{"class":309},[292,5597,5598],{"class":294,"line":1880},[292,5599,1623],{"emptyLinePlaceholder":11},[292,5601,5602,5604,5606,5608],{"class":294,"line":3441},[292,5603,636],{"class":309},[292,5605,4206],{"class":805},[292,5607,4209],{"class":1332},[292,5609,809],{"class":309},[292,5611,5612],{"class":294,"line":3475},[292,5613,5614],{"class":298},"\u002F\u002F Critical CSS para above-the-fold\n",[292,5616,5617,5619,5622,5624],{"class":294,"line":3507},[292,5618,306],{"class":305},[292,5620,5621],{"class":313}," criticalCSS",[292,5623,321],{"class":320},[292,5625,5626],{"class":336}," `\n",[292,5628,5629],{"class":294,"line":3513},[292,5630,5631],{"class":340},"  .header { \u002F* estilos críticos *\u002F }\n",[292,5633,5634],{"class":294,"line":3519},[292,5635,5636],{"class":340},"  .hero { \u002F* estilos críticos *\u002F }\n",[292,5638,5639],{"class":294,"line":3525},[292,5640,5641],{"class":340},"  .navigation { \u002F* estilos críticos *\u002F }\n",[292,5643,5644],{"class":294,"line":3530},[292,5645,5646],{"class":336},"`\n",[292,5648,5649,5651,5653],{"class":294,"line":4178},[292,5650,844],{"class":309},[292,5652,4206],{"class":805},[292,5654,809],{"class":309},[233,5656,5658],{"id":5657},"css-purging-inteligente","CSS Purging Inteligente",[223,5660,5662],{"className":286,"code":5661,"language":288,"meta":231,"style":231},"\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n  css: ['~\u002Fassets\u002Fcss\u002Fmain.css'],\n  \n  postcss: {\n    plugins: {\n      tailwindcss: {},\n      autoprefixer: {},\n      cssnano: {\n        preset: ['default', {\n          discardComments: { removeAll: true },\n          normalizeWhitespace: true\n        }]\n      }\n    }\n  }\n})\n",[218,5663,5664,5668,5680,5700,5704,5713,5722,5732,5741,5750,5769,5788,5797,5803,5807,5811,5815],{"__ignoreMap":231},[292,5665,5666],{"class":294,"line":295},[292,5667,2226],{"class":298},[292,5669,5670,5672,5674,5676,5678],{"class":294,"line":302},[292,5671,605],{"class":324},[292,5673,2233],{"class":324},[292,5675,2236],{"class":328},[292,5677,333],{"class":332},[292,5679,2241],{"class":309},[292,5681,5682,5685,5687,5689,5691,5694,5696,5698],{"class":294,"line":448},[292,5683,5684],{"class":490},"  css",[292,5686,279],{"class":309},[292,5688,2251],{"class":332},[292,5690,337],{"class":336},[292,5692,5693],{"class":340},"~\u002Fassets\u002Fcss\u002Fmain.css",[292,5695,337],{"class":336},[292,5697,3404],{"class":332},[292,5699,1778],{"class":309},[292,5701,5702],{"class":294,"line":484},[292,5703,3331],{"class":332},[292,5705,5706,5709,5711],{"class":294,"line":515},[292,5707,5708],{"class":490},"  postcss",[292,5710,279],{"class":309},[292,5712,621],{"class":309},[292,5714,5715,5718,5720],{"class":294,"line":677},[292,5716,5717],{"class":490},"    plugins",[292,5719,279],{"class":309},[292,5721,621],{"class":309},[292,5723,5724,5727,5729],{"class":294,"line":1444},[292,5725,5726],{"class":490},"      tailwindcss",[292,5728,279],{"class":309},[292,5730,5731],{"class":309}," {},\n",[292,5733,5734,5737,5739],{"class":294,"line":1454},[292,5735,5736],{"class":490},"      autoprefixer",[292,5738,279],{"class":309},[292,5740,5731],{"class":309},[292,5742,5743,5746,5748],{"class":294,"line":1483},[292,5744,5745],{"class":490},"      cssnano",[292,5747,279],{"class":309},[292,5749,621],{"class":309},[292,5751,5752,5755,5757,5759,5761,5763,5765,5767],{"class":294,"line":1492},[292,5753,5754],{"class":490},"        preset",[292,5756,279],{"class":309},[292,5758,2251],{"class":332},[292,5760,337],{"class":336},[292,5762,3848],{"class":340},[292,5764,337],{"class":336},[292,5766,346],{"class":309},[292,5768,621],{"class":309},[292,5770,5771,5774,5776,5778,5781,5783,5785],{"class":294,"line":1860},[292,5772,5773],{"class":490},"          discardComments",[292,5775,279],{"class":309},[292,5777,310],{"class":309},[292,5779,5780],{"class":490}," removeAll",[292,5782,279],{"class":309},[292,5784,4709],{"class":2184},[292,5786,5787],{"class":309}," },\n",[292,5789,5790,5793,5795],{"class":294,"line":1874},[292,5791,5792],{"class":490},"          normalizeWhitespace",[292,5794,279],{"class":309},[292,5796,5467],{"class":2184},[292,5798,5799,5801],{"class":294,"line":1880},[292,5800,5363],{"class":309},[292,5802,2261],{"class":332},[292,5804,5805],{"class":294,"line":3441},[292,5806,3516],{"class":309},[292,5808,5809],{"class":294,"line":3475},[292,5810,3522],{"class":309},[292,5812,5813],{"class":294,"line":3507},[292,5814,1877],{"class":309},[292,5816,5817,5819],{"class":294,"line":3513},[292,5818,2266],{"class":309},[292,5820,518],{"class":332},[210,5822,5824],{"id":5823},"_7-monitoring-e-analytics","🔍 7. Monitoring e Analytics",[233,5826,5828],{"id":5827},"web-vitals-tracking","Web Vitals Tracking",[223,5830,5832],{"className":286,"code":5831,"language":288,"meta":231,"style":231},"\u002F\u002F plugins\u002Fweb-vitals.client.ts\nexport default defineNuxtPlugin(() => {\n  if (process.client) {\n    import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n      getCLS(console.log)\n      getFID(console.log)\n      getFCP(console.log)\n      getLCP(console.log)\n      getTTFB(console.log)\n    })\n  }\n})\n",[218,5833,5834,5839,5856,5874,5929,5946,5961,5976,5991,6006,6013,6017],{"__ignoreMap":231},[292,5835,5836],{"class":294,"line":295},[292,5837,5838],{"class":298},"\u002F\u002F plugins\u002Fweb-vitals.client.ts\n",[292,5840,5841,5843,5845,5848,5850,5852,5854],{"class":294,"line":302},[292,5842,605],{"class":324},[292,5844,2233],{"class":324},[292,5846,5847],{"class":328}," defineNuxtPlugin",[292,5849,333],{"class":332},[292,5851,4313],{"class":309},[292,5853,352],{"class":305},[292,5855,621],{"class":309},[292,5857,5858,5860,5862,5865,5867,5870,5872],{"class":294,"line":448},[292,5859,5167],{"class":324},[292,5861,537],{"class":490},[292,5863,5864],{"class":332},"process",[292,5866,468],{"class":309},[292,5868,5869],{"class":332},"client",[292,5871,5193],{"class":490},[292,5873,2241],{"class":309},[292,5875,5876,5879,5881,5883,5886,5888,5890,5892,5894,5896,5899,5902,5904,5907,5909,5912,5914,5917,5919,5922,5925,5927],{"class":294,"line":484},[292,5877,5878],{"class":320},"    import",[292,5880,333],{"class":490},[292,5882,337],{"class":336},[292,5884,5885],{"class":340},"web-vitals",[292,5887,337],{"class":336},[292,5889,477],{"class":490},[292,5891,468],{"class":309},[292,5893,5233],{"class":328},[292,5895,333],{"class":490},[292,5897,5898],{"class":309},"({",[292,5900,5901],{"class":1631}," getCLS",[292,5903,346],{"class":309},[292,5905,5906],{"class":1631}," getFID",[292,5908,346],{"class":309},[292,5910,5911],{"class":1631}," getFCP",[292,5913,346],{"class":309},[292,5915,5916],{"class":1631}," getLCP",[292,5918,346],{"class":309},[292,5920,5921],{"class":1631}," getTTFB",[292,5923,5924],{"class":309}," })",[292,5926,352],{"class":305},[292,5928,621],{"class":309},[292,5930,5931,5934,5936,5939,5941,5944],{"class":294,"line":515},[292,5932,5933],{"class":328},"      getCLS",[292,5935,333],{"class":490},[292,5937,5938],{"class":332},"console",[292,5940,468],{"class":309},[292,5942,5943],{"class":332},"log",[292,5945,518],{"class":490},[292,5947,5948,5951,5953,5955,5957,5959],{"class":294,"line":677},[292,5949,5950],{"class":328},"      getFID",[292,5952,333],{"class":490},[292,5954,5938],{"class":332},[292,5956,468],{"class":309},[292,5958,5943],{"class":332},[292,5960,518],{"class":490},[292,5962,5963,5966,5968,5970,5972,5974],{"class":294,"line":1444},[292,5964,5965],{"class":328},"      getFCP",[292,5967,333],{"class":490},[292,5969,5938],{"class":332},[292,5971,468],{"class":309},[292,5973,5943],{"class":332},[292,5975,518],{"class":490},[292,5977,5978,5981,5983,5985,5987,5989],{"class":294,"line":1454},[292,5979,5980],{"class":328},"      getLCP",[292,5982,333],{"class":490},[292,5984,5938],{"class":332},[292,5986,468],{"class":309},[292,5988,5943],{"class":332},[292,5990,518],{"class":490},[292,5992,5993,5996,5998,6000,6002,6004],{"class":294,"line":1483},[292,5994,5995],{"class":328},"      getTTFB",[292,5997,333],{"class":490},[292,5999,5938],{"class":332},[292,6001,468],{"class":309},[292,6003,5943],{"class":332},[292,6005,518],{"class":490},[292,6007,6008,6011],{"class":294,"line":1492},[292,6009,6010],{"class":309},"    }",[292,6012,518],{"class":490},[292,6014,6015],{"class":294,"line":1860},[292,6016,1877],{"class":309},[292,6018,6019,6021],{"class":294,"line":1874},[292,6020,2266],{"class":309},[292,6022,518],{"class":332},[233,6024,6026],{"id":6025},"performance-budget","Performance Budget",[223,6028,6030],{"className":286,"code":6029,"language":288,"meta":231,"style":231},"\u002F\u002F nuxt.config.ts\nexport default defineNuxtConfig({\n  nitro: {\n    experimental: {\n      wasm: true\n    }\n  },\n  \n  \u002F\u002F Performance budget\n  build: {\n    analyze: {\n      analyzerMode: 'static',\n      openAnalyzer: false,\n      generateStatsFile: true\n    }\n  }\n})\n",[218,6031,6032,6036,6048,6056,6065,6074,6078,6082,6086,6091,6099,6107,6123,6134,6143,6147,6151],{"__ignoreMap":231},[292,6033,6034],{"class":294,"line":295},[292,6035,2226],{"class":298},[292,6037,6038,6040,6042,6044,6046],{"class":294,"line":302},[292,6039,605],{"class":324},[292,6041,2233],{"class":324},[292,6043,2236],{"class":328},[292,6045,333],{"class":332},[292,6047,2241],{"class":309},[292,6049,6050,6052,6054],{"class":294,"line":448},[292,6051,3336],{"class":490},[292,6053,279],{"class":309},[292,6055,621],{"class":309},[292,6057,6058,6061,6063],{"class":294,"line":484},[292,6059,6060],{"class":490},"    experimental",[292,6062,279],{"class":309},[292,6064,621],{"class":309},[292,6066,6067,6070,6072],{"class":294,"line":515},[292,6068,6069],{"class":490},"      wasm",[292,6071,279],{"class":309},[292,6073,5467],{"class":2184},[292,6075,6076],{"class":294,"line":677},[292,6077,3522],{"class":309},[292,6079,6080],{"class":294,"line":1444},[292,6081,1814],{"class":309},[292,6083,6084],{"class":294,"line":1454},[292,6085,3331],{"class":332},[292,6087,6088],{"class":294,"line":1483},[292,6089,6090],{"class":298},"  \u002F\u002F Performance budget\n",[292,6092,6093,6095,6097],{"class":294,"line":1492},[292,6094,3289],{"class":490},[292,6096,279],{"class":309},[292,6098,621],{"class":309},[292,6100,6101,6103,6105],{"class":294,"line":1860},[292,6102,3298],{"class":490},[292,6104,279],{"class":309},[292,6106,621],{"class":309},[292,6108,6109,6112,6114,6116,6119,6121],{"class":294,"line":1874},[292,6110,6111],{"class":490},"      analyzerMode",[292,6113,279],{"class":309},[292,6115,1770],{"class":336},[292,6117,6118],{"class":340},"static",[292,6120,337],{"class":336},[292,6122,1778],{"class":309},[292,6124,6125,6128,6130,6132],{"class":294,"line":1880},[292,6126,6127],{"class":490},"      openAnalyzer",[292,6129,279],{"class":309},[292,6131,5003],{"class":2184},[292,6133,1778],{"class":309},[292,6135,6136,6139,6141],{"class":294,"line":3441},[292,6137,6138],{"class":490},"      generateStatsFile",[292,6140,279],{"class":309},[292,6142,5467],{"class":2184},[292,6144,6145],{"class":294,"line":3475},[292,6146,3522],{"class":309},[292,6148,6149],{"class":294,"line":3507},[292,6150,1877],{"class":309},[292,6152,6153,6155],{"class":294,"line":3513},[292,6154,2266],{"class":309},[292,6156,518],{"class":332},[210,6158,6160],{"id":6159},"_8-resultados-mensuráveis","📈 8. Resultados Mensuráveis",[233,6162,6164],{"id":6163},"lighthouse-scores","Lighthouse Scores",[223,6166,6168],{"className":286,"code":6167,"language":288,"meta":231,"style":231},"const lighthouseResults = {\n  performance: {\n    before: 72,\n    after: 94,\n    improvement: '+22 pontos'\n  },\n  accessibility: {\n    before: 85,\n    after: 98,\n    improvement: '+13 pontos'\n  },\n  bestPractices: {\n    before: 78,\n    after: 95,\n    improvement: '+17 pontos'\n  },\n  seo: {\n    before: 88,\n    after: 100,\n    improvement: '+12 pontos'\n  }\n}\n",[218,6169,6170,6181,6190,6202,6214,6228,6232,6241,6252,6263,6276,6280,6289,6300,6311,6324,6328,6337,6348,6359,6372,6376],{"__ignoreMap":231},[292,6171,6172,6174,6177,6179],{"class":294,"line":295},[292,6173,306],{"class":305},[292,6175,6176],{"class":313}," lighthouseResults",[292,6178,321],{"class":320},[292,6180,621],{"class":309},[292,6182,6183,6186,6188],{"class":294,"line":302},[292,6184,6185],{"class":490},"  performance",[292,6187,279],{"class":309},[292,6189,621],{"class":309},[292,6191,6192,6195,6197,6200],{"class":294,"line":448},[292,6193,6194],{"class":490},"    before",[292,6196,279],{"class":309},[292,6198,6199],{"class":1548}," 72",[292,6201,1778],{"class":309},[292,6203,6204,6207,6209,6212],{"class":294,"line":484},[292,6205,6206],{"class":490},"    after",[292,6208,279],{"class":309},[292,6210,6211],{"class":1548}," 94",[292,6213,1778],{"class":309},[292,6215,6216,6219,6221,6223,6226],{"class":294,"line":515},[292,6217,6218],{"class":490},"    improvement",[292,6220,279],{"class":309},[292,6222,1770],{"class":336},[292,6224,6225],{"class":340},"+22 pontos",[292,6227,1809],{"class":336},[292,6229,6230],{"class":294,"line":677},[292,6231,1814],{"class":309},[292,6233,6234,6237,6239],{"class":294,"line":1444},[292,6235,6236],{"class":490},"  accessibility",[292,6238,279],{"class":309},[292,6240,621],{"class":309},[292,6242,6243,6245,6247,6250],{"class":294,"line":1454},[292,6244,6194],{"class":490},[292,6246,279],{"class":309},[292,6248,6249],{"class":1548}," 85",[292,6251,1778],{"class":309},[292,6253,6254,6256,6258,6261],{"class":294,"line":1483},[292,6255,6206],{"class":490},[292,6257,279],{"class":309},[292,6259,6260],{"class":1548}," 98",[292,6262,1778],{"class":309},[292,6264,6265,6267,6269,6271,6274],{"class":294,"line":1492},[292,6266,6218],{"class":490},[292,6268,279],{"class":309},[292,6270,1770],{"class":336},[292,6272,6273],{"class":340},"+13 pontos",[292,6275,1809],{"class":336},[292,6277,6278],{"class":294,"line":1860},[292,6279,1814],{"class":309},[292,6281,6282,6285,6287],{"class":294,"line":1874},[292,6283,6284],{"class":490},"  bestPractices",[292,6286,279],{"class":309},[292,6288,621],{"class":309},[292,6290,6291,6293,6295,6298],{"class":294,"line":1880},[292,6292,6194],{"class":490},[292,6294,279],{"class":309},[292,6296,6297],{"class":1548}," 78",[292,6299,1778],{"class":309},[292,6301,6302,6304,6306,6309],{"class":294,"line":3441},[292,6303,6206],{"class":490},[292,6305,279],{"class":309},[292,6307,6308],{"class":1548}," 95",[292,6310,1778],{"class":309},[292,6312,6313,6315,6317,6319,6322],{"class":294,"line":3475},[292,6314,6218],{"class":490},[292,6316,279],{"class":309},[292,6318,1770],{"class":336},[292,6320,6321],{"class":340},"+17 pontos",[292,6323,1809],{"class":336},[292,6325,6326],{"class":294,"line":3507},[292,6327,1814],{"class":309},[292,6329,6330,6333,6335],{"class":294,"line":3513},[292,6331,6332],{"class":490},"  seo",[292,6334,279],{"class":309},[292,6336,621],{"class":309},[292,6338,6339,6341,6343,6346],{"class":294,"line":3519},[292,6340,6194],{"class":490},[292,6342,279],{"class":309},[292,6344,6345],{"class":1548}," 88",[292,6347,1778],{"class":309},[292,6349,6350,6352,6354,6357],{"class":294,"line":3525},[292,6351,6206],{"class":490},[292,6353,279],{"class":309},[292,6355,6356],{"class":1548}," 100",[292,6358,1778],{"class":309},[292,6360,6361,6363,6365,6367,6370],{"class":294,"line":3530},[292,6362,6218],{"class":490},[292,6364,279],{"class":309},[292,6366,1770],{"class":336},[292,6368,6369],{"class":340},"+12 pontos",[292,6371,1809],{"class":336},[292,6373,6374],{"class":294,"line":4178},[292,6375,1877],{"class":309},[292,6377,6378],{"class":294,"line":4187},[292,6379,680],{"class":309},[233,6381,6383],{"id":6382},"core-web-vitals","Core Web Vitals",[223,6385,6387],{"className":286,"code":6386,"language":288,"meta":231,"style":231},"const coreWebVitals = {\n  LCP: {\n    before: '3.8s',\n    after: '2.1s',\n    improvement: '-45%'\n  },\n  FID: {\n    before: '120ms',\n    after: '45ms',\n    improvement: '-63%'\n  },\n  CLS: {\n    before: '0.15',\n    after: '0.02',\n    improvement: '-87%'\n  }\n}\n",[218,6388,6389,6400,6409,6424,6439,6452,6456,6465,6480,6495,6508,6512,6521,6535,6550,6563,6567],{"__ignoreMap":231},[292,6390,6391,6393,6396,6398],{"class":294,"line":295},[292,6392,306],{"class":305},[292,6394,6395],{"class":313}," coreWebVitals",[292,6397,321],{"class":320},[292,6399,621],{"class":309},[292,6401,6402,6405,6407],{"class":294,"line":302},[292,6403,6404],{"class":490},"  LCP",[292,6406,279],{"class":309},[292,6408,621],{"class":309},[292,6410,6411,6413,6415,6417,6420,6422],{"class":294,"line":448},[292,6412,6194],{"class":490},[292,6414,279],{"class":309},[292,6416,1770],{"class":336},[292,6418,6419],{"class":340},"3.8s",[292,6421,337],{"class":336},[292,6423,1778],{"class":309},[292,6425,6426,6428,6430,6432,6435,6437],{"class":294,"line":484},[292,6427,6206],{"class":490},[292,6429,279],{"class":309},[292,6431,1770],{"class":336},[292,6433,6434],{"class":340},"2.1s",[292,6436,337],{"class":336},[292,6438,1778],{"class":309},[292,6440,6441,6443,6445,6447,6450],{"class":294,"line":515},[292,6442,6218],{"class":490},[292,6444,279],{"class":309},[292,6446,1770],{"class":336},[292,6448,6449],{"class":340},"-45%",[292,6451,1809],{"class":336},[292,6453,6454],{"class":294,"line":677},[292,6455,1814],{"class":309},[292,6457,6458,6461,6463],{"class":294,"line":1444},[292,6459,6460],{"class":490},"  FID",[292,6462,279],{"class":309},[292,6464,621],{"class":309},[292,6466,6467,6469,6471,6473,6476,6478],{"class":294,"line":1454},[292,6468,6194],{"class":490},[292,6470,279],{"class":309},[292,6472,1770],{"class":336},[292,6474,6475],{"class":340},"120ms",[292,6477,337],{"class":336},[292,6479,1778],{"class":309},[292,6481,6482,6484,6486,6488,6491,6493],{"class":294,"line":1483},[292,6483,6206],{"class":490},[292,6485,279],{"class":309},[292,6487,1770],{"class":336},[292,6489,6490],{"class":340},"45ms",[292,6492,337],{"class":336},[292,6494,1778],{"class":309},[292,6496,6497,6499,6501,6503,6506],{"class":294,"line":1492},[292,6498,6218],{"class":490},[292,6500,279],{"class":309},[292,6502,1770],{"class":336},[292,6504,6505],{"class":340},"-63%",[292,6507,1809],{"class":336},[292,6509,6510],{"class":294,"line":1860},[292,6511,1814],{"class":309},[292,6513,6514,6517,6519],{"class":294,"line":1874},[292,6515,6516],{"class":490},"  CLS",[292,6518,279],{"class":309},[292,6520,621],{"class":309},[292,6522,6523,6525,6527,6529,6531,6533],{"class":294,"line":1880},[292,6524,6194],{"class":490},[292,6526,279],{"class":309},[292,6528,1770],{"class":336},[292,6530,2034],{"class":340},[292,6532,337],{"class":336},[292,6534,1778],{"class":309},[292,6536,6537,6539,6541,6543,6546,6548],{"class":294,"line":3441},[292,6538,6206],{"class":490},[292,6540,279],{"class":309},[292,6542,1770],{"class":336},[292,6544,6545],{"class":340},"0.02",[292,6547,337],{"class":336},[292,6549,1778],{"class":309},[292,6551,6552,6554,6556,6558,6561],{"class":294,"line":3475},[292,6553,6218],{"class":490},[292,6555,279],{"class":309},[292,6557,1770],{"class":336},[292,6559,6560],{"class":340},"-87%",[292,6562,1809],{"class":336},[292,6564,6565],{"class":294,"line":3507},[292,6566,1877],{"class":309},[292,6568,6569],{"class":294,"line":3513},[292,6570,680],{"class":309},[210,6572,6574],{"id":6573},"️-9-ferramentas-de-monitoramento","🛠️ 9. Ferramentas de Monitoramento",[233,6576,6578],{"id":6577},"bundle-analyzer","Bundle Analyzer",[223,6580,6582],{"className":899,"code":6581,"language":901,"meta":231,"style":231},"# Análise detalhada do bundle\nnpm run build:analyze\n\n# Resultado: gráfico interativo mostrando:\n# - Tamanho de cada chunk\n# - Dependências duplicadas\n# - Oportunidades de otimização\n",[218,6583,6584,6589,6600,6604,6609,6614,6619],{"__ignoreMap":231},[292,6585,6586],{"class":294,"line":295},[292,6587,6588],{"class":298},"# Análise detalhada do bundle\n",[292,6590,6591,6594,6597],{"class":294,"line":302},[292,6592,6593],{"class":639},"npm",[292,6595,6596],{"class":340}," run",[292,6598,6599],{"class":340}," build:analyze\n",[292,6601,6602],{"class":294,"line":448},[292,6603,1623],{"emptyLinePlaceholder":11},[292,6605,6606],{"class":294,"line":484},[292,6607,6608],{"class":298},"# Resultado: gráfico interativo mostrando:\n",[292,6610,6611],{"class":294,"line":515},[292,6612,6613],{"class":298},"# - Tamanho de cada chunk\n",[292,6615,6616],{"class":294,"line":677},[292,6617,6618],{"class":298},"# - Dependências duplicadas\n",[292,6620,6621],{"class":294,"line":1444},[292,6622,6623],{"class":298},"# - Oportunidades de otimização\n",[233,6625,6627],{"id":6626},"performance-monitoring","Performance Monitoring",[223,6629,6631],{"className":286,"code":6630,"language":288,"meta":231,"style":231},"\u002F\u002F utils\u002Fperformance.ts\nexport const measurePerformance = (name: string, fn: () => void) => {\n  const start = performance.now()\n  fn()\n  const end = performance.now()\n  \n  console.log(`${name}: ${end - start}ms`)\n  \n  \u002F\u002F Enviar para analytics\n  if (process.client) {\n    gtag('event', 'performance', {\n      event_category: 'timing',\n      event_label: name,\n      value: Math.round(end - start)\n    })\n  }\n}\n",[218,6632,6633,6638,6679,6697,6704,6721,6725,6765,6769,6774,6790,6815,6831,6843,6868,6874,6878],{"__ignoreMap":231},[292,6634,6635],{"class":294,"line":295},[292,6636,6637],{"class":298},"\u002F\u002F utils\u002Fperformance.ts\n",[292,6639,6640,6642,6644,6647,6649,6651,6654,6656,6659,6661,6664,6666,6668,6670,6673,6675,6677],{"class":294,"line":302},[292,6641,605],{"class":324},[292,6643,608],{"class":305},[292,6645,6646],{"class":611}," measurePerformance",[292,6648,321],{"class":320},[292,6650,537],{"class":309},[292,6652,6653],{"class":1631},"name",[292,6655,279],{"class":320},[292,6657,6658],{"class":646}," string",[292,6660,346],{"class":309},[292,6662,6663],{"class":328}," fn",[292,6665,279],{"class":320},[292,6667,349],{"class":309},[292,6669,352],{"class":305},[292,6671,6672],{"class":646}," void",[292,6674,477],{"class":309},[292,6676,352],{"class":305},[292,6678,621],{"class":309},[292,6680,6681,6683,6686,6688,6691,6693,6695],{"class":294,"line":448},[292,6682,626],{"class":305},[292,6684,6685],{"class":313}," start",[292,6687,321],{"class":320},[292,6689,6690],{"class":332}," performance",[292,6692,468],{"class":309},[292,6694,4726],{"class":328},[292,6696,4729],{"class":490},[292,6698,6699,6702],{"class":294,"line":484},[292,6700,6701],{"class":328},"  fn",[292,6703,4729],{"class":490},[292,6705,6706,6708,6711,6713,6715,6717,6719],{"class":294,"line":515},[292,6707,626],{"class":305},[292,6709,6710],{"class":313}," end",[292,6712,321],{"class":320},[292,6714,6690],{"class":332},[292,6716,468],{"class":309},[292,6718,4726],{"class":328},[292,6720,4729],{"class":490},[292,6722,6723],{"class":294,"line":677},[292,6724,3331],{"class":490},[292,6726,6727,6730,6732,6734,6736,6739,6741,6743,6746,6748,6751,6754,6756,6758,6761,6763],{"class":294,"line":1444},[292,6728,6729],{"class":332},"  console",[292,6731,468],{"class":309},[292,6733,5943],{"class":328},[292,6735,333],{"class":490},[292,6737,6738],{"class":336},"`${",[292,6740,6653],{"class":332},[292,6742,2266],{"class":336},[292,6744,6745],{"class":340},": ",[292,6747,462],{"class":336},[292,6749,6750],{"class":332},"end",[292,6752,6753],{"class":320}," -",[292,6755,6685],{"class":332},[292,6757,2266],{"class":336},[292,6759,6760],{"class":340},"ms",[292,6762,456],{"class":336},[292,6764,518],{"class":490},[292,6766,6767],{"class":294,"line":1454},[292,6768,3331],{"class":490},[292,6770,6771],{"class":294,"line":1483},[292,6772,6773],{"class":298},"  \u002F\u002F Enviar para analytics\n",[292,6775,6776,6778,6780,6782,6784,6786,6788],{"class":294,"line":1492},[292,6777,5167],{"class":324},[292,6779,537],{"class":490},[292,6781,5864],{"class":332},[292,6783,468],{"class":309},[292,6785,5869],{"class":332},[292,6787,5193],{"class":490},[292,6789,2241],{"class":309},[292,6791,6792,6795,6797,6799,6801,6803,6805,6807,6809,6811,6813],{"class":294,"line":1860},[292,6793,6794],{"class":328},"    gtag",[292,6796,333],{"class":490},[292,6798,337],{"class":336},[292,6800,4653],{"class":340},[292,6802,337],{"class":336},[292,6804,346],{"class":309},[292,6806,1770],{"class":336},[292,6808,1184],{"class":340},[292,6810,337],{"class":336},[292,6812,346],{"class":309},[292,6814,621],{"class":309},[292,6816,6817,6820,6822,6824,6827,6829],{"class":294,"line":1874},[292,6818,6819],{"class":490},"      event_category",[292,6821,279],{"class":309},[292,6823,1770],{"class":336},[292,6825,6826],{"class":340},"timing",[292,6828,337],{"class":336},[292,6830,1778],{"class":309},[292,6832,6833,6836,6838,6841],{"class":294,"line":1880},[292,6834,6835],{"class":490},"      event_label",[292,6837,279],{"class":309},[292,6839,6840],{"class":332}," name",[292,6842,1778],{"class":309},[292,6844,6845,6848,6850,6853,6855,6858,6860,6862,6864,6866],{"class":294,"line":3441},[292,6846,6847],{"class":490},"      value",[292,6849,279],{"class":309},[292,6851,6852],{"class":332}," Math",[292,6854,468],{"class":309},[292,6856,6857],{"class":328},"round",[292,6859,333],{"class":490},[292,6861,6750],{"class":332},[292,6863,6753],{"class":320},[292,6865,6685],{"class":332},[292,6867,518],{"class":490},[292,6869,6870,6872],{"class":294,"line":3475},[292,6871,6010],{"class":309},[292,6873,518],{"class":490},[292,6875,6876],{"class":294,"line":3507},[292,6877,1877],{"class":309},[292,6879,6880],{"class":294,"line":3513},[292,6881,680],{"class":309},[210,6883,6885],{"id":6884},"_10-checklist-de-otimização","🎯 10. Checklist de Otimização",[233,6887,6889],{"id":6888},"checklist-completo","✅ Checklist Completo",[223,6891,6893],{"className":2991,"code":6892,"language":2993,"meta":231,"style":231},"## Bundle Optimization\n- [ ] Code splitting implementado\n- [ ] Tree shaking ativo\n- [ ] Bundle analyzer configurado\n- [ ] Dependências duplicadas removidas\n\n## Image Optimization  \n- [ ] WebP\u002FAVIF implementado\n- [ ] Lazy loading ativo\n- [ ] Responsive images\n- [ ] Sizes otimizados\n\n## Caching Strategy\n- [ ] Service Worker configurado\n- [ ] Cache headers otimizados\n- [ ] CDN configurado\n- [ ] Cache invalidation\n\n## Performance Monitoring\n- [ ] Web Vitals tracking\n- [ ] Performance budget\n- [ ] Real User Monitoring\n- [ ] Lighthouse CI\n",[218,6894,6895,6900,6905,6910,6915,6920,6924,6929,6934,6939,6944,6949,6953,6958,6963,6968,6973,6978,6982,6987,6992,6997,7002],{"__ignoreMap":231},[292,6896,6897],{"class":294,"line":295},[292,6898,6899],{},"## Bundle Optimization\n",[292,6901,6902],{"class":294,"line":302},[292,6903,6904],{},"- [ ] Code splitting implementado\n",[292,6906,6907],{"class":294,"line":448},[292,6908,6909],{},"- [ ] Tree shaking ativo\n",[292,6911,6912],{"class":294,"line":484},[292,6913,6914],{},"- [ ] Bundle analyzer configurado\n",[292,6916,6917],{"class":294,"line":515},[292,6918,6919],{},"- [ ] Dependências duplicadas removidas\n",[292,6921,6922],{"class":294,"line":677},[292,6923,1623],{"emptyLinePlaceholder":11},[292,6925,6926],{"class":294,"line":1444},[292,6927,6928],{},"## Image Optimization  \n",[292,6930,6931],{"class":294,"line":1454},[292,6932,6933],{},"- [ ] WebP\u002FAVIF implementado\n",[292,6935,6936],{"class":294,"line":1483},[292,6937,6938],{},"- [ ] Lazy loading ativo\n",[292,6940,6941],{"class":294,"line":1492},[292,6942,6943],{},"- [ ] Responsive images\n",[292,6945,6946],{"class":294,"line":1860},[292,6947,6948],{},"- [ ] Sizes otimizados\n",[292,6950,6951],{"class":294,"line":1874},[292,6952,1623],{"emptyLinePlaceholder":11},[292,6954,6955],{"class":294,"line":1880},[292,6956,6957],{},"## Caching Strategy\n",[292,6959,6960],{"class":294,"line":3441},[292,6961,6962],{},"- [ ] Service Worker configurado\n",[292,6964,6965],{"class":294,"line":3475},[292,6966,6967],{},"- [ ] Cache headers otimizados\n",[292,6969,6970],{"class":294,"line":3507},[292,6971,6972],{},"- [ ] CDN configurado\n",[292,6974,6975],{"class":294,"line":3513},[292,6976,6977],{},"- [ ] Cache invalidation\n",[292,6979,6980],{"class":294,"line":3519},[292,6981,1623],{"emptyLinePlaceholder":11},[292,6983,6984],{"class":294,"line":3525},[292,6985,6986],{},"## Performance Monitoring\n",[292,6988,6989],{"class":294,"line":3530},[292,6990,6991],{},"- [ ] Web Vitals tracking\n",[292,6993,6994],{"class":294,"line":4178},[292,6995,6996],{},"- [ ] Performance budget\n",[292,6998,6999],{"class":294,"line":4187},[292,7000,7001],{},"- [ ] Real User Monitoring\n",[292,7003,7004],{"class":294,"line":4196},[292,7005,7006],{},"- [ ] Lighthouse CI\n",[210,7008,7010],{"id":7009},"implementação-prática","🚀 Implementação Prática",[233,7012,7014],{"id":7013},"passo-a-passo","Passo a Passo",[223,7016,7018],{"className":899,"code":7017,"language":901,"meta":231,"style":231},"# 1. Análise inicial\nnpm run build:analyze\n\n# 2. Implementar otimizações\n# (seguir checklist acima)\n\n# 3. Medir resultados\nnpm run lighthouse\n\n# 4. Monitorar em produção\n# (configurar analytics)\n",[218,7019,7020,7025,7033,7037,7042,7047,7051,7056,7065,7069,7074],{"__ignoreMap":231},[292,7021,7022],{"class":294,"line":295},[292,7023,7024],{"class":298},"# 1. Análise inicial\n",[292,7026,7027,7029,7031],{"class":294,"line":302},[292,7028,6593],{"class":639},[292,7030,6596],{"class":340},[292,7032,6599],{"class":340},[292,7034,7035],{"class":294,"line":448},[292,7036,1623],{"emptyLinePlaceholder":11},[292,7038,7039],{"class":294,"line":484},[292,7040,7041],{"class":298},"# 2. Implementar otimizações\n",[292,7043,7044],{"class":294,"line":515},[292,7045,7046],{"class":298},"# (seguir checklist acima)\n",[292,7048,7049],{"class":294,"line":677},[292,7050,1623],{"emptyLinePlaceholder":11},[292,7052,7053],{"class":294,"line":1444},[292,7054,7055],{"class":298},"# 3. Medir resultados\n",[292,7057,7058,7060,7062],{"class":294,"line":1454},[292,7059,6593],{"class":639},[292,7061,6596],{"class":340},[292,7063,7064],{"class":340}," lighthouse\n",[292,7066,7067],{"class":294,"line":1483},[292,7068,1623],{"emptyLinePlaceholder":11},[292,7070,7071],{"class":294,"line":1492},[292,7072,7073],{"class":298},"# 4. Monitorar em produção\n",[292,7075,7076],{"class":294,"line":1860},[292,7077,7078],{"class":298},"# (configurar analytics)\n",[210,7080,7082],{"id":7081},"lições-aprendidas","💡 Lições Aprendidas",[233,7084,7086],{"id":7085},"_1-performance-é-processo","1. Performance é Processo",[201,7088,7089,7090,7093],{},"Não é uma tarefa única - é um ",[205,7091,7092],{},"processo contínuo"," de monitoramento e otimização.",[233,7095,7097],{"id":7096},"_2-medir-é-fundamental","2. Medir é Fundamental",[223,7099,7101],{"className":286,"code":7100,"language":288,"meta":231,"style":231},"\u002F\u002F Sempre meça antes e depois\nconst beforeOptimization = await measurePerformance()\n\u002F\u002F ... implementar otimizações ...\nconst afterOptimization = await measurePerformance()\n\nconsole.log(`Improvement: ${((before - after) \u002F before * 100).toFixed(1)}%`)\n",[218,7102,7103,7108,7123,7128,7143,7147],{"__ignoreMap":231},[292,7104,7105],{"class":294,"line":295},[292,7106,7107],{"class":298},"\u002F\u002F Sempre meça antes e depois\n",[292,7109,7110,7112,7115,7117,7119,7121],{"class":294,"line":302},[292,7111,306],{"class":305},[292,7113,7114],{"class":313}," beforeOptimization",[292,7116,321],{"class":320},[292,7118,325],{"class":324},[292,7120,6646],{"class":328},[292,7122,4729],{"class":332},[292,7124,7125],{"class":294,"line":448},[292,7126,7127],{"class":298},"\u002F\u002F ... implementar otimizações ...\n",[292,7129,7130,7132,7135,7137,7139,7141],{"class":294,"line":484},[292,7131,306],{"class":305},[292,7133,7134],{"class":313}," afterOptimization",[292,7136,321],{"class":320},[292,7138,325],{"class":324},[292,7140,6646],{"class":328},[292,7142,4729],{"class":332},[292,7144,7145],{"class":294,"line":515},[292,7146,1623],{"emptyLinePlaceholder":11},[292,7148,7149,7151,7153,7155,7157,7159,7162,7164,7167,7170,7172,7175,7177,7179,7182,7184,7186,7188,7190,7193,7195,7197,7199,7201,7203,7205],{"class":294,"line":677},[292,7150,5938],{"class":332},[292,7152,468],{"class":309},[292,7154,5943],{"class":328},[292,7156,333],{"class":332},[292,7158,456],{"class":336},[292,7160,7161],{"class":340},"Improvement: ",[292,7163,462],{"class":336},[292,7165,7166],{"class":4344},"((",[292,7168,7169],{"class":332},"before",[292,7171,6753],{"class":320},[292,7173,7174],{"class":332}," after",[292,7176,5193],{"class":4344},[292,7178,4347],{"class":320},[292,7180,7181],{"class":332}," before",[292,7183,4753],{"class":320},[292,7185,6356],{"class":1548},[292,7187,477],{"class":4344},[292,7189,468],{"class":336},[292,7191,7192],{"class":328},"toFixed",[292,7194,333],{"class":4344},[292,7196,1549],{"class":1548},[292,7198,477],{"class":4344},[292,7200,2266],{"class":336},[292,7202,2499],{"class":340},[292,7204,456],{"class":336},[292,7206,518],{"class":332},[233,7208,7210],{"id":7209},"_3-usuário-final-é-prioridade","3. Usuário Final é Prioridade",[223,7212,7214],{"className":286,"code":7213,"language":288,"meta":231,"style":231},"\u002F\u002F Otimizações que realmente importam:\nconst userImpact = {\n  'LCP \u003C 2.5s': 'Perceived performance',\n  'FID \u003C 100ms': 'Interactivity', \n  'CLS \u003C 0.1': 'Visual stability'\n}\n",[218,7215,7216,7221,7232,7252,7274,7292],{"__ignoreMap":231},[292,7217,7218],{"class":294,"line":295},[292,7219,7220],{"class":298},"\u002F\u002F Otimizações que realmente importam:\n",[292,7222,7223,7225,7228,7230],{"class":294,"line":302},[292,7224,306],{"class":305},[292,7226,7227],{"class":313}," userImpact",[292,7229,321],{"class":320},[292,7231,621],{"class":309},[292,7233,7234,7236,7239,7241,7243,7245,7248,7250],{"class":294,"line":448},[292,7235,1750],{"class":336},[292,7237,7238],{"class":1753},"LCP \u003C 2.5s",[292,7240,337],{"class":336},[292,7242,279],{"class":309},[292,7244,1770],{"class":336},[292,7246,7247],{"class":340},"Perceived performance",[292,7249,337],{"class":336},[292,7251,1778],{"class":309},[292,7253,7254,7256,7259,7261,7263,7265,7268,7270,7272],{"class":294,"line":484},[292,7255,1750],{"class":336},[292,7257,7258],{"class":1753},"FID \u003C 100ms",[292,7260,337],{"class":336},[292,7262,279],{"class":309},[292,7264,1770],{"class":336},[292,7266,7267],{"class":340},"Interactivity",[292,7269,337],{"class":336},[292,7271,346],{"class":309},[292,7273,445],{"class":332},[292,7275,7276,7278,7281,7283,7285,7287,7290],{"class":294,"line":515},[292,7277,1750],{"class":336},[292,7279,7280],{"class":1753},"CLS \u003C 0.1",[292,7282,337],{"class":336},[292,7284,279],{"class":309},[292,7286,1770],{"class":336},[292,7288,7289],{"class":340},"Visual stability",[292,7291,1809],{"class":336},[292,7293,7294],{"class":294,"line":677},[292,7295,680],{"class":309},[210,7297,1061],{"id":1060},[201,7299,7300,7301,7304],{},"Essas otimizações resultaram em ",[205,7302,7303],{},"melhorias reais e mensuráveis"," nos meus projetos:",[238,7306,7307,7312,7317,7322],{},[241,7308,7309],{},[205,7310,7311],{},"40%+ melhoria na performance",[241,7313,7314],{},[205,7315,7316],{},"Bundle 43% menor",[241,7318,7319],{},[205,7320,7321],{},"Build time 39% mais rápido",[241,7323,7324],{},[205,7325,7326],{},"Lighthouse score 95+",[201,7328,7329,7332,7333,7336],{},[205,7330,7331],{},"A chave",": Não otimize tudo de uma vez. ",[205,7334,7335],{},"Meça, implemente, meça novamente",". Performance é uma jornada, não um destino.",[1110,7338],{},[201,7340,7341],{},[1115,7342,7343,7344,7347],{},"Quer implementar essas otimizações no seu projeto? Me siga no ",[1119,7345,1124],{"href":1121,"rel":7346},[1123]," para mais dicas práticas de performance!",[201,7349,7350],{},[1115,7351,7352],{},"Tem alguma otimização específica que gostaria de ver? Deixe um comentário!",[1127,7354,7355],{},"html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sZUrc, html code.shiki .sZUrc{--shiki-light:#E53935;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sQzsp, html code.shiki .sQzsp{--shiki-light:#E53935;--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .s9AJx, html code.shiki .s9AJx{--shiki-light:#9C3EDA;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sfo-9, html code.shiki .sfo-9{--shiki-light:#90A4AE;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sjYin, html code.shiki .sjYin{--shiki-light:#90A4AE;--shiki-light-font-weight:inherit;--shiki-default:#22863A;--shiki-default-font-weight:bold;--shiki-dark:#85E89D;--shiki-dark-font-weight:bold}html pre.shiki code .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .stzsN, html code.shiki .stzsN{--shiki-light:#91B859;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s99_P, html code.shiki .s99_P{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#E36209;--shiki-default-font-style:inherit;--shiki-dark:#FFAB70;--shiki-dark-font-style:inherit}html pre.shiki code .syTEX, html code.shiki .syTEX{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sseR_, html code.shiki .sseR_{--shiki-light:#9C3EDA;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sfCm-, html code.shiki .sfCm-{--shiki-light:#90A4AE;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":231,"searchDepth":302,"depth":302,"links":7357},[7358,7362,7366,7370,7374,7378,7382,7386,7390,7394,7398,7401,7404,7409],{"id":3200,"depth":302,"text":3201,"children":7359},[7360,7361],{"id":3204,"depth":448,"text":3205},{"id":3234,"depth":448,"text":3235},{"id":3258,"depth":302,"text":3259,"children":7363},[7364,7365],{"id":3262,"depth":448,"text":3263},{"id":3537,"depth":448,"text":3538},{"id":3650,"depth":302,"text":3651,"children":7367},[7368,7369],{"id":3654,"depth":448,"text":3655},{"id":3805,"depth":448,"text":3806},{"id":3950,"depth":302,"text":3951,"children":7371},[7372,7373],{"id":3954,"depth":448,"text":3955},{"id":4522,"depth":448,"text":4523},{"id":4620,"depth":302,"text":4621,"children":7375},[7376,7377],{"id":4624,"depth":448,"text":4625},{"id":4829,"depth":448,"text":4830},{"id":5046,"depth":302,"text":5047,"children":7379},[7380,7381],{"id":5050,"depth":448,"text":5051},{"id":5390,"depth":448,"text":5391},{"id":5474,"depth":302,"text":5475,"children":7383},[7384,7385],{"id":5478,"depth":448,"text":5479},{"id":5657,"depth":448,"text":5658},{"id":5823,"depth":302,"text":5824,"children":7387},[7388,7389],{"id":5827,"depth":448,"text":5828},{"id":6025,"depth":448,"text":6026},{"id":6159,"depth":302,"text":6160,"children":7391},[7392,7393],{"id":6163,"depth":448,"text":6164},{"id":6382,"depth":448,"text":6383},{"id":6573,"depth":302,"text":6574,"children":7395},[7396,7397],{"id":6577,"depth":448,"text":6578},{"id":6626,"depth":448,"text":6627},{"id":6884,"depth":302,"text":6885,"children":7399},[7400],{"id":6888,"depth":448,"text":6889},{"id":7009,"depth":302,"text":7010,"children":7402},[7403],{"id":7013,"depth":448,"text":7014},{"id":7081,"depth":302,"text":7082,"children":7405},[7406,7407,7408],{"id":7085,"depth":448,"text":7086},{"id":7096,"depth":448,"text":7097},{"id":7209,"depth":448,"text":7210},{"id":1060,"depth":302,"text":1061},"2024-12-17","https:\u002F\u002Fvueschool.io\u002F_ipx\u002Ff_webp&q_100&s_1200x1200\u002Fhttps:\u002F\u002Fvueschool.io\u002Fstorage\u002Fmedia\u002Fd83cfd96e2106a8f682e8093c595dc62\u002FThe-Ultimate-Guide-to-Vue-Performance.png",{"author":7413},{"name":1174,"avatar":7414,"bio":1177,"social":7415},{"src":1176},{"github":1121,"linkedin":1179},{"title":187,"description":189},"blog\u002Fnuxt-performance-otimizacoes-avancadas",[1183,1184,7419,7420,5885],"otimizacao","lighthouse","TOswmaaeN8eFO4U-wAf3zuMT3OKg8g0Ffq-DHY_RuIY",{"id":7423,"title":191,"body":7424,"date":10652,"description":193,"extension":1170,"image":10653,"meta":10654,"navigation":11,"path":192,"seo":10658,"stem":10659,"tags":10660,"__hash__":10666},"blog\u002Fblog\u002Fnuxt-ecosystem-futuro-desenvolvimento.md",{"type":198,"value":7425,"toc":10605},[7426,7433,7437,7441,7538,7542,7635,7639,7643,7649,7775,7779,7784,8020,8024,8108,8112,8134,8138,8142,8148,8327,8331,8353,8357,8361,8367,8519,8522,8526,8586,8590,8709,8713,8717,8834,8838,8863,8867,8871,8988,8992,9017,9021,9025,9131,9134,9138,9222,9226,9378,9382,9386,9390,9477,9481,9607,9611,9728,9732,9736,9914,9918,9944,9948,9952,9956,10034,10038,10076,10080,10172,10176,10180,10184,10286,10290,10392,10396,10499,10503,10510,10536,10540,10546,10573,10580,10582,10597,10602],[201,7427,7428,7429,7432],{},"Como desenvolvedor que acompanha de perto a evolução do Nuxt.js desde suas primeiras versões, posso afirmar: ",[205,7430,7431],{},"estamos vivendo uma revolução silenciosa"," no desenvolvimento front-end. O ecossistema Nuxt.js está se preparando para mudanças que vão redefinir como construímos aplicações web.",[210,7434,7436],{"id":7435},"visão-geral-onde-estamos-e-para-onde-vamos","🔮 Visão Geral: Onde Estamos e Para Onde Vamos",[233,7438,7440],{"id":7439},"estado-atual-2024","Estado Atual (2024)",[223,7442,7444],{"className":286,"code":7443,"language":288,"meta":231,"style":231},"const currentState = {\n  nuxt: '4.x',\n  vue: '3.x',\n  nitro: '2.x',\n  ecosystem: 'maduro',\n  adoption: 'crescendo rapidamente'\n}\n",[218,7445,7446,7457,7473,7489,7504,7520,7534],{"__ignoreMap":231},[292,7447,7448,7450,7453,7455],{"class":294,"line":295},[292,7449,306],{"class":305},[292,7451,7452],{"class":313}," currentState",[292,7454,321],{"class":320},[292,7456,621],{"class":309},[292,7458,7459,7462,7464,7466,7469,7471],{"class":294,"line":302},[292,7460,7461],{"class":490},"  nuxt",[292,7463,279],{"class":309},[292,7465,1770],{"class":336},[292,7467,7468],{"class":340},"4.x",[292,7470,337],{"class":336},[292,7472,1778],{"class":309},[292,7474,7475,7478,7480,7482,7485,7487],{"class":294,"line":448},[292,7476,7477],{"class":490},"  vue",[292,7479,279],{"class":309},[292,7481,1770],{"class":336},[292,7483,7484],{"class":340},"3.x",[292,7486,337],{"class":336},[292,7488,1778],{"class":309},[292,7490,7491,7493,7495,7497,7500,7502],{"class":294,"line":484},[292,7492,3336],{"class":490},[292,7494,279],{"class":309},[292,7496,1770],{"class":336},[292,7498,7499],{"class":340},"2.x",[292,7501,337],{"class":336},[292,7503,1778],{"class":309},[292,7505,7506,7509,7511,7513,7516,7518],{"class":294,"line":515},[292,7507,7508],{"class":490},"  ecosystem",[292,7510,279],{"class":309},[292,7512,1770],{"class":336},[292,7514,7515],{"class":340},"maduro",[292,7517,337],{"class":336},[292,7519,1778],{"class":309},[292,7521,7522,7525,7527,7529,7532],{"class":294,"line":677},[292,7523,7524],{"class":490},"  adoption",[292,7526,279],{"class":309},[292,7528,1770],{"class":336},[292,7530,7531],{"class":340},"crescendo rapidamente",[292,7533,1809],{"class":336},[292,7535,7536],{"class":294,"line":1444},[292,7537,680],{"class":309},[233,7539,7541],{"id":7540},"visão-2025","Visão 2025",[223,7543,7545],{"className":286,"code":7544,"language":288,"meta":231,"style":231},"const futureVision = {\n  nuxt: '5.x com AI nativo',\n  vue: '4.x com melhorias de performance',\n  nitro: '3.x com edge computing',\n  ecosystem: 'revolucionário',\n  adoption: 'dominante'\n}\n",[218,7546,7547,7558,7573,7588,7603,7618,7631],{"__ignoreMap":231},[292,7548,7549,7551,7554,7556],{"class":294,"line":295},[292,7550,306],{"class":305},[292,7552,7553],{"class":313}," futureVision",[292,7555,321],{"class":320},[292,7557,621],{"class":309},[292,7559,7560,7562,7564,7566,7569,7571],{"class":294,"line":302},[292,7561,7461],{"class":490},[292,7563,279],{"class":309},[292,7565,1770],{"class":336},[292,7567,7568],{"class":340},"5.x com AI nativo",[292,7570,337],{"class":336},[292,7572,1778],{"class":309},[292,7574,7575,7577,7579,7581,7584,7586],{"class":294,"line":448},[292,7576,7477],{"class":490},[292,7578,279],{"class":309},[292,7580,1770],{"class":336},[292,7582,7583],{"class":340},"4.x com melhorias de performance",[292,7585,337],{"class":336},[292,7587,1778],{"class":309},[292,7589,7590,7592,7594,7596,7599,7601],{"class":294,"line":484},[292,7591,3336],{"class":490},[292,7593,279],{"class":309},[292,7595,1770],{"class":336},[292,7597,7598],{"class":340},"3.x com edge computing",[292,7600,337],{"class":336},[292,7602,1778],{"class":309},[292,7604,7605,7607,7609,7611,7614,7616],{"class":294,"line":515},[292,7606,7508],{"class":490},[292,7608,279],{"class":309},[292,7610,1770],{"class":336},[292,7612,7613],{"class":340},"revolucionário",[292,7615,337],{"class":336},[292,7617,1778],{"class":309},[292,7619,7620,7622,7624,7626,7629],{"class":294,"line":677},[292,7621,7524],{"class":490},[292,7623,279],{"class":309},[292,7625,1770],{"class":336},[292,7627,7628],{"class":340},"dominante",[292,7630,1809],{"class":336},[292,7632,7633],{"class":294,"line":1444},[292,7634,680],{"class":309},[210,7636,7638],{"id":7637},"_1-ai-powered-development","🤖 1. AI-Powered Development",[233,7640,7642],{"id":7641},"nuxt-ai-desenvolvimento-assistido-por-inteligência-artificial","Nuxt AI: Desenvolvimento Assistido por Inteligência Artificial",[201,7644,203,7645,7648],{},[205,7646,7647],{},"Nuxt AI"," não é mais ficção científica. A equipe do Nuxt.js está trabalhando em integrações nativas com IA:",[223,7650,7652],{"className":286,"code":7651,"language":288,"meta":231,"style":231},"\u002F\u002F Conceito: Nuxt AI em ação\nexport default defineNuxtConfig({\n  ai: {\n    enabled: true,\n    provider: 'openai', \u002F\u002F ou 'anthropic', 'local'\n    features: {\n      codeGeneration: true,\n      componentSuggestions: true,\n      performanceOptimization: true,\n      accessibilityAudit: true\n    }\n  }\n})\n",[218,7653,7654,7659,7671,7680,7691,7710,7719,7730,7741,7752,7761,7765,7769],{"__ignoreMap":231},[292,7655,7656],{"class":294,"line":295},[292,7657,7658],{"class":298},"\u002F\u002F Conceito: Nuxt AI em ação\n",[292,7660,7661,7663,7665,7667,7669],{"class":294,"line":302},[292,7662,605],{"class":324},[292,7664,2233],{"class":324},[292,7666,2236],{"class":328},[292,7668,333],{"class":332},[292,7670,2241],{"class":309},[292,7672,7673,7676,7678],{"class":294,"line":448},[292,7674,7675],{"class":490},"  ai",[292,7677,279],{"class":309},[292,7679,621],{"class":309},[292,7681,7682,7685,7687,7689],{"class":294,"line":484},[292,7683,7684],{"class":490},"    enabled",[292,7686,279],{"class":309},[292,7688,4709],{"class":2184},[292,7690,1778],{"class":309},[292,7692,7693,7696,7698,7700,7703,7705,7707],{"class":294,"line":515},[292,7694,7695],{"class":490},"    provider",[292,7697,279],{"class":309},[292,7699,1770],{"class":336},[292,7701,7702],{"class":340},"openai",[292,7704,337],{"class":336},[292,7706,346],{"class":309},[292,7708,7709],{"class":298}," \u002F\u002F ou 'anthropic', 'local'\n",[292,7711,7712,7715,7717],{"class":294,"line":677},[292,7713,7714],{"class":490},"    features",[292,7716,279],{"class":309},[292,7718,621],{"class":309},[292,7720,7721,7724,7726,7728],{"class":294,"line":1444},[292,7722,7723],{"class":490},"      codeGeneration",[292,7725,279],{"class":309},[292,7727,4709],{"class":2184},[292,7729,1778],{"class":309},[292,7731,7732,7735,7737,7739],{"class":294,"line":1454},[292,7733,7734],{"class":490},"      componentSuggestions",[292,7736,279],{"class":309},[292,7738,4709],{"class":2184},[292,7740,1778],{"class":309},[292,7742,7743,7746,7748,7750],{"class":294,"line":1483},[292,7744,7745],{"class":490},"      performanceOptimization",[292,7747,279],{"class":309},[292,7749,4709],{"class":2184},[292,7751,1778],{"class":309},[292,7753,7754,7757,7759],{"class":294,"line":1492},[292,7755,7756],{"class":490},"      accessibilityAudit",[292,7758,279],{"class":309},[292,7760,5467],{"class":2184},[292,7762,7763],{"class":294,"line":1860},[292,7764,3522],{"class":309},[292,7766,7767],{"class":294,"line":1874},[292,7768,1877],{"class":309},[292,7770,7771,7773],{"class":294,"line":1880},[292,7772,2266],{"class":309},[292,7774,518],{"class":332},[233,7776,7778],{"id":7777},"funcionalidades-revolucionárias","Funcionalidades Revolucionárias",[7780,7781,7783],"h4",{"id":7782},"_1-component-generation","1. Component Generation",[223,7785,7787],{"className":789,"code":7786,"language":791,"meta":231,"style":231},"\u003C!-- Você digita: -->\n\u003Ctemplate>\n  \u003CUserCard :user=\"user\" \u002F>\n\u003C\u002Ftemplate>\n\n\u003C!-- Nuxt AI gera automaticamente: -->\n\u003Ctemplate>\n  \u003Cdiv class=\"user-card\">\n    \u003Cimg :src=\"user.avatar\" :alt=\"user.name\" \u002F>\n    \u003Ch3>{{ user.name }}\u003C\u002Fh3>\n    \u003Cp>{{ user.email }}\u003C\u002Fp>\n    \u003Cbutton @click=\"editUser\">Editar\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n\n\u003Cstyle scoped>\n.user-card {\n  \u002F* Estilos otimizados gerados automaticamente *\u002F\n}\n\u003C\u002Fstyle>\n",[218,7788,7789,7794,7802,7824,7832,7836,7841,7849,7868,7901,7918,7935,7964,7972,7980,7984,7995,8003,8008,8012],{"__ignoreMap":231},[292,7790,7791],{"class":294,"line":295},[292,7792,7793],{"class":298},"\u003C!-- Você digita: -->\n",[292,7795,7796,7798,7800],{"class":294,"line":302},[292,7797,636],{"class":309},[292,7799,806],{"class":805},[292,7801,809],{"class":309},[292,7803,7804,7806,7809,7812,7814,7816,7818,7820,7822],{"class":294,"line":448},[292,7805,814],{"class":309},[292,7807,7808],{"class":805},"UserCard",[292,7810,7811],{"class":309}," :",[292,7813,434],{"class":1332},[292,7815,1336],{"class":309},[292,7817,1339],{"class":336},[292,7819,434],{"class":332},[292,7821,1339],{"class":336},[292,7823,830],{"class":309},[292,7825,7826,7828,7830],{"class":294,"line":484},[292,7827,844],{"class":309},[292,7829,806],{"class":805},[292,7831,809],{"class":309},[292,7833,7834],{"class":294,"line":515},[292,7835,1623],{"emptyLinePlaceholder":11},[292,7837,7838],{"class":294,"line":677},[292,7839,7840],{"class":298},"\u003C!-- Nuxt AI gera automaticamente: -->\n",[292,7842,7843,7845,7847],{"class":294,"line":1444},[292,7844,636],{"class":309},[292,7846,806],{"class":805},[292,7848,809],{"class":309},[292,7850,7851,7853,7855,7857,7859,7861,7864,7866],{"class":294,"line":1454},[292,7852,814],{"class":309},[292,7854,817],{"class":805},[292,7856,1333],{"class":1332},[292,7858,1336],{"class":309},[292,7860,1339],{"class":336},[292,7862,7863],{"class":340},"user-card",[292,7865,1339],{"class":336},[292,7867,809],{"class":309},[292,7869,7870,7872,7875,7878,7880,7882,7885,7887,7890,7892,7894,7897,7899],{"class":294,"line":1483},[292,7871,824],{"class":309},[292,7873,7874],{"class":805},"img",[292,7876,7877],{"class":1332}," :src",[292,7879,1336],{"class":309},[292,7881,1339],{"class":336},[292,7883,7884],{"class":340},"user.avatar",[292,7886,1339],{"class":336},[292,7888,7889],{"class":1332}," :alt",[292,7891,1336],{"class":309},[292,7893,1339],{"class":336},[292,7895,7896],{"class":340},"user.name",[292,7898,1339],{"class":336},[292,7900,830],{"class":309},[292,7902,7903,7905,7907,7909,7912,7914,7916],{"class":294,"line":1492},[292,7904,824],{"class":309},[292,7906,233],{"class":805},[292,7908,650],{"class":309},[292,7910,7911],{"class":332},"{{ user.name }}",[292,7913,844],{"class":309},[292,7915,233],{"class":805},[292,7917,809],{"class":309},[292,7919,7920,7922,7924,7926,7929,7931,7933],{"class":294,"line":1860},[292,7921,824],{"class":309},[292,7923,201],{"class":805},[292,7925,650],{"class":309},[292,7927,7928],{"class":332},"{{ user.email }}",[292,7930,844],{"class":309},[292,7932,201],{"class":805},[292,7934,809],{"class":309},[292,7936,7937,7939,7941,7944,7946,7948,7951,7953,7955,7958,7960,7962],{"class":294,"line":1874},[292,7938,824],{"class":309},[292,7940,2073],{"class":805},[292,7942,7943],{"class":1332}," @click",[292,7945,1336],{"class":309},[292,7947,1339],{"class":336},[292,7949,7950],{"class":340},"editUser",[292,7952,1339],{"class":336},[292,7954,650],{"class":309},[292,7956,7957],{"class":332},"Editar",[292,7959,844],{"class":309},[292,7961,2073],{"class":805},[292,7963,809],{"class":309},[292,7965,7966,7968,7970],{"class":294,"line":1880},[292,7967,835],{"class":309},[292,7969,817],{"class":805},[292,7971,809],{"class":309},[292,7973,7974,7976,7978],{"class":294,"line":3441},[292,7975,844],{"class":309},[292,7977,806],{"class":805},[292,7979,809],{"class":309},[292,7981,7982],{"class":294,"line":3475},[292,7983,1623],{"emptyLinePlaceholder":11},[292,7985,7986,7988,7990,7993],{"class":294,"line":3507},[292,7987,636],{"class":309},[292,7989,1127],{"class":805},[292,7991,7992],{"class":1332}," scoped",[292,7994,809],{"class":309},[292,7996,7997,7999,8001],{"class":294,"line":3513},[292,7998,468],{"class":1527},[292,8000,7863],{"class":639},[292,8002,621],{"class":309},[292,8004,8005],{"class":294,"line":3519},[292,8006,8007],{"class":298},"  \u002F* Estilos otimizados gerados automaticamente *\u002F\n",[292,8009,8010],{"class":294,"line":3525},[292,8011,680],{"class":309},[292,8013,8014,8016,8018],{"class":294,"line":3530},[292,8015,844],{"class":309},[292,8017,1127],{"class":805},[292,8019,809],{"class":309},[7780,8021,8023],{"id":8022},"_2-performance-optimization-ai","2. Performance Optimization AI",[223,8025,8027],{"className":286,"code":8026,"language":288,"meta":231,"style":231},"\u002F\u002F Nuxt AI analisa seu código e sugere otimizações\nconst aiSuggestions = {\n  bundleSize: \"Considere lazy loading para componentes pesados\",\n  performance: \"Implemente virtual scrolling para listas grandes\",\n  accessibility: \"Adicione aria-labels para melhor acessibilidade\",\n  seo: \"Otimize meta tags para melhor ranking\"\n}\n",[218,8028,8029,8034,8045,8061,8076,8091,8104],{"__ignoreMap":231},[292,8030,8031],{"class":294,"line":295},[292,8032,8033],{"class":298},"\u002F\u002F Nuxt AI analisa seu código e sugere otimizações\n",[292,8035,8036,8038,8041,8043],{"class":294,"line":302},[292,8037,306],{"class":305},[292,8039,8040],{"class":313}," aiSuggestions",[292,8042,321],{"class":320},[292,8044,621],{"class":309},[292,8046,8047,8050,8052,8054,8057,8059],{"class":294,"line":448},[292,8048,8049],{"class":490},"  bundleSize",[292,8051,279],{"class":309},[292,8053,2866],{"class":336},[292,8055,8056],{"class":340},"Considere lazy loading para componentes pesados",[292,8058,1339],{"class":336},[292,8060,1778],{"class":309},[292,8062,8063,8065,8067,8069,8072,8074],{"class":294,"line":484},[292,8064,6185],{"class":490},[292,8066,279],{"class":309},[292,8068,2866],{"class":336},[292,8070,8071],{"class":340},"Implemente virtual scrolling para listas grandes",[292,8073,1339],{"class":336},[292,8075,1778],{"class":309},[292,8077,8078,8080,8082,8084,8087,8089],{"class":294,"line":515},[292,8079,6236],{"class":490},[292,8081,279],{"class":309},[292,8083,2866],{"class":336},[292,8085,8086],{"class":340},"Adicione aria-labels para melhor acessibilidade",[292,8088,1339],{"class":336},[292,8090,1778],{"class":309},[292,8092,8093,8095,8097,8099,8102],{"class":294,"line":677},[292,8094,6332],{"class":490},[292,8096,279],{"class":309},[292,8098,2866],{"class":336},[292,8100,8101],{"class":340},"Otimize meta tags para melhor ranking",[292,8103,2169],{"class":336},[292,8105,8106],{"class":294,"line":1444},[292,8107,680],{"class":309},[233,8109,8111],{"id":8110},"impacto-real-esperado","Impacto Real Esperado",[238,8113,8114,8119,8124,8129],{},[241,8115,8116],{},[205,8117,8118],{},"Desenvolvimento 60% mais rápido",[241,8120,8121],{},[205,8122,8123],{},"Bugs reduzidos em 40%",[241,8125,8126],{},[205,8127,8128],{},"Performance otimizada automaticamente",[241,8130,8131],{},[205,8132,8133],{},"Acessibilidade nativa",[210,8135,8137],{"id":8136},"_2-edge-computing-revolution","🌐 2. Edge Computing Revolution",[233,8139,8141],{"id":8140},"nitro-edge-computação-na-borda","Nitro Edge: Computação na Borda",[201,8143,203,8144,8147],{},[205,8145,8146],{},"Nitro 3.0"," está sendo redesenhado para edge computing:",[223,8149,8151],{"className":286,"code":8150,"language":288,"meta":231,"style":231},"\u002F\u002F Nitro Edge - Conceito\nexport default defineNuxtConfig({\n  nitro: {\n    edge: {\n      enabled: true,\n      regions: ['us-east-1', 'eu-west-1', 'ap-southeast-1'],\n      functions: {\n        'api\u002Fusers': {\n          runtime: 'edge',\n          memory: '128MB',\n          timeout: '10s'\n        }\n      }\n    }\n  }\n})\n",[218,8152,8153,8158,8170,8178,8187,8198,8236,8245,8259,8275,8291,8305,8309,8313,8317,8321],{"__ignoreMap":231},[292,8154,8155],{"class":294,"line":295},[292,8156,8157],{"class":298},"\u002F\u002F Nitro Edge - Conceito\n",[292,8159,8160,8162,8164,8166,8168],{"class":294,"line":302},[292,8161,605],{"class":324},[292,8163,2233],{"class":324},[292,8165,2236],{"class":328},[292,8167,333],{"class":332},[292,8169,2241],{"class":309},[292,8171,8172,8174,8176],{"class":294,"line":448},[292,8173,3336],{"class":490},[292,8175,279],{"class":309},[292,8177,621],{"class":309},[292,8179,8180,8183,8185],{"class":294,"line":484},[292,8181,8182],{"class":490},"    edge",[292,8184,279],{"class":309},[292,8186,621],{"class":309},[292,8188,8189,8192,8194,8196],{"class":294,"line":515},[292,8190,8191],{"class":490},"      enabled",[292,8193,279],{"class":309},[292,8195,4709],{"class":2184},[292,8197,1778],{"class":309},[292,8199,8200,8203,8205,8207,8209,8212,8214,8216,8218,8221,8223,8225,8227,8230,8232,8234],{"class":294,"line":677},[292,8201,8202],{"class":490},"      regions",[292,8204,279],{"class":309},[292,8206,2251],{"class":332},[292,8208,337],{"class":336},[292,8210,8211],{"class":340},"us-east-1",[292,8213,337],{"class":336},[292,8215,346],{"class":309},[292,8217,1770],{"class":336},[292,8219,8220],{"class":340},"eu-west-1",[292,8222,337],{"class":336},[292,8224,346],{"class":309},[292,8226,1770],{"class":336},[292,8228,8229],{"class":340},"ap-southeast-1",[292,8231,337],{"class":336},[292,8233,3404],{"class":332},[292,8235,1778],{"class":309},[292,8237,8238,8241,8243],{"class":294,"line":1444},[292,8239,8240],{"class":490},"      functions",[292,8242,279],{"class":309},[292,8244,621],{"class":309},[292,8246,8247,8250,8253,8255,8257],{"class":294,"line":1454},[292,8248,8249],{"class":336},"        '",[292,8251,8252],{"class":1753},"api\u002Fusers",[292,8254,337],{"class":336},[292,8256,279],{"class":309},[292,8258,621],{"class":309},[292,8260,8261,8264,8266,8268,8271,8273],{"class":294,"line":1483},[292,8262,8263],{"class":490},"          runtime",[292,8265,279],{"class":309},[292,8267,1770],{"class":336},[292,8269,8270],{"class":340},"edge",[292,8272,337],{"class":336},[292,8274,1778],{"class":309},[292,8276,8277,8280,8282,8284,8287,8289],{"class":294,"line":1492},[292,8278,8279],{"class":490},"          memory",[292,8281,279],{"class":309},[292,8283,1770],{"class":336},[292,8285,8286],{"class":340},"128MB",[292,8288,337],{"class":336},[292,8290,1778],{"class":309},[292,8292,8293,8296,8298,8300,8303],{"class":294,"line":1860},[292,8294,8295],{"class":490},"          timeout",[292,8297,279],{"class":309},[292,8299,1770],{"class":336},[292,8301,8302],{"class":340},"10s",[292,8304,1809],{"class":336},[292,8306,8307],{"class":294,"line":1874},[292,8308,3510],{"class":309},[292,8310,8311],{"class":294,"line":1880},[292,8312,3516],{"class":309},[292,8314,8315],{"class":294,"line":3441},[292,8316,3522],{"class":309},[292,8318,8319],{"class":294,"line":3475},[292,8320,1877],{"class":309},[292,8322,8323,8325],{"class":294,"line":3507},[292,8324,2266],{"class":309},[292,8326,518],{"class":332},[233,8328,8330],{"id":8329},"benefícios-esperados","Benefícios Esperados",[238,8332,8333,8338,8343,8348],{},[241,8334,8335],{},[205,8336,8337],{},"Latência \u003C 50ms globalmente",[241,8339,8340],{},[205,8341,8342],{},"Cold start \u003C 100ms",[241,8344,8345],{},[205,8346,8347],{},"Custo 70% menor",[241,8349,8350],{},[205,8351,8352],{},"Escalabilidade automática",[210,8354,8356],{"id":8355},"_3-design-systems-inteligentes","🎨 3. Design Systems Inteligentes",[233,8358,8360],{"id":8359},"paper-ui-20-design-system-com-ia","Paper UI 2.0: Design System com IA",[201,8362,8363,8364,279],{},"Inspirado no sucesso da Paper UI, estou desenvolvendo um conceito de ",[205,8365,8366],{},"Design System Inteligente",[223,8368,8370],{"className":286,"code":8369,"language":288,"meta":231,"style":231},"\u002F\u002F Paper UI 2.0 - Conceito\nexport default defineNuxtConfig({\n  modules: ['@paper-ui\u002Fnuxt'],\n  \n  paperUI: {\n    ai: {\n      enabled: true,\n      features: {\n        autoTheming: true,        \u002F\u002F Temas automáticos baseados em contexto\n        componentGeneration: true, \u002F\u002F Componentes gerados por IA\n        accessibilityAudit: true,  \u002F\u002F Auditoria de acessibilidade automática\n        performanceOptimization: true \u002F\u002F Otimização automática de performance\n      }\n    }\n  }\n})\n",[218,8371,8372,8376,8388,8406,8410,8419,8428,8438,8447,8461,8475,8489,8501,8505,8509,8513],{"__ignoreMap":231},[292,8373,8374],{"class":294,"line":295},[292,8375,2845],{"class":298},[292,8377,8378,8380,8382,8384,8386],{"class":294,"line":302},[292,8379,605],{"class":324},[292,8381,2233],{"class":324},[292,8383,2236],{"class":328},[292,8385,333],{"class":332},[292,8387,2241],{"class":309},[292,8389,8390,8392,8394,8396,8398,8400,8402,8404],{"class":294,"line":448},[292,8391,2246],{"class":490},[292,8393,279],{"class":309},[292,8395,2251],{"class":332},[292,8397,337],{"class":336},[292,8399,2256],{"class":340},[292,8401,337],{"class":336},[292,8403,3404],{"class":332},[292,8405,1778],{"class":309},[292,8407,8408],{"class":294,"line":484},[292,8409,3331],{"class":332},[292,8411,8412,8415,8417],{"class":294,"line":515},[292,8413,8414],{"class":490},"  paperUI",[292,8416,279],{"class":309},[292,8418,621],{"class":309},[292,8420,8421,8424,8426],{"class":294,"line":677},[292,8422,8423],{"class":490},"    ai",[292,8425,279],{"class":309},[292,8427,621],{"class":309},[292,8429,8430,8432,8434,8436],{"class":294,"line":1444},[292,8431,8191],{"class":490},[292,8433,279],{"class":309},[292,8435,4709],{"class":2184},[292,8437,1778],{"class":309},[292,8439,8440,8443,8445],{"class":294,"line":1454},[292,8441,8442],{"class":490},"      features",[292,8444,279],{"class":309},[292,8446,621],{"class":309},[292,8448,8449,8452,8454,8456,8458],{"class":294,"line":1483},[292,8450,8451],{"class":490},"        autoTheming",[292,8453,279],{"class":309},[292,8455,4709],{"class":2184},[292,8457,346],{"class":309},[292,8459,8460],{"class":298},"        \u002F\u002F Temas automáticos baseados em contexto\n",[292,8462,8463,8466,8468,8470,8472],{"class":294,"line":1492},[292,8464,8465],{"class":490},"        componentGeneration",[292,8467,279],{"class":309},[292,8469,4709],{"class":2184},[292,8471,346],{"class":309},[292,8473,8474],{"class":298}," \u002F\u002F Componentes gerados por IA\n",[292,8476,8477,8480,8482,8484,8486],{"class":294,"line":1860},[292,8478,8479],{"class":490},"        accessibilityAudit",[292,8481,279],{"class":309},[292,8483,4709],{"class":2184},[292,8485,346],{"class":309},[292,8487,8488],{"class":298},"  \u002F\u002F Auditoria de acessibilidade automática\n",[292,8490,8491,8494,8496,8498],{"class":294,"line":1874},[292,8492,8493],{"class":490},"        performanceOptimization",[292,8495,279],{"class":309},[292,8497,4709],{"class":2184},[292,8499,8500],{"class":298}," \u002F\u002F Otimização automática de performance\n",[292,8502,8503],{"class":294,"line":1880},[292,8504,3516],{"class":309},[292,8506,8507],{"class":294,"line":3441},[292,8508,3522],{"class":309},[292,8510,8511],{"class":294,"line":3475},[292,8512,1877],{"class":309},[292,8514,8515,8517],{"class":294,"line":3507},[292,8516,2266],{"class":309},[292,8518,518],{"class":332},[233,8520,7778],{"id":8521},"funcionalidades-revolucionárias-1",[7780,8523,8525],{"id":8524},"_1-auto-theming-inteligente","1. Auto-Theming Inteligente",[223,8527,8529],{"className":789,"code":8528,"language":791,"meta":231,"style":231},"\u003Ctemplate>\n  \u003C!-- Paper UI AI detecta o contexto e aplica tema automaticamente -->\n  \u003CPaperCard context=\"ecommerce\">\n    \u003C!-- Tema otimizado para e-commerce aplicado automaticamente -->\n  \u003C\u002FPaperCard>\n\u003C\u002Ftemplate>\n",[218,8530,8531,8539,8544,8565,8570,8578],{"__ignoreMap":231},[292,8532,8533,8535,8537],{"class":294,"line":295},[292,8534,636],{"class":309},[292,8536,806],{"class":805},[292,8538,809],{"class":309},[292,8540,8541],{"class":294,"line":302},[292,8542,8543],{"class":298},"  \u003C!-- Paper UI AI detecta o contexto e aplica tema automaticamente -->\n",[292,8545,8546,8548,8551,8554,8556,8558,8561,8563],{"class":294,"line":448},[292,8547,814],{"class":309},[292,8549,8550],{"class":805},"PaperCard",[292,8552,8553],{"class":1332}," context",[292,8555,1336],{"class":309},[292,8557,1339],{"class":336},[292,8559,8560],{"class":340},"ecommerce",[292,8562,1339],{"class":336},[292,8564,809],{"class":309},[292,8566,8567],{"class":294,"line":484},[292,8568,8569],{"class":298},"    \u003C!-- Tema otimizado para e-commerce aplicado automaticamente -->\n",[292,8571,8572,8574,8576],{"class":294,"line":515},[292,8573,835],{"class":309},[292,8575,8550],{"class":805},[292,8577,809],{"class":309},[292,8579,8580,8582,8584],{"class":294,"line":677},[292,8581,844],{"class":309},[292,8583,806],{"class":805},[292,8585,809],{"class":309},[7780,8587,8589],{"id":8588},"_2-component-generation","2. Component Generation",[223,8591,8593],{"className":286,"code":8592,"language":288,"meta":231,"style":231},"\u002F\u002F Você descreve o que quer:\nconst componentDescription = \"Card de produto com preço, imagem e botão de compra\"\n\n\u002F\u002F Paper UI AI gera:\nconst generatedComponent = {\n  template: '...', \u002F\u002F Template otimizado\n  styles: '...',   \u002F\u002F Estilos responsivos\n  accessibility: '...', \u002F\u002F Acessibilidade nativa\n  performance: '...' \u002F\u002F Performance otimizada\n}\n",[218,8594,8595,8600,8616,8620,8625,8636,8655,8673,8690,8705],{"__ignoreMap":231},[292,8596,8597],{"class":294,"line":295},[292,8598,8599],{"class":298},"\u002F\u002F Você descreve o que quer:\n",[292,8601,8602,8604,8607,8609,8611,8614],{"class":294,"line":302},[292,8603,306],{"class":305},[292,8605,8606],{"class":313}," componentDescription",[292,8608,321],{"class":320},[292,8610,2866],{"class":336},[292,8612,8613],{"class":340},"Card de produto com preço, imagem e botão de compra",[292,8615,2169],{"class":336},[292,8617,8618],{"class":294,"line":448},[292,8619,1623],{"emptyLinePlaceholder":11},[292,8621,8622],{"class":294,"line":484},[292,8623,8624],{"class":298},"\u002F\u002F Paper UI AI gera:\n",[292,8626,8627,8629,8632,8634],{"class":294,"line":515},[292,8628,306],{"class":305},[292,8630,8631],{"class":313}," generatedComponent",[292,8633,321],{"class":320},[292,8635,621],{"class":309},[292,8637,8638,8641,8643,8645,8648,8650,8652],{"class":294,"line":677},[292,8639,8640],{"class":490},"  template",[292,8642,279],{"class":309},[292,8644,1770],{"class":336},[292,8646,8647],{"class":340},"...",[292,8649,337],{"class":336},[292,8651,346],{"class":309},[292,8653,8654],{"class":298}," \u002F\u002F Template otimizado\n",[292,8656,8657,8660,8662,8664,8666,8668,8670],{"class":294,"line":1444},[292,8658,8659],{"class":490},"  styles",[292,8661,279],{"class":309},[292,8663,1770],{"class":336},[292,8665,8647],{"class":340},[292,8667,337],{"class":336},[292,8669,346],{"class":309},[292,8671,8672],{"class":298},"   \u002F\u002F Estilos responsivos\n",[292,8674,8675,8677,8679,8681,8683,8685,8687],{"class":294,"line":1454},[292,8676,6236],{"class":490},[292,8678,279],{"class":309},[292,8680,1770],{"class":336},[292,8682,8647],{"class":340},[292,8684,337],{"class":336},[292,8686,346],{"class":309},[292,8688,8689],{"class":298}," \u002F\u002F Acessibilidade nativa\n",[292,8691,8692,8694,8696,8698,8700,8702],{"class":294,"line":1483},[292,8693,6185],{"class":490},[292,8695,279],{"class":309},[292,8697,1770],{"class":336},[292,8699,8647],{"class":340},[292,8701,337],{"class":336},[292,8703,8704],{"class":298}," \u002F\u002F Performance otimizada\n",[292,8706,8707],{"class":294,"line":1492},[292,8708,680],{"class":309},[210,8710,8712],{"id":8711},"_4-real-time-collaboration","🚀 4. Real-time Collaboration",[233,8714,8716],{"id":8715},"nuxt-studio-desenvolvimento-colaborativo","Nuxt Studio: Desenvolvimento Colaborativo",[223,8718,8720],{"className":286,"code":8719,"language":288,"meta":231,"style":231},"\u002F\u002F Nuxt Studio - Conceito\nexport default defineNuxtConfig({\n  studio: {\n    enabled: true,\n    features: {\n      realTimeEditing: true,    \u002F\u002F Edição em tempo real\n      livePreview: true,        \u002F\u002F Preview ao vivo\n      teamCollaboration: true,  \u002F\u002F Colaboração em equipe\n      versionControl: true      \u002F\u002F Controle de versão integrado\n    }\n  }\n})\n",[218,8721,8722,8727,8739,8748,8758,8766,8780,8794,8808,8820,8824,8828],{"__ignoreMap":231},[292,8723,8724],{"class":294,"line":295},[292,8725,8726],{"class":298},"\u002F\u002F Nuxt Studio - Conceito\n",[292,8728,8729,8731,8733,8735,8737],{"class":294,"line":302},[292,8730,605],{"class":324},[292,8732,2233],{"class":324},[292,8734,2236],{"class":328},[292,8736,333],{"class":332},[292,8738,2241],{"class":309},[292,8740,8741,8744,8746],{"class":294,"line":448},[292,8742,8743],{"class":490},"  studio",[292,8745,279],{"class":309},[292,8747,621],{"class":309},[292,8749,8750,8752,8754,8756],{"class":294,"line":484},[292,8751,7684],{"class":490},[292,8753,279],{"class":309},[292,8755,4709],{"class":2184},[292,8757,1778],{"class":309},[292,8759,8760,8762,8764],{"class":294,"line":515},[292,8761,7714],{"class":490},[292,8763,279],{"class":309},[292,8765,621],{"class":309},[292,8767,8768,8771,8773,8775,8777],{"class":294,"line":677},[292,8769,8770],{"class":490},"      realTimeEditing",[292,8772,279],{"class":309},[292,8774,4709],{"class":2184},[292,8776,346],{"class":309},[292,8778,8779],{"class":298},"    \u002F\u002F Edição em tempo real\n",[292,8781,8782,8785,8787,8789,8791],{"class":294,"line":1444},[292,8783,8784],{"class":490},"      livePreview",[292,8786,279],{"class":309},[292,8788,4709],{"class":2184},[292,8790,346],{"class":309},[292,8792,8793],{"class":298},"        \u002F\u002F Preview ao vivo\n",[292,8795,8796,8799,8801,8803,8805],{"class":294,"line":1454},[292,8797,8798],{"class":490},"      teamCollaboration",[292,8800,279],{"class":309},[292,8802,4709],{"class":2184},[292,8804,346],{"class":309},[292,8806,8807],{"class":298},"  \u002F\u002F Colaboração em equipe\n",[292,8809,8810,8813,8815,8817],{"class":294,"line":1483},[292,8811,8812],{"class":490},"      versionControl",[292,8814,279],{"class":309},[292,8816,4709],{"class":2184},[292,8818,8819],{"class":298},"      \u002F\u002F Controle de versão integrado\n",[292,8821,8822],{"class":294,"line":1492},[292,8823,3522],{"class":309},[292,8825,8826],{"class":294,"line":1860},[292,8827,1877],{"class":309},[292,8829,8830,8832],{"class":294,"line":1874},[292,8831,2266],{"class":309},[292,8833,518],{"class":332},[233,8835,8837],{"id":8836},"funcionalidades-esperadas","Funcionalidades Esperadas",[238,8839,8840,8845,8851,8857],{},[241,8841,8842,782],{},[205,8843,8844],{},"Edição simultânea",[241,8846,8847,8850],{},[205,8848,8849],{},"Preview em tempo real"," para stakeholders",[241,8852,8853,8856],{},[205,8854,8855],{},"Comentários contextuais"," no código",[241,8858,8859,8862],{},[205,8860,8861],{},"Merge automático"," de mudanças",[210,8864,8866],{"id":8865},"_5-mobile-first-revolution","📱 5. Mobile-First Revolution",[233,8868,8870],{"id":8869},"nuxt-mobile-desenvolvimento-nativo","Nuxt Mobile: Desenvolvimento Nativo",[223,8872,8874],{"className":286,"code":8873,"language":288,"meta":231,"style":231},"\u002F\u002F Nuxt Mobile - Conceito\nexport default defineNuxtConfig({\n  mobile: {\n    enabled: true,\n    features: {\n      nativeComponents: true,    \u002F\u002F Componentes nativos\n      deviceOptimization: true,  \u002F\u002F Otimização por dispositivo\n      offlineFirst: true,       \u002F\u002F Offline-first nativo\n      pushNotifications: true   \u002F\u002F Notificações push\n    }\n  }\n})\n",[218,8875,8876,8881,8893,8902,8912,8920,8934,8948,8962,8974,8978,8982],{"__ignoreMap":231},[292,8877,8878],{"class":294,"line":295},[292,8879,8880],{"class":298},"\u002F\u002F Nuxt Mobile - Conceito\n",[292,8882,8883,8885,8887,8889,8891],{"class":294,"line":302},[292,8884,605],{"class":324},[292,8886,2233],{"class":324},[292,8888,2236],{"class":328},[292,8890,333],{"class":332},[292,8892,2241],{"class":309},[292,8894,8895,8898,8900],{"class":294,"line":448},[292,8896,8897],{"class":490},"  mobile",[292,8899,279],{"class":309},[292,8901,621],{"class":309},[292,8903,8904,8906,8908,8910],{"class":294,"line":484},[292,8905,7684],{"class":490},[292,8907,279],{"class":309},[292,8909,4709],{"class":2184},[292,8911,1778],{"class":309},[292,8913,8914,8916,8918],{"class":294,"line":515},[292,8915,7714],{"class":490},[292,8917,279],{"class":309},[292,8919,621],{"class":309},[292,8921,8922,8925,8927,8929,8931],{"class":294,"line":677},[292,8923,8924],{"class":490},"      nativeComponents",[292,8926,279],{"class":309},[292,8928,4709],{"class":2184},[292,8930,346],{"class":309},[292,8932,8933],{"class":298},"    \u002F\u002F Componentes nativos\n",[292,8935,8936,8939,8941,8943,8945],{"class":294,"line":1444},[292,8937,8938],{"class":490},"      deviceOptimization",[292,8940,279],{"class":309},[292,8942,4709],{"class":2184},[292,8944,346],{"class":309},[292,8946,8947],{"class":298},"  \u002F\u002F Otimização por dispositivo\n",[292,8949,8950,8953,8955,8957,8959],{"class":294,"line":1454},[292,8951,8952],{"class":490},"      offlineFirst",[292,8954,279],{"class":309},[292,8956,4709],{"class":2184},[292,8958,346],{"class":309},[292,8960,8961],{"class":298},"       \u002F\u002F Offline-first nativo\n",[292,8963,8964,8967,8969,8971],{"class":294,"line":1483},[292,8965,8966],{"class":490},"      pushNotifications",[292,8968,279],{"class":309},[292,8970,4709],{"class":2184},[292,8972,8973],{"class":298},"   \u002F\u002F Notificações push\n",[292,8975,8976],{"class":294,"line":1492},[292,8977,3522],{"class":309},[292,8979,8980],{"class":294,"line":1860},[292,8981,1877],{"class":309},[292,8983,8984,8986],{"class":294,"line":1874},[292,8985,2266],{"class":309},[292,8987,518],{"class":332},[233,8989,8991],{"id":8990},"impacto-esperado","Impacto Esperado",[238,8993,8994,9000,9005,9011],{},[241,8995,8996,8999],{},[205,8997,8998],{},"Performance nativa"," em dispositivos móveis",[241,9001,9002,764],{},[205,9003,9004],{},"Offline-first",[241,9006,9007,9010],{},[205,9008,9009],{},"Push notifications"," integradas",[241,9012,9013,9016],{},[205,9014,9015],{},"Camera\u002FGPS"," acesso direto",[210,9018,9020],{"id":9019},"_6-developer-experience-dx-revolution","🔧 6. Developer Experience (DX) Revolution",[233,9022,9024],{"id":9023},"nuxt-devtools-20-ferramentas-de-desenvolvimento-avançadas","Nuxt DevTools 2.0: Ferramentas de Desenvolvimento Avançadas",[223,9026,9028],{"className":286,"code":9027,"language":288,"meta":231,"style":231},"\u002F\u002F Nuxt DevTools 2.0 - Conceito\nconst devTools = {\n  features: {\n    aiCodeReview: true,          \u002F\u002F Code review por IA\n    performanceProfiling: true,   \u002F\u002F Profiling avançado\n    accessibilityAudit: true,    \u002F\u002F Auditoria de acessibilidade\n    seoOptimization: true,       \u002F\u002F Otimização de SEO\n    securityScan: true           \u002F\u002F Scan de segurança\n  }\n}\n",[218,9029,9030,9035,9046,9055,9069,9083,9097,9111,9123,9127],{"__ignoreMap":231},[292,9031,9032],{"class":294,"line":295},[292,9033,9034],{"class":298},"\u002F\u002F Nuxt DevTools 2.0 - Conceito\n",[292,9036,9037,9039,9042,9044],{"class":294,"line":302},[292,9038,306],{"class":305},[292,9040,9041],{"class":313}," devTools",[292,9043,321],{"class":320},[292,9045,621],{"class":309},[292,9047,9048,9051,9053],{"class":294,"line":448},[292,9049,9050],{"class":490},"  features",[292,9052,279],{"class":309},[292,9054,621],{"class":309},[292,9056,9057,9060,9062,9064,9066],{"class":294,"line":484},[292,9058,9059],{"class":490},"    aiCodeReview",[292,9061,279],{"class":309},[292,9063,4709],{"class":2184},[292,9065,346],{"class":309},[292,9067,9068],{"class":298},"          \u002F\u002F Code review por IA\n",[292,9070,9071,9074,9076,9078,9080],{"class":294,"line":515},[292,9072,9073],{"class":490},"    performanceProfiling",[292,9075,279],{"class":309},[292,9077,4709],{"class":2184},[292,9079,346],{"class":309},[292,9081,9082],{"class":298},"   \u002F\u002F Profiling avançado\n",[292,9084,9085,9088,9090,9092,9094],{"class":294,"line":677},[292,9086,9087],{"class":490},"    accessibilityAudit",[292,9089,279],{"class":309},[292,9091,4709],{"class":2184},[292,9093,346],{"class":309},[292,9095,9096],{"class":298},"    \u002F\u002F Auditoria de acessibilidade\n",[292,9098,9099,9102,9104,9106,9108],{"class":294,"line":1444},[292,9100,9101],{"class":490},"    seoOptimization",[292,9103,279],{"class":309},[292,9105,4709],{"class":2184},[292,9107,346],{"class":309},[292,9109,9110],{"class":298},"       \u002F\u002F Otimização de SEO\n",[292,9112,9113,9116,9118,9120],{"class":294,"line":1454},[292,9114,9115],{"class":490},"    securityScan",[292,9117,279],{"class":309},[292,9119,4709],{"class":2184},[292,9121,9122],{"class":298},"           \u002F\u002F Scan de segurança\n",[292,9124,9125],{"class":294,"line":1483},[292,9126,1877],{"class":309},[292,9128,9129],{"class":294,"line":1492},[292,9130,680],{"class":309},[233,9132,7778],{"id":9133},"funcionalidades-revolucionárias-2",[7780,9135,9137],{"id":9136},"_1-ai-code-review","1. AI Code Review",[223,9139,9141],{"className":286,"code":9140,"language":288,"meta":231,"style":231},"\u002F\u002F DevTools analisa seu código e sugere melhorias\nconst aiReview = {\n  performance: \"Considere usar useLazyAsyncData para esta query\",\n  accessibility: \"Adicione aria-label neste botão\",\n  security: \"Valide input do usuário antes de processar\",\n  bestPractices: \"Use composables para lógica reutilizável\"\n}\n",[218,9142,9143,9148,9159,9174,9189,9205,9218],{"__ignoreMap":231},[292,9144,9145],{"class":294,"line":295},[292,9146,9147],{"class":298},"\u002F\u002F DevTools analisa seu código e sugere melhorias\n",[292,9149,9150,9152,9155,9157],{"class":294,"line":302},[292,9151,306],{"class":305},[292,9153,9154],{"class":313}," aiReview",[292,9156,321],{"class":320},[292,9158,621],{"class":309},[292,9160,9161,9163,9165,9167,9170,9172],{"class":294,"line":448},[292,9162,6185],{"class":490},[292,9164,279],{"class":309},[292,9166,2866],{"class":336},[292,9168,9169],{"class":340},"Considere usar useLazyAsyncData para esta query",[292,9171,1339],{"class":336},[292,9173,1778],{"class":309},[292,9175,9176,9178,9180,9182,9185,9187],{"class":294,"line":484},[292,9177,6236],{"class":490},[292,9179,279],{"class":309},[292,9181,2866],{"class":336},[292,9183,9184],{"class":340},"Adicione aria-label neste botão",[292,9186,1339],{"class":336},[292,9188,1778],{"class":309},[292,9190,9191,9194,9196,9198,9201,9203],{"class":294,"line":515},[292,9192,9193],{"class":490},"  security",[292,9195,279],{"class":309},[292,9197,2866],{"class":336},[292,9199,9200],{"class":340},"Valide input do usuário antes de processar",[292,9202,1339],{"class":336},[292,9204,1778],{"class":309},[292,9206,9207,9209,9211,9213,9216],{"class":294,"line":677},[292,9208,6284],{"class":490},[292,9210,279],{"class":309},[292,9212,2866],{"class":336},[292,9214,9215],{"class":340},"Use composables para lógica reutilizável",[292,9217,2169],{"class":336},[292,9219,9220],{"class":294,"line":1444},[292,9221,680],{"class":309},[7780,9223,9225],{"id":9224},"_2-performance-profiling-avançado","2. Performance Profiling Avançado",[223,9227,9229],{"className":286,"code":9228,"language":288,"meta":231,"style":231},"\u002F\u002F Profiling em tempo real\nconst performanceProfile = {\n  components: {\n    'UserList': { renderTime: '45ms', memoryUsage: '2.1MB' },\n    'ProductCard': { renderTime: '12ms', memoryUsage: '0.8MB' }\n  },\n  suggestions: [\n    'Virtualize UserList para melhor performance',\n    'Lazy load ProductCard images'\n  ]\n}\n",[218,9230,9231,9236,9247,9256,9297,9336,9340,9349,9360,9369,9374],{"__ignoreMap":231},[292,9232,9233],{"class":294,"line":295},[292,9234,9235],{"class":298},"\u002F\u002F Profiling em tempo real\n",[292,9237,9238,9240,9243,9245],{"class":294,"line":302},[292,9239,306],{"class":305},[292,9241,9242],{"class":313}," performanceProfile",[292,9244,321],{"class":320},[292,9246,621],{"class":309},[292,9248,9249,9252,9254],{"class":294,"line":448},[292,9250,9251],{"class":490},"  components",[292,9253,279],{"class":309},[292,9255,621],{"class":309},[292,9257,9258,9261,9264,9266,9268,9270,9273,9275,9277,9279,9281,9283,9286,9288,9290,9293,9295],{"class":294,"line":484},[292,9259,9260],{"class":336},"    '",[292,9262,9263],{"class":1753},"UserList",[292,9265,337],{"class":336},[292,9267,279],{"class":309},[292,9269,310],{"class":309},[292,9271,9272],{"class":490}," renderTime",[292,9274,279],{"class":309},[292,9276,1770],{"class":336},[292,9278,6490],{"class":340},[292,9280,337],{"class":336},[292,9282,346],{"class":309},[292,9284,9285],{"class":490}," memoryUsage",[292,9287,279],{"class":309},[292,9289,1770],{"class":336},[292,9291,9292],{"class":340},"2.1MB",[292,9294,337],{"class":336},[292,9296,5787],{"class":309},[292,9298,9299,9301,9304,9306,9308,9310,9312,9314,9316,9319,9321,9323,9325,9327,9329,9332,9334],{"class":294,"line":515},[292,9300,9260],{"class":336},[292,9302,9303],{"class":1753},"ProductCard",[292,9305,337],{"class":336},[292,9307,279],{"class":309},[292,9309,310],{"class":309},[292,9311,9272],{"class":490},[292,9313,279],{"class":309},[292,9315,1770],{"class":336},[292,9317,9318],{"class":340},"12ms",[292,9320,337],{"class":336},[292,9322,346],{"class":309},[292,9324,9285],{"class":490},[292,9326,279],{"class":309},[292,9328,1770],{"class":336},[292,9330,9331],{"class":340},"0.8MB",[292,9333,337],{"class":336},[292,9335,512],{"class":309},[292,9337,9338],{"class":294,"line":677},[292,9339,1814],{"class":309},[292,9341,9342,9345,9347],{"class":294,"line":1444},[292,9343,9344],{"class":490},"  suggestions",[292,9346,279],{"class":309},[292,9348,2326],{"class":332},[292,9350,9351,9353,9356,9358],{"class":294,"line":1454},[292,9352,9260],{"class":336},[292,9354,9355],{"class":340},"Virtualize UserList para melhor performance",[292,9357,337],{"class":336},[292,9359,1778],{"class":309},[292,9361,9362,9364,9367],{"class":294,"line":1483},[292,9363,9260],{"class":336},[292,9365,9366],{"class":340},"Lazy load ProductCard images",[292,9368,1809],{"class":336},[292,9370,9371],{"class":294,"line":1492},[292,9372,9373],{"class":332},"  ]\n",[292,9375,9376],{"class":294,"line":1860},[292,9377,680],{"class":309},[210,9379,9381],{"id":9380},"_7-global-development-trends","🌍 7. Global Development Trends",[233,9383,9385],{"id":9384},"tendências-emergentes","Tendências Emergentes",[7780,9387,9389],{"id":9388},"_1-webassembly-integration","1. WebAssembly Integration",[223,9391,9393],{"className":286,"code":9392,"language":288,"meta":231,"style":231},"\u002F\u002F WebAssembly nativo no Nuxt\nexport default defineNuxtConfig({\n  wasm: {\n    enabled: true,\n    modules: ['image-processing', 'crypto', 'ai-inference']\n  }\n})\n",[218,9394,9395,9400,9412,9421,9431,9467,9471],{"__ignoreMap":231},[292,9396,9397],{"class":294,"line":295},[292,9398,9399],{"class":298},"\u002F\u002F WebAssembly nativo no Nuxt\n",[292,9401,9402,9404,9406,9408,9410],{"class":294,"line":302},[292,9403,605],{"class":324},[292,9405,2233],{"class":324},[292,9407,2236],{"class":328},[292,9409,333],{"class":332},[292,9411,2241],{"class":309},[292,9413,9414,9417,9419],{"class":294,"line":448},[292,9415,9416],{"class":490},"  wasm",[292,9418,279],{"class":309},[292,9420,621],{"class":309},[292,9422,9423,9425,9427,9429],{"class":294,"line":484},[292,9424,7684],{"class":490},[292,9426,279],{"class":309},[292,9428,4709],{"class":2184},[292,9430,1778],{"class":309},[292,9432,9433,9436,9438,9440,9442,9445,9447,9449,9451,9454,9456,9458,9460,9463,9465],{"class":294,"line":515},[292,9434,9435],{"class":490},"    modules",[292,9437,279],{"class":309},[292,9439,2251],{"class":332},[292,9441,337],{"class":336},[292,9443,9444],{"class":340},"image-processing",[292,9446,337],{"class":336},[292,9448,346],{"class":309},[292,9450,1770],{"class":336},[292,9452,9453],{"class":340},"crypto",[292,9455,337],{"class":336},[292,9457,346],{"class":309},[292,9459,1770],{"class":336},[292,9461,9462],{"class":340},"ai-inference",[292,9464,337],{"class":336},[292,9466,2261],{"class":332},[292,9468,9469],{"class":294,"line":677},[292,9470,1877],{"class":309},[292,9472,9473,9475],{"class":294,"line":1444},[292,9474,2266],{"class":309},[292,9476,518],{"class":332},[7780,9478,9480],{"id":9479},"_2-micro-frontends-evolution","2. Micro-Frontends Evolution",[223,9482,9484],{"className":286,"code":9483,"language":288,"meta":231,"style":231},"\u002F\u002F Micro-frontends com Nuxt\nexport default defineNuxtConfig({\n  microfrontends: {\n    enabled: true,\n    modules: [\n      { name: 'auth', url: 'https:\u002F\u002Fauth.example.com' },\n      { name: 'payments', url: 'https:\u002F\u002Fpayments.example.com' }\n    ]\n  }\n})\n",[218,9485,9486,9491,9503,9512,9522,9530,9562,9592,9597,9601],{"__ignoreMap":231},[292,9487,9488],{"class":294,"line":295},[292,9489,9490],{"class":298},"\u002F\u002F Micro-frontends com Nuxt\n",[292,9492,9493,9495,9497,9499,9501],{"class":294,"line":302},[292,9494,605],{"class":324},[292,9496,2233],{"class":324},[292,9498,2236],{"class":328},[292,9500,333],{"class":332},[292,9502,2241],{"class":309},[292,9504,9505,9508,9510],{"class":294,"line":448},[292,9506,9507],{"class":490},"  microfrontends",[292,9509,279],{"class":309},[292,9511,621],{"class":309},[292,9513,9514,9516,9518,9520],{"class":294,"line":484},[292,9515,7684],{"class":490},[292,9517,279],{"class":309},[292,9519,4709],{"class":2184},[292,9521,1778],{"class":309},[292,9523,9524,9526,9528],{"class":294,"line":515},[292,9525,9435],{"class":490},[292,9527,279],{"class":309},[292,9529,2326],{"class":332},[292,9531,9532,9535,9537,9539,9541,9544,9546,9548,9551,9553,9555,9558,9560],{"class":294,"line":677},[292,9533,9534],{"class":309},"      {",[292,9536,6840],{"class":490},[292,9538,279],{"class":309},[292,9540,1770],{"class":336},[292,9542,9543],{"class":340},"auth",[292,9545,337],{"class":336},[292,9547,346],{"class":309},[292,9549,9550],{"class":490}," url",[292,9552,279],{"class":309},[292,9554,1770],{"class":336},[292,9556,9557],{"class":340},"https:\u002F\u002Fauth.example.com",[292,9559,337],{"class":336},[292,9561,5787],{"class":309},[292,9563,9564,9566,9568,9570,9572,9575,9577,9579,9581,9583,9585,9588,9590],{"class":294,"line":1444},[292,9565,9534],{"class":309},[292,9567,6840],{"class":490},[292,9569,279],{"class":309},[292,9571,1770],{"class":336},[292,9573,9574],{"class":340},"payments",[292,9576,337],{"class":336},[292,9578,346],{"class":309},[292,9580,9550],{"class":490},[292,9582,279],{"class":309},[292,9584,1770],{"class":336},[292,9586,9587],{"class":340},"https:\u002F\u002Fpayments.example.com",[292,9589,337],{"class":336},[292,9591,512],{"class":309},[292,9593,9594],{"class":294,"line":1454},[292,9595,9596],{"class":332},"    ]\n",[292,9598,9599],{"class":294,"line":1483},[292,9600,1877],{"class":309},[292,9602,9603,9605],{"class":294,"line":1492},[292,9604,2266],{"class":309},[292,9606,518],{"class":332},[7780,9608,9610],{"id":9609},"_3-serverless-first-architecture","3. Serverless-First Architecture",[223,9612,9614],{"className":286,"code":9613,"language":288,"meta":231,"style":231},"\u002F\u002F Arquitetura serverless nativa\nexport default defineNuxtConfig({\n  serverless: {\n    enabled: true,\n    functions: {\n      'api\u002F*': { runtime: 'nodejs18.x' },\n      'admin\u002F*': { runtime: 'nodejs18.x' }\n    }\n  }\n})\n",[218,9615,9616,9621,9633,9642,9652,9661,9689,9714,9718,9722],{"__ignoreMap":231},[292,9617,9618],{"class":294,"line":295},[292,9619,9620],{"class":298},"\u002F\u002F Arquitetura serverless nativa\n",[292,9622,9623,9625,9627,9629,9631],{"class":294,"line":302},[292,9624,605],{"class":324},[292,9626,2233],{"class":324},[292,9628,2236],{"class":328},[292,9630,333],{"class":332},[292,9632,2241],{"class":309},[292,9634,9635,9638,9640],{"class":294,"line":448},[292,9636,9637],{"class":490},"  serverless",[292,9639,279],{"class":309},[292,9641,621],{"class":309},[292,9643,9644,9646,9648,9650],{"class":294,"line":484},[292,9645,7684],{"class":490},[292,9647,279],{"class":309},[292,9649,4709],{"class":2184},[292,9651,1778],{"class":309},[292,9653,9654,9657,9659],{"class":294,"line":515},[292,9655,9656],{"class":490},"    functions",[292,9658,279],{"class":309},[292,9660,621],{"class":309},[292,9662,9663,9666,9669,9671,9673,9675,9678,9680,9682,9685,9687],{"class":294,"line":677},[292,9664,9665],{"class":336},"      '",[292,9667,9668],{"class":1753},"api\u002F*",[292,9670,337],{"class":336},[292,9672,279],{"class":309},[292,9674,310],{"class":309},[292,9676,9677],{"class":490}," runtime",[292,9679,279],{"class":309},[292,9681,1770],{"class":336},[292,9683,9684],{"class":340},"nodejs18.x",[292,9686,337],{"class":336},[292,9688,5787],{"class":309},[292,9690,9691,9693,9696,9698,9700,9702,9704,9706,9708,9710,9712],{"class":294,"line":1444},[292,9692,9665],{"class":336},[292,9694,9695],{"class":1753},"admin\u002F*",[292,9697,337],{"class":336},[292,9699,279],{"class":309},[292,9701,310],{"class":309},[292,9703,9677],{"class":490},[292,9705,279],{"class":309},[292,9707,1770],{"class":336},[292,9709,9684],{"class":340},[292,9711,337],{"class":336},[292,9713,512],{"class":309},[292,9715,9716],{"class":294,"line":1454},[292,9717,3522],{"class":309},[292,9719,9720],{"class":294,"line":1483},[292,9721,1877],{"class":309},[292,9723,9724,9726],{"class":294,"line":1492},[292,9725,2266],{"class":309},[292,9727,518],{"class":332},[210,9729,9731],{"id":9730},"_8-impacto-esperado-no-mercado","📊 8. Impacto Esperado no Mercado",[233,9733,9735],{"id":9734},"estatísticas-projetadas-2025","Estatísticas Projetadas (2025)",[223,9737,9739],{"className":286,"code":9738,"language":288,"meta":231,"style":231},"const marketImpact = {\n  adoption: {\n    current: '15% dos projetos Vue.js',\n    projected: '45% dos projetos Vue.js'\n  },\n  performance: {\n    averageLighthouse: '95+',\n    bundleSize: '-50%',\n    buildTime: '-60%'\n  },\n  developerExperience: {\n    productivity: '+70%',\n    bugs: '-50%',\n    onboarding: '-80%'\n  }\n}\n",[218,9740,9741,9752,9760,9776,9790,9794,9802,9818,9834,9848,9852,9861,9877,9892,9906,9910],{"__ignoreMap":231},[292,9742,9743,9745,9748,9750],{"class":294,"line":295},[292,9744,306],{"class":305},[292,9746,9747],{"class":313}," marketImpact",[292,9749,321],{"class":320},[292,9751,621],{"class":309},[292,9753,9754,9756,9758],{"class":294,"line":302},[292,9755,7524],{"class":490},[292,9757,279],{"class":309},[292,9759,621],{"class":309},[292,9761,9762,9765,9767,9769,9772,9774],{"class":294,"line":448},[292,9763,9764],{"class":490},"    current",[292,9766,279],{"class":309},[292,9768,1770],{"class":336},[292,9770,9771],{"class":340},"15% dos projetos Vue.js",[292,9773,337],{"class":336},[292,9775,1778],{"class":309},[292,9777,9778,9781,9783,9785,9788],{"class":294,"line":484},[292,9779,9780],{"class":490},"    projected",[292,9782,279],{"class":309},[292,9784,1770],{"class":336},[292,9786,9787],{"class":340},"45% dos projetos Vue.js",[292,9789,1809],{"class":336},[292,9791,9792],{"class":294,"line":515},[292,9793,1814],{"class":309},[292,9795,9796,9798,9800],{"class":294,"line":677},[292,9797,6185],{"class":490},[292,9799,279],{"class":309},[292,9801,621],{"class":309},[292,9803,9804,9807,9809,9811,9814,9816],{"class":294,"line":1444},[292,9805,9806],{"class":490},"    averageLighthouse",[292,9808,279],{"class":309},[292,9810,1770],{"class":336},[292,9812,9813],{"class":340},"95+",[292,9815,337],{"class":336},[292,9817,1778],{"class":309},[292,9819,9820,9823,9825,9827,9830,9832],{"class":294,"line":1454},[292,9821,9822],{"class":490},"    bundleSize",[292,9824,279],{"class":309},[292,9826,1770],{"class":336},[292,9828,9829],{"class":340},"-50%",[292,9831,337],{"class":336},[292,9833,1778],{"class":309},[292,9835,9836,9839,9841,9843,9846],{"class":294,"line":1483},[292,9837,9838],{"class":490},"    buildTime",[292,9840,279],{"class":309},[292,9842,1770],{"class":336},[292,9844,9845],{"class":340},"-60%",[292,9847,1809],{"class":336},[292,9849,9850],{"class":294,"line":1492},[292,9851,1814],{"class":309},[292,9853,9854,9857,9859],{"class":294,"line":1860},[292,9855,9856],{"class":490},"  developerExperience",[292,9858,279],{"class":309},[292,9860,621],{"class":309},[292,9862,9863,9866,9868,9870,9873,9875],{"class":294,"line":1874},[292,9864,9865],{"class":490},"    productivity",[292,9867,279],{"class":309},[292,9869,1770],{"class":336},[292,9871,9872],{"class":340},"+70%",[292,9874,337],{"class":336},[292,9876,1778],{"class":309},[292,9878,9879,9882,9884,9886,9888,9890],{"class":294,"line":1880},[292,9880,9881],{"class":490},"    bugs",[292,9883,279],{"class":309},[292,9885,1770],{"class":336},[292,9887,9829],{"class":340},[292,9889,337],{"class":336},[292,9891,1778],{"class":309},[292,9893,9894,9897,9899,9901,9904],{"class":294,"line":3441},[292,9895,9896],{"class":490},"    onboarding",[292,9898,279],{"class":309},[292,9900,1770],{"class":336},[292,9902,9903],{"class":340},"-80%",[292,9905,1809],{"class":336},[292,9907,9908],{"class":294,"line":3475},[292,9909,1877],{"class":309},[292,9911,9912],{"class":294,"line":3507},[292,9913,680],{"class":309},[233,9915,9917],{"id":9916},"empresas-que-vão-adotar","Empresas que Vão Adotar",[238,9919,9920,9926,9932,9938],{},[241,9921,9922,9925],{},[205,9923,9924],{},"Startups",": Para velocidade de desenvolvimento",[241,9927,9928,9931],{},[205,9929,9930],{},"Enterprise",": Para performance e escalabilidade",[241,9933,9934,9937],{},[205,9935,9936],{},"E-commerce",": Para otimização de conversão",[241,9939,9940,9943],{},[205,9941,9942],{},"SaaS",": Para experiência do usuário",[210,9945,9947],{"id":9946},"️-9-preparação-para-o-futuro","🛠️ 9. Preparação para o Futuro",[233,9949,9951],{"id":9950},"como-se-preparar-agora","Como Se Preparar Agora",[7780,9953,9955],{"id":9954},"_1-aprenda-os-fundamentos","1. Aprenda os Fundamentos",[223,9957,9959],{"className":286,"code":9958,"language":288,"meta":231,"style":231},"\u002F\u002F Domine os conceitos base\nconst fundamentals = [\n  'Vue 3 Composition API',\n  'Nuxt 4 features',\n  'Nitro 2.0 capabilities',\n  'Performance optimization',\n  'Accessibility best practices'\n]\n",[218,9960,9961,9966,9977,9988,9999,10010,10021,10030],{"__ignoreMap":231},[292,9962,9963],{"class":294,"line":295},[292,9964,9965],{"class":298},"\u002F\u002F Domine os conceitos base\n",[292,9967,9968,9970,9973,9975],{"class":294,"line":302},[292,9969,306],{"class":305},[292,9971,9972],{"class":313}," fundamentals",[292,9974,321],{"class":320},[292,9976,2326],{"class":332},[292,9978,9979,9981,9984,9986],{"class":294,"line":448},[292,9980,1750],{"class":336},[292,9982,9983],{"class":340},"Vue 3 Composition API",[292,9985,337],{"class":336},[292,9987,1778],{"class":309},[292,9989,9990,9992,9995,9997],{"class":294,"line":484},[292,9991,1750],{"class":336},[292,9993,9994],{"class":340},"Nuxt 4 features",[292,9996,337],{"class":336},[292,9998,1778],{"class":309},[292,10000,10001,10003,10006,10008],{"class":294,"line":515},[292,10002,1750],{"class":336},[292,10004,10005],{"class":340},"Nitro 2.0 capabilities",[292,10007,337],{"class":336},[292,10009,1778],{"class":309},[292,10011,10012,10014,10017,10019],{"class":294,"line":677},[292,10013,1750],{"class":336},[292,10015,10016],{"class":340},"Performance optimization",[292,10018,337],{"class":336},[292,10020,1778],{"class":309},[292,10022,10023,10025,10028],{"class":294,"line":1444},[292,10024,1750],{"class":336},[292,10026,10027],{"class":340},"Accessibility best practices",[292,10029,1809],{"class":336},[292,10031,10032],{"class":294,"line":1454},[292,10033,2261],{"class":332},[7780,10035,10037],{"id":10036},"_2-experimente-tecnologias-emergentes","2. Experimente Tecnologias Emergentes",[223,10039,10041],{"className":899,"code":10040,"language":901,"meta":231,"style":231},"# Teste funcionalidades experimentais\nnpm install @nuxt\u002Fai@alpha\nnpm install @nuxt\u002Fedge@beta\nnpm install @paper-ui\u002Fnuxt@next\n",[218,10042,10043,10048,10058,10067],{"__ignoreMap":231},[292,10044,10045],{"class":294,"line":295},[292,10046,10047],{"class":298},"# Teste funcionalidades experimentais\n",[292,10049,10050,10052,10055],{"class":294,"line":302},[292,10051,6593],{"class":639},[292,10053,10054],{"class":340}," install",[292,10056,10057],{"class":340}," @nuxt\u002Fai@alpha\n",[292,10059,10060,10062,10064],{"class":294,"line":448},[292,10061,6593],{"class":639},[292,10063,10054],{"class":340},[292,10065,10066],{"class":340}," @nuxt\u002Fedge@beta\n",[292,10068,10069,10071,10073],{"class":294,"line":484},[292,10070,6593],{"class":639},[292,10072,10054],{"class":340},[292,10074,10075],{"class":340}," @paper-ui\u002Fnuxt@next\n",[7780,10077,10079],{"id":10078},"_3-contribua-para-o-ecossistema","3. Contribua para o Ecossistema",[223,10081,10083],{"className":286,"code":10082,"language":288,"meta":231,"style":231},"\u002F\u002F Contribua para projetos open source\nconst contribution = {\n  nuxt: 'Core framework',\n  nitro: 'Server engine',\n  'paper-ui': 'Design system',\n  'nuxt-modules': 'Ecosystem modules'\n}\n",[218,10084,10085,10090,10101,10116,10131,10150,10168],{"__ignoreMap":231},[292,10086,10087],{"class":294,"line":295},[292,10088,10089],{"class":298},"\u002F\u002F Contribua para projetos open source\n",[292,10091,10092,10094,10097,10099],{"class":294,"line":302},[292,10093,306],{"class":305},[292,10095,10096],{"class":313}," contribution",[292,10098,321],{"class":320},[292,10100,621],{"class":309},[292,10102,10103,10105,10107,10109,10112,10114],{"class":294,"line":448},[292,10104,7461],{"class":490},[292,10106,279],{"class":309},[292,10108,1770],{"class":336},[292,10110,10111],{"class":340},"Core framework",[292,10113,337],{"class":336},[292,10115,1778],{"class":309},[292,10117,10118,10120,10122,10124,10127,10129],{"class":294,"line":484},[292,10119,3336],{"class":490},[292,10121,279],{"class":309},[292,10123,1770],{"class":336},[292,10125,10126],{"class":340},"Server engine",[292,10128,337],{"class":336},[292,10130,1778],{"class":309},[292,10132,10133,10135,10137,10139,10141,10143,10146,10148],{"class":294,"line":515},[292,10134,1750],{"class":336},[292,10136,3180],{"class":1753},[292,10138,337],{"class":336},[292,10140,279],{"class":309},[292,10142,1770],{"class":336},[292,10144,10145],{"class":340},"Design system",[292,10147,337],{"class":336},[292,10149,1778],{"class":309},[292,10151,10152,10154,10157,10159,10161,10163,10166],{"class":294,"line":677},[292,10153,1750],{"class":336},[292,10155,10156],{"class":1753},"nuxt-modules",[292,10158,337],{"class":336},[292,10160,279],{"class":309},[292,10162,1770],{"class":336},[292,10164,10165],{"class":340},"Ecosystem modules",[292,10167,1809],{"class":336},[292,10169,10170],{"class":294,"line":1444},[292,10171,680],{"class":309},[210,10173,10175],{"id":10174},"_10-minha-visão-pessoal","🎯 10. Minha Visão Pessoal",[233,10177,10179],{"id":10178},"o-que-me-empolga-mais","O Que Me Empolga Mais",[7780,10181,10183],{"id":10182},"_1-democratização-do-desenvolvimento","1. Democratização do Desenvolvimento",[223,10185,10187],{"className":286,"code":10186,"language":288,"meta":231,"style":231},"\u002F\u002F IA vai democratizar desenvolvimento de qualidade\nconst democratization = {\n  'Desenvolvedores júnior': 'Podem criar como sênior',\n  'Designers': 'Podem implementar sem código',\n  'PMs': 'Podem prototipar rapidamente',\n  'Startups': 'Podem competir com enterprise'\n}\n",[218,10188,10189,10194,10205,10225,10245,10265,10282],{"__ignoreMap":231},[292,10190,10191],{"class":294,"line":295},[292,10192,10193],{"class":298},"\u002F\u002F IA vai democratizar desenvolvimento de qualidade\n",[292,10195,10196,10198,10201,10203],{"class":294,"line":302},[292,10197,306],{"class":305},[292,10199,10200],{"class":313}," democratization",[292,10202,321],{"class":320},[292,10204,621],{"class":309},[292,10206,10207,10209,10212,10214,10216,10218,10221,10223],{"class":294,"line":448},[292,10208,1750],{"class":336},[292,10210,10211],{"class":1753},"Desenvolvedores júnior",[292,10213,337],{"class":336},[292,10215,279],{"class":309},[292,10217,1770],{"class":336},[292,10219,10220],{"class":340},"Podem criar como sênior",[292,10222,337],{"class":336},[292,10224,1778],{"class":309},[292,10226,10227,10229,10232,10234,10236,10238,10241,10243],{"class":294,"line":484},[292,10228,1750],{"class":336},[292,10230,10231],{"class":1753},"Designers",[292,10233,337],{"class":336},[292,10235,279],{"class":309},[292,10237,1770],{"class":336},[292,10239,10240],{"class":340},"Podem implementar sem código",[292,10242,337],{"class":336},[292,10244,1778],{"class":309},[292,10246,10247,10249,10252,10254,10256,10258,10261,10263],{"class":294,"line":515},[292,10248,1750],{"class":336},[292,10250,10251],{"class":1753},"PMs",[292,10253,337],{"class":336},[292,10255,279],{"class":309},[292,10257,1770],{"class":336},[292,10259,10260],{"class":340},"Podem prototipar rapidamente",[292,10262,337],{"class":336},[292,10264,1778],{"class":309},[292,10266,10267,10269,10271,10273,10275,10277,10280],{"class":294,"line":677},[292,10268,1750],{"class":336},[292,10270,9924],{"class":1753},[292,10272,337],{"class":336},[292,10274,279],{"class":309},[292,10276,1770],{"class":336},[292,10278,10279],{"class":340},"Podem competir com enterprise",[292,10281,1809],{"class":336},[292,10283,10284],{"class":294,"line":1444},[292,10285,680],{"class":309},[7780,10287,10289],{"id":10288},"_2-performance-por-padrão","2. Performance por Padrão",[223,10291,10293],{"className":286,"code":10292,"language":288,"meta":231,"style":231},"\u002F\u002F Performance será padrão, não exceção\nconst performanceByDefault = {\n  'Lighthouse 95+': 'Padrão',\n  'Core Web Vitals': 'Otimizados automaticamente',\n  'Accessibility': 'Nativa',\n  'SEO': 'Inteligente'\n}\n",[218,10294,10295,10300,10311,10331,10350,10370,10388],{"__ignoreMap":231},[292,10296,10297],{"class":294,"line":295},[292,10298,10299],{"class":298},"\u002F\u002F Performance será padrão, não exceção\n",[292,10301,10302,10304,10307,10309],{"class":294,"line":302},[292,10303,306],{"class":305},[292,10305,10306],{"class":313}," performanceByDefault",[292,10308,321],{"class":320},[292,10310,621],{"class":309},[292,10312,10313,10315,10318,10320,10322,10324,10327,10329],{"class":294,"line":448},[292,10314,1750],{"class":336},[292,10316,10317],{"class":1753},"Lighthouse 95+",[292,10319,337],{"class":336},[292,10321,279],{"class":309},[292,10323,1770],{"class":336},[292,10325,10326],{"class":340},"Padrão",[292,10328,337],{"class":336},[292,10330,1778],{"class":309},[292,10332,10333,10335,10337,10339,10341,10343,10346,10348],{"class":294,"line":484},[292,10334,1750],{"class":336},[292,10336,6383],{"class":1753},[292,10338,337],{"class":336},[292,10340,279],{"class":309},[292,10342,1770],{"class":336},[292,10344,10345],{"class":340},"Otimizados automaticamente",[292,10347,337],{"class":336},[292,10349,1778],{"class":309},[292,10351,10352,10354,10357,10359,10361,10363,10366,10368],{"class":294,"line":515},[292,10353,1750],{"class":336},[292,10355,10356],{"class":1753},"Accessibility",[292,10358,337],{"class":336},[292,10360,279],{"class":309},[292,10362,1770],{"class":336},[292,10364,10365],{"class":340},"Nativa",[292,10367,337],{"class":336},[292,10369,1778],{"class":309},[292,10371,10372,10374,10377,10379,10381,10383,10386],{"class":294,"line":677},[292,10373,1750],{"class":336},[292,10375,10376],{"class":1753},"SEO",[292,10378,337],{"class":336},[292,10380,279],{"class":309},[292,10382,1770],{"class":336},[292,10384,10385],{"class":340},"Inteligente",[292,10387,1809],{"class":336},[292,10389,10390],{"class":294,"line":1444},[292,10391,680],{"class":309},[7780,10393,10395],{"id":10394},"_3-experiência-do-desenvolvedor","3. Experiência do Desenvolvedor",[223,10397,10399],{"className":286,"code":10398,"language":288,"meta":231,"style":231},"\u002F\u002F DX será prioridade máxima\nconst developerExperience = {\n  'Hot reload': 'Instantâneo',\n  'Type safety': '100%',\n  'Error messages': 'Inteligentes',\n  'Documentation': 'Interativa'\n}\n",[218,10400,10401,10406,10417,10437,10457,10477,10495],{"__ignoreMap":231},[292,10402,10403],{"class":294,"line":295},[292,10404,10405],{"class":298},"\u002F\u002F DX será prioridade máxima\n",[292,10407,10408,10410,10413,10415],{"class":294,"line":302},[292,10409,306],{"class":305},[292,10411,10412],{"class":313}," developerExperience",[292,10414,321],{"class":320},[292,10416,621],{"class":309},[292,10418,10419,10421,10424,10426,10428,10430,10433,10435],{"class":294,"line":448},[292,10420,1750],{"class":336},[292,10422,10423],{"class":1753},"Hot reload",[292,10425,337],{"class":336},[292,10427,279],{"class":309},[292,10429,1770],{"class":336},[292,10431,10432],{"class":340},"Instantâneo",[292,10434,337],{"class":336},[292,10436,1778],{"class":309},[292,10438,10439,10441,10444,10446,10448,10450,10453,10455],{"class":294,"line":484},[292,10440,1750],{"class":336},[292,10442,10443],{"class":1753},"Type safety",[292,10445,337],{"class":336},[292,10447,279],{"class":309},[292,10449,1770],{"class":336},[292,10451,10452],{"class":340},"100%",[292,10454,337],{"class":336},[292,10456,1778],{"class":309},[292,10458,10459,10461,10464,10466,10468,10470,10473,10475],{"class":294,"line":515},[292,10460,1750],{"class":336},[292,10462,10463],{"class":1753},"Error messages",[292,10465,337],{"class":336},[292,10467,279],{"class":309},[292,10469,1770],{"class":336},[292,10471,10472],{"class":340},"Inteligentes",[292,10474,337],{"class":336},[292,10476,1778],{"class":309},[292,10478,10479,10481,10484,10486,10488,10490,10493],{"class":294,"line":677},[292,10480,1750],{"class":336},[292,10482,10483],{"class":1753},"Documentation",[292,10485,337],{"class":336},[292,10487,279],{"class":309},[292,10489,1770],{"class":336},[292,10491,10492],{"class":340},"Interativa",[292,10494,1809],{"class":336},[292,10496,10497],{"class":294,"line":1444},[292,10498,680],{"class":309},[210,10500,10502],{"id":10501},"conclusão-o-futuro-é-brilhante","🚀 Conclusão: O Futuro é Brilhante",[201,10504,10505,10506,10509],{},"O ecossistema Nuxt.js está se preparando para uma ",[205,10507,10508],{},"revolução silenciosa"," que vai:",[238,10511,10512,10518,10524,10530],{},[241,10513,10514,10517],{},[205,10515,10516],{},"Democratizar"," desenvolvimento de qualidade",[241,10519,10520,10523],{},[205,10521,10522],{},"Automatizar"," otimizações de performance",[241,10525,10526,10529],{},[205,10527,10528],{},"Integrar"," IA de forma nativa",[241,10531,10532,10535],{},[205,10533,10534],{},"Revolucionar"," a experiência do desenvolvedor",[233,10537,10539],{"id":10538},"minha-recomendação","Minha Recomendação",[201,10541,10542,10545],{},[205,10543,10544],{},"Comece agora"," a se preparar para essas mudanças:",[10547,10548,10549,10555,10561,10567],"ol",{},[241,10550,10551,10554],{},[205,10552,10553],{},"Domine"," os fundamentos atuais",[241,10556,10557,10560],{},[205,10558,10559],{},"Experimente"," funcionalidades experimentais",[241,10562,10563,10566],{},[205,10564,10565],{},"Contribua"," para o ecossistema",[241,10568,10569,10572],{},[205,10570,10571],{},"Mantenha-se"," atualizado com as tendências",[201,10574,10575,10576,10579],{},"O futuro do desenvolvimento front-end está sendo escrito agora, e o ",[205,10577,10578],{},"Nuxt.js está na vanguarda"," dessa revolução.",[1110,10581],{},[201,10583,10584],{},[1115,10585,10586,10587,10590,10591,10596],{},"Quer acompanhar essas tendências em tempo real? Me siga no ",[1119,10588,1124],{"href":1121,"rel":10589},[1123]," e no ",[1119,10592,10595],{"href":10593,"rel":10594},"https:\u002F\u002Flinkedin.com\u002Fin\u002Ffelipe--",[1123],"LinkedIn"," para insights exclusivos sobre o futuro do desenvolvimento front-end!",[201,10598,10599],{},[1115,10600,10601],{},"Tem alguma tendência específica que gostaria de explorar mais? Deixe um comentário!",[1127,10603,10604],{},"html pre.shiki code .sbsja, html code.shiki .sbsja{--shiki-light:#9C3EDA;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .skxfh, html code.shiki .skxfh{--shiki-light:#E53935;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .syTEX, html code.shiki .syTEX{--shiki-light:#FF5370;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sQzsp, html code.shiki .sQzsp{--shiki-light:#E53935;--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .s9AJx, html code.shiki .s9AJx{--shiki-light:#9C3EDA;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .stp6e, html code.shiki .stp6e{--shiki-light:#39ADB5;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZUrc, html code.shiki .sZUrc{--shiki-light:#E53935;--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":231,"searchDepth":302,"depth":302,"links":10606},[10607,10611,10616,10620,10624,10628,10632,10636,10639,10643,10646,10649],{"id":7435,"depth":302,"text":7436,"children":10608},[10609,10610],{"id":7439,"depth":448,"text":7440},{"id":7540,"depth":448,"text":7541},{"id":7637,"depth":302,"text":7638,"children":10612},[10613,10614,10615],{"id":7641,"depth":448,"text":7642},{"id":7777,"depth":448,"text":7778},{"id":8110,"depth":448,"text":8111},{"id":8136,"depth":302,"text":8137,"children":10617},[10618,10619],{"id":8140,"depth":448,"text":8141},{"id":8329,"depth":448,"text":8330},{"id":8355,"depth":302,"text":8356,"children":10621},[10622,10623],{"id":8359,"depth":448,"text":8360},{"id":8521,"depth":448,"text":7778},{"id":8711,"depth":302,"text":8712,"children":10625},[10626,10627],{"id":8715,"depth":448,"text":8716},{"id":8836,"depth":448,"text":8837},{"id":8865,"depth":302,"text":8866,"children":10629},[10630,10631],{"id":8869,"depth":448,"text":8870},{"id":8990,"depth":448,"text":8991},{"id":9019,"depth":302,"text":9020,"children":10633},[10634,10635],{"id":9023,"depth":448,"text":9024},{"id":9133,"depth":448,"text":7778},{"id":9380,"depth":302,"text":9381,"children":10637},[10638],{"id":9384,"depth":448,"text":9385},{"id":9730,"depth":302,"text":9731,"children":10640},[10641,10642],{"id":9734,"depth":448,"text":9735},{"id":9916,"depth":448,"text":9917},{"id":9946,"depth":302,"text":9947,"children":10644},[10645],{"id":9950,"depth":448,"text":9951},{"id":10174,"depth":302,"text":10175,"children":10647},[10648],{"id":10178,"depth":448,"text":10179},{"id":10501,"depth":302,"text":10502,"children":10650},[10651],{"id":10538,"depth":448,"text":10539},"2024-12-16","https:\u002F\u002Fvueschool.io\u002F_ipx\u002Ff_webp&q_100&s_1200x1200\u002Fhttps:\u002F\u002Fvueschool.io\u002Fstorage\u002Fmedia\u002F2a520bfc72705ed466dd42e7431fc549\u002FNuxt_Auth-01.webp",{"author":10655},{"name":1174,"avatar":10656,"bio":1177,"social":10657},{"src":1176},{"github":1121,"linkedin":1179},{"title":191,"description":193},"blog\u002Fnuxt-ecosystem-futuro-desenvolvimento",[1183,10661,10662,10663,10664,10665],"futuro","tendencias","ai","edge-computing","desenvolvimento","rWVSKItpPoSC5PVLqseXIMwHqUEU1RKPUUq-9E8v4Zg",1792609231895]