UNPKG

@simoko/tw-zip

Version:

台灣縣市、行政區、郵遞區號(3碼/6碼)查詢工具,支援 React/Vue/Svelte/SolidJS/Angular

2 lines 1.82 kB
import {a,b,c,f,d}from'../chunk-XG72AOTY.js';import {b as b$1,d as d$1}from'../chunk-DHQAPW76.js';import'../chunk-VAKBHZJJ.js';import {useMemo,useState,useEffect,useCallback}from'react';function J(){let f$1=useMemo(()=>a(),[]),[e,C]=useState(f$1[0]??""),[t,p]=useState(""),[u,d$1]=useState(""),[l,c$1]=useState(void 0),[g,a$1]=useState(void 0),[s,r]=useState(void 0),[m,w]=useState([]),[N,b$1]=useState([]),[j,z]=useState([]);useEffect(()=>{if(e){let n=b(e);w(n);let i=n[0]??"";if(p(i),i){let x=c(e,i);b$1(x),d$1(x[0]??"");}}},[]);let q=useCallback(n=>{C(n);let i=b(n);w(i),p(i[0]??""),b$1([]),d$1(""),c$1(void 0),a$1(void 0),r(void 0);},[]),v=useCallback(n=>{p(n);let i=c(e,n);b$1(i),d$1(i[0]??""),c$1(void 0),a$1(void 0),r(void 0);},[e]),B=useCallback(n=>{d$1(n),c$1(void 0),a$1(void 0),r(void 0);},[]),F=useCallback(n=>{if(!n.trim()){z([]);return}let i=f(n,e||void 0,t||void 0);z(i);},[e,t]),S=useMemo(()=>{if(!(!e||!t||!u))return d({city:e,area:t,road:u,number:l,lane:g,alley:s})},[e,t,u,l,g,s]),G=S?.zipcode??"",H=S?.zip3??"";return {cities:f$1,areas:m,roads:N,city:e,area:t,road:u,number:l,lane:g,alley:s,setCity:q,setArea:v,setRoad:B,setNumber:c$1,setLane:a$1,setAlley:r,searchRoads:F,searchResults:j,zipCode:G,zip3:H,result:S}}function X(){let f=useMemo(()=>b$1(),[]),[e,C]=useState(f[0]??""),[t,p]=useState(()=>d$1(e)),[u,d]=useState(t[0]?.label??""),[l,c]=useState(t[0]?.value??"");useEffect(()=>{let s=d$1(e);p(s),d(s[0]?.label??""),c(s[0]?.value??"");},[e]);let g=useCallback(s=>{d(s);let r=t.find(m=>m.label===s);r&&c(r.value);},[t]),a=useCallback(s=>{c(s);let r=t.find(m=>m.value===s);r&&d(r.label);},[t]);return {cities:f,districts:t,city:e,setCity:C,district:u,setDistrict:g,zipCode:l,setZipCode:a}}export{X as useTwZip,J as useTwZip6};//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map