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