Módulos avançados que estendem o Y2 Core. Carregados separadamente — o core permanece leve e estável enquanto o compl evolui com novos recursos.
O Y2 é dividido em dois arquivos independentes. Carregue sempre o Core primeiro:
<!-- Y2 Core (base — obrigatório) -->
<link rel="stylesheet" href="/dist/y2.min.css">
<script src="/dist/y2.min.js" defer></script>
<!-- Y2 Compl (módulos avançados — opcional) -->
<link rel="stylesheet" href="/dist/y2-compl.min.css">
<script src="/dist/y2-compl.min.js" defer></script>
CORE y2.min.js + y2.min.css
Framework base — congelado, estável, sem dependências.
COMPL y2-compl.min.js + y2-compl.min.css
Módulos avançados — em evolução contínua.
Tabelas dinâmicas com ordenação, busca, paginação e carregamento via AJAX.
Y2Table · Y2TableAjaxEditor rich text nativo — sem dependências externas, configurável por atributos.
Y2EditorWidget de cotação de moedas em tempo real integrado à API pública.
Y2CotFeed do Instagram via proxy PHP — sem token, imagens cacheadas localmente.
Y2Insta + PHP ProxyCarregamento infinito por scroll com IntersectionObserver — zero jQuery.
Y2InfUpload com drag-and-drop, preview, progresso e validação de tipo/tamanho.
Y2UploadO y2-compl.min.js detecta o Y2 Core e se registra automaticamente:
// y2-compl.min.js — executado após y2.min.js
if (typeof Y2 !== 'undefined') {
Y2.use(Y2Table).use(Y2TableAjax).use(Y2Editor)
.use(Y2Cot).use(Y2Insta).use(Y2Inf).use(Y2Upload);
// globals também disponíveis:
window.Y2Table = Y2Table;
window.Y2Editor = Y2Editor;
// ...
}
Se o Core não estiver carregado, o Compl ainda exporta os módulos como globals para uso manual.