Job Application Form

Job application form with input fields, file upload area, and position summary sidebar. Complete apply page layout for career sites.

PRO

Careers17: Job Application Form

A two-column apply page that renders a badge, <strong>-aware heading, and description above a submit form built from a fields array (text inputs plus one textarea type), a fixed drag-and-drop resume dropzone, and a full-width submit button, alongside a sidebar card summarizing the open position with department, location, and type rows plus a "Back to all positions" link.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/careers17?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/careers17?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/careers17.tsx, plus the badge, button, input, label, and textarea shadcn/ui primitives it uses for the section eyebrow, submit and sidebar buttons, form inputs, field labels, and the multiline cover-letter field.

Quick start

The installed file exports careers17Demo alongside the block: the exact props behind the preview above. Spread it to get a working application form in one line.

tsx
import { Careers17, careers17Demo } from "@/components/beste/block/careers17";

export default function Page() {
  return <Careers17 {...careers17Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Careers17 } from "@/components/beste/block/careers17";

export default function Page() {
  return (
    <Careers17
      badge={{ label: "Apply Now", variant: "secondary" }}
      heading="Join our <strong>engineering team</strong>"
      description="Fill out the form below and we'll get back to you shortly."
      job={{
        title: "Senior Frontend Engineer",
        department: "Engineering",
        location: "Remote",
        type: "Full-time",
        href: "/careers",
      }}
      fields={[
        { label: "Full Name", type: "text", placeholder: "John Doe" },
        { label: "Email Address", type: "email", placeholder: "john@example.com" },
        { label: "Cover Letter", type: "textarea", placeholder: "Tell us why you're a great fit..." },
      ]}
      submitLabel="Submit Application"
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: "default" | "secondary" | "outline" }Eyebrow badge above the heading
headingstringSection heading, supports inline <strong>
descriptionstringIntro paragraph under the heading
jobJobSummarySidebar position summary card
fieldsFormField[][]Form rows rendered above the resume dropzone
submitLabelstring"Submit Application"Text on the full-width submit button
classNamestringExtra classes for the outer <section>
ts
type JobSummary = {
  title: string;
  department?: string;
  location?: string;
  type?: string;
  href?: string;
};

type FormField = {
  label: string;
  type: string;
  placeholder?: string;
};

Behavior notes

Wiring the form up

This block ships the form markup only; state, validation, and submit are yours to add. Our guide wires the shadcn Field primitives to React Hook Form, TanStack Form, and Formisch on one field system.

More Careers blocks

View all Careers
PRO

careers33

HR Job Posting Detail

Formal HR job posting with responsibilities, qualifications, benefits, and sidebar summary. Corporate-style position detail page with apply CTA.

PRO

careers2

Job Openings Grid

Job openings grid with department badges, location tags, and apply buttons. Card-based layout for career pages.

PRO

careers8

Job Detail Page

Single job posting detail with responsibilities, requirements, nice-to-haves, and apply CTA. Full position description layout.

PRO

careers1

Job Listings List

Job listings section with role cards showing department, location, and employment type. Clean list layout with hover effects and apply buttons.

PRO

careers37

Job Alerts Signup

Email subscription form for job alerts with trust indicators. Captures candidate interest for future openings with clean card layout.

PRO

careers46

Role Spotlight

A full featured-role posting with responsibilities, requirements and a sticky apply card.