@ollaid/native-sso 1.0.6 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -25,6 +25,8 @@ export type { OnboardingModalProps } from './components/OnboardingModal';
25
25
  export { default as OTPInput } from './components/OTPInput';
26
26
  export { default as PhoneInput } from './components/PhoneInput';
27
27
  export { default as AppsLogoSlider } from './components/AppsLogoSlider';
28
+ export { COUNTRIES, getCountryByCode, getCountryByDialCode, getDefaultCountry, searchCountries, DEFAULT_COUNTRY_CODE, DEFAULT_DIAL_CODE } from './utils/countries';
29
+ export type { Country } from './utils/countries';
28
30
  export { useNativeAuth } from './hooks/useNativeAuth';
29
31
  export type { UseNativeAuthOptions } from './hooks/useNativeAuth';
30
32
  export { useTokenHealthCheck } from './hooks/useTokenHealthCheck';
package/dist/index.js CHANGED
@@ -2872,25 +2872,209 @@ function LoginModal({
2872
2872
  )
2873
2873
  ] });
2874
2874
  }
2875
- const SUPPORTED_COUNTRIES = [
2876
- { code: "+221", name: "Sénégal", flag: "🇸🇳", digits: 9 },
2877
- { code: "+229", name: "Bénin", flag: "🇧🇯", digits: 8 },
2878
- { code: "+225", name: "Côte d'Ivoire", flag: "🇨🇮", digits: 10 },
2879
- { code: "+228", name: "Togo", flag: "🇹🇬", digits: 8 },
2880
- { code: "+237", name: "Cameroun", flag: "🇨🇲", digits: 9 },
2881
- { code: "+33", name: "France", flag: "🇫🇷", digits: 9 }
2875
+ const COUNTRIES = [
2876
+ // ── Afrique de l'Ouest (prioritaires) ──
2877
+ { code: "SN", name: "Sénégal", dialCode: "+221", flag: "🇸🇳", digits: 9 },
2878
+ { code: "CI", name: "Côte d'Ivoire", dialCode: "+225", flag: "🇨🇮", digits: 10 },
2879
+ { code: "ML", name: "Mali", dialCode: "+223", flag: "🇲🇱", digits: 8 },
2880
+ { code: "BF", name: "Burkina Faso", dialCode: "+226", flag: "🇧🇫", digits: 8 },
2881
+ { code: "GN", name: "Guinée", dialCode: "+224", flag: "🇬🇳", digits: 9 },
2882
+ { code: "TG", name: "Togo", dialCode: "+228", flag: "🇹🇬", digits: 8 },
2883
+ { code: "BJ", name: "Bénin", dialCode: "+229", flag: "🇧🇯", digits: 8 },
2884
+ { code: "NE", name: "Niger", dialCode: "+227", flag: "🇳🇪", digits: 8 },
2885
+ { code: "MR", name: "Mauritanie", dialCode: "+222", flag: "🇲🇷", digits: 8 },
2886
+ { code: "GW", name: "Guinée-Bissau", dialCode: "+245", flag: "🇬🇼", digits: 7 },
2887
+ { code: "GM", name: "Gambie", dialCode: "+220", flag: "🇬🇲", digits: 7 },
2888
+ { code: "CV", name: "Cap-Vert", dialCode: "+238", flag: "🇨🇻", digits: 7 },
2889
+ { code: "SL", name: "Sierra Leone", dialCode: "+232", flag: "🇸🇱", digits: 8 },
2890
+ { code: "LR", name: "Liberia", dialCode: "+231", flag: "🇱🇷", digits: 7 },
2891
+ { code: "GH", name: "Ghana", dialCode: "+233", flag: "🇬🇭", digits: 9 },
2892
+ { code: "NG", name: "Nigeria", dialCode: "+234", flag: "🇳🇬", digits: 10 },
2893
+ // ── Afrique Centrale ──
2894
+ { code: "CM", name: "Cameroun", dialCode: "+237", flag: "🇨🇲", digits: 9 },
2895
+ { code: "GA", name: "Gabon", dialCode: "+241", flag: "🇬🇦", digits: 7 },
2896
+ { code: "CG", name: "Congo", dialCode: "+242", flag: "🇨🇬", digits: 9 },
2897
+ { code: "CD", name: "RD Congo", dialCode: "+243", flag: "🇨🇩", digits: 9 },
2898
+ { code: "TD", name: "Tchad", dialCode: "+235", flag: "🇹🇩", digits: 8 },
2899
+ { code: "CF", name: "Centrafrique", dialCode: "+236", flag: "🇨🇫", digits: 8 },
2900
+ { code: "GQ", name: "Guinée équatoriale", dialCode: "+240", flag: "🇬🇶", digits: 9 },
2901
+ { code: "ST", name: "São Tomé-et-Príncipe", dialCode: "+239", flag: "🇸🇹", digits: 7 },
2902
+ { code: "BI", name: "Burundi", dialCode: "+257", flag: "🇧🇮", digits: 8 },
2903
+ { code: "RW", name: "Rwanda", dialCode: "+250", flag: "🇷🇼", digits: 9 },
2904
+ // ── Afrique de l'Est ──
2905
+ { code: "KE", name: "Kenya", dialCode: "+254", flag: "🇰🇪", digits: 9 },
2906
+ { code: "TZ", name: "Tanzanie", dialCode: "+255", flag: "🇹🇿", digits: 9 },
2907
+ { code: "UG", name: "Ouganda", dialCode: "+256", flag: "🇺🇬", digits: 9 },
2908
+ { code: "ET", name: "Éthiopie", dialCode: "+251", flag: "🇪🇹", digits: 9 },
2909
+ { code: "SO", name: "Somalie", dialCode: "+252", flag: "🇸🇴", digits: 8 },
2910
+ { code: "DJ", name: "Djibouti", dialCode: "+253", flag: "🇩🇯", digits: 8 },
2911
+ { code: "ER", name: "Érythrée", dialCode: "+291", flag: "🇪🇷", digits: 7 },
2912
+ { code: "SS", name: "Soudan du Sud", dialCode: "+211", flag: "🇸🇸", digits: 9 },
2913
+ { code: "MG", name: "Madagascar", dialCode: "+261", flag: "🇲🇬", digits: 9 },
2914
+ { code: "MU", name: "Maurice", dialCode: "+230", flag: "🇲🇺", digits: 8 },
2915
+ { code: "SC", name: "Seychelles", dialCode: "+248", flag: "🇸🇨", digits: 7 },
2916
+ { code: "KM", name: "Comores", dialCode: "+269", flag: "🇰🇲", digits: 7 },
2917
+ // ── Afrique Australe ──
2918
+ { code: "ZA", name: "Afrique du Sud", dialCode: "+27", flag: "🇿🇦", digits: 9 },
2919
+ { code: "MZ", name: "Mozambique", dialCode: "+258", flag: "🇲🇿", digits: 9 },
2920
+ { code: "ZW", name: "Zimbabwe", dialCode: "+263", flag: "🇿🇼", digits: 9 },
2921
+ { code: "ZM", name: "Zambie", dialCode: "+260", flag: "🇿🇲", digits: 9 },
2922
+ { code: "MW", name: "Malawi", dialCode: "+265", flag: "🇲🇼", digits: 9 },
2923
+ { code: "BW", name: "Botswana", dialCode: "+267", flag: "🇧🇼", digits: 8 },
2924
+ { code: "NA", name: "Namibie", dialCode: "+264", flag: "🇳🇦", digits: 9 },
2925
+ { code: "AO", name: "Angola", dialCode: "+244", flag: "🇦🇴", digits: 9 },
2926
+ { code: "SZ", name: "Eswatini", dialCode: "+268", flag: "🇸🇿", digits: 8 },
2927
+ { code: "LS", name: "Lesotho", dialCode: "+266", flag: "🇱🇸", digits: 8 },
2928
+ // ── Afrique du Nord ──
2929
+ { code: "MA", name: "Maroc", dialCode: "+212", flag: "🇲🇦", digits: 9 },
2930
+ { code: "DZ", name: "Algérie", dialCode: "+213", flag: "🇩🇿", digits: 9 },
2931
+ { code: "TN", name: "Tunisie", dialCode: "+216", flag: "🇹🇳", digits: 8 },
2932
+ { code: "LY", name: "Libye", dialCode: "+218", flag: "🇱🇾", digits: 9 },
2933
+ { code: "EG", name: "Égypte", dialCode: "+20", flag: "🇪🇬", digits: 10 },
2934
+ { code: "SD", name: "Soudan", dialCode: "+249", flag: "🇸🇩", digits: 9 },
2935
+ // ── Europe ──
2936
+ { code: "FR", name: "France", dialCode: "+33", flag: "🇫🇷", digits: 9 },
2937
+ { code: "BE", name: "Belgique", dialCode: "+32", flag: "🇧🇪", digits: 9 },
2938
+ { code: "CH", name: "Suisse", dialCode: "+41", flag: "🇨🇭", digits: 9 },
2939
+ { code: "DE", name: "Allemagne", dialCode: "+49", flag: "🇩🇪", digits: 10 },
2940
+ { code: "GB", name: "Royaume-Uni", dialCode: "+44", flag: "🇬🇧", digits: 10 },
2941
+ { code: "ES", name: "Espagne", dialCode: "+34", flag: "🇪🇸", digits: 9 },
2942
+ { code: "IT", name: "Italie", dialCode: "+39", flag: "🇮🇹", digits: 10 },
2943
+ { code: "PT", name: "Portugal", dialCode: "+351", flag: "🇵🇹", digits: 9 },
2944
+ { code: "NL", name: "Pays-Bas", dialCode: "+31", flag: "🇳🇱", digits: 9 },
2945
+ { code: "SE", name: "Suède", dialCode: "+46", flag: "🇸🇪", digits: 9 },
2946
+ { code: "NO", name: "Norvège", dialCode: "+47", flag: "🇳🇴", digits: 8 },
2947
+ { code: "DK", name: "Danemark", dialCode: "+45", flag: "🇩🇰", digits: 8 },
2948
+ { code: "FI", name: "Finlande", dialCode: "+358", flag: "🇫🇮", digits: 10 },
2949
+ { code: "PL", name: "Pologne", dialCode: "+48", flag: "🇵🇱", digits: 9 },
2950
+ { code: "AT", name: "Autriche", dialCode: "+43", flag: "🇦🇹", digits: 10 },
2951
+ { code: "IE", name: "Irlande", dialCode: "+353", flag: "🇮🇪", digits: 9 },
2952
+ { code: "GR", name: "Grèce", dialCode: "+30", flag: "🇬🇷", digits: 10 },
2953
+ { code: "CZ", name: "Tchéquie", dialCode: "+420", flag: "🇨🇿", digits: 9 },
2954
+ { code: "RO", name: "Roumanie", dialCode: "+40", flag: "🇷🇴", digits: 9 },
2955
+ { code: "HU", name: "Hongrie", dialCode: "+36", flag: "🇭🇺", digits: 9 },
2956
+ { code: "BG", name: "Bulgarie", dialCode: "+359", flag: "🇧🇬", digits: 9 },
2957
+ { code: "HR", name: "Croatie", dialCode: "+385", flag: "🇭🇷", digits: 9 },
2958
+ { code: "SK", name: "Slovaquie", dialCode: "+421", flag: "🇸🇰", digits: 9 },
2959
+ { code: "SI", name: "Slovénie", dialCode: "+386", flag: "🇸🇮", digits: 8 },
2960
+ { code: "RS", name: "Serbie", dialCode: "+381", flag: "🇷🇸", digits: 9 },
2961
+ { code: "UA", name: "Ukraine", dialCode: "+380", flag: "🇺🇦", digits: 9 },
2962
+ { code: "RU", name: "Russie", dialCode: "+7", flag: "🇷🇺", digits: 10 },
2963
+ { code: "TR", name: "Turquie", dialCode: "+90", flag: "🇹🇷", digits: 10 },
2964
+ { code: "LU", name: "Luxembourg", dialCode: "+352", flag: "🇱🇺", digits: 9 },
2965
+ { code: "MC", name: "Monaco", dialCode: "+377", flag: "🇲🇨", digits: 8 },
2966
+ { code: "IS", name: "Islande", dialCode: "+354", flag: "🇮🇸", digits: 7 },
2967
+ { code: "AL", name: "Albanie", dialCode: "+355", flag: "🇦🇱", digits: 9 },
2968
+ { code: "ME", name: "Monténégro", dialCode: "+382", flag: "🇲🇪", digits: 8 },
2969
+ { code: "MK", name: "Macédoine du Nord", dialCode: "+389", flag: "🇲🇰", digits: 8 },
2970
+ { code: "BA", name: "Bosnie-Herzégovine", dialCode: "+387", flag: "🇧🇦", digits: 8 },
2971
+ { code: "LT", name: "Lituanie", dialCode: "+370", flag: "🇱🇹", digits: 8 },
2972
+ { code: "LV", name: "Lettonie", dialCode: "+371", flag: "🇱🇻", digits: 8 },
2973
+ { code: "EE", name: "Estonie", dialCode: "+372", flag: "🇪🇪", digits: 8 },
2974
+ { code: "MT", name: "Malte", dialCode: "+356", flag: "🇲🇹", digits: 8 },
2975
+ { code: "CY", name: "Chypre", dialCode: "+357", flag: "🇨🇾", digits: 8 },
2976
+ { code: "MD", name: "Moldavie", dialCode: "+373", flag: "🇲🇩", digits: 8 },
2977
+ { code: "GE", name: "Géorgie", dialCode: "+995", flag: "🇬🇪", digits: 9 },
2978
+ { code: "AM", name: "Arménie", dialCode: "+374", flag: "🇦🇲", digits: 8 },
2979
+ { code: "AZ", name: "Azerbaïdjan", dialCode: "+994", flag: "🇦🇿", digits: 9 },
2980
+ { code: "BY", name: "Biélorussie", dialCode: "+375", flag: "🇧🇾", digits: 9 },
2981
+ // ── Amérique du Nord ──
2982
+ { code: "US", name: "États-Unis", dialCode: "+1", flag: "🇺🇸", digits: 10 },
2983
+ { code: "CA", name: "Canada", dialCode: "+1", flag: "🇨🇦", digits: 10 },
2984
+ { code: "MX", name: "Mexique", dialCode: "+52", flag: "🇲🇽", digits: 10 },
2985
+ // ── Amérique Centrale & Caraïbes ──
2986
+ { code: "HT", name: "Haïti", dialCode: "+509", flag: "🇭🇹", digits: 8 },
2987
+ { code: "DO", name: "République dominicaine", dialCode: "+1809", flag: "🇩🇴", digits: 10 },
2988
+ { code: "CU", name: "Cuba", dialCode: "+53", flag: "🇨🇺", digits: 8 },
2989
+ { code: "JM", name: "Jamaïque", dialCode: "+1876", flag: "🇯🇲", digits: 7 },
2990
+ { code: "GT", name: "Guatemala", dialCode: "+502", flag: "🇬🇹", digits: 8 },
2991
+ { code: "HN", name: "Honduras", dialCode: "+504", flag: "🇭🇳", digits: 8 },
2992
+ { code: "SV", name: "El Salvador", dialCode: "+503", flag: "🇸🇻", digits: 8 },
2993
+ { code: "NI", name: "Nicaragua", dialCode: "+505", flag: "🇳🇮", digits: 8 },
2994
+ { code: "CR", name: "Costa Rica", dialCode: "+506", flag: "🇨🇷", digits: 8 },
2995
+ { code: "PA", name: "Panama", dialCode: "+507", flag: "🇵🇦", digits: 8 },
2996
+ { code: "TT", name: "Trinité-et-Tobago", dialCode: "+1868", flag: "🇹🇹", digits: 7 },
2997
+ // ── Amérique du Sud ──
2998
+ { code: "BR", name: "Brésil", dialCode: "+55", flag: "🇧🇷", digits: 11 },
2999
+ { code: "AR", name: "Argentine", dialCode: "+54", flag: "🇦🇷", digits: 10 },
3000
+ { code: "CO", name: "Colombie", dialCode: "+57", flag: "🇨🇴", digits: 10 },
3001
+ { code: "CL", name: "Chili", dialCode: "+56", flag: "🇨🇱", digits: 9 },
3002
+ { code: "PE", name: "Pérou", dialCode: "+51", flag: "🇵🇪", digits: 9 },
3003
+ { code: "VE", name: "Venezuela", dialCode: "+58", flag: "🇻🇪", digits: 10 },
3004
+ { code: "EC", name: "Équateur", dialCode: "+593", flag: "🇪🇨", digits: 9 },
3005
+ { code: "BO", name: "Bolivie", dialCode: "+591", flag: "🇧🇴", digits: 8 },
3006
+ { code: "PY", name: "Paraguay", dialCode: "+595", flag: "🇵🇾", digits: 9 },
3007
+ { code: "UY", name: "Uruguay", dialCode: "+598", flag: "🇺🇾", digits: 8 },
3008
+ { code: "GY", name: "Guyana", dialCode: "+592", flag: "🇬🇾", digits: 7 },
3009
+ { code: "SR", name: "Suriname", dialCode: "+597", flag: "🇸🇷", digits: 7 },
3010
+ // ── Moyen-Orient ──
3011
+ { code: "AE", name: "Émirats arabes unis", dialCode: "+971", flag: "🇦🇪", digits: 9 },
3012
+ { code: "SA", name: "Arabie saoudite", dialCode: "+966", flag: "🇸🇦", digits: 9 },
3013
+ { code: "QA", name: "Qatar", dialCode: "+974", flag: "🇶🇦", digits: 8 },
3014
+ { code: "KW", name: "Koweït", dialCode: "+965", flag: "🇰🇼", digits: 8 },
3015
+ { code: "BH", name: "Bahreïn", dialCode: "+973", flag: "🇧🇭", digits: 8 },
3016
+ { code: "OM", name: "Oman", dialCode: "+968", flag: "🇴🇲", digits: 8 },
3017
+ { code: "JO", name: "Jordanie", dialCode: "+962", flag: "🇯🇴", digits: 9 },
3018
+ { code: "LB", name: "Liban", dialCode: "+961", flag: "🇱🇧", digits: 8 },
3019
+ { code: "IQ", name: "Irak", dialCode: "+964", flag: "🇮🇶", digits: 10 },
3020
+ { code: "IR", name: "Iran", dialCode: "+98", flag: "🇮🇷", digits: 10 },
3021
+ { code: "IL", name: "Israël", dialCode: "+972", flag: "🇮🇱", digits: 9 },
3022
+ { code: "PS", name: "Palestine", dialCode: "+970", flag: "🇵🇸", digits: 9 },
3023
+ { code: "YE", name: "Yémen", dialCode: "+967", flag: "🇾🇪", digits: 9 },
3024
+ { code: "SY", name: "Syrie", dialCode: "+963", flag: "🇸🇾", digits: 9 },
3025
+ // ── Asie ──
3026
+ { code: "CN", name: "Chine", dialCode: "+86", flag: "🇨🇳", digits: 11 },
3027
+ { code: "JP", name: "Japon", dialCode: "+81", flag: "🇯🇵", digits: 10 },
3028
+ { code: "KR", name: "Corée du Sud", dialCode: "+82", flag: "🇰🇷", digits: 10 },
3029
+ { code: "IN", name: "Inde", dialCode: "+91", flag: "🇮🇳", digits: 10 },
3030
+ { code: "PK", name: "Pakistan", dialCode: "+92", flag: "🇵🇰", digits: 10 },
3031
+ { code: "BD", name: "Bangladesh", dialCode: "+880", flag: "🇧🇩", digits: 10 },
3032
+ { code: "ID", name: "Indonésie", dialCode: "+62", flag: "🇮🇩", digits: 10 },
3033
+ { code: "MY", name: "Malaisie", dialCode: "+60", flag: "🇲🇾", digits: 10 },
3034
+ { code: "PH", name: "Philippines", dialCode: "+63", flag: "🇵🇭", digits: 10 },
3035
+ { code: "TH", name: "Thaïlande", dialCode: "+66", flag: "🇹🇭", digits: 9 },
3036
+ { code: "VN", name: "Vietnam", dialCode: "+84", flag: "🇻🇳", digits: 9 },
3037
+ { code: "SG", name: "Singapour", dialCode: "+65", flag: "🇸🇬", digits: 8 },
3038
+ { code: "HK", name: "Hong Kong", dialCode: "+852", flag: "🇭🇰", digits: 8 },
3039
+ { code: "TW", name: "Taïwan", dialCode: "+886", flag: "🇹🇼", digits: 9 },
3040
+ { code: "MM", name: "Myanmar", dialCode: "+95", flag: "🇲🇲", digits: 9 },
3041
+ { code: "KH", name: "Cambodge", dialCode: "+855", flag: "🇰🇭", digits: 9 },
3042
+ { code: "LA", name: "Laos", dialCode: "+856", flag: "🇱🇦", digits: 10 },
3043
+ { code: "NP", name: "Népal", dialCode: "+977", flag: "🇳🇵", digits: 10 },
3044
+ { code: "LK", name: "Sri Lanka", dialCode: "+94", flag: "🇱🇰", digits: 9 },
3045
+ { code: "AF", name: "Afghanistan", dialCode: "+93", flag: "🇦🇫", digits: 9 },
3046
+ { code: "UZ", name: "Ouzbékistan", dialCode: "+998", flag: "🇺🇿", digits: 9 },
3047
+ { code: "KZ", name: "Kazakhstan", dialCode: "+7", flag: "🇰🇿", digits: 10 },
3048
+ { code: "MN", name: "Mongolie", dialCode: "+976", flag: "🇲🇳", digits: 8 },
3049
+ // ── Océanie ──
3050
+ { code: "AU", name: "Australie", dialCode: "+61", flag: "🇦🇺", digits: 9 },
3051
+ { code: "NZ", name: "Nouvelle-Zélande", dialCode: "+64", flag: "🇳🇿", digits: 9 },
3052
+ { code: "FJ", name: "Fidji", dialCode: "+679", flag: "🇫🇯", digits: 7 },
3053
+ { code: "PG", name: "Papouasie-Nouvelle-Guinée", dialCode: "+675", flag: "🇵🇬", digits: 8 }
2882
3054
  ];
3055
+ const DEFAULT_COUNTRY_CODE = "SN";
3056
+ const DEFAULT_DIAL_CODE = "+221";
3057
+ const getCountryByCode = (code) => COUNTRIES.find((c) => c.code.toLowerCase() === code.toLowerCase());
3058
+ const getCountryByDialCode = (dialCode) => COUNTRIES.find((c) => c.dialCode === dialCode);
3059
+ const getDefaultCountry = () => COUNTRIES.find((c) => c.code === DEFAULT_COUNTRY_CODE);
3060
+ const searchCountries = (query) => {
3061
+ const q = query.toLowerCase().trim();
3062
+ if (!q) return COUNTRIES;
3063
+ return COUNTRIES.filter(
3064
+ (c) => c.name.toLowerCase().includes(q) || c.dialCode.includes(q) || c.code.toLowerCase().includes(q)
3065
+ );
3066
+ };
2883
3067
  function PhoneInput({
2884
3068
  value,
2885
3069
  onChange,
2886
- ccphone = "+221",
3070
+ ccphone = DEFAULT_DIAL_CODE,
2887
3071
  onCcphoneChange,
2888
3072
  disabled = false,
2889
3073
  error,
2890
3074
  placeholder = "77 123 45 67",
2891
3075
  lockCcphone = false
2892
3076
  }) {
2893
- const selectedCountry = SUPPORTED_COUNTRIES.find((c) => c.code === ccphone) || SUPPORTED_COUNTRIES[0];
3077
+ const selectedCountry = getCountryByDialCode(ccphone) || COUNTRIES[0];
2894
3078
  const handleChange = (e) => {
2895
3079
  const cleaned = e.target.value.replace(/\D/g, "");
2896
3080
  onChange(cleaned.slice(0, selectedCountry.digits));
@@ -2917,16 +3101,16 @@ function PhoneInput({
2917
3101
  value: ccphone,
2918
3102
  onChange: (e) => onCcphoneChange(e.target.value),
2919
3103
  disabled,
2920
- style: { padding: "0.75rem", backgroundColor: "#f9fafb", borderRight: "1px solid #e5e7eb", fontWeight: 500, color: "#374151", outline: "none", border: "none" },
2921
- children: SUPPORTED_COUNTRIES.map((c) => /* @__PURE__ */ jsxs("option", { value: c.code, children: [
3104
+ style: { padding: "0.75rem", backgroundColor: "#f9fafb", borderRight: "1px solid #e5e7eb", fontWeight: 500, color: "#374151", outline: "none", border: "none", maxWidth: "7rem" },
3105
+ children: COUNTRIES.map((c) => /* @__PURE__ */ jsxs("option", { value: c.dialCode, children: [
2922
3106
  c.flag,
2923
3107
  " ",
2924
- c.code
2925
- ] }, c.code))
3108
+ c.dialCode
3109
+ ] }, `${c.code}-${c.dialCode}`))
2926
3110
  }
2927
3111
  ) : /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem", padding: "0.75rem", backgroundColor: "#f9fafb", borderRight: "1px solid #e5e7eb" }, children: [
2928
3112
  /* @__PURE__ */ jsx("span", { style: { fontSize: "1.125rem" }, children: selectedCountry.flag }),
2929
- /* @__PURE__ */ jsx("span", { style: { fontWeight: 500, color: "#374151" }, children: selectedCountry.code })
3113
+ /* @__PURE__ */ jsx("span", { style: { fontWeight: 500, color: "#374151" }, children: selectedCountry.dialCode })
2930
3114
  ] }),
2931
3115
  /* @__PURE__ */ jsx(
2932
3116
  "input",
@@ -3607,7 +3791,8 @@ function SignupModal({ open, onOpenChange, onSwitchToLogin, onSignupSuccess, saa
3607
3791
  };
3608
3792
  const handleAccountTypeSelect = (type) => {
3609
3793
  setAccountType(type);
3610
- if (type === "phone-only") updateFormData({ ccphone: "+221", country: "Sénégal", email: "" });
3794
+ if (type === "phone-only") updateFormData({ ccphone: "+221", country: "SN", email: "" });
3795
+ else if (!formData.country) updateFormData({ country: DEFAULT_COUNTRY_CODE });
3611
3796
  goToStep("info");
3612
3797
  };
3613
3798
  const renderError = () => error ? /* @__PURE__ */ jsx("div", { style: { padding: "0.75rem", borderRadius: "0.375rem", backgroundColor: C$1.redBg, color: C$1.red, fontSize: "0.875rem" }, children: error }) : null;
@@ -3711,7 +3896,23 @@ function SignupModal({ open, onOpenChange, onSwitchToLogin, onSignupSuccess, saa
3711
3896
  ] }),
3712
3897
  /* @__PURE__ */ jsxs("div", { children: [
3713
3898
  /* @__PURE__ */ jsx(Label, { children: "Pays" }),
3714
- /* @__PURE__ */ jsx(Input, { placeholder: "Sénégal", value: formData.country || "", onChange: (e) => updateFormData({ country: e.target.value }), disabled: regLoading || isPhoneOnly })
3899
+ /* @__PURE__ */ jsx(
3900
+ "select",
3901
+ {
3902
+ value: formData.country || DEFAULT_COUNTRY_CODE,
3903
+ onChange: (e) => {
3904
+ const country = getCountryByCode(e.target.value);
3905
+ updateFormData({ country: e.target.value, ccphone: (country == null ? void 0 : country.dialCode) || "+221" });
3906
+ },
3907
+ disabled: regLoading || isPhoneOnly,
3908
+ style: { width: "100%", padding: "0.5rem", borderRadius: "0.375rem", border: "1px solid #d1d5db", backgroundColor: regLoading || isPhoneOnly ? "#f3f4f6" : "white", fontSize: "0.875rem" },
3909
+ children: COUNTRIES.map((c) => /* @__PURE__ */ jsxs("option", { value: c.code, children: [
3910
+ c.flag,
3911
+ " ",
3912
+ c.name
3913
+ ] }, c.code))
3914
+ }
3915
+ )
3715
3916
  ] })
3716
3917
  ] }),
3717
3918
  /* @__PURE__ */ jsx(StepIndicator, { current: 3 }),
@@ -4379,6 +4580,13 @@ function NativeSSOPage({
4379
4580
  }, children: /* @__PURE__ */ jsx(AppsLogoSlider, { iamApiUrl, speed: "normal" }) }) })
4380
4581
  ] }) });
4381
4582
  if (session) {
4583
+ if (redirectAfterLogin) {
4584
+ window.location.href = redirectAfterLogin;
4585
+ return /* @__PURE__ */ jsxs("div", { style: containerStyle, children: [
4586
+ /* @__PURE__ */ jsx(TopBranding, { subtitle: title }),
4587
+ /* @__PURE__ */ jsx("p", { style: { color: "rgba(255,255,255,0.7)", fontSize: "0.875rem" }, children: "Redirection en cours..." })
4588
+ ] });
4589
+ }
4382
4590
  return /* @__PURE__ */ jsxs("div", { style: containerStyle, children: [
4383
4591
  /* @__PURE__ */ jsx(TopBranding, { subtitle: title }),
4384
4592
  /* @__PURE__ */ jsx(SliderBadge, {}),
@@ -4623,6 +4831,9 @@ const iamAccountService = {
4623
4831
  export {
4624
4832
  ApiError,
4625
4833
  AppsLogoSlider,
4834
+ COUNTRIES,
4835
+ DEFAULT_COUNTRY_CODE,
4836
+ DEFAULT_DIAL_CODE,
4626
4837
  LoginModal,
4627
4838
  NativeSSOPage,
4628
4839
  NativeSSOProvider,
@@ -4635,10 +4846,14 @@ export {
4635
4846
  getAccountType,
4636
4847
  getAuthToken,
4637
4848
  getAuthUser,
4849
+ getCountryByCode,
4850
+ getCountryByDialCode,
4851
+ getDefaultCountry,
4638
4852
  getNativeAuthConfig,
4639
4853
  iamAccountService,
4640
4854
  mobilePasswordService,
4641
4855
  nativeAuthService,
4856
+ searchCountries,
4642
4857
  setNativeAuthConfig,
4643
4858
  useMobilePassword,
4644
4859
  useMobileRegistration,