- Prop
orientation- Type
"horizontal" | "vertical" | undefined- Default
"horizontal"- Requirement
- optional
Docs Components Primitives
Separator
React example follows below.
Vue example follows below.
Angular example follows below.
Svelte example follows below.
Solid example follows below.
- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
const separatorFixture = { id: "separator", variants: [ { id: "horizontal", orientation: "horizontal" }, { id: "vertical", orientation: "vertical" }, { id: "labelled", orientation: "horizontal", label: "Section 02" }, ],} satisfies { id: string; variants: Array<{ id: string; orientation: "horizontal" | "vertical"; label?: string; }>;}; import { Separator } from "@grassroot/ui-react"; export default function SeparatorDemo() { return ( <div> {separatorFixture.variants.map((variant) => ( <Separator key={variant.id} orientation={variant.orientation} label={variant.label} /> ))} </div> );}- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script setup lang="ts">const separatorFixture = { id: "separator", variants: [ { id: "horizontal", orientation: "horizontal" }, { id: "vertical", orientation: "vertical" }, { id: "labelled", orientation: "horizontal", label: "Section 02" }, ],} satisfies { id: string; variants: Array<{ id: string; orientation: "horizontal" | "vertical"; label?: string; }>;}; import { Separator } from "@grassroot/ui-vue";</script> <template> <div> <template v-for="variant in separatorFixture.variants" :key="variant.id"> <Separator v-if="variant.label" :orientation="variant.orientation"> <template #label>{{ variant.label }}</template> </Separator> <Separator v-else :orientation="variant.orientation" /> </template> </div></template>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
import { Component } from "@angular/core";const separatorFixture = { id: "separator", variants: [ { id: "horizontal", orientation: "horizontal" }, { id: "vertical", orientation: "vertical" }, { id: "labelled", orientation: "horizontal", label: "Section 02" }, ],} satisfies { id: string; variants: Array<{ id: string; orientation: "horizontal" | "vertical"; label?: string; }>;}; import { GrassrootSeparator, GrassrootSeparatorLabel } from "@grassroot/ui-angular"; @Component({ selector: "app-separator-demo", standalone: true, imports: [GrassrootSeparator, GrassrootSeparatorLabel], template: ` <div> @for (variant of fixture.variants; track variant.id) { @if (variant.label) { <div grassrootSeparator [orientation]="variant.orientation"> <span grassrootSeparatorLabel>{{ variant.label }}</span> </div> } @else { <div grassrootSeparator [orientation]="variant.orientation"></div> } } </div> `,})export class SeparatorDemoComponent { protected readonly fixture = separatorFixture;} export default SeparatorDemoComponent;- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script lang="ts"> const separatorFixture = { id: "separator", variants: [ { id: "horizontal", orientation: "horizontal" }, { id: "vertical", orientation: "vertical" }, { id: "labelled", orientation: "horizontal", label: "Section 02" }, ], } satisfies { id: string; variants: Array<{ id: string; orientation: "horizontal" | "vertical"; label?: string; }>; }; import { Separator } from "@grassroot/ui-svelte";</script> <div> {#each separatorFixture.variants as variant (variant.id)} {#if variant.label} {#snippet label()}{variant.label}{/snippet} <Separator orientation={variant.orientation} {label} /> {:else} <Separator orientation={variant.orientation} /> {/if} {/each}</div>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
/** @jsxImportSource solid-js */const separatorFixture = { id: "separator", variants: [ { id: "horizontal", orientation: "horizontal" }, { id: "vertical", orientation: "vertical" }, { id: "labelled", orientation: "horizontal", label: "Section 02" }, ],} satisfies { id: string; variants: Array<{ id: string; orientation: "horizontal" | "vertical"; label?: string; }>;}; import { Separator } from "@grassroot/ui-solid";import type { JSX } from "solid-js"; export default function SeparatorDemo(): JSX.Element { return ( <div> {separatorFixture.variants.map((variant) => ( <Separator orientation={variant.orientation} label={variant.label} /> ))} </div> );}Installation
API Reference
Import
import { Separator } from "@grassroot/ui-react";
Props
Prop
Type
Default
Requirement
orientation"horizontal" | "vertical" | undefined"horizontal"optional
Content regions
label
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.
Import
import { Separator } from "@grassroot/ui-vue";
Props
Prop
Type
Default
Requirement
orientation"horizontal" | "vertical" | undefined"horizontal"optional
- Prop
orientation- Type
"horizontal" | "vertical" | undefined- Default
"horizontal"- Requirement
- optional
Content regions
label
Import
import { Component } from "@angular/core";
import { GrassrootSeparator, GrassrootSeparatorLabel } from "@grassroot/ui-angular";
Props
Prop
Type
Default
Requirement
orientation"horizontal" | "vertical""horizontal"optional
- Prop
orientation- Type
"horizontal" | "vertical"- Default
"horizontal"- Requirement
- optional
Content regions
label
Import
import { Separator } from "@grassroot/ui-svelte";
Props
Prop
Type
Default
Requirement
orientation"horizontal" | "vertical""horizontal"optional
- Prop
orientation- Type
"horizontal" | "vertical"- Default
"horizontal"- Requirement
- optional
Content regions
label
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.
Import
import { Separator } from "@grassroot/ui-solid";
import type { JSX } from "solid-js";
Props
Prop
Type
Default
Requirement
orientation"horizontal" | "vertical"—
optional
- Prop
orientation- Type
"horizontal" | "vertical"- Default
- —
- Requirement
- optional
Content regions
label
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.