Feedback/DSBottomSheet

DSBottomSheet

feedback
since 0.1.0

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

iOS 17+macOS 14+watchOS 10+tvOS 17+visionOS 1+

Purpose

Actions, filters, detail panels, and any content that should not cover the full screen.

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
isPresentedreqBinding<Bool>—Controls visibility.
titleString?nilSheet heading.
detents[PresentationDetent][.medium, .large]Snap heights.
contentreq@ViewBuilder () -> Content—Sheet content.

Examples

Filter sheet

Filter options in a resizable sheet.

swift
DSBottomSheet(isPresented: $showFilters, title: "Filters", detents: [.medium, .large]) {
    FilterOptionsView(filters: $activeFilters)
        .padding(DSSpacing.md)
}

Related Components