react-daum-postcode
Version:
Daum Postcode service for React
119 lines (118 loc) • 3.16 kB
TypeScript
declare global {
interface Window {
daum?: {
postcode: {
load: (fn: () => void) => void;
version: string;
_validParam_: boolean;
};
Postcode: PostcodeConstructor;
};
}
}
export interface Address {
zonecode: string;
address: string;
addressEnglish: string;
addressType: 'R' | 'J';
userSelectedType: 'R' | 'J';
noSelected: 'Y' | 'N';
userLanguageType: 'K' | 'E';
roadAddress: string;
roadAddressEnglish: string;
jibunAddress: string;
jibunAddressEnglish: string;
autoRoadAddress: string;
autoRoadAddressEnglish: string;
autoJibunAddress: string;
autoJibunAddressEnglish: string;
buildingCode: string;
buildingName: string;
apartment: 'Y' | 'N';
sido: string;
sidoEnglish: string;
sigungu: string;
sigunguEnglish: string;
sigunguCode: string;
roadnameCode: string;
bcode: string;
roadname: string;
roadnameEnglish: string;
bname: string;
bnameEnglish: string;
bname1: string;
bname1English: string;
bname2: string;
bname2English: string;
hname: string;
query: string;
}
export interface Size {
width: number;
height: number;
}
export declare type State = 'FORCE_CLOSE' | 'COMPLETE_CLOSE';
export interface Search {
q: string;
count: number;
}
export interface Theme {
bgColor?: string;
searchBgColor?: string;
contentBgColor?: string;
pageBgColor?: string;
textColor?: string;
queryTextColor?: string;
postcodeTextColor?: string;
emphTextColor?: string;
outlineColor?: string;
}
export interface PostcodeOptions {
oncomplete?: (address: Address) => void;
onresize?: (size: Size) => void;
onclose?: (state: State) => void;
onsearch?: (search: Search) => void;
width?: string | number;
minWidth?: number;
height?: string | number;
animation?: boolean;
focusInput?: boolean;
focusContent?: boolean;
autoMapping?: boolean;
autoMappingRoad?: boolean;
autoMappingJibun?: boolean;
shorthand?: boolean;
pleaseReadGuide?: number;
pleaseReadGuideTimer?: number;
maxSuggestItems?: number;
showMoreHName?: boolean;
hideMapBtn?: boolean;
hideEngBtn?: boolean;
alwaysShowEngAddr?: boolean;
submitMode?: boolean;
useBannerLink?: boolean;
theme?: Theme;
useSuggest?: boolean;
}
export interface OpenOptions {
q?: string;
left?: number | string;
top?: number | string;
popupTitle?: string;
popupKey?: string;
autoClose?: boolean;
}
export interface EmbedOptions {
q?: string;
autoClose?: boolean;
}
export interface PostcodeConstructor {
new (postcodeOptions: PostcodeOptions): Postcode;
}
export interface Postcode {
open(openOptions?: OpenOptions): void;
embed(element: HTMLElement, embedOptions?: EmbedOptions): void;
}
export declare const postcodeScriptUrl = "https://t1.daumcdn.net/mapjsapi/bundle/postcode/prod/postcode.v2.js";
declare const loadPostcode: (url?: string) => Promise<PostcodeConstructor>;
export default loadPostcode;