@molecule/app-job-listing-row-react
Feature · job-listing-row · App (browser) · v1.0.2 · Apache-2.0
Job-board row with title, company, location, type, salary range, posted date
npm install @molecule/app-job-listing-row-reactHow it works
@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
Reference
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.
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 { 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'
}}
/>
Type
feature
Installation
npm install @molecule/app-job-listing-row-react @molecule/app-react @molecule/app-ui @molecule/app-ui-react react
npm install -D @types/react
API
Interfaces
JobListingRowProps
Props for 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
}
Functions
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 (seeJobListingRowProps).
Injection Notes
Requirements
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
Runtime Dependencies
-
@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.
-
onClickmakes the whole row clickable but the root is a plain<div>with norole,tabIndex, or keyboard handler — keyboard users can only reach whatever you pass inactions. Put a real link or button inactionswhen the row is the primary navigation affordance. -
No
data-mol-idprop is currently supported on this component. -
Styling resolves through
getClassMap()— a ClassMap bond must be wired.