Runtime Style Loading
Vue 3 Plugin
Section titled “Vue 3 Plugin”The package provides a ready-to-use Vue plugin for activating styles on the fly.
// main.js / main.tsimport { createApp } from 'vue';import { ustaticCss } from 'ustatic-css/scripts';import App from './App.vue';
const app = createApp(App);
// Option 1: Load specific modulesapp.use(ustaticCss, { modules: ['flexbox', 'spacing', 'typography']});
// Option 2: Auto-detect modules based on used classesapp.use(ustaticCss, { classes: ['flex', 'p-4', 'text-lg']});
app.mount('#app');Plugin Options
Section titled “Plugin Options”| Option | Type | Description |
|---|---|---|
modules | string[] | List of modules to connect |
classes | string[] | List of classes for auto-detection of modules |
Available modules: align, animations, base, bg, border, cursor, display, effects, filters, flexbox, grid, hidden, interactivity, outline, position, scroll, sizing, spacing, typography
If no options are provided — base styles (ustatic.css) and variables (vars.css) are connected.
Universal Loader
Section titled “Universal Loader”The loadStyles method works in any environment: Vanilla JS, React, Svelte, Nuxt, SSR.
import { loadStyles } from 'ustatic-css/scripts';
// Explicit module loadingawait loadStyles({ modules: ['typography', 'spacing', 'border'] });
// Auto-detection by classesawait loadStyles({ classes: ['flex', 'justify-between', 'items-center'] });SSR Compatible
Section titled “SSR Compatible”The loadStyles method works safely with SSR: if document is unavailable, loading is skipped on the server and executed in the browser.
// This code is SSR-safeawait loadStyles({ modules: ['flexbox', 'spacing'] });Examples
Section titled “Examples”Vue 3: Load specific modules
Section titled “Vue 3: Load specific modules”app.use(ustaticCss, { modules: ['flexbox', 'spacing', 'typography', 'border']});Vue 3: Auto-detect by classes
Section titled “Vue 3: Auto-detect by classes”app.use(ustaticCss, { classes: ['flex', 'p-4', 'text-lg', 'bg-blue-500']});React / Svelte / Vanilla JS
Section titled “React / Svelte / Vanilla JS”import { loadStyles } from 'ustatic-css/scripts';
await loadStyles({ modules: ['typography', 'spacing'] });await loadStyles({ classes: ['flex', 'justify-between', 'items-center'] });