Skip to content

Configuración ​

El proveedor de estilos se puede configurar. Los atributos controlan la generación de reglas CSS globales, mientras que los parámetros de objeto establecen el estado inicial del proveedor.

Configuración simple (atributos) ​

Puedes establecer ajustes simples como atributos del elemento HTMLScript del proveedor de estilos.

  • prefijo: prefijo privado para el nombre de la hoja de estilo.
  • hidratación: atributo booleano de hidratación que permite al proveedor hidratar los creadores de hojas de estilo en el lado del cliente (desde la versión 3.12.0, la hidratación se gestiona automáticamente).
  • modo: modo de generación de selectores BEM (a: atributos de datos, c: clases).
  • min: generación de selectores BEM minificados (atributo booleano).
  • tema: tema actual que permite usar variables globales del diccionario de tema asociado.
  • tamaño (añadido en la versión 3.4.0): sobrescribe la variable global CSS base de tamaño.
  • tiempo (añadido en la versión 3.4.0): sobrescribe la variable global CSS base de tiempo.
  • ángulo (añadido en la versión 3.5.0): sobrescribe la variable global CSS base de ángulo.

Configuración compleja ​

La configuración compleja debe pasarse a la función defineProvider o asignarse al campo settings dentro del elemento HTMLScript Style provider.

  • bp: puntos de interrupción para consultas de límite de ancho.
  • vars: variables globales para cada tema.
  • makers: creadores de la hoja de estilos inicial.
  • off: desactiva los creadores de la hoja de estilos inicial.
  • palette (añadida en la versión 3.4.0): configuración de la paleta de colores que permite personalizar la utilidad palette.
  • coef (añadida en la versión 3.5.0): configuración global de coeficientes que permite personalizar la utilidad coef.

La personalización de temas es muy sencilla ​

Simplemente pase todos sus temas con los valores de las variables requeridas a la configuración vars. Se acepta cualquier anidamiento.

ts
import { defineProvider } from 'effcss';

// global vars grouped by theme
const vars = {
    // default variables
    '': {
        colors: {
            main: 'white',
            contrast: 'black'
        }
    },
    // dark theme variables
    dark: {
        colors: {
            main: 'white',
            contrast: 'black'
        }
    },
};

// you should run it before provider HTMLScriptElement connected to DOM
defineProvider({ vars });
ts
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import { useStyleProvider } from 'effcss';
import App from './App.tsx';

const consumer = useStyleProvider();
// set dark theme to apply predefined global variables
consumer.theme = 'dark';

createRoot(document.getElementById('root')!).render(
  <StrictMode>
      <App css={consumer} />
  </StrictMode>,
);

Publicado bajo la Licencia Apache 2.0