import { Segment } from '@skeletonlabs/skeleton-svelte';
import IconLeft from 'lucide-svelte/icons/align-left';
import IconCenter from 'lucide-svelte/icons/align-center';
import IconRight from 'lucide-svelte/icons/align-right';
import IconJustify from 'lucide-svelte/icons/align-justify';
let align = $state('left');
<Segment bind:value={align} name="align">
<Segment.Item id="left" value="left">
<Segment.Item id="center" value="center">
<Segment.Item id="right" value="right">
<Segment.Item id="justify" value="justify">
This component wraps native radio inputs, which enables it to operate as as a form control.
Disabled
Set disabled
to any item to disable focus and interaction.
import { Segment } from '@skeletonlabs/skeleton-svelte';
<Segment bind:value={size} name="size">
<Segment.Item id="sm" value="sm">sm</Segment.Item>
<Segment.Item id="md" value="md">md</Segment.Item>
<Segment.Item id="lg" value="lg" disabled>lg</Segment.Item>
Vertical
Set flexDirection
to enable a vertical layout. This can be controlled with responsive breakpoints.
import { Segment } from '@skeletonlabs/skeleton-svelte';
<Segment bind:value={size} name="size" flexDirection="flex-col">
<Segment.Item id="sm" value="sm">Small</Segment.Item>
<Segment.Item id="md" value="md">Medium</Segment.Item>
<Segment.Item id="lg" value="lg" disabled>Large</Segment.Item>
Alternative
Consider using a Button Group if you need direct control over the markup and styling.