Ariakit

Separator

Distinguish sections of content or groups of items. This abstract component is based on the WAI-ARIA Separator Role.

Separator

ItemItem
index.tsx
import { Separator } from "@ariakit/react";
import { Frame } from "@ariakit/ui/components/frame.ariakit.react";
import { separator } from "@ariakit/ui/styles/separator";

export default function Example() {
  return (
    <Frame $rounded="xl" $p={4} $lighten className="grid gap-2 shadow">
      Item
      <Separator
        orientation="horizontal"
        {...separator.jsx({ $line: "solid", $gap: 0 })}
      />
      Item
    </Frame>
  );
}

Separator

Renders a separator element.

<Separator orientation="horizontal" />

Optional Props

orientation

"horizontal" | "vertical" | undefined

Default: "horizontal"

The orientation of the separator.

render

RenderProp<React.HTMLAttributes<any> & { ref?: React.Ref<any> | undefined; }> | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | undefined

Allows the component to be rendered as a different HTML element or React component. The value can be a React element or a function that takes in the original component props and gives back a React element with the props merged.

Some Ariakit components detect the type of the underlying element when they mount. If the render element’s type may change while the component is mounted, pass a key prop that changes with the element type so React remounts the component with the new element. Remounting resets uncontrolled state, so keep the relevant state controlled:

<Checkbox
  key={custom ? "custom" : "native"}
  checked={checked}
  onChange={() => setChecked(!checked)}
  render={custom ? <div /> : <input />}
/>

Check out the Composition guide for more details.

Test

Test