DDS/Components

Components

87 components with TypeScript, dark mode, and accessibility built-in.

Form

CheckboxA boolean toggle with optional label and description.FormFieldForm field wrapper: label, description, animated error message. Provides context (id, error, disabled) to child components.ColorPickerA color selection component with swatches and a hex input. Triggers the native color picker on click.ComboboxA searchable select with built-in filter. Ideal for long option lists.DatePickerA date input that opens a Calendar in a popover. Supports min/max and a configurable date format.DateRangePickerDate range selector with two side-by-side calendars.FileUploadA drag-and-drop file upload zone with file type validation, size limits, and a file list.HelpTextSmall hint or error text displayed below a form input.InputText input with label, help text, error state and icon slots.LabelA form label that associates with an input via the for attribute.MultiSelectMultiple selection with chips for each chosen option.NumberInputA numeric input with integrated increment and decrement buttons, min/max support.OTP InputA segmented one-time password input for 2FA and verification codes. Supports paste and keyboard navigation.PhoneInputAn international phone number input with a searchable country code selector.RadioGroupA group of radio buttons for single-choice selection, with vertical/horizontal layout and card mode.SelectA styled native select for choosing from a list of options, with optional option groups.SliderA range slider with a filled track, thumb, and optional value display.SwitchA toggle switch for binary on/off settings.TagInputInput that creates tags/labels as you type.TextareaMulti-line text input with resizing options.TimePickerTime picker with 12h or 24h format, optional seconds.

Display

AspectRatioWrapper that maintains a fixed width/height ratio for its content.CopyButtonButton that copies text to the clipboard with animated visual feedback. Uses the Clipboard API with fallback.NumberTickerAnimated counter that interpolates to a target value. Ideal for displaying statistics or KPIs.QRCodeDependency-free SVG QR code generator. Implements ISO 18004 standard versions 1–6, ECC level L (up to 134 bytes).AvatarDisplays a user image, or initials as a fallback.AvatarGroupStacked group of avatars with an overflow counter.CardA flexible surface container. Compose with DsCardHeader, DsCardContent and DsCardFooter.CarouselA responsive slide carousel with arrow controls, dot indicators, autoplay, and loop support.CodeBlockCode block with syntax highlighting, line numbers, and a copy button.EmptyStateA centered placeholder block for zero-data views with icon, title, description, and a CTA slot.HoverCardA rich floating card triggered on hover. Perfect for user profile previews or link previews.KbdInline keyboard shortcut badge using the semantic <kbd> element.NotificationItemNotification list item with avatar, title, description, and timestamp.ScrollAreaA container with a custom thin scrollbar styled using design tokens. Supports vertical, horizontal, and both directions.SeparatorA visual divider between sections of content.SkeletonA generic placeholder block for loading states.StatCardA KPI / metric card displaying a value, label, and optional trend indicator.StatusBadgeBadge with colored status indicator (online, offline, busy, away, pending).TagA compact label chip for categories, filters, or statuses. Optional remove button.TimelineA vertical list of events with status indicators, timestamps, and connecting lines.TreeViewInteractive hierarchical tree with expand/collapse and selection.VisuallyHiddenHides content visually while keeping it accessible to screen readers.

Overlay