AdaptiveColors
Semantic color palette for droplet UI.
enum AdaptiveColors
Droppy's control family is quiet and strokeless: fills and opacity ladders, never outline rings, never gradients. These tokens are the ladder.
Type properties
buttonBackgroundAuto
static var buttonBackgroundAuto: Color { get }
Default button and control background overlay.
contrastTintAuto
static var contrastTintAuto: Color { get }
Base contrast tint used for overlays (white in dark mode, black in light mode).
dynamicIslandBackgroundAuto
static var dynamicIslandBackgroundAuto: Color { get }
Dynamic Island pill background: always pure black, so the island matches the physical notch independent of system appearance.
hoverBackgroundAuto
static var hoverBackgroundAuto: Color { get }
Hover and active overlay.
notchSurfaceCardFill
static var notchSurfaceCardFill: Color { get }
The fill of a raised surface inside a widget: a tile, a chip, a row that has to stand off the shell.
White in Dark and black in Light, resolved against the host view's appearance like the foregrounds above.
Not a card around the widget. Droppy draws no frame behind a widget, its own or a droplet's: almost every Droppy widget sits directly on the shell, which supplies the background. Wrapping a whole widget in this fill, or in any border, is the one thing that makes a droplet look foreign on the shelf. See Design guidelines.
notchSurfaceCardHoverFill
static var notchSurfaceCardHoverFill: Color { get }
The same card under the pointer (0.15 opacity).
notchSurfacePrimaryText
static var notchSurfacePrimaryText: Color { get }
Primary foreground on notch/island/HUD chrome: white in Dark and black in Light, following the host view's appearance.
notchSurfaceSecondaryText
static var notchSurfaceSecondaryText: Color { get }
Secondary foreground on notch/island/HUD chrome (0.82 opacity).
notchSurfaceTertiaryText
static var notchSurfaceTertiaryText: Color { get }
Tertiary foreground on notch/island/HUD chrome (0.60 opacity).
panelBackgroundAuto
static var panelBackgroundAuto: Color { get }
Opaque panel and window background.
primaryTextAuto
static var primaryTextAuto: Color { get }
Primary text color.
secondaryTextAuto
static var secondaryTextAuto: Color { get }
Secondary text color.
selectionBlueAuto
static var selectionBlueAuto: Color { get }
Unified primary action accent. Hosted Droppy resolves the user's chosen highlight through DroppyKitThemeBridge; standalone previews and harnesses explicitly resolve the system accent.
Was hardcoded to the system accent before the bridge existed, which rendered a droplet's selected picker segment accent-blue while the host's own pickers used the theme highlight (neutral labelColor by default).
selectionForegroundAuto
static var selectionForegroundAuto: Color { get }
Best-contrast text color to draw on top of selectionBlueAuto. The highlight can be light or dark, so a fixed white label would vanish on light highlights; pick black or white by luminance. Same branch constants as the host's ThemeSelectionCache.
subtleBorderAuto
static var subtleBorderAuto: Color { get }
Subtle divider color for cards and containers.
Type methods
overlayAuto(_:)
static func overlayAuto(_ opacity: Double) -> Color
Overlay helper for one-off opacities on the contrast tint.