Icon

SVG icon component supporting size and color variants.

Default

Show code
Hide code
import { Icon } from '@mylighthouse/prism-react';

export default function IconDefault(): React.JSX.Element {
  return (
    <>
      <Icon name="search" />
      <Icon name="heart-filled" />
      <Icon name="chevron-right" />
      <Icon name="plus" />
    </>
  );
}

Sizes

The default size is medium.

extra-small
small
medium
large
Show code
Hide code
import { Icon } from '@mylighthouse/prism-react';

export default function IconSizes(): React.JSX.Element {
  return (
    <div className="flex gap-300 items-center">
      <div className="flex flex-col items-center gap-100">
        <Icon name="search" size="extra-small" />
        <span className="text-200--regular">extra-small</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon name="heart-filled" size="small" />
        <span className="text-200--regular">small</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon name="chevron-right" size="medium" />
        <span className="text-200--regular">medium</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon name="plus" size="large" />
        <span className="text-200--regular">large</span>
      </div>
    </div>
  );
}

Colors

default
default-inverse
emphasis
subdued
info
success
warning
critical
intelligence
brand
on-info
on-success
on-warning
on-critical
on-intelligence
on-brand
disabled
Show code
Hide code
import { Icon } from '@mylighthouse/prism-react';

export default function IconColors(): React.JSX.Element {
  return (
    <div className="flex gap-300 flex-wrap">
      <div className="flex flex-col items-center gap-100">
        <Icon color="default" name="search" />
        <span className="text-200--regular">default</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="default-inverse" name="heart-filled" />
        <span className="text-200--regular">default-inverse</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="emphasis" name="chevron-right" />
        <span className="text-200--regular">emphasis</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="subdued" name="plus" />
        <span className="text-200--regular">subdued</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="info" name="comment-filled" />
        <span className="text-200--regular">info</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="success" name="flag" />
        <span className="text-200--regular">success</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="warning" name="image-filled" />
        <span className="text-200--regular">warning</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="critical" name="location-pin" />
        <span className="text-200--regular">critical</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="intelligence" name="lock" />
        <span className="text-200--regular">intelligence</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="brand" name="rates-lowest" />
        <span className="text-200--regular">brand</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="on-info" name="mail" />
        <span className="text-200--regular">on-info</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="on-success" name="notification" />
        <span className="text-200--regular">on-success</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="on-warning" name="send" />
        <span className="text-200--regular">on-warning</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="on-critical" name="shopping-cart" />
        <span className="text-200--regular">on-critical</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="on-intelligence" name="star-filled" />
        <span className="text-200--regular">on-intelligence</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="on-brand" name="thumbs-up-filled" />
        <span className="text-200--regular">on-brand</span>
      </div>
      <div className="flex flex-col items-center gap-100">
        <Icon color="disabled" name="user" />
        <span className="text-200--regular">disabled</span>
      </div>
    </div>
  );
}

API Reference

Name Default Type Description
name * -- IconName --
color -- "critical" | "warning" | "success" | "intelligence" | "brand" | "info" | "inherit" | "default" | "default-inverse" | "emphasis" | "subdued" | "on-info" | "on-success" | "on-warning" | "on-critical" | "on-intelligence" | "on-brand" | "disabled" --
size -- "small" | "medium" | "large" | "extra-small" --