Skip to content

Commit 6616344

Browse files
committed
Integrate the react-phone-hooks first build
1 parent 5b09896 commit 6616344

File tree

8 files changed

+31
-31
lines changed

8 files changed

+31
-31
lines changed

development/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
"@types/react": "^18.2.0",
1010
"@types/react-dom": "^18.2.0",
1111
"antd": "^5.8.3",
12-
"antd-phone-input": "^0.3.0",
1312
"react": "^18.2.0",
1413
"react-dom": "^18.2.0",
14+
"react-phone-hooks": "file:../react-phone-hooks-0.1.0.tgz",
1515
"react-scripts": "^5.0.1",
1616
"typescript": "^4.9.5"
1717
},

development/src/ant-phone/index.tsx

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,22 @@ import {FormContext} from "antd/es/form/context";
44
import Select from "antd/es/select";
55
import Input from "antd/es/input";
66

7-
import {PhoneInputProps} from "./types";
8-
import {PhoneNumber} from "../phone-hooks/types";
9-
10-
import {mergedStyles} from "./styles";
11-
import {injectStyles} from "../phone-hooks/styles";
12-
137
import {
148
checkValidity,
159
cleanInput,
1610
displayFormat,
11+
getCountry,
1712
getDefaultISO2Code,
1813
getMetadata,
1914
getRawValue,
2015
parsePhoneNumber,
2116
usePhone,
22-
} from "../phone-hooks";
17+
} from "react-phone-hooks";
2318

24-
import countries from "../phone-hooks/metadata/countries.json";
19+
import {injectMergedStyles} from "./styles";
20+
import {PhoneInputProps, PhoneNumber} from "./types";
2521

26-
injectStyles(mergedStyles());
22+
injectMergedStyles();
2723

2824
const PhoneInput = ({
2925
value: initialValue = "",
@@ -68,7 +64,7 @@ const PhoneInput = ({
6864

6965
const selectValue = useMemo(() => {
7066
let metadata = getMetadata(getRawValue(value), countriesList);
71-
metadata = metadata || countries.find(([iso]) => iso === countryCode);
67+
metadata = metadata || getCountry(countryCode as any);
7268
return ({...metadata})?.[0] + ({...metadata})?.[2];
7369
}, [countriesList, countryCode, value])
7470

development/src/ant-phone/styles.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import {jsonToCss,} from "../phone-hooks/styles";
2-
import phoneStyles from "./resources/stylesheet.json";
3-
import flagsStyles from "../phone-hooks/resources/stylesheet.json";
1+
import {injectStyles, jsonToCss} from "react-phone-hooks/styles";
2+
import commonStyles from "react-phone-hooks/stylesheet.json";
43

5-
export const mergedStyles = () => jsonToCss(Object.assign(phoneStyles, flagsStyles));
4+
import customStyles from "./resources/stylesheet.json";
5+
6+
export const injectMergedStyles = () => injectStyles(jsonToCss(Object.assign(commonStyles, customStyles)));

development/src/ant-phone/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import {ChangeEvent, KeyboardEvent} from "react";
2+
import types from "react-phone-hooks/types";
23
import {InputProps} from "antd/es/input";
34

4-
import {PhoneNumber} from "../phone-hooks/types";
5+
export type PhoneNumber = types.PhoneNumber;
56

67
export interface PhoneInputProps extends Omit<InputProps, "value" | "onChange"> {
78
value?: PhoneNumber | string;

development/src/mui-phone/index.tsx

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
11
import {ChangeEvent, KeyboardEvent, useCallback, useEffect, useMemo, useRef, useState} from "react";
22
import {InputAdornment, MenuItem, Select, TextField} from "@mui/material";
33

4-
import {PhoneInputProps} from "./types";
5-
import {PhoneNumber} from "../phone-hooks/types";
6-
7-
import {mergedStyles} from "./styles";
8-
import {injectStyles} from "../phone-hooks/styles";
9-
104
import {
115
checkValidity,
126
cleanInput,
137
displayFormat,
8+
getCountry,
149
getDefaultISO2Code,
1510
getMetadata,
1611
getRawValue,
1712
parsePhoneNumber,
1813
usePhone,
19-
} from "../phone-hooks";
14+
} from "react-phone-hooks";
2015

21-
import countries from "../phone-hooks/metadata/countries.json";
16+
import {injectMergedStyles} from "./styles";
17+
import {PhoneInputProps, PhoneNumber} from "./types";
2218

23-
injectStyles(mergedStyles());
19+
injectMergedStyles();
2420

2521
const PhoneInput = ({
2622
value: initialValue = "",
@@ -68,7 +64,7 @@ const PhoneInput = ({
6864

6965
const selectValue = useMemo(() => {
7066
let metadata = getMetadata(getRawValue(value), countriesList);
71-
metadata = metadata || countries.find(([iso]) => iso === countryCode);
67+
metadata = metadata || getCountry(countryCode as any);
7268
return ({...metadata})?.[0] + ({...metadata})?.[2];
7369
}, [countriesList, countryCode, value])
7470

development/src/mui-phone/styles.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
import {jsonToCss,} from "../phone-hooks/styles";
2-
import phoneStyles from "./resources/stylesheet.json";
3-
import flagsStyles from "../phone-hooks/resources/stylesheet.json";
1+
import {injectStyles, jsonToCss} from "react-phone-hooks/styles";
2+
import commonStyles from "react-phone-hooks/stylesheet.json";
43

5-
export const mergedStyles = () => jsonToCss(Object.assign(phoneStyles, flagsStyles));
4+
import customStyles from "./resources/stylesheet.json";
5+
6+
export const injectMergedStyles = () => injectStyles(jsonToCss(Object.assign(commonStyles, customStyles)));

development/src/mui-phone/types.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import {ChangeEvent, KeyboardEvent} from "react";
2+
import types from "react-phone-hooks/types";
23
import {TextFieldProps} from "@mui/material/TextField";
34

4-
import {PhoneNumber} from "../phone-hooks/types";
5+
export type PhoneNumber = types.PhoneNumber;
56

67
export interface PhoneInputProps extends Omit<TextFieldProps, "onChange"> {
78
value?: PhoneNumber | string;

development/src/phone-hooks/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ export const getMetadata = (rawValue: string, countriesList: typeof countries =
1717
return countriesList.find((c) => rawValue.startsWith(c[2]));
1818
}
1919

20+
export const getCountry = (countryCode: keyof typeof countries) => {
21+
return countries.find(([iso]) => iso === countryCode);
22+
}
23+
2024
export const getRawValue = (value: PhoneNumber | string) => {
2125
if (typeof value === "string") return value.replaceAll(/\D/g, "");
2226
return [value?.countryCode, value?.areaCode, value?.phoneNumber].filter(Boolean).join("");

0 commit comments

Comments
 (0)