Mohammad Shehadeh

Duration Input

Forms 1

About

Segmented duration field over days, hours, minutes and seconds. Digits auto-advance, arrows step, and the value stays a plain number of seconds.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Duration Input to your project and fits it to your theme.

Code

How Duration Input is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

import * as React from "react";
import {
  DurationInput,
  DurationInputContainer,
  DurationInputSegments,
  DurationInputClear,
} from "@/components/ui/duration-input";

export default function DurationInputDemo() {
  const [value, setValue] = React.useState<number | null>(3600 + 5 * 60);

  return (
    <div className="flex w-full max-w-xs flex-col gap-2">
      <label className="text-sm font-medium">Session length</label>
      <DurationInput
        value={value}
        onValueChange={setValue}
        units={["h", "m", "s"]}
        max={86400}
      >
        <DurationInputContainer>
          <DurationInputSegments />
          <DurationInputClear />
        </DurationInputContainer>
      </DurationInput>
    </div>
  );
}

Dependencies

More by Mohammad Shehadeh

View all
  • Feature Problem Cards

    Feature Problem Cards

    94
  • Ecommerce Category Page

    Ecommerce Category Page

    83
  • Feature Grid Spotlight Cards

    Feature Grid Spotlight Cards

    83
  • Split Login

    Split Login

    76
  • Comparison Section

    Comparison Section

    71
  • FAQ Two Column

    FAQ Two Column

    71
  • Dithered Shader CTA

    Dithered Shader CTA

    70
  • Comparison Table

    Comparison Table

    66

More in Forms

View all
  • Form

    Form

    137
  • Premium Auth

    Premium Auth

    544
  • Contact Card

    Contact Card

    1.1K
  • Login 1

    Login 1

    59
  • Card Studio

    Card Studio

    46
  • Login 2

    Login 2

    10
  • Book A Demo 1

    Book A Demo 1

    81
  • SignInPage

    SignInPage

    713

Explore more

Part of Hirael — browse the full library on 21st.dev.