Feedback/DSPageLoader

DSPageLoader

feedback
since 1.2.0

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

iOSmacOS

Purpose

Use for blocking operations that require user to wait. Covers entire screen with semi-transparent overlay.

Interactive Reference

Live showroom

Need the full visual surface?

Screenshots do not scale well across every component, state, and variant. For the real interactive reference, import the package and launch DSShowcaseRoot().

Best for exploring:

variants, states, categories, and real app examples in one place.

Props

PropTypeDefaultDescription
isPresentedreqBoolโ€”Controls visibility
messageString?nilOptional text below spinner
accessibilityLabelString?nilOptional accessibility label

Examples

Loading state

Show full-page loader during async operation.

swift
@State var isLoading = false

ZStack {
    ContentView()
    DSPageLoader(
        isPresented: isLoading,
        message: "Loading data..."
    )
}
.task {
    isLoading = true
    await fetchData()
    isLoading = false
}

Usage Guidelines

  • Use sparingly for truly blocking operations
  • Include helpful message explaining what's loading
  • Ensure operation completes or has timeout
  • Consider skeleton loaders for better UX when possible

Related Components