UI Elements
ProgressTracker
A component that displays the current step in a multi-step process or workflow.
- (1)Step 1
- (2)Step 2
- (3)Step 3
Anatomy
The class attribute values represent part names, and conditional indicates elements that are rendered conditionally. Other attributes represent their corresponding props.
Svelte
<ol class="whole">
{#each labels as label}
<li class="middle">
<div class="main">
<div class="aux" conditional>{aux}</div>
<div class="label">{label} or {children}</div>
</div>
<div class="extra" conditional>{extra}</div>
</li>
{/each}
</ol>Props
Type
(value) indicates the default value for the prop.
TypeScript
interface ProgressTrackerProps {
current: number; // bindable (0)
labels: string[];
children?: Snippet<[number, string, string]>; // Snippet<[index,label,variant]>
aux?: Snippet<[number, string, string]>; // Snippet<[index,label,variant]>
extra?: boolean | Snippet<[number, string, string]>; // (true) Snippet<[index,label,variant]>
styling?: SVSClass;
variant?: string; // bindable (VARIANT.NEUTRAL)
eachVariant?: SvelteMap<number, string> | Map<number, string>;
}Additional Props
current- Index of the steps currently progressingeachVariant- Specify a variant for each step
Styling
To learn more, see Styling.
Variant Management
Current step and whole part are applied neutral. Steps less than current step will be active, greater than current will be inactive. If the variant prop is specified, the specified value is applied instead of neutral.
Default Class Name
svs-progress-tracker
Exports
Types
TypeScript
type ProgressTrackerReqdProps = "current" | "labels";
type ProgressTrackerBindProps = "current" | "variant";Others
No additional exports are available.
Examples
The example code uses Tailwind CSS along with SVSClass.
Basic
- (1)Step 1
- (2)Step 2
- (3)Step 3
With Interactive Variant
Preset for Demo
Enter variant as you like
- Step 1Additional text 1
- Step 2Additional text 2
- Step 3Additional text 3
- Step 4Additional text 4