> ## Documentation Index
> Fetch the complete documentation index at: https://design.slingshotai.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> This site documents Sundial 2.0, the design system of the Ash mobile app (Flutter). For implementing UI: use the Design System pages — color/typography tokens (foundations/*), Flutter theming (theming/*), and component APIs (components/*) — as your reference; every value there mirrors the Dart source in lib/design_system/. The Philosophy pages (philosophy/*) are design rationale written for humans: consult them when making design decisions, not for API lookups. Golden rules: never hardcode colors or text styles — read tokens via context.colorTheme and context.textTheme; prefer the 2.0 semantic names (contentPrimary, surfaceComponent, accentSolid…) over legacy contrast*/surface* getters and over SundialRef primitives; the accent is a single pale lavender solid that takes dark content — never use accent fills as text, icons, or borders (use contentAccent / borderSelected); brand surfaces are mode-invariant and pair with the contentOnBrand* inks; check lib/design_system/components/ before building custom widgets.

# ThemeOverride

> Rebuild the Material theme for a subtree — brightness-only in Sundial 2.0

A utility widget that rebuilds the Material `Theme` for a subtree using `AppTheme.light` or `AppTheme.dark` — the sanctioned way to locally flip brightness (dark chrome over imagery, a dark-locked sheet). Source: [`theme_override.dart`](https://github.com/slingshot-ai/ash-mobile-app/blob/main/lib/design_system/components/theme_override.dart).

```dart theme={null}
ThemeOverride(
  brightness: Brightness.dark,
  child: ...,
)
```

## Props

| Prop | Type | Default | Notes |
| - | - | - | - |
| `brightness` | `Brightness` | required | Theme for the subtree |
| `child` | `Widget` | required | |

> [!NOTE]
>
> The `accentPalette` parameter was removed with the persona system in Sundial 2.0 — brightness is the only axis. See [Accent Theming](https://design.slingshotai.com/theming/persona-theming.md).

## Behavior

The override installs a **complete** theme — ThemeExtensions, Material component themes, ColorScheme, TextTheme — not a partial patch. And since all Sundial tokens implement `lerp`, entering/changing an override animates via `AnimatedTheme` when it replaces an existing theme in place.

The canonical use is textured or dark surfaces whose content must read light regardless of the app theme: `StyledListTile` wraps its content in `ThemeOverride(brightness: Brightness.dark)` over textured wallpapers, and the feature-intro and force-update modals lock their chrome the same way.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.