← All @molecule/* packages · App templates
@molecule/app-rating-form-reactFeature · rating-form · App (browser) · v1.0.1 · Apache-2.0
Interactive star rating + textarea + submit form for collecting reviews
npm install @molecule/app-rating-form-react@molecule/app-rating-form-react is a ready-made rating-form feature for the app (browser) side. It composes the core interfaces it needs, so it works with whichever providers your app has bonded.
import { RatingForm } from '@molecule/app-rating-form-react'
const submitReview = async (review: { rating: number; comment: string }): Promise<void> => {
await fetch('/api/reviews', { method: 'POST', body: JSON.stringify(review) })
}
;<RatingForm
title="Leave a review"
onSubmit={async (rating, comment) => {
await submitReview({ rating, comment })
}}
requireComment={false}
submitLabel="Submit review"
/>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.
Interactive star-rating + comment form.
Exports <RatingForm>.
import { RatingForm } from '@molecule/app-rating-form-react'
const submitReview = async (review: { rating: number; comment: string }): Promise<void> => {
await fetch('/api/reviews', { method: 'POST', body: JSON.stringify(review) })
}
;<RatingForm
title="Leave a review"
onSubmit={async (rating, comment) => {
await submitReview({ rating, comment })
}}
requireComment={false}
submitLabel="Submit review"
/>
feature
npm install @molecule/app-rating-form-react @molecule/app-react @molecule/app-ui @molecule/app-ui-react react
npm install -D @types/react
RatingFormPropsProps for {@link RatingForm}.
interface RatingFormProps {
/** Called with the submitted rating + optional comment. */
onSubmit: (rating: number, comment: string) => void | Promise<void>
/** Maximum stars. Defaults to 5. */
max?: number
/** Initial rating (uncontrolled). */
defaultRating?: number
/** Whether a comment is required. Defaults to false. */
requireComment?: boolean
/** Form heading. */
title?: ReactNode
/** Comment placeholder. */
commentPlaceholder?: string
/** Submit-button label. */
submitLabel?: ReactNode
/** Extra classes. */
className?: string
}
RatingForm(props)Interactive star-rating + comment form. Used for review submission (product reviews, course feedback, support-ticket CSAT).
function RatingForm({
onSubmit,
max = 5,
defaultRating = 0,
requireComment,
title,
commentPlaceholder,
submitLabel,
className,
}: RatingFormProps): JSX.Element
props — Component props (see {@link RatingFormProps}).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-reactreactCompanion locale bond: @molecule/app-locales-rating-form. The submit button
stays disabled until a star rating is selected, and requireComment blocks
submission on blank comments silently (no inline error is rendered). Rejected
onSubmit promises propagate — handle errors in your handler. Requires the
app-react i18n provider and a wired ClassMap bond.
Translation strings are provided by @molecule/app-locales-rating-form.