Spinner
Communicates an ongoing, indeterminate loading state.
Sizes
vue
<script setup lang="ts">
import { Spinner } from 'frappe-ui'
</script>
<template>
<div class="flex items-center gap-6">
<Spinner size="xs" />
<Spinner size="sm" />
<Spinner size="md" />
<Spinner size="lg" />
</div>
</template>Themes
vue
<script setup lang="ts">
import { Spinner } from 'frappe-ui'
</script>
<template>
<div class="flex items-center gap-6">
<Spinner theme="gray" size="lg" />
<Spinner theme="red" size="lg" />
</div>
</template>Track
vue
<script setup lang="ts">
import { Spinner } from 'frappe-ui'
</script>
<template>
<div class="flex items-center gap-6">
<Spinner size="lg" />
<Spinner size="lg" track />
<Spinner size="lg" theme="red" />
<Spinner size="lg" theme="red" track />
</div>
</template>In context
vue
<script setup lang="ts">
import { Button } from 'frappe-ui'
</script>
<template>
<div class="flex flex-wrap items-center gap-3">
<Button
theme="gray"
variant="solid"
icon="lucide-save"
:loading="true"
size="xs"
/>
<Button
theme="gray"
variant="solid"
:loading="true"
loading-text="Discover"
size="xs"
/>
<Button
theme="gray"
variant="solid"
:loading="true"
loading-text="Discover"
/>
<Button
theme="red"
variant="subtle"
:loading="true"
loading-text="Deleting"
size="md"
/>
<Button
theme="gray"
variant="ghost"
:loading="true"
loading-text="Loading"
size="md"
/>
<Button
theme="gray"
variant="subtle"
:loading="true"
loading-text="Get app"
size="lg"
/>
</div>
</template>API Reference
Show types
typescript
export type SpinnerSize = 'xs' | 'sm' | 'md' | 'lg'
export type SpinnerTheme = 'gray' | 'red'
export interface SpinnerProps {
/** Diameter — xs=12px, sm=14px, md=16px, lg=20px. Omit to size with classes (default 16px). */
size?: SpinnerSize
/** Spinner color. Omit to inherit the text color. */
theme?: SpinnerTheme
/** Show a faint track behind the arc */
track?: boolean
}size
SpinnerSize
Diameter — xs=12px, sm=14px, md=16px, lg=20px. Omit to size with classes (default 16px).
theme
SpinnerTheme
Spinner color. Omit to inherit the text color.
track
= falseboolean
Show a faint track behind the arc