Core Concepts

Runtime State

Runtime snapshots, dependency masks, and provider hooks.

Runtime State

NitroCssProvider starts runtime observation and exposes state through hooks.

import { useNitrowind } from '@nitrofoundation/nitrowind';

function ThemeToggle() {
  const { snapshot, themeName, setTheme, setColorScheme } = useNitrowind();

  return (
    <Button
      title={snapshot.colorScheme === 'dark' ? 'Light' : 'Dark'}
      onPress={() => setColorScheme('dark')}
    />
  );
}

Snapshot fields

The runtime snapshot tracks:

  • currentThemeName
  • hasAdaptiveThemes
  • colorScheme
  • screen
  • insets
  • orientation
  • pixelRatio
  • fontScale
  • rtl
  • rem
  • hairlineWidth

Hooks

HookReturns
useNitroCss / useNitrowindSnapshot, theme name, setTheme, and setColorScheme.
useRuntimeSnapshotThe current runtime snapshot.
useThemeCurrent theme name and setter.
useColorSchemeCurrent color scheme and setter.
useDimensionsCurrent screen dimensions.
useInsetsCurrent safe-area insets.
useFontScaleCurrent font scale.

On this page