Separator
This is a component that represents a separator.
- A separator visually divides groups of content.
- Supports horizontal and vertical orientation.
Preview
Profile
Left Right
Usage
import { Component } from "@angular/core";
import { SeparatorComponent } from "./separator.component";
@Component({
selector: "rui-separator-demo",
template: `
<div class="w-full max-w-md space-y-3">
<p class="text-sm text-primary-900 dark:text-primary-100">Profile</p>
<rui-separator></rui-separator>
<div class="flex items-center gap-3">
<span class="text-sm">Left</span>
<rui-separator orientation="vertical"></rui-separator>
<span class="text-sm">Right</span>
</div>
</div>
`,
imports: [SeparatorComponent],
})
export class SeparatorDemoComponent {}
Source Code
import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
import { NgClass } from "@angular/common";
@Component({
selector: "rui-separator",
imports: [NgClass],
template: `
<div role="separator" [attr.aria-orientation]="orientation" [ngClass]="classes"></div>
`,
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class SeparatorComponent {
@Input() orientation: "horizontal" | "vertical" = "horizontal";
protected get classes(): string[] {
const base = "bg-primary-300 dark:bg-primary-700";
return this.orientation === "vertical" ? [base, "h-6 w-px"] : [base, "h-px w-full"];
}
}
Copyright © 2026 Jarrett Huang | MIT License | Github