ArcaneStylesheet class abstract
Base class for stylesheets.
A stylesheet provides:
- Theme seeds - Minimal color input (5-8 colors)
- Component renderers - HTML/CSS output for each component
- Font/radius config - Typography and border radius scales
- Custom CSS - Scrollbars, tree lines, animations, etc.
The base class automatically generates all CSS variables from seeds. Stylesheets only need to define what's unique to their design language.
Usage
ArcaneApp(
stylesheet: ShadcnStylesheet(),
child: MyApp(),
)
Creating Custom Stylesheets
class MyStylesheet extends ArcaneStylesheet {
const MyStylesheet();
@override
String get id => 'my-style';
@override
String get name => 'My Style';
@override
ComponentRenderers get renderers => const MyRenderers();
@override
ThemeSeed get lightSeed => ThemeSeed(
primary: 0xFF6366f1, // Indigo
destructive: 0xFFef4444,
success: 0xFF22c55e,
warning: 0xFFf59e0b,
info: 0xFF3b82f6,
);
}
- Implementers
Constructors
- ArcaneStylesheet()
-
const
Properties
- baseCss → String
-
Complete CSS output including all variables and base styles.
no setter
- bodyClass → String?
-
Optional CSS class to apply to the body/root element.
no setter
- componentCss → String
-
Component-specific CSS (scrollbars, tree lines, animations, etc.)
no setter
- darkModeCss → String?
-
@deprecated Use componentCss instead.
no setter
- darkSeed → ThemeSeed
-
Dark mode seed colors.
no setter
-
externalCssUrls
→ List<
String> -
External CSS URLs to load (Google Fonts, CDN stylesheets, etc.)
no setter
- fontFaces → String
-
Font face declarations (@font-face rules).
no setter
- fonts → FontConfig
-
Font configuration.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- id → String
-
Unique identifier for this stylesheet.
no setter
- lightModeCss → String?
-
@deprecated Use componentCss instead.
no setter
- lightSeed → ThemeSeed
-
Light mode seed colors.
no setter
- name → String
-
Human-readable display name.
no setter
- radius → RadiusConfig
-
Border radius configuration.
no setter
- renderers → ComponentRenderers
-
Component renderers for this stylesheet.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Constants
- codex → const ArcaneStylesheet
- Codex stylesheet - gaming aesthetic with neon glows.
- shadcn → const ArcaneStylesheet
- ShadCN UI stylesheet - minimal, modern, accessible.