GlassKit Integration & Architecture Guide
Learn how to integrate, structure, and programmatically control high-performance translucent interfaces using GlassKit architecture and CSS variable injection.
1. Icon Integration Guide (Bootstrap Icons & Custom SVG)
GlassKit is fully compatible with Bootstrap Icons and custom vector SVG graphics. Icons automatically inherit CSS color tokens, font sizing, and text opacity from parent Glass containers.
Standard Bootstrap Icon Markup
<!-- Standard Bootstrap Icon integration -->
<i class="bi bi-shield-check text-success fs-4 me-2"></i>
<button class="btn glass-btn glass-btn-primary">
<i class="bi bi-download me-2"></i> Download Bundle
</button>
Inline SVG Icon Integration
<!-- SVG vector icon with GlassKit color fill -->
<svg class="glass-icon text-primary" width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
<path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/>
</svg>
2. Theme Engine Architecture
The ThemeManager module dynamically overrides root CSS variables (--bs-primary, --bg-color, --gk-blur) at runtime.
Programmatic execution example:
themeManager.setTheme('cyberpunk');
Theme Switching Lifecycle Diagram
sequenceDiagram
participant User as Developer / App UI
participant TM as ThemeManager (JS)
participant DOM as document.documentElement
participant M as Mermaid.js Engine
User->>TM: themeManager.setTheme('cyberpunk')
activate TM
TM->>DOM: Overrides --bs-primary, --bg-color, --gk-blur
TM-->>M: Emits glasskit-theme-changed event
activate M
M-->>M: Re-renders SVG diagram colors dynamically
deactivate M
deactivate TM
3. Dynamic JSON UI Schema Engine
Powers low-code/no-code visual builders by parsing structured GlassNode trees directly into DOM elements:
import { renderFromJSON } from 'glasskit-ui';
const schema = {
component: 'glass-card',
props: { class: 'p-4', variant: 'primary' },
children: [
{ component: 'h3', text: 'Dynamic Card Title' },
{ component: 'glass-btn', props: { variant: 'primary' }, text: 'Submit' }
]
};
renderFromJSON(schema, document.getElementById('app'));
4. Framework & React Integration
Import GlassKit styles and prop mappers natively in React / Next.js projects:
import 'glasskit-ui/style.css';
import { GlassKitReact, themeManager } from 'glasskit-ui';
export function AppCard() {
return (
<div {...GlassKitReact.card({ variant: 'primary', className: 'p-4' })}>
<h4 className="text-white">React Glass Card</h4>
<button {...GlassKitReact.button({ variant: 'primary' })}>Click Me</button>
</div>
);
}