Configuración

oziConf() es opcional — sin él, ozi-ui funciona con los valores por defecto (tema default, idioma en, todos los plugins cargados).

Llama a oziConf() justo después de incluir ozi.js:

<script src="/plugins/ozi-ui/ozi.js"></script>
<script>
    oziConf({ ... });
</script>

Configuración mínima

La mayoría de los proyectos solo necesita definir el tema y el idioma:

oziConf({
    theme: 'bootstrap5',
    lang:  'es'
});

Temas

Tema Cuándo usar
default Proyectos con CSS propio o sin framework UI
bootstrap5 Proyectos con Bootstrap 5 — estándar recomendado
tailwind Proyectos con Tailwind CSS
oziConf({ theme: 'bootstrap5' });

El tema define el classMap — las clases CSS aplicadas por ozi-ui para los estados de validación, botones y retroalimentación visual. Consulta la sección classMap para personalizar.


Idiomas

Valor Idioma
en Inglés — por defecto
pt-BR Portugués de Brasil
oziConf({
    lang:         'es',
    fallbackLang: 'en'  // usado cuando una clave no existe en el idioma principal
});

Plugins — carga solo lo que necesitas

Por defecto ozi-ui carga todos los plugins. Para cargar solo los necesarios:

oziConf({
    plugins: ['loaddata', 'select', 'toggle']
});

Las dependencias se resuelven automáticamente — no es necesario declarar los módulos internos.

Plugins disponibles

Plugin Categoría
loaddata módulo
select componente
autocomplete componente
editor componente
audio componente
auth componente
check componente
search componente
copy behavior
toggle behavior

Configuración completa

oziConf({

    // ── Tema y modo visual ──────────────────────
    theme:     'bootstrap5',  // 'default' | 'bootstrap5' | 'tailwind'
    themeMode: 'auto',        // 'light' | 'dark' | 'auto'

    // ── Idioma ──────────────────────────────────
    lang:         'es',
    fallbackLang: 'en',

    // ── Plugins a cargar ────────────────────────
    plugins: 'all',  // 'all' o array: ['loaddata', 'select', ...]

    // ── Core ────────────────────────────────────
    core: {
        urlBase:  './plugins/ozi-ui/',  // ruta base de los archivos
        log:      false,                // logs de depuración en la consola
        failFast: false                 // detiene el boot al primer error
    },

    // ── Configuración por plugin ─────────────────
    pluginConf: {

        loaddata: {
            progressBarGlobalClass: 'ozi-progress',
            interactiveValidation:  true   // valida campos al perder el foco
        },

        select: {
            imageDimension: '24px',   // tamaño por defecto de las imágenes en las opciones
            autoObserve:    false     // detecta nuevos elementos vía MutationObserver
        },

        autocomplete: {
            autoObserve: false
        },

        editor: {
            uicolor: 'var(--ozi-color-primary)'  // color de los botones activos y borde con foco
        },

        audio: {
            autoObserve: false
        },

        auth: {
            passMin:      12,  // mínimo de caracteres en la contraseña
            passMax:      64,  // máximo de caracteres en la contraseña
            userCaracter:  4   // mínimo de caracteres en el campo de usuario
        }
    },

    // ── classMap — sobrescribe el preset del tema ─
    classMap: {
        invalid:       'is-invalid',
        valid:         'is-valid',
        formValidated: 'was-validated',
        feedback:      'invalid-feedback',
        button:        'btn btn-primary',
        disabled:      'disabled'
    }

});

Referencia

core

Parámetro Por defecto Descripción
urlBase './plugins/ozi-ui/' Ruta base donde se sirven los archivos de ozi-ui
log false Activa logs detallados en la consola
failFast false Detiene el boot al primer error de carga

pluginConf

loaddata

Parámetro Por defecto Descripción
progressBarGlobalClass 'ozi-progress' Clase CSS de la barra de progreso global
interactiveValidation true Valida campos individualmente al perder el foco

select

Parámetro Por defecto Descripción
imageDimension '24px' Tamaño por defecto de las imágenes mostradas en las opciones
autoObserve false Inicializa automáticamente nuevos elementos vía MutationObserver

autocomplete

Parámetro Por defecto Descripción
autoObserve false Inicializa automáticamente nuevos elementos vía MutationObserver

editor

Parámetro Por defecto Descripción
uicolor 'var(--ozi-color-primary)' Color aplicado en los botones activos y borde con foco

audio

Parámetro Por defecto Descripción
autoObserve false Inicializa automáticamente nuevos elementos vía MutationObserver

auth

Parámetro Por defecto Descripción
passMin 12 Mínimo de caracteres aceptados en la contraseña
passMax 64 Máximo de caracteres aceptados en la contraseña
userCaracter 4 Mínimo de caracteres en el campo de usuario

classMap

Mapeo de tokens semánticos a clases CSS del framework UI. Se rellena automáticamente con el preset del tema — sobrescribe solo lo necesario.

Bootstrap 5 (por defecto del tema bootstrap5)

Token Valor
invalid 'is-invalid'
valid 'is-valid'
formValidated 'was-validated'
feedback 'invalid-feedback'
button 'btn btn-primary'
disabled 'disabled'

Tailwind (tema tailwind)

Token Valor
invalid 'border-red-500 text-red-600'
valid 'border-green-500 text-green-600'
formValidated 'ozi-validated'
feedback 'text-red-500 text-sm mt-1'
button 'px-4 py-2 bg-blue-600 text-white rounded'
disabled 'opacity-50 cursor-not-allowed'

Sobrescritura puntual

Para ajustar solo un token sin cambiar el tema:

oziConf({
    theme: 'bootstrap5',
    classMap: {
        button: 'btn btn-danger'  // solo este cambia — el resto viene del preset
    }
});