ccp

A Compose Multiplatform library for Android and iOS: country selection, phone country-code selection, phone number validation and real-time formatting. Everything here is pure Compose state — no ViewModels, no navigation coupling.

Start with CountrySelector for any single-country field, MultiCountrySelector for several, and PhoneNumberField for an international phone number with E.164 output.

Guides, recipes and the migration guide live on the documentation site.

A Compose Multiplatform library for Android and iOS: country selection, phone country-code selection, phone number validation and real-time formatting. Everything here is pure Compose state — no ViewModels, no navigation coupling.

Start with CountrySelector for any single-country field, MultiCountrySelector for several, and PhoneNumberField for an international phone number with E.164 output.

Guides, recipes and the migration guide live on the documentation site.

A Compose Multiplatform library for Android and iOS: country selection, phone country-code selection, phone number validation and real-time formatting. Everything here is pure Compose state — no ViewModels, no navigation coupling.

Start with CountrySelector for any single-country field, MultiCountrySelector for several, and PhoneNumberField for an international phone number with E.164 output.

Guides, recipes and the migration guide live on the documentation site.

Packages

Link copied to clipboard
common

The original PhoneNumberInput component and its dropdown/bottom-sheet pickers. Fully supported; runs on the country-picker foundation internally.

Link copied to clipboard
common

Where countries come from: the bundled DefaultCountryDataSource (236 countries and territories), the CountryDataSource interface for remote or localized sources, the caching CountryRepository, and the ranked CountrySearchEngine.

Link copied to clipboard
common
ios

Country detection from device signals: the CountryDetector interface, DefaultCountryDetector (SIM → network → locale, no location permission), and the result/behavior types that describe what the picker does with a detected country.

Link copied to clipboard
common

The canonical Country model, PhoneNumberValue, UiText, and the small enums that describe selection mode, search fields, supporting content and regions. Also the conversions between the canonical model and the legacy com.ezzy.ccp.model types.

Link copied to clipboard
common
ios

Persisting recently selected countries: the RecentCountryStore interface and its file-backed, in-memory and no-op implementations. Only ISO codes are ever stored.

Link copied to clipboard
common

Phone number formatting and validation on top of Google libphonenumber (PhoneNumberFormatter, PhoneNumberValidator), and the optional, host-implemented verification flow (PhoneNumberVerificationHandler, PhoneVerificationController, PhoneVerificationState).

Link copied to clipboard
common

State holders and configuration: CountryPickerConfig (how a picker behaves), CountryPickerState (the sheet's transient state) with rememberCountryPickerState, and PhoneNumberFieldState with rememberPhoneNumberFieldState.

Link copied to clipboard
common

Theming: CountryPickerDefaults and the value classes it produces — CountryPickerColors, CountryPickerShapes, CountryPickerDimensions, CountryPickerTypography, CountryPickerMotion — plus flag presentation (CountryFlagShape, CountryFlagStyle, CountryFlagConfig) and the phone field's PhoneNumberInputStyle.

Link copied to clipboard
common

Composables: the selectors, the phone field, the bottom sheet and its building blocks (list, rows, search field, region chips, empty/error/loading states, detection badge). All of them take their colors, shapes, dimensions, typography and motion from CountryPickerDefaults.

Link copied to clipboard
common
Link copied to clipboard
common
Link copied to clipboard
common

Legacy model types used by PhoneNumberInput: Phone, Country, SelectedCountry, CCPConfig, CCPColors.

Link copied to clipboard
common

Legacy state holders: PhoneState for PhoneNumberInput.

Link copied to clipboard
common

Legacy defaults and helpers: CCPDefaults, CCPSheetColor.