golife-ui
v1.3.0
golife-ui · The Zendy design language

Your way. Everywhere.

One familiar feeling. Every screen, every platform. The building blocks of Zendy, made to work together.

The foundations

A shared starting point for everything we make.

Colors

A little warmth. A lot of clarity.

AaManrope
Friendly by nature.
Typography

Our voice, in every word.

Spacing & shape

Room for the things that matter.

Small pieces. Big possibilities.

Reusable components, ready for your next idea.

React components
ButtonsActions with a little personality.
Size
Disabled state
<Button variant="primary" size="regular" onClick={handleAction}>Get started</Button>

Inputs

A simple field. A clear next step.

Badge & Switch

AvailableSomething new
Keep me in the loop

More ways to make it yours.

Form controls, navigation, feedback and display.

Dialogs & cards

Dialog, Card and five composable card parts.

Dialog

import { Dialog, Button, Input } from '@golife-ab/golife-ui/react';

const [open, setOpen] = useState(false);
const [name, setName] = useState('Alex');

<Button onClick={() => setOpen(true)}>Edit profile</Button>
<Dialog open={open} onOpenChange={setOpen}
  title="Edit profile" description="Update your display name."
  footer={<Button onClick={() => { save(name); setOpen(false); }}>Save</Button>}>
  <Input aria-label="Name" value={name}
    onChange={e => setName(e.target.value)} />
</Dialog>

Card

Your profile

A little more you.

Active
import { Card, CardHeader, CardTitle, CardDescription,
  CardContent, CardFooter, Badge, Button } from '@golife-ab/golife-ui/react';

<Card tone="default">
  <CardHeader>
    <CardTitle>Your profile</CardTitle>
    <CardDescription>A little more you.</CardDescription>
  </CardHeader>
  <CardContent><Badge>Active</Badge></CardContent>
  <CardFooter>
    <Button onClick={edit}>Edit profile</Button>
  </CardFooter>
</Card>

Card parts & theming