Skip to content
ARC UI ARC Reactive Components
Docs Components Tokens Synthesizer
v2.1.0
Getting Started Frameworks Design Tokens Theming Theme Synthesizer Accessibility Browser Support Changelog Contributing All Components App ShellAspect GridAuth ShellCenterClusterContainerDashboard GridDockFloat BarInsetMasonryPage HeaderPage LayoutResizableResponsive SwitcherSectionSettings LayoutSplit PaneStatus BarStickyToolbar Anchor NavBottom NavBreadcrumbBreadcrumb MenuCommand BarDrawerFooterLinkNavigation MenuPage IndicatorPaginationRailScroll IndicatorScroll SpyScroll To TopSidebarSkip LinkSpeed DialStepper NavTabsTop BarTree View AccordionAspect RatioAvatarAvatar GroupCalloutCardCarouselCollapsibleColor SwatchCTA BannerDividerEmpty StateFeature CardIconImageInfinite ScrollMarqueeScroll AreaSeparatorSkeletonSpinnerStackVirtual List Animated NumberBadgeComparisonCountdown TimerData TableDescription ListDiffKey ValueListMeterSparklineStatStepperTableTagTimelineValue Card BlockquoteCode BlockGradient TextHighlightKbdMarkdownNumber FormatProseTextTime AgoTruncateTypewriter ButtonButton GroupCalendarCheckboxChipColor PickerComboboxCopy ButtonDate PickerFieldsetFile UploadFormHotkeyIcon ButtonInputInput GroupLabelMulti SelectNumber InputOTP InputPin InputRadio GroupRange SliderRatingSearchSegmented ControlSelectSliderSortable ListSwitch GroupTextareaTheme ToggleTime PickerToggle AlertAnnouncementBannerCommand PaletteConfirmConnection StatusContext MenuDialogDropdown MenuGuided TourHover CardInline MessageLoading OverlayModalNotification PanelPopoverProgressProgress ToastSheetSnackbarSpotlightToastTooltip
Components Separator
content static
<arc-separator>

Overview

Guidelines

When to use

  • Use between logical groups of content — form sections, list categories, nav groups
  • Use the fade variant for subtle breaks inside cards or sidebars
  • Use a labeled separator for "or" dividers in auth flows or filter groups
  • Use the vertical orientation to divide side-by-side toolbar groups

When not to use

  • Stack multiple separators without meaningful content between them
  • Use a separator when whitespace alone provides sufficient visual grouping
  • Use the label slot for long text — keep it to one or two words
  • Use separator as a decorative border — it is a semantic content divider

Features

  • Horizontal and vertical orientations for flexible layout use
  • Four line variants: solid, dashed, dotted, and fade (gradient taper)
  • Optional inline label centered between two line segments
  • Semantic `role="separator"` with automatic `aria-orientation`
  • Uses `--border-default` token for consistent theme integration
  • Exposed CSS parts: separator, line, label for per-instance styling

Preview

Usage

<arc-separator></arc-separator>
<arc-separator variant="dashed"></arc-separator>
<arc-separator variant="fade"></arc-separator>
<arc-separator label="or"></arc-separator>

<!-- Vertical in a toolbar -->
<div style="display: flex; align-items: center; gap: 8px; height: 32px;">
  <span>Left</span>
  <arc-separator orientation="vertical"></arc-separator>
  <span>Right</span>
</div>
import { Separator } from '@arclux/arc-ui-react';

<Separator />
<Separator variant="dashed" />
<Separator variant="fade" />
<Separator label="or" />
<script setup>
import { Separator } from '@arclux/arc-ui-vue';
</script>

<template>
  <Separator />
  <Separator variant="dashed" />
  <Separator variant="fade" />
  <Separator label="or" />
</template>
<script>
  import { Separator } from '@arclux/arc-ui-svelte';
</script>

<Separator />
<Separator variant="dashed" />
<Separator variant="fade" />
<Separator label="or" />
import { Component } from '@angular/core';
import { Separator } from '@arclux/arc-ui-angular';

@Component({
  imports: [Separator],
  template: `
    <Separator />
    <Separator variant="dashed" />
    <Separator variant="fade" />
    <Separator label="or" />
  `,
})
export class ContentSection {}
import { Separator } from '@arclux/arc-ui-solid';

<Separator />
<Separator variant="dashed" />
<Separator variant="fade" />
<Separator label="or" />
import { Separator } from '@arclux/arc-ui-preact';

<Separator />
<Separator variant="dashed" />
<Separator variant="fade" />
<Separator label="or" />
<!-- Auto-generated by @arclux/prism — do not edit manually -->
<!-- arc-separator — requires separator.css + base.css (or arc-ui.css) -->
<div class="arc-separator">
  <div class="separator" role="separator" aria-orientation=""></div>
</div>
<!-- Auto-generated by @arclux/prism — do not edit manually -->
<!-- arc-separator — self-contained, no external CSS needed -->
<div class="arc-separator" style="display: block; width: 100%">
  <div style="width: 100%; height: 1px; background: rgb(42, 42, 92)" role="separator" aria-orientation=""></div>
</div>

API

Prop Type Default Description
orientation 'horizontal' | 'vertical' 'horizontal' Controls the divider direction. Vertical separators display as inline-flex with full parent height.
label string '' Optional text displayed centered between two line segments. Only applies to horizontal orientation.
variant 'line' | 'dashed' | 'dotted' | 'fade' 'line' Controls the line style. Fade uses a gradient that tapers to transparent at both ends.

See Also