List Items

Rows that compose settings and notification lists. Built from three Figma components in sequence: the App List item (icon + name), the Notification List Item (item + toggle), and Apps Notifications (titled list container). All values pulled directly from the LUSTER Figma variables.

Apps Notification
Google
X (Twitter)
Linkedin
Google
Behance
Apps Notifications · Figma Properties
Title: "Apps Notification"
Title color: #24242C (Inter 700 / 16px)
Name color: #3F404D (Inter 400 / 16px)
Icon size: 24 × 24px
Icon–name gap: 12px
Row gap: 20px
Container padding: 24px
Background: #FFFFFF
Trailing control: Toggle (38 × 22px)

Tip: click a toggle to switch it.

Component · App List Item & Notification List Item

The App List item is the identity unit (24px icon + name, 12px gap). The Notification List Item adds a trailing Toggle, laid out space-between for full-width rows.

Google
App List item
Google
Notification List Item

Component · Apps Notifications

A titled container that stacks Notification List Items with a 20px gap — exactly as composed in Figma.

Apps Notification
Google
X (Twitter)
Linkedin
Google
Behance

Design Tokens

Token NameFigma VariableDefault Value
--appsNotificationsTitleFontColorappsNotifications/title/font/color#3F404D
--appsNotificationsListGapappsNotifications/list/gap20px
--appsNotificationsItemListGapappsNotifications/item/list/gap12px
--appsNotificationsListContentapps notifications/list/content"Apps Notification"
--sectionTitleFontColorsection/title/font/color#24242C
--sectionBgColorsection/bg/color#FFFFFF
--sectionPaddingXsection/padding/x24px
--sectionPaddingYsection/padding/y24px
--sectionBorderRadiussection/border/radius0px
--sectionMarginBottomsection/margin-bottom24px
--sectionShadowColorsection/shadow/color#CECBDC
--sectionShadowOffsetXsection/shadow/offset-x0px
--sectionShadowOffsetYsection/shadow/offset-y0px
--sectionShadowBlursection/shadow/blur0px
--titleFontSizetypography/title/font/size16px
--titleFontLineHeighttypography/title/font/lineHeight19px
--titleFontWeighttypography/title/font/weight700
--bodyFontSizetypography/body/font/size16px
--bodyFontLineHeighttypography/body/font/lineHeight19px
--bodyFontWeighttypography/body/font/weight400
--bodyFontFamilybody/font/familyInter
--toggleOffBgColortoggle/off/bg/color#8F8B96
--toggleOffBorderColortoggle/off/border/color#8F8B96
--toggleOffCircleBgColortoggle/off/circle/bg/color#FFFFFF

Usage Guidelines

✓ DO

Use a clear app/brand icon to make each row instantly scannable.

✓ DO

Group related rows under a titled Apps Notifications container.

✗ DON'T

Don't replace the Toggle with a custom switch — reuse the themed Toggle.

✗ DON'T

Don't crowd rows — keep the 20px list gap for legibility.

Implementation

Values shown are the Diamond brand, Light mode defaults (the Figma file's default mode). Other brands (Amber, Opal) and Dark mode resolve to different values via the Color Theme & Component Brand collections.

import { Toggle } from '@luster/ui';
import './ListItems.css';

export const AppListItem = ({ icon, name }) => (
  <span className="li-identity">
    <span className="li-icon">{icon}</span>
    <span className="li-name">{name}</span>
  </span>
);

export const NotificationListItem = ({ icon, name, on, onToggle }) => (
  <div className="li-row">
    <AppListItem icon={icon} name={name} />
    <Toggle checked={on} onChange={onToggle} aria-label={name} />
  </div>
);

export const AppsNotifications = ({ title = 'Apps Notification', children }) => (
  <section className="apps-card">
    <h3 className="apps-card__title">{title}</h3>
    {children}
  </section>
);