country_code_helper 0.1.2 copy "country_code_helper: ^0.1.2" to clipboard
country_code_helper: ^0.1.2 copied to clipboard

Flexible Country picker for getting Country code and Calling code.

country_code_helper #

StandWithPalestine Pub Package

A Flutter package to handle country codes, country data, and phone number parsing/validation. This package provides easy access to country information, sorting capabilities, and a convenient widget for displaying and selecting countries.

Installation #

Add country_code_helper to your pubspec.yaml:

Features #

Initialization #

initCountry

Fetches the country code based on the SIM card information.

Example:

Country? initCountry = await CountryCode.initCountry();
print(initCountry); // Outputs the country information based on the SIM card.

Note: fallback is the first country in the list; hence, it can be sorted before selecting the first one as a fallback.

Country Data #

countries

Fetches all country data and supports sorting based on a preferred list of country codes.

Map<String, Country> allCountries = CountryCode.countries();
print(allCountries); // Outputs a map of all countries with their data.

Sorting

Countries can be sorted based on a preferred list of country codes. This ensures specific countries appear first in the list.

List<String> preferredCountries = ['US', 'CA', 'GB', 'AU'];
Map<String, Country> sortedCountries = CountryCode.countries(preferredCountries);
print(sortedCountries); // Outputs a map of countries sorted by the preferred list.

Accessing Country Data #

getCountryByCountryCode

Retrieves country data using the country code.

Country? country = CountryCode.getCountryByCountryCode('US');
print(country); // Outputs the country information for the United States.

Regions #

Fetches a list of countries based on region.

arabCountries

List<String> arabCountries = CountryCode.arabCountries;

easternEuropeanCountries

List<String> easternEuropeanCountries = CountryCode.easternEuropeanCountries;

westernEuropeanCountries

List<String> westernEuropeanCountries = CountryCode.westernEuropeanCountries;

stanCountries

List<String> stanCountries = CountryCode.stanCountries;

africanCountries

List<String> africanCountries = CountryCode.africanCountries;

Phone Number Tools #

Parsing and Validation

Provides tools for parsing and validating phone numbers.

ParsedNumber parsedNumber = await PhoneNumberTools.parse('+123456789');
print(parsedNumber); 
// Outputs the parsed phone number information :
// countryCode
// e164
// national
// type
// international
// nationalNumber
// regionCode

bool isValid = PhoneNumberTools.validate('+123456789');
print(isValid); // Outputs true/false based on whether the phone number is valid.

Flags and Placeholders #

Access to flag images and a placeholder image path.

String flagImagePath = 'flags/PS.png'; // Example path to the Palestine flag.
// package: countryCodePackageName, use this in image widget to show package assets only

String placeholderImagePath = placeholderImgPath;
print(placeholderImagePath); // Outputs the path to the placeholder image.

Widget Integration #

CountryPickerWidget

A Flutter widget for displaying and selecting countries, with search functionality supporting Arabic words normalization.

Example usage:

CountryPickerWidget(
  onSelected: (country) => Navigator.of(context).pop(country),
  searchHintText: 'search...',
  locale: Localizations.localeOf(context).languageCode,
  //... more params
);

Support #

If you find this plugin helpful, consider supporting me:

Buy Me A Coffee

1
likes
140
pub points
49%
popularity

Publisher

unverified uploader

Flexible Country picker for getting Country code and Calling code.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

dartarabic, flutter, flutter_libphonenumber, phone_numbers_parser, sim_card_code

More

Packages that depend on country_code_helper