← All @molecule/* packages · App templates
@molecule/app-job-listing-row-reactFeature · job-listing-row · App (browser) · v1.0.1 · Apache-2.0
Job-board row with title, company, location, type, salary range, posted date
npm install @molecule/app-job-listing-row-react@molecule/app-job-listing-row-react is a ready-made job-listing-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 { JobListingRow } from '@molecule/app-job-listing-row-react'
;<JobListingRow
title="Senior Frontend Engineer"
company="Acme Corp"
location="Remote · US"
type="Full-time"
salary="$130k–$160k"
postedAt="2 days ago"
onClick={() => {
window.location.href = '/jobs/123'
}}
/>Works with: @molecule/app-react, @molecule/app-ui, @molecule/app-ui-react
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.
Job-board listing row — title + company + location + employment type + salary + posted date, with optional leading logo, tag chips, and right-side actions.
Exports <JobListingRow>. Props: title, company?, location?, type?,
salary?, postedAt?, leading?, tags?, actions?, onClick?, className?.
All display props accept ReactNode, so formatting (dates, currency) is the
caller's job.
import { JobListingRow } from '@molecule/app-job-listing-row-react'
;<JobListingRow
title="Senior Frontend Engineer"
company="Acme Corp"
location="Remote · US"
type="Full-time"
salary="$130k–$160k"
postedAt="2 days ago"
onClick={() => {
window.location.href = '/jobs/123'
}}
/>
feature
npm install @molecule/app-job-listing-row-react @molecule/app-react @molecule/app-ui @molecule/app-ui-react react
npm install -D @types/react
JobListingRowPropsProps for {@link JobListingRow}.
interface JobListingRowProps {
title: ReactNode
/** Company / employer display. */
company?: ReactNode
/** Location string ("Remote · US" / "London, UK"). */
location?: ReactNode
/** Employment type ("Full-time", "Contract", "Internship"). */
type?: ReactNode
/** Salary range display ("$80k–$120k"). */
salary?: ReactNode
/** Posted-at relative or absolute display. */
postedAt?: ReactNode
/** Optional company logo / icon. */
leading?: ReactNode
/** Optional right-side actions (Save, Apply). */
actions?: ReactNode
/** Tags / chips (Remote, React, Hybrid). */
tags?: ReactNode
/** Click handler on the row. */
onClick?: () => void
/** Extra classes. */
className?: string
}
JobListingRow(props)Job-board row — title + company + location + type + salary + posted date with optional tags and right-side actions.
function JobListingRow({
title,
company,
location,
type,
salary,
postedAt,
leading,
actions,
tags,
onClick,
className,
}: JobListingRowProps): JSX.Element
props — Component props (see {@link JobListingRowProps}).Peer dependencies:
@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@molecule/app-react
@molecule/app-ui
@molecule/app-ui-react
react
The location value is prefixed with a hardcoded 📍 glyph and the meta fields are joined with literal middle-dot separators; there is no prop to change or localise those separators.
onClick makes the whole row clickable but the root is a plain <div> with no
role, tabIndex, or keyboard handler — keyboard users can only reach whatever
you pass in actions. Put a real link or button in actions when the row is
the primary navigation affordance.
No data-mol-id prop is currently supported on this component.
Styling resolves through getClassMap() — a ClassMap bond must be wired.