{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "spinner",
  "title": "Spinner",
  "description": "themed ActivityIndicator · announced as \"Loading\"",
  "dependencies": [],
  "registryDependencies": [
    "@kit-native/lib-palette-context"
  ],
  "files": [
    {
      "path": "components/kit/spinner.tsx",
      "content": "import { usePalette } from '@/lib/palette-context';\nimport { ActivityIndicator, type ActivityIndicatorProps } from 'react-native';\n\ntype Props = Omit<ActivityIndicatorProps, 'color'> & {\n  /** `primary-foreground` is the one to use inside a filled Button. */\n  tone?: 'primary' | 'primary-foreground' | 'foreground' | 'muted';\n};\n\n/**\n * Themed ActivityIndicator. Use inside buttons, cards and loading screens. Announced as \"Loading\"\n * (a named progressbar on web); pass `accessibilityLabel` to say what is loading.\n */\nexport function Spinner({ tone = 'primary', size = 'small', accessibilityLabel = 'Loading', ...props }: Props) {\n  const colors = usePalette();\n  const color =\n    tone === 'primary'\n      ? colors.primary\n      : tone === 'primary-foreground'\n        ? colors.primaryForeground\n        : tone === 'foreground'\n          ? colors.foreground\n          : colors.mutedForeground;\n  return <ActivityIndicator size={size} color={color} aria-label={accessibilityLabel} {...props} />;\n}\n",
      "type": "registry:component",
      "target": "components/kit/spinner.tsx"
    }
  ],
  "meta": {
    "exports": [
      "Spinner"
    ],
    "api": "<Spinner size=\"small|large\" tone=\"primary|foreground|muted\" accessibilityLabel? />"
  },
  "docs": "Run `npx expo install --fix` afterwards so Expo SDK packages match your SDK. Needs the kit theme (`@kit-native/theme`) and `KitThemeProvider` from `@kit-native/lib-theme-context` at the root.",
  "categories": [
    "feedback"
  ],
  "type": "registry:component"
}