Instalación
Todo lo que necesitas para empezar a usar ozi-ui en tu proyecto.
Requisitos
| Requisito | Versión mínima |
|---|---|
| Navegador moderno | Soporte para fetch, WeakMap y AbortController |
| Dependencias JS | Ninguna — ozi-ui v2 es JavaScript puro |
Para más detalles de compatibilidad con frameworks y UI → ver Compatibilidad
Método 1 — Composer + Laravel
Instalación recomendada para proyectos Laravel. Assets publicados automáticamente.
1. Instala el paquete
composer require ozi-ui/core:^2.0
2. Publica los assets
php artisan vendor:publish --tag=ozi-ui
3. Configura el layout
Agrega en tu layout principal — ej: layouts/app.blade.php:
<head>
@oziStyles
@oziScripts
<script>oziConf({ theme: 'bootstrap5', lang: 'es' });</script>
</head>
<body>
{{-- ... --}}
@livewireScripts
</body>
No hace falta ningún
<script>de jQuery. En la v2 ozi-ui no carga ni requiere jQuery.
4. Verifica la instalación
php artisan ozi:check
Salida esperada:
✔ ozi-ui v2.0.0 OK
Consejo: empieza con
ozi-loaddatapara el envío de formularios o conozi-selectpara campos avanzados.
Método 2 — CDN
Sin instalación — ideal para prototipos, proyectos simples o cualquier stack.
<head>
<script src="https://cdn.oziui.com/v2.0.0/ozi.js"></script>
</head>
Método 3 — Manual
Control total — sin Composer, sin directivas, solo archivos copiados al proyecto.
Descarga: accede a GitHub
Estructura de carpetas
Tras la descarga, copia la carpeta en public/plugins/:
public/
└── plugins/
└── ozi-ui/
├── ozi.js
├── core/
├── modules/
├── components/
├── behaviors/
├── integrations/
└── themes/
HTML básico
<head>
<script src="/plugins/ozi-ui/ozi.js"></script>
</head>
Configuración opcional
<script>
oziConf({
theme: 'bootstrap5',
lang: 'es',
plugins: ['loaddata', 'select', 'toggle']
});
</script>
Sin configuración, ozi-ui carga todos los plugins con el tema
defaulty el idiomaen.
Temas — enlazar el CSS
@oziStyles emite el CSS de los componentes, no el del tema. Si usas bootstrap5, tailwind o un tema propio, enlaza los archivos del tema manualmente en el <head>:
<link rel="stylesheet" href="/plugins/ozi-ui/themes/default/tokens.css">
<link rel="stylesheet" href="/plugins/ozi-ui/themes/default/overrides.css">
<link rel="stylesheet" href="/plugins/ozi-ui/themes/tailwind/tokens.css">
<link rel="stylesheet" href="/plugins/ozi-ui/themes/tailwind/overrides.css">
<link rel="stylesheet" href="/plugins/ozi-ui/themes/tailwind/dark.css">
<script>oziConf({ theme: 'tailwind' });</script>
El tema default es la fuente de los valores de fallback — cárgalo antes del tema elegido. El mismo build JS sirve cualquier tema: oziConf({ theme }) solo cambia el mapa de clases.
Vía directivas Blade (Laravel)
{{-- Todo --}}
@oziStyles
@oziScripts
{{-- Solo algunos plugins --}}
@oziStyles(['select', 'editor'])
@oziScripts(['loaddata', 'select', 'editor'])
HTML generado
<!-- @oziStyles(['select', 'editor']) -->
<link rel="stylesheet" href="/plugins/ozi-ui/components/ozi-select/css/ozi-select.css">
<link rel="stylesheet" href="/plugins/ozi-ui/components/ozi-editor/css/ozi-editor.css">
<!-- @oziScripts(['loaddata', 'select', 'editor']) -->
<script src="/plugins/ozi-ui/core/helpers/ozi-helpers.js?v=2.0.0"></script>
<script src="/plugins/ozi-ui/core/ozi-conf.js?v=2.0.0"></script>
<script src="/plugins/ozi-ui/modules/ozi-loaddata/js/ozi-loaddata.js?v=2.0.0"></script>
<script src="/plugins/ozi-ui/components/ozi-select/js/ozi-select.js?v=2.0.0"></script>
<script src="/plugins/ozi-ui/components/ozi-editor/js/ozi-editor.js?v=2.0.0"></script>
El
?v=acompaña la versión instalada del paquete — cache-bust automático en cada release.