This component no longer exists. It was in Quantumblack Design System Registry’s manifest when we first indexed it and is not there now — the registry served its inventory on 2026-08-08 and this item was not on it. The install command below will fail. It is kept here because a tutorial somewhere still tells people to run it.
Time Input
quantumblack-design-system-registry/time-inputRemovedComponent
Custom time input with composable segment-based hh:mm entry, keyboard navigation, and clock icon trigger. Exports TimeInputRoot, TimeSegmentInput, TimeSeparator, TimeInputTrigger, and TimeInput convenience wrapper.
Install it
npx shadcn@latest add http://designsystem.quantumblack.com/r/time-input.jsonSource
1'use client';23import { type VariantProps, cva } from 'class-variance-authority';4import * as React from 'react';56import { Icon } from '@/components/ui/icon';7import { IconShell } from '@/components/ui/icon-shell';8import { inputVariantStyles } from '@/components/ui/input';9import { cn } from '@/lib/utils';1011// ============================================================================12// TYPES13// ============================================================================1415type TimeInputSize = 'sm' | 'default' | 'lg';16type TimeInputVariant = 'default' | 'inline';17type ValidationState = 'error' | 'warning' | 'success';1819// ============================================================================20// CVA — TimeInputRoot21// ============================================================================2223const defaultFocusStyles = [24 'has-[:focus-visible]:bg-stateslayer-overlay-active-inverse',25 'has-[:focus-visible]:ring-stroke-status-focus',26 'has-[:focus-visible]:shadow-elevation-0',27 'data-[open=true]:bg-stateslayer-overlay-active-inverse',28 'data-[open=true]:ring-stroke-status-focus',29 'data-[open=true]:shadow-elevation-0',30] as const;3132const inlineFocusStyles = [33 'has-[:focus-visible]:border-b-stroke-status-focus',34 'has-[:focus-visible]:ring-0',35 'has-[:focus-visible]:shadow-elevation-0',36 'data-[open=true]:border-b-stroke-status-focus',37 'data-[open=true]:ring-0',38 'data-[open=true]:shadow-elevation-0',39] as const;4041const defaultValidationStyles = [42 'data-[validation=error]:border data-[validation=error]:border-stroke-status-error data-[validation=error]:ring-0',43 'data-[validation=warning]:border data-[validation=warning]:border-stroke-status-warning data-[validation=warning]:ring-0',44 'data-[validation=success]:border data-[validation=success]:border-stroke-status-success data-[validation=success]:ring-0',45] as const;4647const inlineValidationStyles = [48 'data-[validation=error]:border-b-stroke-status-error data-[validation=error]:ring-0',49 'data-[validation=warning]:border-b-stroke-status-warning data-[validation=warning]:ring-0',50 'data-[validation=success]:border-b-stroke-status-success data-[validation=success]:ring-0',51] as const;5253const timeInputFocusRingWidth = {54 sm: 'has-[:focus-visible]:ring-[1px] data-[open=true]:ring-[1px]',55 default: 'has-[:focus-visible]:ring-[1px] data-[open=true]:ring-[1px]',56 lg: 'has-[:focus-visible]:ring-[2px] data-[open=true]:ring-[2px]',57} as const;5859// … truncated
What it pulls in
Other registry items
