@molecule/app-inbox-row-react
Feature · inbox-row · App (browser) · v1.0.4 · Apache-2.0
Email / notification inbox row — sender + subject + preview + time + unread dot
npm install @molecule/app-inbox-row-reactHow it works
@molecule/app-inbox-row-react is a ready-made inbox-row feature for the app (browser) side. It composes the core interfaces it needs, so it works with whichever providers your app has bonded.
import { InboxRow } from '@molecule/app-inbox-row-react'
;<InboxRow
sender="Alice Johnson"
senderAvatarSrc="https://example.com/alice.jpg"
subject="Q3 report is ready"
preview="Hi, I've attached the final numbers for review..."
timestamp="10:42 AM"
unread={true}
starred={false}
hasAttachment={true}
onClick={() => openMessage(msg.id)}
onToggleStar={() => toggleStar(msg.id)}
/>Works with: @molecule/app-i18n, @molecule/app-react, @molecule/app-ui, @molecule/app-ui-react
Reference
Inbox / email message list row.
Exports <InboxRow>.
Auto-generated, AI-first package reference for the molecule.dev ecosystem. It is written to be read by coding agents as much as by people, and is generated from this package's source — edit
src/index.tsJSDoc, not this file.
Quick Start
import { InboxRow } from '@molecule/app-inbox-row-react'
;<InboxRow
sender="Alice Johnson"
senderAvatarSrc="https://example.com/alice.jpg"
subject="Q3 report is ready"
preview="Hi, I've attached the final numbers for review..."
timestamp="10:42 AM"
unread={true}
starred={false}
hasAttachment={true}
onClick={() => openMessage(msg.id)}
onToggleStar={() => toggleStar(msg.id)}
/>
Type
feature
Installation
npm install @molecule/app-inbox-row-react @molecule/app-i18n @molecule/app-react @molecule/app-ui @molecule/app-ui-react react
npm install -D @types/react
API
Interfaces
InboxRowProps
Props for InboxRow.
interface InboxRowProps {
/** Sender display. */
sender: ReactNode
/** Avatar URL fallback for sender. */
senderAvatarSrc?: string
/** Subject / headline. */
subject: ReactNode
/** Preview / first line of body. */
preview?: ReactNode
/** Display timestamp. */
timestamp?: ReactNode
/** Whether the message is unread (drives bold + dot). */
unread?: boolean
/** Whether the message is starred / flagged. */
starred?: boolean
/** Optional attachment indicator. */
hasAttachment?: boolean
/** Optional labels / tags chip row. */
labels?: ReactNode
/** Right-side selection slot (checkbox). */
selectionSlot?: ReactNode
/** Click handler — typically opens the message. */
onClick?: () => void
/** Star toggle. */
onToggleStar?: () => void
/** Extra classes. */
className?: string
}
Functions
InboxRow(props)
Inbox / email message list row — sender + subject + preview + timestamp + unread/star indicators. Generalizes beyond email to any "message list" UI (chat lists, notification archives, ticket queues).
function InboxRow({
sender,
senderAvatarSrc,
subject,
preview,
timestamp,
unread,
starred,
hasAttachment,
labels,
selectionSlot,
onClick,
onToggleStar,
className,
}: InboxRowProps): React.JSX.Element
props— Component props (seeInboxRowProps).
Injection Notes
Requirements
Peer dependencies:
@molecule/app-i18n^1.0.1@molecule/app-react^1.0.1@molecule/app-ui^1.0.1@molecule/app-ui-react^1.0.1react^18.0.0 || ^19.0.0
Runtime Dependencies
-
@molecule/app-i18n -
@molecule/app-react -
@molecule/app-ui -
@molecule/app-ui-react -
react -
Star/attachment indicators use fixed colors and emoji with hardcoded English aria-labels ("Star"/"Unstar"/"Has attachment") — there is no companion locale bond yet; wrap or fork for fully localized apps.
-
When
senderis not a plain string, the avatar's accessible name falls back to the literal "Sender" — pass a stringsender(or your ownselectionSlot) when screen-reader naming matters. -
unreadbolds the row via an inlinefontWeight: 600and renders a fixed blue dot — the dot color does not follow the theme. -
getClassMap()requires a bonded ClassMap;<Avatar>comes from@molecule/app-ui-react.