@asdp/ferryui 0.1.22-dev.8663 → 0.1.22-dev.8697
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.mts +22 -7
- package/dist/index.d.ts +22 -7
- package/dist/index.js +323 -364
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +323 -364
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1880,6 +1880,69 @@ var DEFAULT_LABELS7 = {
|
|
|
1880
1880
|
emailOrPhoneRequiredError: "Email or phone number is required"
|
|
1881
1881
|
}
|
|
1882
1882
|
};
|
|
1883
|
+
|
|
1884
|
+
// src/components/InputDynamic/countries.constants.ts
|
|
1885
|
+
var COUNTRIES = [
|
|
1886
|
+
{ value: "ID", label: "Indonesia", flag: "twemoji:flag-indonesia" },
|
|
1887
|
+
{ value: "MY", label: "Malaysia", flag: "twemoji:flag-malaysia" },
|
|
1888
|
+
{ value: "SG", label: "Singapore", flag: "twemoji:flag-singapore" },
|
|
1889
|
+
{ value: "TH", label: "Thailand", flag: "twemoji:flag-thailand" },
|
|
1890
|
+
{ value: "PH", label: "Philippines", flag: "twemoji:flag-philippines" },
|
|
1891
|
+
{ value: "VN", label: "Vietnam", flag: "twemoji:flag-vietnam" },
|
|
1892
|
+
{ value: "BN", label: "Brunei", flag: "twemoji:flag-brunei" },
|
|
1893
|
+
{ value: "KH", label: "Cambodia", flag: "twemoji:flag-cambodia" },
|
|
1894
|
+
{ value: "LA", label: "Laos", flag: "twemoji:flag-laos" },
|
|
1895
|
+
{ value: "MM", label: "Myanmar", flag: "twemoji:flag-myanmar-burma" },
|
|
1896
|
+
{ value: "TL", label: "Timor-Leste", flag: "twemoji:flag-timor-leste" },
|
|
1897
|
+
// Major countries
|
|
1898
|
+
{ value: "US", label: "United States", flag: "twemoji:flag-united-states" },
|
|
1899
|
+
{ value: "GB", label: "United Kingdom", flag: "twemoji:flag-united-kingdom" },
|
|
1900
|
+
{ value: "AU", label: "Australia", flag: "twemoji:flag-australia" },
|
|
1901
|
+
{ value: "CN", label: "China", flag: "twemoji:flag-china" },
|
|
1902
|
+
{ value: "JP", label: "Japan", flag: "twemoji:flag-japan" },
|
|
1903
|
+
{ value: "KR", label: "South Korea", flag: "twemoji:flag-south-korea" },
|
|
1904
|
+
{ value: "IN", label: "India", flag: "twemoji:flag-india" },
|
|
1905
|
+
{ value: "SA", label: "Saudi Arabia", flag: "twemoji:flag-saudi-arabia" },
|
|
1906
|
+
{ value: "AE", label: "United Arab Emirates", flag: "twemoji:flag-united-arab-emirates" },
|
|
1907
|
+
{ value: "QA", label: "Qatar", flag: "twemoji:flag-qatar" },
|
|
1908
|
+
// European countries
|
|
1909
|
+
{ value: "DE", label: "Germany", flag: "twemoji:flag-germany" },
|
|
1910
|
+
{ value: "FR", label: "France", flag: "twemoji:flag-france" },
|
|
1911
|
+
{ value: "IT", label: "Italy", flag: "twemoji:flag-italy" },
|
|
1912
|
+
{ value: "ES", label: "Spain", flag: "twemoji:flag-spain" },
|
|
1913
|
+
{ value: "NL", label: "Netherlands", flag: "twemoji:flag-netherlands" },
|
|
1914
|
+
{ value: "BE", label: "Belgium", flag: "twemoji:flag-belgium" },
|
|
1915
|
+
{ value: "CH", label: "Switzerland", flag: "twemoji:flag-switzerland" },
|
|
1916
|
+
{ value: "AT", label: "Austria", flag: "twemoji:flag-austria" },
|
|
1917
|
+
{ value: "SE", label: "Sweden", flag: "twemoji:flag-sweden" },
|
|
1918
|
+
{ value: "NO", label: "Norway", flag: "twemoji:flag-norway" },
|
|
1919
|
+
{ value: "DK", label: "Denmark", flag: "twemoji:flag-denmark" },
|
|
1920
|
+
{ value: "FI", label: "Finland", flag: "twemoji:flag-finland" },
|
|
1921
|
+
{ value: "PL", label: "Poland", flag: "twemoji:flag-poland" },
|
|
1922
|
+
{ value: "RU", label: "Russia", flag: "twemoji:flag-russia" },
|
|
1923
|
+
{ value: "TR", label: "Turkey", flag: "twemoji:flag-turkey" },
|
|
1924
|
+
{ value: "GR", label: "Greece", flag: "twemoji:flag-greece" },
|
|
1925
|
+
{ value: "PT", label: "Portugal", flag: "twemoji:flag-portugal" },
|
|
1926
|
+
{ value: "IE", label: "Ireland", flag: "twemoji:flag-ireland" },
|
|
1927
|
+
// Americas
|
|
1928
|
+
{ value: "CA", label: "Canada", flag: "twemoji:flag-canada" },
|
|
1929
|
+
{ value: "MX", label: "Mexico", flag: "twemoji:flag-mexico" },
|
|
1930
|
+
{ value: "BR", label: "Brazil", flag: "twemoji:flag-brazil" },
|
|
1931
|
+
{ value: "AR", label: "Argentina", flag: "twemoji:flag-argentina" },
|
|
1932
|
+
{ value: "CL", label: "Chile", flag: "twemoji:flag-chile" },
|
|
1933
|
+
{ value: "CO", label: "Colombia", flag: "twemoji:flag-colombia" },
|
|
1934
|
+
{ value: "PE", label: "Peru", flag: "twemoji:flag-peru" },
|
|
1935
|
+
// Africa
|
|
1936
|
+
{ value: "ZA", label: "South Africa", flag: "twemoji:flag-south-africa" },
|
|
1937
|
+
{ value: "EG", label: "Egypt", flag: "twemoji:flag-egypt" },
|
|
1938
|
+
{ value: "NG", label: "Nigeria", flag: "twemoji:flag-nigeria" },
|
|
1939
|
+
{ value: "KE", label: "Kenya", flag: "twemoji:flag-kenya" },
|
|
1940
|
+
{ value: "MA", label: "Morocco", flag: "twemoji:flag-morocco" },
|
|
1941
|
+
// Oceania
|
|
1942
|
+
{ value: "NZ", label: "New Zealand", flag: "twemoji:flag-new-zealand" },
|
|
1943
|
+
{ value: "FJ", label: "Fiji", flag: "twemoji:flag-fiji" },
|
|
1944
|
+
{ value: "PG", label: "Papua New Guinea", flag: "twemoji:flag-papua-new-guinea" }
|
|
1945
|
+
];
|
|
1883
1946
|
var PhoneInput = PhoneInputComponent__default.default.default || PhoneInputComponent__default.default;
|
|
1884
1947
|
var useStyles7 = reactComponents.makeStyles({
|
|
1885
1948
|
field: {
|
|
@@ -2036,7 +2099,7 @@ var useStyles7 = reactComponents.makeStyles({
|
|
|
2036
2099
|
display: "none"
|
|
2037
2100
|
},
|
|
2038
2101
|
"& .fui-Radio__label": {
|
|
2039
|
-
padding: "10px
|
|
2102
|
+
padding: "5px 10px",
|
|
2040
2103
|
border: `1px solid ${reactComponents.tokens.colorNeutralStroke1}`,
|
|
2041
2104
|
borderRadius: reactComponents.tokens.borderRadiusCircular,
|
|
2042
2105
|
cursor: "pointer",
|
|
@@ -2124,7 +2187,8 @@ var InputDynamic = ({
|
|
|
2124
2187
|
contentAfter,
|
|
2125
2188
|
onChange,
|
|
2126
2189
|
language = "id",
|
|
2127
|
-
labels
|
|
2190
|
+
labels,
|
|
2191
|
+
menuPlacement
|
|
2128
2192
|
}) => {
|
|
2129
2193
|
const styles = useStyles7();
|
|
2130
2194
|
const mergedLabels = { ...DEFAULT_LABELS7[language], ...labels };
|
|
@@ -2141,74 +2205,125 @@ var InputDynamic = ({
|
|
|
2141
2205
|
const emailOrPhoneInputRef = React5.useRef(null);
|
|
2142
2206
|
const shouldFocusRef = React5.useRef(false);
|
|
2143
2207
|
const isBackspaceNavigationRef = React5.useRef(false);
|
|
2144
|
-
const getSelectStyles = (hasError2) =>
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
|
|
2155
|
-
|
|
2156
|
-
|
|
2157
|
-
|
|
2158
|
-
|
|
2159
|
-
|
|
2208
|
+
const getSelectStyles = (hasError2, selectAppearance) => {
|
|
2209
|
+
const currentAppearance = appearance || "outline";
|
|
2210
|
+
const getControlStyles = (provided, state) => {
|
|
2211
|
+
const baseStyles = {
|
|
2212
|
+
...provided,
|
|
2213
|
+
minHeight: "40px",
|
|
2214
|
+
fontSize: reactComponents.tokens.fontSizeBase400,
|
|
2215
|
+
transition: "all 0.2s ease"
|
|
2216
|
+
};
|
|
2217
|
+
if (currentAppearance === "outline") {
|
|
2218
|
+
return {
|
|
2219
|
+
...baseStyles,
|
|
2220
|
+
border: `1px solid ${hasError2 ? reactComponents.tokens.colorPaletteRedBorder2 : reactComponents.tokens.colorNeutralStroke1}`,
|
|
2221
|
+
borderBottom: `1px solid ${hasError2 ? reactComponents.tokens.colorPaletteRedBorder2 : state.isFocused ? reactComponents.tokens.colorBrandStroke1 : reactComponents.tokens.colorNeutralForeground3}`,
|
|
2222
|
+
borderRadius: reactComponents.tokens.borderRadiusMedium,
|
|
2223
|
+
backgroundColor: reactComponents.tokens.colorNeutralBackground1,
|
|
2224
|
+
boxShadow: "none",
|
|
2225
|
+
"&:hover": {
|
|
2226
|
+
borderColor: hasError2 ? reactComponents.tokens.colorPaletteRedBorder2 : reactComponents.tokens.colorNeutralStroke1Hover,
|
|
2227
|
+
borderBottom: `1px solid ${hasError2 ? reactComponents.tokens.colorPaletteRedBorder2 : state.isFocused ? reactComponents.tokens.colorBrandStroke1 : reactComponents.tokens.colorNeutralForeground3Hover}`
|
|
2228
|
+
}
|
|
2229
|
+
};
|
|
2160
2230
|
}
|
|
2161
|
-
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
|
|
2167
|
-
|
|
2168
|
-
|
|
2169
|
-
|
|
2170
|
-
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
// Pastikan ada limit height agar scrollbar muncul
|
|
2174
|
-
/* Targetkan Webkit Scrollbar di menuList */
|
|
2175
|
-
"&::-webkit-scrollbar": {
|
|
2176
|
-
width: "8px",
|
|
2177
|
-
display: "block"
|
|
2178
|
-
// Pastikan tampil
|
|
2179
|
-
},
|
|
2180
|
-
"&::-webkit-scrollbar-track": {
|
|
2181
|
-
backgroundColor: reactComponents.tokens.colorNeutralBackground2,
|
|
2182
|
-
borderRadius: "4px"
|
|
2183
|
-
},
|
|
2184
|
-
"&::-webkit-scrollbar-thumb": {
|
|
2185
|
-
backgroundColor: selectScrollbarColor || reactComponents.tokens.colorNeutralStroke2,
|
|
2186
|
-
borderRadius: "4px"
|
|
2187
|
-
},
|
|
2188
|
-
"&::-webkit-scrollbar-thumb:hover": {
|
|
2189
|
-
backgroundColor: selectScrollbarColor || reactComponents.tokens.colorBrandBackground
|
|
2190
|
-
},
|
|
2191
|
-
"&::-webkit-scrollbar-thumb:active": {
|
|
2192
|
-
backgroundColor: selectScrollbarColor || reactComponents.tokens.colorBrandBackgroundPressed
|
|
2231
|
+
if (currentAppearance === "underline") {
|
|
2232
|
+
return {
|
|
2233
|
+
...baseStyles,
|
|
2234
|
+
border: "none",
|
|
2235
|
+
borderBottom: `1px solid ${hasError2 ? reactComponents.tokens.colorPaletteRedBorder2 : state.isFocused ? reactComponents.tokens.colorBrandStroke1 : reactComponents.tokens.colorNeutralForeground3}`,
|
|
2236
|
+
borderRadius: 0,
|
|
2237
|
+
backgroundColor: "transparent",
|
|
2238
|
+
boxShadow: "none",
|
|
2239
|
+
"&:hover": {
|
|
2240
|
+
borderBottom: `1px solid ${hasError2 ? reactComponents.tokens.colorPaletteRedBorder2 : reactComponents.tokens.colorNeutralForeground3Hover}`
|
|
2241
|
+
}
|
|
2242
|
+
};
|
|
2193
2243
|
}
|
|
2194
|
-
|
|
2195
|
-
|
|
2196
|
-
|
|
2197
|
-
|
|
2198
|
-
|
|
2199
|
-
|
|
2200
|
-
|
|
2201
|
-
|
|
2202
|
-
|
|
2203
|
-
|
|
2204
|
-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
|
|
2208
|
-
|
|
2209
|
-
|
|
2210
|
-
|
|
2211
|
-
|
|
2244
|
+
if (currentAppearance === "filled-darker") {
|
|
2245
|
+
return {
|
|
2246
|
+
...baseStyles,
|
|
2247
|
+
border: "none",
|
|
2248
|
+
borderBottom: `1px solid ${hasError2 ? reactComponents.tokens.colorPaletteRedBorder2 : state.isFocused ? reactComponents.tokens.colorBrandStroke1 : "transparent"}`,
|
|
2249
|
+
borderRadius: `${reactComponents.tokens.borderRadiusMedium} ${reactComponents.tokens.borderRadiusMedium} 0 0`,
|
|
2250
|
+
backgroundColor: reactComponents.tokens.colorNeutralBackground3,
|
|
2251
|
+
boxShadow: "none",
|
|
2252
|
+
"&:hover": {
|
|
2253
|
+
backgroundColor: reactComponents.tokens.colorNeutralBackground3Hover
|
|
2254
|
+
}
|
|
2255
|
+
};
|
|
2256
|
+
}
|
|
2257
|
+
if (currentAppearance === "filled-lighter") {
|
|
2258
|
+
return {
|
|
2259
|
+
...baseStyles,
|
|
2260
|
+
border: "none",
|
|
2261
|
+
borderBottom: `1px solid ${hasError2 ? reactComponents.tokens.colorPaletteRedBorder2 : state.isFocused ? reactComponents.tokens.colorBrandStroke1 : "transparent"}`,
|
|
2262
|
+
borderRadius: `${reactComponents.tokens.borderRadiusMedium} ${reactComponents.tokens.borderRadiusMedium} 0 0`,
|
|
2263
|
+
backgroundColor: reactComponents.tokens.colorNeutralBackground1,
|
|
2264
|
+
boxShadow: "none",
|
|
2265
|
+
"&:hover": {
|
|
2266
|
+
backgroundColor: reactComponents.tokens.colorNeutralBackground1Hover
|
|
2267
|
+
}
|
|
2268
|
+
};
|
|
2269
|
+
}
|
|
2270
|
+
return baseStyles;
|
|
2271
|
+
};
|
|
2272
|
+
return {
|
|
2273
|
+
menuPortal: (base) => ({
|
|
2274
|
+
...base,
|
|
2275
|
+
zIndex: 9999999,
|
|
2276
|
+
borderRadius: reactComponents.tokens.borderRadiusMedium
|
|
2277
|
+
}),
|
|
2278
|
+
control: getControlStyles,
|
|
2279
|
+
menu: (provided) => ({
|
|
2280
|
+
...provided,
|
|
2281
|
+
border: `1px solid ${reactComponents.tokens.colorNeutralStroke1}`,
|
|
2282
|
+
borderRadius: reactComponents.tokens.borderRadiusMedium,
|
|
2283
|
+
zIndex: 9999
|
|
2284
|
+
}),
|
|
2285
|
+
menuList: (provided) => ({
|
|
2286
|
+
...provided,
|
|
2287
|
+
padding: 0,
|
|
2288
|
+
maxHeight: "300px",
|
|
2289
|
+
/* Targetkan Webkit Scrollbar di menuList */
|
|
2290
|
+
"&::-webkit-scrollbar": {
|
|
2291
|
+
width: "8px",
|
|
2292
|
+
display: "block"
|
|
2293
|
+
},
|
|
2294
|
+
"&::-webkit-scrollbar-track": {
|
|
2295
|
+
backgroundColor: reactComponents.tokens.colorNeutralBackground2,
|
|
2296
|
+
borderRadius: "4px"
|
|
2297
|
+
},
|
|
2298
|
+
"&::-webkit-scrollbar-thumb": {
|
|
2299
|
+
backgroundColor: selectScrollbarColor || reactComponents.tokens.colorNeutralStroke2,
|
|
2300
|
+
borderRadius: "4px"
|
|
2301
|
+
},
|
|
2302
|
+
"&::-webkit-scrollbar-thumb:hover": {
|
|
2303
|
+
backgroundColor: selectScrollbarColor || reactComponents.tokens.colorBrandBackground
|
|
2304
|
+
},
|
|
2305
|
+
"&::-webkit-scrollbar-thumb:active": {
|
|
2306
|
+
backgroundColor: selectScrollbarColor || reactComponents.tokens.colorBrandBackgroundPressed
|
|
2307
|
+
}
|
|
2308
|
+
}),
|
|
2309
|
+
option: (provided, state) => ({
|
|
2310
|
+
...provided,
|
|
2311
|
+
fontSize: reactComponents.tokens.fontSizeBase300,
|
|
2312
|
+
color: state.isSelected ? reactComponents.tokens.colorNeutralForegroundOnBrand : reactComponents.tokens.colorNeutralForeground1,
|
|
2313
|
+
backgroundColor: state.isSelected ? reactComponents.tokens.colorBrandBackground : state.isFocused ? reactComponents.tokens.colorNeutralBackground1Hover : "transparent"
|
|
2314
|
+
}),
|
|
2315
|
+
placeholder: (provided) => ({
|
|
2316
|
+
...provided,
|
|
2317
|
+
color: reactComponents.tokens.colorNeutralForeground3,
|
|
2318
|
+
fontSize: reactComponents.tokens.fontSizeBase400
|
|
2319
|
+
}),
|
|
2320
|
+
singleValue: (provided) => ({
|
|
2321
|
+
...provided,
|
|
2322
|
+
color: reactComponents.tokens.colorNeutralForeground1,
|
|
2323
|
+
fontSize: reactComponents.tokens.fontSizeBase400
|
|
2324
|
+
})
|
|
2325
|
+
};
|
|
2326
|
+
};
|
|
2212
2327
|
React5.useEffect(() => {
|
|
2213
2328
|
if (shouldFocusRef.current) {
|
|
2214
2329
|
setTimeout(() => {
|
|
@@ -2533,7 +2648,42 @@ var InputDynamic = ({
|
|
|
2533
2648
|
},
|
|
2534
2649
|
getOptionLabel: (option) => option.label,
|
|
2535
2650
|
getOptionValue: (option) => option.value,
|
|
2536
|
-
isOptionDisabled: (option) => option.disabled || false
|
|
2651
|
+
isOptionDisabled: (option) => option.disabled || false,
|
|
2652
|
+
menuPlacement
|
|
2653
|
+
}
|
|
2654
|
+
);
|
|
2655
|
+
case "country":
|
|
2656
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
2657
|
+
Select__default.default,
|
|
2658
|
+
{
|
|
2659
|
+
...field,
|
|
2660
|
+
name: `${String(name)}_${Math.random().toString(36).substring(7)}`,
|
|
2661
|
+
isDisabled: disabled,
|
|
2662
|
+
placeholder: placeholder || "Select country",
|
|
2663
|
+
options: COUNTRIES,
|
|
2664
|
+
styles: getSelectStyles(!!error),
|
|
2665
|
+
className: styles.reactSelect,
|
|
2666
|
+
classNamePrefix: "react-select",
|
|
2667
|
+
inputProps: {
|
|
2668
|
+
autoComplete: "new-password",
|
|
2669
|
+
autoCorrect: "off",
|
|
2670
|
+
autoCapitalize: "off",
|
|
2671
|
+
spellCheck: "false"
|
|
2672
|
+
},
|
|
2673
|
+
value: COUNTRIES.find((country) => country.value === field.value) || null,
|
|
2674
|
+
onChange: (selectedOption) => {
|
|
2675
|
+
field.onChange(selectedOption ? selectedOption.value : "");
|
|
2676
|
+
if (onChange) {
|
|
2677
|
+
onChange(selectedOption ? selectedOption.value : "");
|
|
2678
|
+
}
|
|
2679
|
+
},
|
|
2680
|
+
getOptionLabel: (option) => option.label,
|
|
2681
|
+
getOptionValue: (option) => option.value,
|
|
2682
|
+
formatOptionLabel: (option) => /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px" }, children: [
|
|
2683
|
+
/* @__PURE__ */ jsxRuntime.jsx(react.Icon, { icon: option.flag, width: 20, height: 20 }),
|
|
2684
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: option.label })
|
|
2685
|
+
] }),
|
|
2686
|
+
menuPlacement
|
|
2537
2687
|
}
|
|
2538
2688
|
);
|
|
2539
2689
|
case "phone": {
|
|
@@ -2982,248 +3132,6 @@ var InputDynamic = ({
|
|
|
2982
3132
|
};
|
|
2983
3133
|
var InputDynamic_default = InputDynamic;
|
|
2984
3134
|
|
|
2985
|
-
// src/components/InputDynamic/constants.ts
|
|
2986
|
-
var DEFAULT_COUNTRY_CODES = [
|
|
2987
|
-
{ code: "AF", name: "Afghanistan", dialCode: "+93", passportRegex: "^[A-Z][0-9]{7}$" },
|
|
2988
|
-
{ code: "AL", name: "Albania", dialCode: "+355", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
2989
|
-
{ code: "DZ", name: "Algeria", dialCode: "+213", passportRegex: "^[0-9]{9}$" },
|
|
2990
|
-
{ code: "AS", name: "American Samoa", dialCode: "+1", passportRegex: "^[0-9]{9}$" },
|
|
2991
|
-
{ code: "AD", name: "Andorra", dialCode: "+376", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
2992
|
-
{ code: "AO", name: "Angola", dialCode: "+244", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
2993
|
-
{ code: "AI", name: "Anguilla", dialCode: "+1", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
2994
|
-
{ code: "AQ", name: "Antarctica", dialCode: "+672", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
2995
|
-
{ code: "AG", name: "Antigua and Barbuda", dialCode: "+1", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
2996
|
-
{ code: "AR", name: "Argentina", dialCode: "+54", passportRegex: "^[A-Z]{3}[0-9]{6}$" },
|
|
2997
|
-
{ code: "AM", name: "Armenia", dialCode: "+374", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
2998
|
-
{ code: "AW", name: "Aruba", dialCode: "+297", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
2999
|
-
{ code: "AU", name: "Australia", dialCode: "+61", passportRegex: "^[A-Z][0-9]{7}$" },
|
|
3000
|
-
{ code: "AT", name: "Austria", dialCode: "+43", passportRegex: "^[A-Z0-9]{8}$" },
|
|
3001
|
-
{ code: "AZ", name: "Azerbaijan", dialCode: "+994", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3002
|
-
{ code: "BS", name: "Bahamas", dialCode: "+1", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3003
|
-
{ code: "BH", name: "Bahrain", dialCode: "+973", passportRegex: "^[A-Z][0-9]{7}$" },
|
|
3004
|
-
{ code: "BD", name: "Bangladesh", dialCode: "+880", passportRegex: "^[A-Z][0-9]{7}$" },
|
|
3005
|
-
{ code: "BB", name: "Barbados", dialCode: "+1", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3006
|
-
{ code: "BY", name: "Belarus", dialCode: "+375", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3007
|
-
{ code: "BE", name: "Belgium", dialCode: "+32", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3008
|
-
{ code: "BZ", name: "Belize", dialCode: "+501", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3009
|
-
{ code: "BJ", name: "Benin", dialCode: "+229", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3010
|
-
{ code: "BM", name: "Bermuda", dialCode: "+1", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3011
|
-
{ code: "BT", name: "Bhutan", dialCode: "+975", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3012
|
-
{ code: "BO", name: "Bolivia", dialCode: "+591", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3013
|
-
{
|
|
3014
|
-
code: "BA",
|
|
3015
|
-
name: "Bosnia and Herzegovina",
|
|
3016
|
-
dialCode: "+387",
|
|
3017
|
-
passportRegex: "^[A-Z]{2}[0-9]{6}$"
|
|
3018
|
-
},
|
|
3019
|
-
{ code: "BW", name: "Botswana", dialCode: "+267", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3020
|
-
{ code: "BR", name: "Brazil", dialCode: "+55", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3021
|
-
{ code: "BN", name: "Brunei", dialCode: "+673", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3022
|
-
{ code: "BG", name: "Bulgaria", dialCode: "+359", passportRegex: "^[0-9]{9}$" },
|
|
3023
|
-
{ code: "BF", name: "Burkina Faso", dialCode: "+226", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3024
|
-
{ code: "BI", name: "Burundi", dialCode: "+257", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3025
|
-
{ code: "KH", name: "Cambodia", dialCode: "+855", passportRegex: "^[A-Z][0-9]{7}$" },
|
|
3026
|
-
{ code: "CM", name: "Cameroon", dialCode: "+237", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3027
|
-
{ code: "CA", name: "Canada", dialCode: "+1", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3028
|
-
{ code: "CV", name: "Cape Verde", dialCode: "+238", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3029
|
-
{ code: "KY", name: "Cayman Islands", dialCode: "+1", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3030
|
-
{
|
|
3031
|
-
code: "CF",
|
|
3032
|
-
name: "Central African Republic",
|
|
3033
|
-
dialCode: "+236",
|
|
3034
|
-
passportRegex: "^[A-Z0-9]{6,10}$"
|
|
3035
|
-
},
|
|
3036
|
-
{ code: "TD", name: "Chad", dialCode: "+235", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3037
|
-
{ code: "CL", name: "Chile", dialCode: "+56", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3038
|
-
{ code: "CN", name: "China", dialCode: "+86", passportRegex: "^[0-9]{9}$" },
|
|
3039
|
-
{ code: "CO", name: "Colombia", dialCode: "+57", passportRegex: "^[A-Z]{3}[0-9]{6}$" },
|
|
3040
|
-
{ code: "KM", name: "Comoros", dialCode: "+269", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3041
|
-
{ code: "CG", name: "Congo", dialCode: "+242", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3042
|
-
{ code: "CR", name: "Costa Rica", dialCode: "+506", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3043
|
-
{ code: "HR", name: "Croatia", dialCode: "+385", passportRegex: "^[A-Z]{3}[0-9]{6}$" },
|
|
3044
|
-
{ code: "CU", name: "Cuba", dialCode: "+53", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3045
|
-
{ code: "CY", name: "Cyprus", dialCode: "+357", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3046
|
-
{ code: "CZ", name: "Czech Republic", dialCode: "+420", passportRegex: "^[0-9]{8}$" },
|
|
3047
|
-
{ code: "DK", name: "Denmark", dialCode: "+45", passportRegex: "^[A-Z0-9]{9}$" },
|
|
3048
|
-
{ code: "DJ", name: "Djibouti", dialCode: "+253", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3049
|
-
{ code: "DM", name: "Dominica", dialCode: "+1", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3050
|
-
{ code: "DO", name: "Dominican Republic", dialCode: "+1", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3051
|
-
{ code: "EC", name: "Ecuador", dialCode: "+593", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3052
|
-
{ code: "EG", name: "Egypt", dialCode: "+20", passportRegex: "^[A-Z][0-9]{7}$" },
|
|
3053
|
-
{ code: "SV", name: "El Salvador", dialCode: "+503", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3054
|
-
{ code: "GQ", name: "Equatorial Guinea", dialCode: "+240", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3055
|
-
{ code: "ER", name: "Eritrea", dialCode: "+291", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3056
|
-
{ code: "EE", name: "Estonia", dialCode: "+372", passportRegex: "^[A-Z0-9]{8}$" },
|
|
3057
|
-
{ code: "SZ", name: "Eswatini", dialCode: "+268", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3058
|
-
{ code: "ET", name: "Ethiopia", dialCode: "+251", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3059
|
-
{ code: "FJ", name: "Fiji", dialCode: "+679", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3060
|
-
{ code: "FI", name: "Finland", dialCode: "+358", passportRegex: "^[A-Z0-9]{9}$" },
|
|
3061
|
-
{ code: "FR", name: "France", dialCode: "+33", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3062
|
-
{ code: "GA", name: "Gabon", dialCode: "+241", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3063
|
-
{ code: "GM", name: "Gambia", dialCode: "+220", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3064
|
-
{ code: "GE", name: "Georgia", dialCode: "+995", passportRegex: "^[A-Z0-9]{8}$" },
|
|
3065
|
-
{ code: "DE", name: "Germany", dialCode: "+49", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3066
|
-
{ code: "GH", name: "Ghana", dialCode: "+233", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3067
|
-
{ code: "GR", name: "Greece", dialCode: "+30", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3068
|
-
{ code: "GD", name: "Grenada", dialCode: "+1", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3069
|
-
{ code: "GT", name: "Guatemala", dialCode: "+502", passportRegex: "^[A-Z]{3}[0-9]{6}$" },
|
|
3070
|
-
{ code: "GN", name: "Guinea", dialCode: "+224", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3071
|
-
{ code: "GW", name: "Guinea-Bissau", dialCode: "+245", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3072
|
-
{ code: "GY", name: "Guyana", dialCode: "+592", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3073
|
-
{ code: "HT", name: "Haiti", dialCode: "+509", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3074
|
-
{ code: "HN", name: "Honduras", dialCode: "+504", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3075
|
-
{ code: "HK", name: "Hong Kong", dialCode: "+852", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3076
|
-
{ code: "HU", name: "Hungary", dialCode: "+36", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3077
|
-
{ code: "IS", name: "Iceland", dialCode: "+354", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3078
|
-
{ code: "IN", name: "India", dialCode: "+91", passportRegex: "^[A-Z][0-9]{7}$" },
|
|
3079
|
-
{ code: "ID", name: "Indonesia", dialCode: "+62", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3080
|
-
{ code: "IR", name: "Iran", dialCode: "+98", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3081
|
-
{ code: "IQ", name: "Iraq", dialCode: "+964", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3082
|
-
{ code: "IE", name: "Ireland", dialCode: "+353", passportRegex: "^[A-Z0-9]{2}[0-9]{7}$" },
|
|
3083
|
-
{ code: "IL", name: "Israel", dialCode: "+972", passportRegex: "^[0-9]{8,9}$" },
|
|
3084
|
-
{ code: "IT", name: "Italy", dialCode: "+39", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3085
|
-
{ code: "JM", name: "Jamaica", dialCode: "+1", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3086
|
-
{ code: "JP", name: "Japan", dialCode: "+81", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3087
|
-
{ code: "JO", name: "Jordan", dialCode: "+962", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3088
|
-
{ code: "KZ", name: "Kazakhstan", dialCode: "+7", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3089
|
-
{ code: "KE", name: "Kenya", dialCode: "+254", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3090
|
-
{ code: "KI", name: "Kiribati", dialCode: "+686", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3091
|
-
{ code: "KP", name: "North Korea", dialCode: "+850", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3092
|
-
{ code: "KR", name: "South Korea", dialCode: "+82", passportRegex: "^[A-Z]{1}[0-9]{8}$" },
|
|
3093
|
-
{ code: "KW", name: "Kuwait", dialCode: "+965", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3094
|
-
{ code: "KG", name: "Kyrgyzstan", dialCode: "+996", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3095
|
-
{ code: "LA", name: "Laos", dialCode: "+856", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3096
|
-
{ code: "LV", name: "Latvia", dialCode: "+371", passportRegex: "^[A-Z0-9]{8}$" },
|
|
3097
|
-
{ code: "LB", name: "Lebanon", dialCode: "+961", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3098
|
-
{ code: "LS", name: "Lesotho", dialCode: "+266", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3099
|
-
{ code: "LR", name: "Liberia", dialCode: "+231", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3100
|
-
{ code: "LY", name: "Libya", dialCode: "+218", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3101
|
-
{ code: "LI", name: "Liechtenstein", dialCode: "+423", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3102
|
-
{ code: "LT", name: "Lithuania", dialCode: "+370", passportRegex: "^[A-Z0-9]{8}$" },
|
|
3103
|
-
{ code: "LU", name: "Luxembourg", dialCode: "+352", passportRegex: "^[A-Z0-9]{8}$" },
|
|
3104
|
-
{ code: "MO", name: "Macau", dialCode: "+853", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3105
|
-
{ code: "MG", name: "Madagascar", dialCode: "+261", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3106
|
-
{ code: "MW", name: "Malawi", dialCode: "+265", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3107
|
-
{ code: "MY", name: "Malaysia", dialCode: "+60", passportRegex: "^[A-Z]{1}[0-9]{8}$" },
|
|
3108
|
-
{ code: "MV", name: "Maldives", dialCode: "+960", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3109
|
-
{ code: "ML", name: "Mali", dialCode: "+223", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3110
|
-
{ code: "MT", name: "Malta", dialCode: "+356", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3111
|
-
{ code: "MH", name: "Marshall Islands", dialCode: "+692", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3112
|
-
{ code: "MQ", name: "Martinique", dialCode: "+596", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3113
|
-
{ code: "MR", name: "Mauritania", dialCode: "+222", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3114
|
-
{ code: "MU", name: "Mauritius", dialCode: "+230", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3115
|
-
{ code: "MX", name: "Mexico", dialCode: "+52", passportRegex: "^[A-Z]{1}[0-9]{8}$" },
|
|
3116
|
-
{ code: "FM", name: "Micronesia", dialCode: "+691", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3117
|
-
{ code: "MD", name: "Moldova", dialCode: "+373", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3118
|
-
{ code: "MC", name: "Monaco", dialCode: "+377", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3119
|
-
{ code: "MN", name: "Mongolia", dialCode: "+976", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3120
|
-
{ code: "ME", name: "Montenegro", dialCode: "+382", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3121
|
-
{ code: "MS", name: "Montserrat", dialCode: "+1", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3122
|
-
{ code: "MA", name: "Morocco", dialCode: "+212", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3123
|
-
{ code: "MZ", name: "Mozambique", dialCode: "+258", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3124
|
-
{ code: "MM", name: "Myanmar", dialCode: "+95", passportRegex: "^[A-Z]{1}[0-9]{6,7}$" },
|
|
3125
|
-
{ code: "NA", name: "Namibia", dialCode: "+264", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3126
|
-
{ code: "NR", name: "Nauru", dialCode: "+674", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3127
|
-
{ code: "NP", name: "Nepal", dialCode: "+977", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3128
|
-
{ code: "NL", name: "Netherlands", dialCode: "+31", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3129
|
-
{ code: "NC", name: "New Caledonia", dialCode: "+687", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3130
|
-
{ code: "NZ", name: "New Zealand", dialCode: "+64", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3131
|
-
{ code: "NI", name: "Nicaragua", dialCode: "+505", passportRegex: "^[A-Z]{3}[0-9]{6}$" },
|
|
3132
|
-
{ code: "NE", name: "Niger", dialCode: "+227", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3133
|
-
{ code: "NG", name: "Nigeria", dialCode: "+234", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3134
|
-
{ code: "NO", name: "Norway", dialCode: "+47", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3135
|
-
{ code: "OM", name: "Oman", dialCode: "+968", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3136
|
-
{ code: "PK", name: "Pakistan", dialCode: "+92", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3137
|
-
{ code: "PW", name: "Palau", dialCode: "+680", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3138
|
-
{ code: "PS", name: "Palestine", dialCode: "+970", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3139
|
-
{ code: "PA", name: "Panama", dialCode: "+507", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3140
|
-
{ code: "PG", name: "Papua New Guinea", dialCode: "+675", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3141
|
-
{ code: "PY", name: "Paraguay", dialCode: "+595", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3142
|
-
{ code: "PE", name: "Peru", dialCode: "+51", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3143
|
-
{ code: "PH", name: "Philippines", dialCode: "+63", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3144
|
-
{ code: "PL", name: "Poland", dialCode: "+48", passportRegex: "^[A-Z0-9]{2}[0-9]{7}$" },
|
|
3145
|
-
{ code: "PT", name: "Portugal", dialCode: "+351", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3146
|
-
{ code: "RO", name: "Romania", dialCode: "+40", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3147
|
-
{ code: "RU", name: "Russia", dialCode: "+7", passportRegex: "^[0-9]{9}$" },
|
|
3148
|
-
{ code: "RW", name: "Rwanda", dialCode: "+250", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3149
|
-
{
|
|
3150
|
-
code: "KN",
|
|
3151
|
-
name: "Saint Kitts and Nevis",
|
|
3152
|
-
dialCode: "+1",
|
|
3153
|
-
passportRegex: "^[A-Z]{2}[0-9]{7}$"
|
|
3154
|
-
},
|
|
3155
|
-
{ code: "LC", name: "Saint Lucia", dialCode: "+1", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3156
|
-
{
|
|
3157
|
-
code: "VC",
|
|
3158
|
-
name: "Saint Vincent and the Grenadines",
|
|
3159
|
-
dialCode: "+1",
|
|
3160
|
-
passportRegex: "^[A-Z]{2}[0-9]{7}$"
|
|
3161
|
-
},
|
|
3162
|
-
{ code: "WS", name: "Samoa", dialCode: "+685", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3163
|
-
{ code: "SM", name: "San Marino", dialCode: "+378", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3164
|
-
{
|
|
3165
|
-
code: "ST",
|
|
3166
|
-
name: "Sao Tome and Principe",
|
|
3167
|
-
dialCode: "+239",
|
|
3168
|
-
passportRegex: "^[A-Z0-9]{6,10}$"
|
|
3169
|
-
},
|
|
3170
|
-
{ code: "SA", name: "Saudi Arabia", dialCode: "+966", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3171
|
-
{ code: "SN", name: "Senegal", dialCode: "+221", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3172
|
-
{ code: "RS", name: "Serbia", dialCode: "+381", passportRegex: "^[A-Z0-9]{9}$" },
|
|
3173
|
-
{ code: "SC", name: "Seychelles", dialCode: "+248", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3174
|
-
{ code: "SL", name: "Sierra Leone", dialCode: "+232", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3175
|
-
{ code: "SG", name: "Singapore", dialCode: "+65", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3176
|
-
{ code: "SK", name: "Slovakia", dialCode: "+421", passportRegex: "^[0-9]{9}$" },
|
|
3177
|
-
{ code: "SI", name: "Slovenia", dialCode: "+386", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3178
|
-
{ code: "SB", name: "Solomon Islands", dialCode: "+677", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3179
|
-
{ code: "SO", name: "Somalia", dialCode: "+252", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3180
|
-
{ code: "ZA", name: "South Africa", dialCode: "+27", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3181
|
-
{ code: "ES", name: "Spain", dialCode: "+34", passportRegex: "^[A-Z]{3}[0-9]{6}$" },
|
|
3182
|
-
{ code: "LK", name: "Sri Lanka", dialCode: "+94", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3183
|
-
{ code: "SD", name: "Sudan", dialCode: "+249", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3184
|
-
{ code: "SR", name: "Suriname", dialCode: "+597", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3185
|
-
{ code: "SE", name: "Sweden", dialCode: "+46", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3186
|
-
{ code: "CH", name: "Switzerland", dialCode: "+41", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3187
|
-
{ code: "SY", name: "Syria", dialCode: "+963", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3188
|
-
{ code: "TW", name: "Taiwan", dialCode: "+886", passportRegex: "^[A-Z]{1}[0-9]{8}$" },
|
|
3189
|
-
{ code: "TJ", name: "Tajikistan", dialCode: "+992", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3190
|
-
{ code: "TZ", name: "Tanzania", dialCode: "+255", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3191
|
-
{ code: "TH", name: "Thailand", dialCode: "+66", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3192
|
-
{ code: "TL", name: "Timor-Leste", dialCode: "+670", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3193
|
-
{ code: "TG", name: "Togo", dialCode: "+228", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3194
|
-
{ code: "TO", name: "Tonga", dialCode: "+676", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3195
|
-
{ code: "TT", name: "Trinidad and Tobago", dialCode: "+1", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3196
|
-
{ code: "TN", name: "Tunisia", dialCode: "+216", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3197
|
-
{ code: "TR", name: "Turkey", dialCode: "+90", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3198
|
-
{ code: "TM", name: "Turkmenistan", dialCode: "+993", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3199
|
-
{
|
|
3200
|
-
code: "TC",
|
|
3201
|
-
name: "Turks and Caicos Islands",
|
|
3202
|
-
dialCode: "+1",
|
|
3203
|
-
passportRegex: "^[A-Z0-9]{6,10}$"
|
|
3204
|
-
},
|
|
3205
|
-
{ code: "TV", name: "Tuvalu", dialCode: "+688", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3206
|
-
{ code: "UG", name: "Uganda", dialCode: "+256", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3207
|
-
{ code: "UA", name: "Ukraine", dialCode: "+380", passportRegex: "^[A-Z]{2}[0-9]{6}$" },
|
|
3208
|
-
{
|
|
3209
|
-
code: "AE",
|
|
3210
|
-
name: "United Arab Emirates",
|
|
3211
|
-
dialCode: "+971",
|
|
3212
|
-
passportRegex: "^[A-Z]{1}[0-9]{7}$"
|
|
3213
|
-
},
|
|
3214
|
-
{ code: "GB", name: "United Kingdom", dialCode: "+44", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3215
|
-
{ code: "US", name: "United States", dialCode: "+1", passportRegex: "^[0-9]{9}$" },
|
|
3216
|
-
{ code: "UY", name: "Uruguay", dialCode: "+598", passportRegex: "^[A-Z]{3}[0-9]{6}$" },
|
|
3217
|
-
{ code: "UZ", name: "Uzbekistan", dialCode: "+998", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3218
|
-
{ code: "VU", name: "Vanuatu", dialCode: "+678", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3219
|
-
{ code: "VA", name: "Vatican City", dialCode: "+379", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3220
|
-
{ code: "VE", name: "Venezuela", dialCode: "+58", passportRegex: "^[A-Z]{2}[0-9]{7}$" },
|
|
3221
|
-
{ code: "VN", name: "Vietnam", dialCode: "+84", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3222
|
-
{ code: "YE", name: "Yemen", dialCode: "+967", passportRegex: "^[A-Z]{1}[0-9]{7}$" },
|
|
3223
|
-
{ code: "ZM", name: "Zambia", dialCode: "+260", passportRegex: "^[A-Z0-9]{6,10}$" },
|
|
3224
|
-
{ code: "ZW", name: "Zimbabwe", dialCode: "+263", passportRegex: "^[A-Z0-9]{6,10}$" }
|
|
3225
|
-
];
|
|
3226
|
-
|
|
3227
3135
|
// src/components/CardTicketSearch/CardTicketSearch.constants.ts
|
|
3228
3136
|
var DEFAULT_LABELS8 = {
|
|
3229
3137
|
id: {
|
|
@@ -7828,6 +7736,10 @@ var DEFAULT_LABELS22 = {
|
|
|
7828
7736
|
ticketClassLabel: "Kelas penumpang",
|
|
7829
7737
|
saveButton: "Simpan",
|
|
7830
7738
|
cancelButton: "Batal",
|
|
7739
|
+
idTypeOtherLabel: "Tanggal lahir",
|
|
7740
|
+
idTypeOtherPlaceholder: "DD/MM/YYYY",
|
|
7741
|
+
countryLabel: "Negara Penerbit Passport",
|
|
7742
|
+
countryPlaceholder: "Masukkan Negara",
|
|
7831
7743
|
errors: {
|
|
7832
7744
|
requiredTitle: "Title harus dipilih",
|
|
7833
7745
|
requiredName: "Nama lengkap harus diisi",
|
|
@@ -7839,7 +7751,8 @@ var DEFAULT_LABELS22 = {
|
|
|
7839
7751
|
minAge: "Usia minimal 1 tahun",
|
|
7840
7752
|
maxAge: "Usia maksimal 150 tahun",
|
|
7841
7753
|
requiredDate: "Tanggal lahir harus diisi",
|
|
7842
|
-
requiredCity: "Kota/Kabupaten harus diisi"
|
|
7754
|
+
requiredCity: "Kota/Kabupaten harus diisi",
|
|
7755
|
+
requiredCountry: "Negara harus diisi"
|
|
7843
7756
|
}
|
|
7844
7757
|
},
|
|
7845
7758
|
en: {
|
|
@@ -7861,6 +7774,10 @@ var DEFAULT_LABELS22 = {
|
|
|
7861
7774
|
ticketClassLabel: "Passenger Class",
|
|
7862
7775
|
saveButton: "Save",
|
|
7863
7776
|
cancelButton: "Cancel",
|
|
7777
|
+
idTypeOtherLabel: "Date of Birth",
|
|
7778
|
+
idTypeOtherPlaceholder: "DD/MM/YYYY",
|
|
7779
|
+
countryLabel: "Country of Issue",
|
|
7780
|
+
countryPlaceholder: "Enter Country",
|
|
7864
7781
|
errors: {
|
|
7865
7782
|
requiredTitle: "Title is required",
|
|
7866
7783
|
requiredName: "Full name is required",
|
|
@@ -7872,10 +7789,29 @@ var DEFAULT_LABELS22 = {
|
|
|
7872
7789
|
minAge: "Age must be at least 1 year",
|
|
7873
7790
|
maxAge: "Age must be at most 150 years",
|
|
7874
7791
|
requiredDate: "Date of birth is required",
|
|
7875
|
-
requiredCity: "City/Regency is required"
|
|
7792
|
+
requiredCity: "City/Regency is required",
|
|
7793
|
+
requiredCountry: "Country is required"
|
|
7876
7794
|
}
|
|
7877
7795
|
}
|
|
7878
7796
|
};
|
|
7797
|
+
var TYPE_OPTIONS = [
|
|
7798
|
+
{
|
|
7799
|
+
label: "KTP",
|
|
7800
|
+
value: "ktp"
|
|
7801
|
+
},
|
|
7802
|
+
{
|
|
7803
|
+
label: "SIM",
|
|
7804
|
+
value: "sim"
|
|
7805
|
+
},
|
|
7806
|
+
{
|
|
7807
|
+
label: "Paspor",
|
|
7808
|
+
value: "paspor"
|
|
7809
|
+
},
|
|
7810
|
+
{
|
|
7811
|
+
label: "Lainnya",
|
|
7812
|
+
value: "lainnya"
|
|
7813
|
+
}
|
|
7814
|
+
];
|
|
7879
7815
|
var useStyles22 = reactComponents.makeStyles({
|
|
7880
7816
|
dialogSurface: {
|
|
7881
7817
|
maxWidth: "600px",
|
|
@@ -7904,7 +7840,6 @@ var ModalPassengerForm = ({
|
|
|
7904
7840
|
defaultValues,
|
|
7905
7841
|
isAdultForm = true,
|
|
7906
7842
|
titleOptions,
|
|
7907
|
-
idTypeOptions,
|
|
7908
7843
|
cityOptions,
|
|
7909
7844
|
ticketClassOptions
|
|
7910
7845
|
}) => {
|
|
@@ -7915,12 +7850,18 @@ var ModalPassengerForm = ({
|
|
|
7915
7850
|
...labels?.errors
|
|
7916
7851
|
};
|
|
7917
7852
|
const displayTitle = title || mergedLabels.title;
|
|
7918
|
-
const { control, handleSubmit, reset } = reactHookForm.useForm({
|
|
7853
|
+
const { control, handleSubmit, reset, watch, setValue } = reactHookForm.useForm({
|
|
7919
7854
|
defaultValues
|
|
7920
7855
|
});
|
|
7856
|
+
const idType = watch("idType");
|
|
7921
7857
|
React5.useEffect(() => {
|
|
7922
7858
|
reset(defaultValues);
|
|
7923
7859
|
}, [defaultValues, reset]);
|
|
7860
|
+
React5.useEffect(() => {
|
|
7861
|
+
if (idType) {
|
|
7862
|
+
setValue("idNumber", "");
|
|
7863
|
+
}
|
|
7864
|
+
}, [idType, setValue]);
|
|
7924
7865
|
const handleFormSubmit = (data) => {
|
|
7925
7866
|
onSubmit(data);
|
|
7926
7867
|
reset();
|
|
@@ -7976,6 +7917,45 @@ var ModalPassengerForm = ({
|
|
|
7976
7917
|
}
|
|
7977
7918
|
}
|
|
7978
7919
|
),
|
|
7920
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7921
|
+
InputDynamic_default,
|
|
7922
|
+
{
|
|
7923
|
+
name: "age",
|
|
7924
|
+
control,
|
|
7925
|
+
type: "number",
|
|
7926
|
+
label: mergedLabels.ageLabel,
|
|
7927
|
+
placeholder: mergedLabels.agePlaceholder,
|
|
7928
|
+
size: "large",
|
|
7929
|
+
required: true,
|
|
7930
|
+
validationRules: {
|
|
7931
|
+
required: mergedErrors.requiredAge,
|
|
7932
|
+
min: {
|
|
7933
|
+
value: 1,
|
|
7934
|
+
message: mergedErrors.minAge
|
|
7935
|
+
},
|
|
7936
|
+
max: {
|
|
7937
|
+
value: 150,
|
|
7938
|
+
message: mergedErrors.maxAge
|
|
7939
|
+
}
|
|
7940
|
+
}
|
|
7941
|
+
}
|
|
7942
|
+
),
|
|
7943
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7944
|
+
InputDynamic_default,
|
|
7945
|
+
{
|
|
7946
|
+
name: "cityId",
|
|
7947
|
+
control,
|
|
7948
|
+
type: "select",
|
|
7949
|
+
label: mergedLabels.cityLabel,
|
|
7950
|
+
options: cityOptions,
|
|
7951
|
+
placeholder: mergedLabels.cityPlaceholder,
|
|
7952
|
+
size: "large",
|
|
7953
|
+
required: true,
|
|
7954
|
+
validationRules: {
|
|
7955
|
+
required: mergedErrors.requiredCity
|
|
7956
|
+
}
|
|
7957
|
+
}
|
|
7958
|
+
),
|
|
7979
7959
|
isAdultForm ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
7980
7960
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7981
7961
|
InputDynamic_default,
|
|
@@ -7985,7 +7965,7 @@ var ModalPassengerForm = ({
|
|
|
7985
7965
|
type: "select",
|
|
7986
7966
|
label: mergedLabels.idTypeLabel,
|
|
7987
7967
|
placeholder: mergedLabels.idTypePlaceholder,
|
|
7988
|
-
options:
|
|
7968
|
+
options: TYPE_OPTIONS,
|
|
7989
7969
|
size: "large",
|
|
7990
7970
|
required: true,
|
|
7991
7971
|
validationRules: {
|
|
@@ -7993,48 +7973,43 @@ var ModalPassengerForm = ({
|
|
|
7993
7973
|
}
|
|
7994
7974
|
}
|
|
7995
7975
|
),
|
|
7996
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7976
|
+
idType ? idType === "lainnya" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
7997
7977
|
InputDynamic_default,
|
|
7998
7978
|
{
|
|
7999
7979
|
name: "idNumber",
|
|
8000
7980
|
control,
|
|
8001
|
-
type: "
|
|
8002
|
-
label: mergedLabels.
|
|
8003
|
-
placeholder: mergedLabels.
|
|
7981
|
+
type: "date",
|
|
7982
|
+
label: mergedLabels.idTypeOtherLabel,
|
|
7983
|
+
placeholder: mergedLabels.idTypeOtherPlaceholder,
|
|
8004
7984
|
size: "large",
|
|
8005
7985
|
required: true,
|
|
7986
|
+
max: (/* @__PURE__ */ new Date()).toISOString().split("T")[0],
|
|
8006
7987
|
validationRules: {
|
|
8007
|
-
required: mergedErrors.
|
|
8008
|
-
minLength: {
|
|
8009
|
-
value: 6,
|
|
8010
|
-
message: mergedErrors.minLengthIdNumber
|
|
8011
|
-
}
|
|
7988
|
+
required: mergedErrors.requiredDate
|
|
8012
7989
|
}
|
|
8013
7990
|
}
|
|
8014
|
-
),
|
|
8015
|
-
|
|
8016
|
-
|
|
8017
|
-
|
|
8018
|
-
|
|
8019
|
-
|
|
8020
|
-
|
|
8021
|
-
|
|
8022
|
-
|
|
8023
|
-
|
|
8024
|
-
|
|
8025
|
-
|
|
8026
|
-
|
|
8027
|
-
|
|
8028
|
-
|
|
8029
|
-
|
|
8030
|
-
|
|
8031
|
-
max: {
|
|
8032
|
-
value: 150,
|
|
8033
|
-
message: mergedErrors.maxAge
|
|
7991
|
+
) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
7992
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
7993
|
+
InputDynamic_default,
|
|
7994
|
+
{
|
|
7995
|
+
name: "idNumber",
|
|
7996
|
+
control,
|
|
7997
|
+
type: idType === "ktp" ? "number" : "text",
|
|
7998
|
+
label: mergedLabels.idNumberLabel,
|
|
7999
|
+
placeholder: mergedLabels.idNumberPlaceholder,
|
|
8000
|
+
size: "large",
|
|
8001
|
+
required: true,
|
|
8002
|
+
validationRules: {
|
|
8003
|
+
required: mergedErrors.requiredIdNumber,
|
|
8004
|
+
minLength: {
|
|
8005
|
+
value: 6,
|
|
8006
|
+
message: mergedErrors.minLengthIdNumber
|
|
8007
|
+
}
|
|
8034
8008
|
}
|
|
8035
8009
|
}
|
|
8036
|
-
|
|
8037
|
-
|
|
8010
|
+
),
|
|
8011
|
+
idType === "paspor" && /* @__PURE__ */ jsxRuntime.jsx(InputDynamic_default, { menuPlacement: "top", name: "country", control, type: "country", label: mergedLabels.countryLabel, placeholder: mergedLabels.countryPlaceholder, size: "large", required: true, validationRules: { required: mergedErrors.requiredCountry } })
|
|
8012
|
+
] }) : null
|
|
8038
8013
|
] }) : /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
8039
8014
|
InputDynamic_default,
|
|
8040
8015
|
{
|
|
@@ -8050,22 +8025,6 @@ var ModalPassengerForm = ({
|
|
|
8050
8025
|
}
|
|
8051
8026
|
}
|
|
8052
8027
|
) }),
|
|
8053
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
8054
|
-
InputDynamic_default,
|
|
8055
|
-
{
|
|
8056
|
-
name: "cityId",
|
|
8057
|
-
control,
|
|
8058
|
-
type: "select",
|
|
8059
|
-
label: mergedLabels.cityLabel,
|
|
8060
|
-
options: cityOptions,
|
|
8061
|
-
placeholder: mergedLabels.cityPlaceholder,
|
|
8062
|
-
size: "large",
|
|
8063
|
-
required: true,
|
|
8064
|
-
validationRules: {
|
|
8065
|
-
required: mergedErrors.requiredCity
|
|
8066
|
-
}
|
|
8067
|
-
}
|
|
8068
|
-
),
|
|
8069
8028
|
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
8070
8029
|
/* @__PURE__ */ jsxRuntime.jsx(reactComponents.Divider, {}),
|
|
8071
8030
|
/* @__PURE__ */ jsxRuntime.jsx("br", {}),
|
|
@@ -11838,6 +11797,7 @@ var CardProfileMenu = ({
|
|
|
11838
11797
|
|
|
11839
11798
|
exports.BackgroundTicketCard = BackgroundTicketCard_default;
|
|
11840
11799
|
exports.BackgroundTicketCardVertical = BackgroundTicketCardVertical_default;
|
|
11800
|
+
exports.COUNTRIES = COUNTRIES;
|
|
11841
11801
|
exports.CardAddon = CardAddon;
|
|
11842
11802
|
exports.CardBanner = CardBanner;
|
|
11843
11803
|
exports.CardBookingTicket = CardBookingTicket;
|
|
@@ -11863,7 +11823,6 @@ exports.CardTicketSearchSummaryDefaultLabels = DEFAULT_LABELS9;
|
|
|
11863
11823
|
exports.CardVehicleDetail = CardVehicleDetail;
|
|
11864
11824
|
exports.CardVehicleOwnerForm = CardVehicleOwnerForm;
|
|
11865
11825
|
exports.CarouselWithCustomNav = CarouselWithCustomNav;
|
|
11866
|
-
exports.DEFAULT_COUNTRY_CODES = DEFAULT_COUNTRY_CODES;
|
|
11867
11826
|
exports.DEFAULT_DURATION_RANGE = DEFAULT_DURATION_RANGE;
|
|
11868
11827
|
exports.DEFAULT_PRICE_RANGE = DEFAULT_PRICE_RANGE;
|
|
11869
11828
|
exports.DEFAULT_SCROLL_AMOUNT = DEFAULT_SCROLL_AMOUNT;
|