DurationInput

Edits an ISO-8601 duration string via per-unit numeric inputs.

Installation

pnpm dlx shadcn@latest add @shadmin/duration-input

Usage

import { DurationInput } from '@/components/admin';
 
<DurationInput source="duration" />
<DurationInput source="duration" units={["h", "m"]} />
<DurationInput source="duration" disabled />

Props

PropRequiredTypeDefaultDescription
sourceRequiredstring-Form field name
unitsOptional("d"|"h"|"m"|"s")[]["d","h","m","s"]Which units to expose
labelOptionalstring | falseInferredCustom label
helperTextOptionalReactNode-Helper text
disabledOptionalbooleanfalseDisable all unit inputs
defaultValueOptionalstring-Initial ISO duration
validateOptionalValidator | Validator[]-Validation
classNameOptionalstring-CSS class on wrapping <div>

Storage format

ISO-8601 duration strings. An empty input writes null.