All Components
Browse all 101 SwiftDS components. Filter by category or search by name to find exactly what you need. Each component is production-ready with full accessibility support.
101 components found
DSButton
ActionsUniversal button component with 5 visual variants, 3 sizes, icon support, loading and disabled states. Uses spring animations for micro-interactions.
DSIconButton
ActionsCompact button containing only an SF Symbol. Ideal for toolbars, navigation bars, and contextual actions in lists.
DSTextField
InputsText field with support for label, placeholder, leading/trailing icons, hint, error message, focus and disabled states.
DSCard
Data DisplayContent container with 4 visual variants, large border radius, and interactive hover support. Generic over any View as content.
DSToast
FeedbackNon-intrusive notification that appears at the top of the screen. Available as both a standalone component and a .dsToast() view modifier.
DSAvatar
Data DisplayRepresents a user with initials or an image. Supports 5 sizes and an online/offline/busy/away status indicator.
DSCommandPalette
NewScreensCommand palette activated by ⌘K. Real-time filtering, section grouping, keyboard shortcuts, and arrow-key navigation.
DSMetricCard
NewData VisualizationDashboard widget with a primary metric, percentage change, animated sparkline, and label. Supports trending up/down/neutral.
DSPricingCard
NewMarketingSubscription plan card with name, price, billing period, feature list with checkmarks, CTA, and highlighted state for the recommended plan.
DSOnboardingFlow
NewScreensMulti-step onboarding flow with a step indicator, transition animations between screens, forward/back buttons, and a skip option.
DSSecureField
InputsPassword input with a show/hide toggle. Shares the same visual language as DSTextField.
DSSearchBar
InputsDedicated search input with a magnifying glass icon, clear button, and optional cancel button.
DSTextArea
InputsMulti-line text input that expands as the user types, with an optional character counter.
DSToggle
SelectionOn/off switch with an optional label and description. Wraps the native SwiftUI Toggle with design-token styling.
DSCheckbox
SelectionMulti-select checkbox with a checkmark animation. Supports indeterminate state for parent checkboxes.
DSRadioGroup
SelectionSingle-select radio button group. Generic over any Hashable value type.
DSSlider
SelectionRange slider with min/max labels and an optional live value formatter.
DSAvatarGroup
Data DisplayOverlapping stack of avatars with a '+N' overflow indicator when the list exceeds the max.
DSBadge
Data DisplayCompact label with 3 visual variants (filled, soft, outline), gradient support, and 3 size options.
DSTag
Data DisplayRemovable label with a custom colour, used for categorisation and filtering.
DSListRow
Data DisplayStandard list row with leading icon, title, optional subtitle, badge, and a trailing action.
DSTable
Data DisplayGeneric data table with column headers, alternating row tint, hover effect, and row selection support.
DSEmptyState
Data DisplayPlaceholder view with an SF Symbol, title, description, and optional CTA button.
DSAlert
FeedbackInline alert banner with an icon, title, optional message, and a dismiss button. Non-modal.
DSModal
FeedbackCentered overlay dialog with a header, scrollable content area, and footer actions. Blocks background interaction.
DSBottomSheet
FeedbackiOS-native bottom sheet using presentationDetents, with a drag handle and configurable snap points.
DSProgressBar
FeedbackLinear progress indicator with an optional label and percentage display. Supports indeterminate (loading) mode.
DSSpinner
FeedbackCircular indeterminate loading indicator with 3 sizes and a colour token.
DSSkeleton
FeedbackPulsing placeholder shapes that mimic the layout of content while it loads.
DSTabs
NavigationTab bar with icon, label, and badge support. Uses spring animations for the active indicator.
DSSegmentedControl
NavigationHorizontal row of mutually exclusive segments with a sliding active indicator.
DSFloatingTabBar
NewNavigationFloating tab bar with capsule, rounded, or standard styles. Features smooth spring animations and matched geometry transitions.
DSNavigationBar
NavigationApp navigation bar with a title, optional back button, and leading/trailing icon button slots.
DSSidebar
NavigationCollapsible navigation sidebar for macOS and iPad with section grouping and active-state indicator.
DSStack
LayoutConvenience wrapper around HStack/VStack with design-token spacing pre-applied.
DSGrid
LayoutResponsive CSS-style grid wrapper with configurable columns and gap from the spacing token scale.
DSContainer
LayoutMax-width content wrapper with automatic horizontal padding.
DSSection
LayoutNamed content group with an optional header, footer note, and inset background.
DSDivider
LayoutHorizontal or vertical rule using DSColor.border, with optional label.
DSFlowLayout
LayoutWrapping layout that automatically flows children onto new lines when horizontal space is exhausted.
DSFeatureCard
NewMarketingMarketing card with an icon, headline, and body text. Designed for feature grids on landing pages.
DSLineChart
NewData VisualizationAnimated line chart with a gradient fill, interactive tooltip on long-press, and configurable axes.
DSBarChart
NewData VisualizationVertical bar chart with entry animation, value labels on each bar, and configurable axis labels.
DSActivityFeed
NewScreensVertical event feed with avatar, event type icon, description, and timestamp. Supports grouping by date.
DSNotificationCenter
NewScreensFull notification centre with grouping by type, mark-all-read, per-notification actions, and empty state.
DSUserProfileCard
NewScreensFull user profile card with avatar, name, bio, stats row, and action buttons.
DSSettingsRow
NewScreensSettings row with a coloured icon square, title, optional subtitle, and a right-side control (chevron, toggle, or custom view).
DSHeroSection
NewMarketingFull-width landing page hero with an announcement badge, headline, subheadline, CTA buttons, and a social proof row.
DSOTPField
Inputs6-digit one-time password input with individual digit boxes, auto-advance, and paste support.
DSPhoneField
InputsPhone number input with a country code picker, flag icon, and automatic formatting.
DSStepper
SelectionNumeric input with − and + buttons. Respects min/max bounds and disables the buttons at limits.
DSFilterChip
SelectionSelectable pill chip with a checkmark on active state. Can be used standalone or in a multi-select group.
DSRatingStars
Selection5-star rating component with tap-to-rate, half-star display, and read-only mode.
DSDatePicker
InputsDate (and optional time) picker with a calendar grid popover. Wraps the native DatePicker with DS token styling.
DSColorPicker
InputsColour swatch grid with a custom-colour option via the system colour picker. Supports a predefined palette.
DSTooltip
FeedbackSmall informational popover that appears on long-press (iOS) or hover (macOS). Disappears automatically after a timeout.
DSBreadcrumb
NavigationHierarchical path display with chevron separators and tappable ancestor links.
DSPagination
NavigationPage control with previous/next buttons and numbered page indicators. Supports compact (dots) and full (numbers) modes.
DSAccordion
LayoutExpandable/collapsible content section with a header and animated disclosure.
DSPopover
OverlaysAnchored floating panel with an arrow pointing to its trigger. Contains rich content — not just text.
DSContextMenu
OverlaysLong-press context menu with icon-labelled actions. Wraps the native contextMenu with DS token styling.
DSFileUpload
MediaDrag-and-drop / tap-to-browse file input with allowed type filtering, size limit, and progress overlay.
DSImagePicker
MediaPhoto library and camera source picker that returns a UIImage/SwiftUI Image. Shows a preview thumbnail after selection.
DSMapView
MediaMapKit wrapper with a pin annotation, user location dot, and a rounded-corner container style matching the DS.
DSCheckoutForm
NewScreensComplete payment form with card number, expiry, CVV, billing address, and an order summary sidebar. Includes real-time card brand detection.
DSMediaGallery
NewScreensResponsive photo/video grid with a full-screen viewer, pinch-to-zoom, and swipe-to-dismiss. Supports lazy loading.
DSChatBubble
NewScreensMessage bubble with sent/received alignment, timestamp, delivery status indicators, and support for text, image, and audio messages.
DSConversationList
NewScreensMessages inbox row list with avatar, sender name, message preview, timestamp, and unread count badge.
DSTaskCard
NewScreensTask item card with a completion checkbox, priority badge, due date, assignee avatars, and a label/tag row.
DSKanbanBoard
NewScreensHorizontally scrolling kanban board with draggable cards between columns. Each column shows a card count and colour-coded header.
DSCalendarView
NewScreensMonthly calendar grid with event dots, selected date highlight, and swipe-to-navigate months.
DSSearchResultsScreen
NewScreensFull search screen with a sticky search bar, category filter chips, recent searches, and a results list with skeleton loading.
DSProfileEditScreen
NewScreensFull profile editing screen with avatar picker, name/bio fields, social links section, and a save button with loading state.
DSDashboardScreen
NewScreensComposable dashboard screen with a greeting header, KPI metric row, line/bar chart, activity feed, and quick-action buttons.
DSChip
NewSelectionAction chip with title, optional icons, and variant-based styling for filters and tags.
DSChipToggle
NewSelectionSelectable chip with on/off state that shows a checkmark when selected.
DSChipGroup
NewLayoutHorizontal container for chips with consistent spacing.
DSSelectField
NewInputsDropdown menu that shows options and updates a binding with the selected value.
DSColorSelector
NewInputsGrid of tappable color circles that updates selection on tap.
DSTabBar
NewNavigationHorizontal scrollable tabs with animated underline indicator.
DSSubnavigation
NewNavigationHorizontal bar of selectable items for secondary navigation.
DSButtonGroup
NewActionsHorizontal pair of buttons for common action patterns like Cancel + Confirm.
DSLink
NewActionsText link with primary color and optional underline.
DSMenuButton
NewActionsButton that opens a dropdown menu of actions with optional icons.
DSProgressRing
NewFeedbackGeneric circular progress ring with gradient support and customizable center content. Foundation for app-specific progress indicators.
DSCircularProgress
NewFeedbackCircular ring with animated fill showing progress percentage.
DSStatusLabel
NewData DisplayStatus label with icon indicating success, warning, error, info, or neutral state.
DSPromoLabel
NewData DisplayPromotional label for discounts, new items, or special badges.
DSImageGallery
NewMediaHorizontal scrolling image gallery with page indicators.
DSCardCarousel
NewLayoutHorizontal scrolling carousel of cards with spacing and peek effect.
DSStarRating
NewFeedbackDisplay-only star rating showing a value from 0 to 5 stars.
DSStarRatingControl
NewFeedbackInteractive star rating control allowing users to input ratings from 0 to 5.
DSStepIndicator
NewFeedbackHorizontal progress bar showing current step in a multi-step process.
DSNoticeBar
NewFeedbackBanner notice with icon, title, optional message, link, and dismiss button.
DSPageLoader
NewFeedbackFull-screen loading overlay with centered spinner and optional message.
DSTidbit
NewFeedbackInline callout card with icon, title, body text, optional button, and dismiss.
DSFullPageInterruption
NewFeedbackFull-screen modal overlay for critical interruptions like session expiry.
DSProfileHeroCard
NewScreensProfile header card with avatar, name, bio, and stats.
DSSkeletonCard
NewFeedbackCard-shaped skeleton placeholder with pulsing animation for loading states.
DSMessageBubble
NewMessagingChat message bubble with support for custom content, loading states, avatars, and asymmetric styling for user vs. other messages.
DSChatInputBar
NewMessagingChat input field with send button, optional attachment button, and support for single-line or multi-line input.