Qeetrix

Icons

Use icons and the Qeet logos from @qeetrix/icons.

@qeetrix/icons has 1,863 icons, each drawn in a round and a sharp shape, plus Qeet's own logo and wordmark.

Import an icon

Import icons from the package root:

import { StarIcon, TrashIcon } from "@qeetrix/icons";

export function Favourite() {
  return <StarIcon />;
}

In a library

Bundlers keep only the icons you import. Code that runs without a bundler — a test runner or a script — loads every icon from the root, about 1.6 s once per process in plain Node. A library that apps test against, like @qeetrix/ui, imports each icon from its own path instead, so its consumers never pay that:

import { StarIcon } from "@qeetrix/icons/icons/star";

Shape, variant and size

<StarIcon />
<StarIcon variant="filled" />
<StarIcon shape="sharp" />
<StarIcon shape="sharp" variant="filled" />
<StarIcon size={32} />
PropValuesDefault
shape"round" · "sharp""round"
variant"outline" · "filled""outline"
sizepixels, or any CSS length—

Every icon has both shapes. variant is typed per icon, so asking for a drawing that an icon doesn't have is a type error. Icons also accept any <svg> prop, such as className or aria-label.

Qeet logos

QeetLogo is the "q" mark and QeetWordmarkLogo is Qeet. in a tile. Each renders its SVG file, unmodified, as an <img>, so the page can't recolour it. Logos are only exported from the package root.

Variants

LogoVariants
QeetLogo"default" (light surfaces) · "dark" (dark surfaces)
QeetWordmarkLogo"default" · "dark" (in a tile), "plain" · "plain-dark" (without it)

Light and dark

An image can't see your app's theme, so render both files and let your theme show one. With Qeetrix's .dark class, that's the dark: variant:

import { QeetLogo } from "@qeetrix/icons";

export function Brand() {
  return (
    <>
      <QeetLogo aria-label="Qeet" className="inline-block dark:hidden" />
      <QeetLogo aria-label="Qeet" variant="dark" className="hidden dark:inline-block" />
    </>
  );
}

Size and labels

Logos are decorative by default. Pass aria-label or alt to name one, and height (default 24) to size it; the width follows the logo's own aspect ratio.

Third-party logos

Third-party brand logos (GitHub, Google, Slack, …) aren't part of @qeetrix/icons; versions up to 1.0.10 bundled 7,429 of them. Use theSVG directly, for example @thesvg/react, importing one logo at a time.