ArcaneStylesheet class abstract

Base class for stylesheets.

A stylesheet provides:

  1. Theme seeds - Minimal color input (5-8 colors)
  2. Component renderers - HTML/CSS output for each component
  3. Font/radius config - Typography and border radius scales
  4. 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.