--- ## Spinner Animated loading indicator with multiple animation styles and semantic intents. **Import:** `import { Spinner } from '@urbicon-ui/blocks';` ### Examples ```svelte ``` ```svelte ``` ### Variants - intent: current, danger, neutral, primary, secondary, success, warning (default: primary) - variant: bars, default, dots, pulse, ring (default: default) - size: lg, md, sm, xl, xs (default: md) - speed: fast, normal, slow (default: normal) ### Api | Prop | Type | Required | Default | Description | | --- | --- | :---: | --- | --- | | ...HTMLAttributes | `HTMLAttributes` | no | | HTML attributes (excluding: 'children') | | ...SpinnerVariants | `VariantProps` | no | | Styling variants from SpinnerVariants | | children | `Snippet` | no | | Optional content rendered beside the spinner (e.g. loading text). | | class | `string` | no | | Extra classes merged onto the root element. | | intent | `SpinnerVariants['intent']` | no | | Semantic color applied via `text-*` token. | | label | `string` | no | | Accessible label announced by screen readers. Defaults to "Loading...". | | preset | `string` | no | | Apply a named preset registered via ``. Prefer this over `class` overrides when the requested look falls outside the semantic intent palette — presets keep hover/active/dark-mode logic coherent and make the custom look reusable across the project. | | size | `SpinnerVariants['size']` | no | | Physical dimensions from `xs` (16 px) to `xl` (40 px). | | slotClasses | `Partial>` | no | | Per-slot class overrides merged with (or replacing, when `unstyled`) tv() output. Slots: base | svg | svgCircle | svgPath | dots | dot | pulse | pulseCenter | pulseRing | ring | ringElement | bars | bar | content | srOnly | | speed | `SpinnerVariants['speed']` | no | | Animation speed — controls `--spinner-speed` custom property. | | unstyled | `boolean` | no | | Strip all default tv() classes. Combine with `slotClasses` for full control. | | variant | `SpinnerVariants['variant']` | no | | Animation style. `default` is an SVG arc, `dots` bounces three dots, `pulse` radiates a sonar ping, `ring` spins cascading borders, `bars` animates vertical equalizer bars. | | visible | `boolean` | no | | When false the spinner is removed from the DOM. | Inherited from: - SpinnerVariants (external) - Omit, 'children'> (omit-pattern)