feedback Components

Feedback Components

Components for user feedback, loading states, notifications, and progress indicators. Use these to communicate system status, guide users through processes, and provide clear feedback for actions.

18 components available

T

DSToast

Non-intrusive notification that appears at the top of the screen. Available as both a standalone component and a .dsToast() view modifier.

v1.0·iOS 17+
A

DSAlert

Inline alert banner with an icon, title, optional message, and a dismiss button. Non-modal.

v1.0·iOS 17+
M

DSModal

Centered overlay dialog with a header, scrollable content area, and footer actions. Blocks background interaction.

v1.0·iOS 17+
B

DSBottomSheet

iOS-native bottom sheet using presentationDetents, with a drag handle and configurable snap points.

v1.0·iOS 17+
P

DSProgressBar

Linear progress indicator with an optional label and percentage display. Supports indeterminate (loading) mode.

v1.0·iOS 17+
S

DSSpinner

Circular indeterminate loading indicator with 3 sizes and a colour token.

v1.0·iOS 17+
S

DSSkeleton

Pulsing placeholder shapes that mimic the layout of content while it loads.

v1.0·iOS 17+
T

DSTooltip

Small informational popover that appears on long-press (iOS) or hover (macOS). Disappears automatically after a timeout.

v2.0·iOS 17+
P

DSProgressRing

New

Generic circular progress ring with gradient support and customizable center content. Foundation for app-specific progress indicators.

v1.2·iOS 17+
C

DSCircularProgress

New

Circular ring with animated fill showing progress percentage.

1.2.0·iOS
S

DSStarRating

New

Display-only star rating showing a value from 0 to 5 stars.

1.2.0·iOS
S

DSStarRatingControl

New

Interactive star rating control allowing users to input ratings from 0 to 5.

1.2.0·iOS
S

DSStepIndicator

New

Horizontal progress bar showing current step in a multi-step process.

1.2.0·iOS
N

DSNoticeBar

New

Banner notice with icon, title, optional message, link, and dismiss button.

1.2.0·iOS
P

DSPageLoader

New

Full-screen loading overlay with centered spinner and optional message.

1.2.0·iOS
T

DSTidbit

New

Inline callout card with icon, title, body text, optional button, and dismiss.

1.2.0·iOS
F

DSFullPageInterruption

New

Full-screen modal overlay for critical interruptions like session expiry.

1.2.0·iOS
S

DSSkeletonCard

New

Card-shaped skeleton placeholder with pulsing animation for loading states.

1.2.0·iOS

Quick Import Reference

swift
// Package.swift
.package(url: "https://github.com/luizmellodev/SwiftDS-package", from: "2.0.0")

// In any SwiftUI file
import SwiftDS

struct MyView: View {
    var body: some View {
        VStack(spacing: DSSpacing.md) {
            // Use any feedback component here
        }
    }
}