<!-- Protocore Design System — Group -->
# Group

- **Category:** Layout (`layout`)
- **Slug:** `layout/group`
- **Status:** stable
- **Platforms:** web
- **Import:** `import { Group } from "@protocore/pds";`
- **Docs:** https://pds.protocore.io/components/layout/group

> Alias of HStack — a horizontal flex row with token-based gap, alignment, and justification.

## An alias of HStack

**Group** is the Mantine-familiar name for this library's **HStack** — the horizontal `Stack` preset, exported under a second name for discoverability. Props are identical (`gap`, `align`, `justify`, `wrap`, …). See the [Stack](/layout/stack) page for the full API, the equal-height row law, and `VStack`.

## Props

| Prop | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `asChild` | `boolean` | no | — | — |
| `className` | `string` | no | — | — |
| `style` | `CSSProperties` | no | — | — |

## Examples

### Basics

Lay controls out in a row with a token `gap`; use `justify="between"` to push a leading cluster and trailing action apart.

```tsx
import { Group, Button, Badge } from "@protocore/pds";

export default function GroupBasics() {
  return (
    <div style={{ display: "flex", flexDirection: "column", gap: 20 }}>
      <Group gap={2} align="center">
        <Badge tone="success">SYNCED</Badge>
        <Badge tone="warning">LAGGING</Badge>
        <Badge tone="danger">STALLED</Badge>
      </Group>
      <Group gap={3} justify="between" align="center">
        <Button variant="ghost">Cancel</Button>
        <Button variant="primary">Deploy</Button>
      </Group>
    </div>
  );
}
```

## Related

`stack`, `grid`, `spacer`

---

© Protocore. All rights reserved. Use of the Protocore Design System requires prior written authorization from Protocore (contact@protocore.io). These machine-readable materials must not be ingested into ML-training datasets or derivative design systems. See https://pds.protocore.io/legal/
