CountryPickerStyles

Ready-made styles.

Every preset follows the light or dark mode of the enclosing MaterialTheme (judged from its surface color, so an app-level theme override is respected, not just the system setting), takes the host's brand color as its accent unless told otherwise, and turns motion off when the system asks for reduced motion.

Functions

Link copied to clipboard
fun cupertino(accent: Color? = null, dark: Boolean = isDarkTheme(), density: CountryPickerDensity = CountryPickerDensity.Comfortable): CountryPickerStyle

iOS conventions on any platform: system blue, grouped inset lists on the iOS grouped background, a large bold title, bare emoji flags and no shadows.

Link copied to clipboard
fun material(density: CountryPickerDensity = CountryPickerDensity.Comfortable): CountryPickerStyle

Material 3: every color taken from the enclosing MaterialTheme, tonal surfaces instead of shadows, edge-to-edge rows and circular flags.

Link copied to clipboard
fun minimal(dark: Boolean = isDarkTheme(), density: CountryPickerDensity = CountryPickerDensity.Comfortable): CountryPickerStyle

Pared back: monochrome, hairlines instead of shadows, plain rows and flat flags, all one size. For products whose own design language is minimal and should not be competed with.

Link copied to clipboard
fun signature(accent: Color = MaterialTheme.colorScheme.primary, dark: Boolean = isDarkTheme(), density: CountryPickerDensity = CountryPickerDensity.Comfortable, fontFamily: FontFamily = hostFontFamily()): CountryPickerStyle

The default look: inset grouped lists on a cool grey canvas, flags on soft tiles, layered shadows, a sliding region filter and a quick-pick carousel.