@jctrans-materials/comps-vue3 1.0.3 → 1.0.5

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.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),R=require("@jctrans-materials/shared"),B=require("element-plus");function rt(t){const o=e.ref([]),n="_search_history_cache",l=typeof window<"u"&&typeof localStorage<"u",s=e.computed(()=>(t.value||"")+n),a=e.computed(()=>!!t.value&&t.value!==""),r=u=>{if(!u||!l)return;const c=o.value.filter(p=>p.id&&p.id!==u.id||p.display!==u.display);c.unshift(u);const d=c.slice(0,4);if(a.value){o.value=d;try{localStorage.setItem(s.value,JSON.stringify(d))}catch(p){console.warn("LocalStorage save failed:",p)}}},i=()=>{o.value=[],l&&localStorage.removeItem(s.value)};return e.onMounted(()=>{if(l&&a.value){const u=localStorage.getItem(s.value);if(u)try{o.value=JSON.parse(u)}catch{o.value=[]}}}),{searchHistory:o,saveToHistory:r,clearHistory:i,HasHistory:a}}async function at(t,o=["Continent","Country","City","Seaport","Airport"],n={}){return R.locationSearchV2.searchByName({keyword:t,displayInfo:o,...n})}const it=(t,o)=>R.locationSearchV2.searchByIdWithType(t,o);function ct(t,o){const n=e.ref([]),l=e.ref(!1),s=e.ref(!1),a=e.ref(1),r=e.ref(0),i=e.ref(10),u=e.computed(()=>r.value===0?!1:n.value.length>=r.value),c=e.computed(()=>{const f=[...o.value];return f.includes("Country")&&!f.includes("Region")&&f.push("Region"),f}),d=f=>!f||!Array.isArray(f)?[]:f.filter(m=>c.value.includes(m.type));return{searchResults:n,loading:l,isFetchingMore:s,isFinished:u,currentPage:a,total:r,fetchData:async(f=1,m=!1)=>{if(!t.value.trim()&&!m){n.value=[],r.value=0;return}if(!(m&&(s.value||u.value))&&!(!m&&l.value)){m?s.value=!0:(l.value=!0,a.value=1);try{const h=await at(t.value,o.value,{current:f,size:i.value}),g=h.records||[],y=d(g);m?n.value=[...n.value,...y]:n.value=y,r.value=h.total||0,a.value=f}catch(h){console.error("Failed to fetch search results:",h)}finally{l.value=!1,s.value=!1}}},filterByTypes:d}}const te=Math.min,M=Math.max,de=Math.round,ue=Math.floor,J=t=>({x:t,y:t}),ut={left:"right",right:"left",bottom:"top",top:"bottom"},dt={start:"end",end:"start"};function De(t,o,n){return M(t,te(o,n))}function re(t,o){return typeof t=="function"?t(o):t}function z(t){return t.split("-")[0]}function ae(t){return t.split("-")[1]}function Qe(t){return t==="x"?"y":"x"}function Ue(t){return t==="y"?"height":"width"}const ft=new Set(["top","bottom"]);function G(t){return ft.has(z(t))?"y":"x"}function $e(t){return Qe(G(t))}function mt(t,o,n){n===void 0&&(n=!1);const l=ae(t),s=$e(t),a=Ue(s);let r=s==="x"?l===(n?"end":"start")?"right":"left":l==="start"?"bottom":"top";return o.reference[a]>o.floating[a]&&(r=fe(r)),[r,fe(r)]}function pt(t){const o=fe(t);return[Ae(t),o,Ae(o)]}function Ae(t){return t.replace(/start|end/g,o=>dt[o])}const Oe=["left","right"],_e=["right","left"],ht=["top","bottom"],vt=["bottom","top"];function gt(t,o,n){switch(t){case"top":case"bottom":return n?o?_e:Oe:o?Oe:_e;case"left":case"right":return o?ht:vt;default:return[]}}function yt(t,o,n,l){const s=ae(t);let a=gt(z(t),n==="start",l);return s&&(a=a.map(r=>r+"-"+s),o&&(a=a.concat(a.map(Ae)))),a}function fe(t){return t.replace(/left|right|bottom|top/g,o=>ut[o])}function At(t){return{top:0,right:0,bottom:0,left:0,...t}}function wt(t){return typeof t!="number"?At(t):{top:t,right:t,bottom:t,left:t}}function me(t){const{x:o,y:n,width:l,height:s}=t;return{width:l,height:s,top:n,left:o,right:o+l,bottom:n+s,x:o,y:n}}function Te(t,o,n){let{reference:l,floating:s}=t;const a=G(o),r=$e(o),i=Ue(r),u=z(o),c=a==="y",d=l.x+l.width/2-s.width/2,p=l.y+l.height/2-s.height/2,f=l[i]/2-s[i]/2;let m;switch(u){case"top":m={x:d,y:l.y-s.height};break;case"bottom":m={x:d,y:l.y+l.height};break;case"right":m={x:l.x+l.width,y:p};break;case"left":m={x:l.x-s.width,y:p};break;default:m={x:l.x,y:l.y}}switch(ae(o)){case"start":m[r]-=f*(n&&c?-1:1);break;case"end":m[r]+=f*(n&&c?-1:1);break}return m}const Ct=async(t,o,n)=>{const{placement:l="bottom",strategy:s="absolute",middleware:a=[],platform:r}=n,i=a.filter(Boolean),u=await(r.isRTL==null?void 0:r.isRTL(o));let c=await r.getElementRects({reference:t,floating:o,strategy:s}),{x:d,y:p}=Te(c,l,u),f=l,m={},h=0;for(let g=0;g<i.length;g++){const{name:y,fn:v}=i[g],{x:w,y:C,data:b,reset:S}=await v({x:d,y:p,initialPlacement:l,placement:f,strategy:s,middlewareData:m,rects:c,platform:r,elements:{reference:t,floating:o}});d=w??d,p=C??p,m={...m,[y]:{...m[y],...b}},S&&h<=50&&(h++,typeof S=="object"&&(S.placement&&(f=S.placement),S.rects&&(c=S.rects===!0?await r.getElementRects({reference:t,floating:o,strategy:s}):S.rects),{x:d,y:p}=Te(c,f,u)),g=-1)}return{x:d,y:p,placement:f,strategy:s,middlewareData:m}};async function xe(t,o){var n;o===void 0&&(o={});const{x:l,y:s,platform:a,rects:r,elements:i,strategy:u}=t,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:p="floating",altBoundary:f=!1,padding:m=0}=re(o,t),h=wt(m),y=i[f?p==="floating"?"reference":"floating":p],v=me(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(y)))==null||n?y:y.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(i.floating)),boundary:c,rootBoundary:d,strategy:u})),w=p==="floating"?{x:l,y:s,width:r.floating.width,height:r.floating.height}:r.reference,C=await(a.getOffsetParent==null?void 0:a.getOffsetParent(i.floating)),b=await(a.isElement==null?void 0:a.isElement(C))?await(a.getScale==null?void 0:a.getScale(C))||{x:1,y:1}:{x:1,y:1},S=me(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:i,rect:w,offsetParent:C,strategy:u}):w);return{top:(v.top-S.top+h.top)/b.y,bottom:(S.bottom-v.bottom+h.bottom)/b.y,left:(v.left-S.left+h.left)/b.x,right:(S.right-v.right+h.right)/b.x}}const xt=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(o){var n,l;const{placement:s,middlewareData:a,rects:r,initialPlacement:i,platform:u,elements:c}=o,{mainAxis:d=!0,crossAxis:p=!0,fallbackPlacements:f,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:g=!0,...y}=re(t,o);if((n=a.arrow)!=null&&n.alignmentOffset)return{};const v=z(s),w=G(i),C=z(i)===i,b=await(u.isRTL==null?void 0:u.isRTL(c.floating)),S=f||(C||!g?[fe(i)]:pt(i)),F=h!=="none";!f&&F&&S.push(...yt(i,g,h,b));const O=[i,...S],L=await xe(o,y),P=[];let _=((l=a.flip)==null?void 0:l.overflows)||[];if(d&&P.push(L[v]),p){const H=mt(s,r,b);P.push(L[H[0]],L[H[1]])}if(_=[..._,{placement:s,overflows:P}],!P.every(H=>H<=0)){var q,$;const H=(((q=a.flip)==null?void 0:q.index)||0)+1,X=O[H];if(X&&(!(p==="alignment"?w!==G(X):!1)||_.every(x=>G(x.placement)===w?x.overflows[0]>0:!0)))return{data:{index:H,overflows:_},reset:{placement:X}};let k=($=_.filter(E=>E.overflows[0]<=0).sort((E,x)=>E.overflows[1]-x.overflows[1])[0])==null?void 0:$.placement;if(!k)switch(m){case"bestFit":{var D;const E=(D=_.filter(x=>{if(F){const T=G(x.placement);return T===w||T==="y"}return!0}).map(x=>[x.placement,x.overflows.filter(T=>T>0).reduce((T,le)=>T+le,0)]).sort((x,T)=>x[1]-T[1])[0])==null?void 0:D[0];E&&(k=E);break}case"initialPlacement":k=i;break}if(s!==k)return{reset:{placement:k}}}return{}}}},Et=new Set(["left","top"]);async function kt(t,o){const{placement:n,platform:l,elements:s}=t,a=await(l.isRTL==null?void 0:l.isRTL(s.floating)),r=z(n),i=ae(n),u=G(n)==="y",c=Et.has(r)?-1:1,d=a&&u?-1:1,p=re(o,t);let{mainAxis:f,crossAxis:m,alignmentAxis:h}=typeof p=="number"?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:p.mainAxis||0,crossAxis:p.crossAxis||0,alignmentAxis:p.alignmentAxis};return i&&typeof h=="number"&&(m=i==="end"?h*-1:h),u?{x:m*d,y:f*c}:{x:f*c,y:m*d}}const Vt=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(o){var n,l;const{x:s,y:a,placement:r,middlewareData:i}=o,u=await kt(o,t);return r===((n=i.offset)==null?void 0:n.placement)&&(l=i.arrow)!=null&&l.alignmentOffset?{}:{x:s+u.x,y:a+u.y,data:{...u,placement:r}}}}},bt=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(o){const{x:n,y:l,placement:s}=o,{mainAxis:a=!0,crossAxis:r=!1,limiter:i={fn:y=>{let{x:v,y:w}=y;return{x:v,y:w}}},...u}=re(t,o),c={x:n,y:l},d=await xe(o,u),p=G(z(s)),f=Qe(p);let m=c[f],h=c[p];if(a){const y=f==="y"?"top":"left",v=f==="y"?"bottom":"right",w=m+d[y],C=m-d[v];m=De(w,m,C)}if(r){const y=p==="y"?"top":"left",v=p==="y"?"bottom":"right",w=h+d[y],C=h-d[v];h=De(w,h,C)}const g=i.fn({...o,[f]:m,[p]:h});return{...g,data:{x:g.x-n,y:g.y-l,enabled:{[f]:a,[p]:r}}}}}},St=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(o){var n,l;const{placement:s,rects:a,platform:r,elements:i}=o,{apply:u=()=>{},...c}=re(t,o),d=await xe(o,c),p=z(s),f=ae(s),m=G(s)==="y",{width:h,height:g}=a.floating;let y,v;p==="top"||p==="bottom"?(y=p,v=f===(await(r.isRTL==null?void 0:r.isRTL(i.floating))?"start":"end")?"left":"right"):(v=p,y=f==="end"?"top":"bottom");const w=g-d.top-d.bottom,C=h-d.left-d.right,b=te(g-d[y],w),S=te(h-d[v],C),F=!o.middlewareData.shift;let O=b,L=S;if((n=o.middlewareData.shift)!=null&&n.enabled.x&&(L=C),(l=o.middlewareData.shift)!=null&&l.enabled.y&&(O=w),F&&!f){const _=M(d.left,0),q=M(d.right,0),$=M(d.top,0),D=M(d.bottom,0);m?L=h-2*(_!==0||q!==0?_+q:M(d.left,d.right)):O=g-2*($!==0||D!==0?$+D:M(d.top,d.bottom))}await u({...o,availableWidth:L,availableHeight:O});const P=await r.getDimensions(i.floating);return h!==P.width||g!==P.height?{reset:{rects:!0}}:{}}}};function pe(){return typeof window<"u"}function ne(t){return Je(t)?(t.nodeName||"").toLowerCase():"#document"}function I(t){var o;return(t==null||(o=t.ownerDocument)==null?void 0:o.defaultView)||window}function K(t){var o;return(o=(Je(t)?t.ownerDocument:t.document)||window.document)==null?void 0:o.documentElement}function Je(t){return pe()?t instanceof Node||t instanceof I(t).Node:!1}function Q(t){return pe()?t instanceof Element||t instanceof I(t).Element:!1}function W(t){return pe()?t instanceof HTMLElement||t instanceof I(t).HTMLElement:!1}function Le(t){return!pe()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof I(t).ShadowRoot}const Nt=new Set(["inline","contents"]);function ie(t){const{overflow:o,overflowX:n,overflowY:l,display:s}=U(t);return/auto|scroll|overlay|hidden|clip/.test(o+l+n)&&!Nt.has(s)}const Bt=new Set(["table","td","th"]);function Rt(t){return Bt.has(ne(t))}const Dt=[":popover-open",":modal"];function he(t){return Dt.some(o=>{try{return t.matches(o)}catch{return!1}})}const Ot=["transform","translate","scale","rotate","perspective"],_t=["transform","translate","scale","rotate","perspective","filter"],Tt=["paint","layout","strict","content"];function Ee(t){const o=ke(),n=Q(t)?U(t):t;return Ot.some(l=>n[l]?n[l]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!o&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!o&&(n.filter?n.filter!=="none":!1)||_t.some(l=>(n.willChange||"").includes(l))||Tt.some(l=>(n.contain||"").includes(l))}function Lt(t){let o=Y(t);for(;W(o)&&!oe(o);){if(Ee(o))return o;if(he(o))return null;o=Y(o)}return null}function ke(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const Mt=new Set(["html","body","#document"]);function oe(t){return Mt.has(ne(t))}function U(t){return I(t).getComputedStyle(t)}function ve(t){return Q(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Y(t){if(ne(t)==="html")return t;const o=t.assignedSlot||t.parentNode||Le(t)&&t.host||K(t);return Le(o)?o.host:o}function We(t){const o=Y(t);return oe(o)?t.ownerDocument?t.ownerDocument.body:t.body:W(o)&&ie(o)?o:We(o)}function se(t,o,n){var l;o===void 0&&(o=[]),n===void 0&&(n=!0);const s=We(t),a=s===((l=t.ownerDocument)==null?void 0:l.body),r=I(s);if(a){const i=we(r);return o.concat(r,r.visualViewport||[],ie(s)?s:[],i&&n?se(i):[])}return o.concat(s,se(s,[],n))}function we(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Ke(t){const o=U(t);let n=parseFloat(o.width)||0,l=parseFloat(o.height)||0;const s=W(t),a=s?t.offsetWidth:n,r=s?t.offsetHeight:l,i=de(n)!==a||de(l)!==r;return i&&(n=a,l=r),{width:n,height:l,$:i}}function Ve(t){return Q(t)?t:t.contextElement}function ee(t){const o=Ve(t);if(!W(o))return J(1);const n=o.getBoundingClientRect(),{width:l,height:s,$:a}=Ke(o);let r=(a?de(n.width):n.width)/l,i=(a?de(n.height):n.height)/s;return(!r||!Number.isFinite(r))&&(r=1),(!i||!Number.isFinite(i))&&(i=1),{x:r,y:i}}const It=J(0);function qe(t){const o=I(t);return!ke()||!o.visualViewport?It:{x:o.visualViewport.offsetLeft,y:o.visualViewport.offsetTop}}function Ft(t,o,n){return o===void 0&&(o=!1),!n||o&&n!==I(t)?!1:o}function Z(t,o,n,l){o===void 0&&(o=!1),n===void 0&&(n=!1);const s=t.getBoundingClientRect(),a=Ve(t);let r=J(1);o&&(l?Q(l)&&(r=ee(l)):r=ee(t));const i=Ft(a,n,l)?qe(a):J(0);let u=(s.left+i.x)/r.x,c=(s.top+i.y)/r.y,d=s.width/r.x,p=s.height/r.y;if(a){const f=I(a),m=l&&Q(l)?I(l):l;let h=f,g=we(h);for(;g&&l&&m!==h;){const y=ee(g),v=g.getBoundingClientRect(),w=U(g),C=v.left+(g.clientLeft+parseFloat(w.paddingLeft))*y.x,b=v.top+(g.clientTop+parseFloat(w.paddingTop))*y.y;u*=y.x,c*=y.y,d*=y.x,p*=y.y,u+=C,c+=b,h=I(g),g=we(h)}}return me({width:d,height:p,x:u,y:c})}function ge(t,o){const n=ve(t).scrollLeft;return o?o.left+n:Z(K(t)).left+n}function Ge(t,o){const n=t.getBoundingClientRect(),l=n.left+o.scrollLeft-ge(t,n),s=n.top+o.scrollTop;return{x:l,y:s}}function Pt(t){let{elements:o,rect:n,offsetParent:l,strategy:s}=t;const a=s==="fixed",r=K(l),i=o?he(o.floating):!1;if(l===r||i&&a)return n;let u={scrollLeft:0,scrollTop:0},c=J(1);const d=J(0),p=W(l);if((p||!p&&!a)&&((ne(l)!=="body"||ie(r))&&(u=ve(l)),W(l))){const m=Z(l);c=ee(l),d.x=m.x+l.clientLeft,d.y=m.y+l.clientTop}const f=r&&!p&&!a?Ge(r,u):J(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-u.scrollLeft*c.x+d.x+f.x,y:n.y*c.y-u.scrollTop*c.y+d.y+f.y}}function Ht(t){return Array.from(t.getClientRects())}function Qt(t){const o=K(t),n=ve(t),l=t.ownerDocument.body,s=M(o.scrollWidth,o.clientWidth,l.scrollWidth,l.clientWidth),a=M(o.scrollHeight,o.clientHeight,l.scrollHeight,l.clientHeight);let r=-n.scrollLeft+ge(t);const i=-n.scrollTop;return U(l).direction==="rtl"&&(r+=M(o.clientWidth,l.clientWidth)-s),{width:s,height:a,x:r,y:i}}const Me=25;function Ut(t,o){const n=I(t),l=K(t),s=n.visualViewport;let a=l.clientWidth,r=l.clientHeight,i=0,u=0;if(s){a=s.width,r=s.height;const d=ke();(!d||d&&o==="fixed")&&(i=s.offsetLeft,u=s.offsetTop)}const c=ge(l);if(c<=0){const d=l.ownerDocument,p=d.body,f=getComputedStyle(p),m=d.compatMode==="CSS1Compat"&&parseFloat(f.marginLeft)+parseFloat(f.marginRight)||0,h=Math.abs(l.clientWidth-p.clientWidth-m);h<=Me&&(a-=h)}else c<=Me&&(a+=c);return{width:a,height:r,x:i,y:u}}const $t=new Set(["absolute","fixed"]);function Jt(t,o){const n=Z(t,!0,o==="fixed"),l=n.top+t.clientTop,s=n.left+t.clientLeft,a=W(t)?ee(t):J(1),r=t.clientWidth*a.x,i=t.clientHeight*a.y,u=s*a.x,c=l*a.y;return{width:r,height:i,x:u,y:c}}function Ie(t,o,n){let l;if(o==="viewport")l=Ut(t,n);else if(o==="document")l=Qt(K(t));else if(Q(o))l=Jt(o,n);else{const s=qe(t);l={x:o.x-s.x,y:o.y-s.y,width:o.width,height:o.height}}return me(l)}function ze(t,o){const n=Y(t);return n===o||!Q(n)||oe(n)?!1:U(n).position==="fixed"||ze(n,o)}function Wt(t,o){const n=o.get(t);if(n)return n;let l=se(t,[],!1).filter(i=>Q(i)&&ne(i)!=="body"),s=null;const a=U(t).position==="fixed";let r=a?Y(t):t;for(;Q(r)&&!oe(r);){const i=U(r),u=Ee(r);!u&&i.position==="fixed"&&(s=null),(a?!u&&!s:!u&&i.position==="static"&&!!s&&$t.has(s.position)||ie(r)&&!u&&ze(t,r))?l=l.filter(d=>d!==r):s=i,r=Y(r)}return o.set(t,l),l}function Kt(t){let{element:o,boundary:n,rootBoundary:l,strategy:s}=t;const r=[...n==="clippingAncestors"?he(o)?[]:Wt(o,this._c):[].concat(n),l],i=r[0],u=r.reduce((c,d)=>{const p=Ie(o,d,s);return c.top=M(p.top,c.top),c.right=te(p.right,c.right),c.bottom=te(p.bottom,c.bottom),c.left=M(p.left,c.left),c},Ie(o,i,s));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function qt(t){const{width:o,height:n}=Ke(t);return{width:o,height:n}}function Gt(t,o,n){const l=W(o),s=K(o),a=n==="fixed",r=Z(t,!0,a,o);let i={scrollLeft:0,scrollTop:0};const u=J(0);function c(){u.x=ge(s)}if(l||!l&&!a)if((ne(o)!=="body"||ie(s))&&(i=ve(o)),l){const m=Z(o,!0,a,o);u.x=m.x+o.clientLeft,u.y=m.y+o.clientTop}else s&&c();a&&!l&&s&&c();const d=s&&!l&&!a?Ge(s,i):J(0),p=r.left+i.scrollLeft-u.x-d.x,f=r.top+i.scrollTop-u.y-d.y;return{x:p,y:f,width:r.width,height:r.height}}function ye(t){return U(t).position==="static"}function Fe(t,o){if(!W(t)||U(t).position==="fixed")return null;if(o)return o(t);let n=t.offsetParent;return K(t)===n&&(n=n.ownerDocument.body),n}function Ye(t,o){const n=I(t);if(he(t))return n;if(!W(t)){let s=Y(t);for(;s&&!oe(s);){if(Q(s)&&!ye(s))return s;s=Y(s)}return n}let l=Fe(t,o);for(;l&&Rt(l)&&ye(l);)l=Fe(l,o);return l&&oe(l)&&ye(l)&&!Ee(l)?n:l||Lt(t)||n}const zt=async function(t){const o=this.getOffsetParent||Ye,n=this.getDimensions,l=await n(t.floating);return{reference:Gt(t.reference,await o(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function Yt(t){return U(t).direction==="rtl"}const Xt={convertOffsetParentRelativeRectToViewportRelativeRect:Pt,getDocumentElement:K,getClippingRect:Kt,getOffsetParent:Ye,getElementRects:zt,getClientRects:Ht,getDimensions:qt,getScale:ee,isElement:Q,isRTL:Yt};function Xe(t,o){return t.x===o.x&&t.y===o.y&&t.width===o.width&&t.height===o.height}function jt(t,o){let n=null,l;const s=K(t);function a(){var i;clearTimeout(l),(i=n)==null||i.disconnect(),n=null}function r(i,u){i===void 0&&(i=!1),u===void 0&&(u=1),a();const c=t.getBoundingClientRect(),{left:d,top:p,width:f,height:m}=c;if(i||o(),!f||!m)return;const h=ue(p),g=ue(s.clientWidth-(d+f)),y=ue(s.clientHeight-(p+m)),v=ue(d),C={rootMargin:-h+"px "+-g+"px "+-y+"px "+-v+"px",threshold:M(0,te(1,u))||1};let b=!0;function S(F){const O=F[0].intersectionRatio;if(O!==u){if(!b)return r();O?r(!1,O):l=setTimeout(()=>{r(!1,1e-7)},1e3)}O===1&&!Xe(c,t.getBoundingClientRect())&&r(),b=!1}try{n=new IntersectionObserver(S,{...C,root:s.ownerDocument})}catch{n=new IntersectionObserver(S,C)}n.observe(t)}return r(!0),a}function Zt(t,o,n,l){l===void 0&&(l={});const{ancestorScroll:s=!0,ancestorResize:a=!0,elementResize:r=typeof ResizeObserver=="function",layoutShift:i=typeof IntersectionObserver=="function",animationFrame:u=!1}=l,c=Ve(t),d=s||a?[...c?se(c):[],...se(o)]:[];d.forEach(v=>{s&&v.addEventListener("scroll",n,{passive:!0}),a&&v.addEventListener("resize",n)});const p=c&&i?jt(c,n):null;let f=-1,m=null;r&&(m=new ResizeObserver(v=>{let[w]=v;w&&w.target===c&&m&&(m.unobserve(o),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var C;(C=m)==null||C.observe(o)})),n()}),c&&!u&&m.observe(c),m.observe(o));let h,g=u?Z(t):null;u&&y();function y(){const v=Z(t);g&&!Xe(g,v)&&n(),g=v,h=requestAnimationFrame(y)}return n(),()=>{var v;d.forEach(w=>{s&&w.removeEventListener("scroll",n),a&&w.removeEventListener("resize",n)}),p?.(),(v=m)==null||v.disconnect(),m=null,u&&cancelAnimationFrame(h)}}const eo=Vt,to=bt,oo=xt,no=St,lo=(t,o,n)=>{const l=new Map,s={platform:Xt,...n},a={...s.platform,_c:l};return Ct(t,o,{...s,platform:a})};function so(t,o){const n=e.ref({position:"fixed",left:"0",top:"0",zIndex:3e3});let l=null;const s=()=>{!t.value||!o.value||lo(t.value,o.value,{placement:"bottom-start",strategy:"fixed",middleware:[eo(6),oo(),to({padding:10}),no({apply({rects:i,elements:u}){const c=`${i.reference.width}px`;Object.assign(u.floating.style,{width:c,minWidth:c,maxWidth:c})}})]}).then(({x:i,y:u})=>{Object.assign(n.value,{left:`${i}px`,top:`${u}px`})})},a=()=>{t.value&&o.value&&(l=Zt(t.value,o.value,s))},r=()=>{l&&(l(),l=null)};return e.onBeforeUnmount(r),{floatingStyles:n,startTrack:a,stopTrack:r}}const ro="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACT0lEQVR4AaRSO2hTYRT+zn9v2g6CiktFJYoVHXQoOljM2EIEh0orbRKa5qUuDoIZAnXI4FBwcRDikMcNkoQMQjcVESo4OASsW2kLBi3oUKiD1OZx7/H811wJZFF6uOee85/H93/3nKtwQPkvgFKpdKRgVR+UrFrOsurX9N3/DJCvVPxMwx+lKcbgKzbstPhwAXSyWK7eLZZrc4VCNZDPPx/Tt+kCrTqvOrQqfuNrc2OcgW0CduQM9TfJyIB5mQy8UaaxKbftFq3qL9HP1KGGFDe+NDdC/jPnlwgcZEM9lRiU2VFjgngI4FGxa0IvZXecU07XPsc2pkCUIULaa2Z2MsJ7Orkw/8kFiMVCb4XWcQV14w8temL4aJNM47Fh0OHEYqieWAyXT/jPBhzmh7o5EY28Rk/cGWSz2a4GSsTCt3tgs5qmDc726sTQvsS6/c0SFDz97lO/329K4z2Amm1u3ZK11SyrOmNC/ZDYSElWiT5R2resymUZ1pIUv2Qa+iafcrrFretDNJwTf94GUnt7u9u6to3hUW09dQEcIC+BR0LxqgztPnFrotd8wWHclNykaR4dYeCngj0IQNyekOQshLas8hmzLyA3B2UTU6l4eEX8Ld8IZsTu+Mg4hj5xGcTj8f1kLPxChjgO0AdWlAOwnkotbImFrHGFGdOy6u82aJAB+kUZywQ6KaH3ou7TcbguziRApiLWOXjiMvAO2iaic3rH6wxe1Wetd+KRNQKEDV9kwisd83QAQCfkr7uUjEUq2vdUgdJQFExEw++8mLa/AQAA//9h0VsEAAAABklEQVQDAKhs6Pxd3K8TAAAAAElFTkSuQmCC",ao="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVR4AXRST0hUYRD/zbfbrqahQpAHlQ3dSurYoaBAwWNQkIT7J/ve09DQsOigkNCha4ckl4Lct0/S3QI7REFEBB08FBHRIYLwIJEodOlUurnfNN+6mq9weMPM+818v2/mm1HYQXK5XH02mz9h1fo7pOE/gkwmU+v5+fuGot8phJdWmSLLnl+4I0RV/xIFCGxCdU3DUwaOkULX18Uve1ydrC4xdwLcwRR9bnO2kwQIoCIDEowpXjsZ4vBCSyx+w/Nnb1KElkkwG4OqGhG79QUImEkT0T2JrpZ4fV5sF0Ad6je9BrBKxLeZuVv8rS9IAG4qGf5oTPSolNxIXOyUNjqlpb0W4xI+Cd62dVqcAAGBVqSCVmPMIoPCttzm2MEBAoeLir4hRK2AWPyVIAHRHMH0Ly0tCBF3M5t+Aq6A0HPJSSyCeZAIz7BNAgQwqxNyc1NL7MCoeyH1xNWpuKsTcet7fv46QI0/zdoEtkmAwHGcHyFQj/Q57vuPzm7m+X5efB6HYj3kOCubuLVlApltfdbPX5uaetCmdeKVAqUN1mdy04XR3PTsqAHPWMztTb24myvEBBuRM+WlUnbzDEXeya2D4XC0zrJqnXwsO3pG3mCMGWMK6lQZk2A0hH2GMSxL9VlI6lVkd90RgGKkVFrrc+9REXubjLH9FxfbbVUVGG5v4i2p8LD8x9ax65C66KTfKGCSDc97fv6DJzuf9QtDtm+iqsM1ot70w9O+YDbmSQ6bkkyCJitnAUcnryqmuExgSsZYKypvgFvS+5xVsJk0MGlps97mFCVXpnNZqoBcbo2QyJz7dCLj6JTj6tRxVyf3izZUtNndwM73SU55JzaO4Q8AAAD//54At5MAAAAGSURBVAMAh2IbMAJQAZQAAAAASUVORK5CYII=",io="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACC0lEQVR4AXxRv2tTURT+zk1iIjgoOMShkIJVNwf/gQYULOjQwaGvGl8TBMEMDg4ODgF17likvL4HIYm4OLg61K2CooWKDoKCDoJDHASb9N17POf5Enwk6eN+9/z+3nfvNZjxbYS9ymbYXlQ8CbvnZrRhKoEOFMl9zFHuuaJA/E4Jp5FMJTCwZWner/veCYX6ecQVsRNrKsFE1yGJDMFW1Hm4FXX7hnIvADquvkJ9zYn/U3vw35chYOA2Ebcc26uWbVWwnKKqOak9ktmmYLwyBATkY+d2b63d2FYgps9umNtTX6G18WTqmNRmTNB+djaIOqEpmC+FIn8Lom4vaD89n2lKgwkCebYNsvEnAlXI4CIMXSagTNa9l9p6Ojc2CUEYhiW5oE3IxQH4AYNFeb5qvea9SuB7Vc1J7ReDjomidZ2RWNKysyneFHNFovGgxIiizoWR9BGRqiKw76i0qj2JAo7jtwycJDvY1eQIDNM0lu+OYrUHf/BBbEmI9sTKP2VvNGpvAP4Kc1SVSGb2OlLiVQa+12srr7UrUZA6Lx27e0HUu6PnU/kOXGbwaT1Gq9XKa80xmgTa1hlFQiBP1hNWn4AdOd8DpmLfgnakYV/yv/UF5ipn+qLyvgGp2us6I/V/R+DYPiYenpKbv0Y8mGeLS0OmhYbvLQuWiGkeFkuGBwtrvrdyMKA5nVGCvwAAAP//q4xnOgAAAAZJREFUAwCH2O8KfEWHWQAAAABJRU5ErkJggg==",co="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACmklEQVR4AXRTT0jUQRT+3uyqGxgYeCiy1JAo6JBUp4Q81EEiKKiDa+H+/ENGHgPpZtChQ4EHL+Ku+9t0V7EkQSGPBYGHBIU6RAqt2cFDBw9C+3de3yy7hobDvHm/+d4337x58xuDQ9r4+FRDLJZqG49PtrvvQ2j4TyDmJ7sm/NRqoMpsIYD3RgIL7pvY54lEqvug0J5APB4PxfzUOwFGRWReVJp7I+GjW+nvxxQo0DagOjLhJxcctyK0J6BS/UaAc1nNtXrdnc88rzPtSMPDwwXiM7R2WNwDpMVKzTTKrSRQTq0tq9mOR55XWliOY2wsVQ+RRWZQiyACjiPQ9pg/0+U4JQEoBkXMi4OLmWpdsEZXofY5yYtSzH10HHJHBPYJMZhyhS8X84U5B+y36iaBNPxMr59nPTo9z8uU4jaToL8Yj88eN2xNTG+3r+/BBncMuSLRln1/+iZgdkhEY2NjvfMVo1DarbG20GIqoPMaqL5G38Zb+GBh36roMufpzc3N3xSvi0ZfX6APEYNAg86bjMluCFDr+7OX1JoWQNJed/ipaK6Z6oOi2dbTZ85eVan+YYLBL7yBdRb9IXkha23aPPa8bQBrFoUVqo4qMMU5mOZ2JBKeo98RiwHi8xQ7Qo6vCsdb6e+//4ubgJegLzlmDOQ6i/XKCVQskZg9aaFtRrBGsYytQpQiu+SPOI5xQ2+kK6mQJRJHo8lko8MqxswGhceCzY25mMnLEmOf3Br6f2/BaLaTqhuSl6/xxPRQNDrJehBRrSWxABMaMnmsKfCN9eEfSZS9lAG9O3OmJ9J1C9ABVb1rgoF1PqA/Cokw3k7stgKDvZHwHXcUYqW+J1CacejlcXoi4SvFvD2lRdxAER0s3glirS5Gyr7+FwAA//8Pj6q2AAAABklEQVQDAJPeLlNn5TR8AAAAAElFTkSuQmCC",uo="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABFUlEQVR4AaRQO07DQBCdWe8B4B5IFFyAK9ARkIVNhIQEEiVtJLgABRVRvIBCJBquwBVyDgoaSnuHeZY3MlYcNsnIb8fze6M3hra0XoKJm95N3Nv3EnyhFvb2EgjRJbOMKqmO2tDcvQ5fK+qvl4CJbOn9/CJPP9tArp5sHtP4lc652VXxPL1Z1hRFIOytF1NuTJCfnT4Ms8HjSgJctn1xIt6hxqIkdK+u8U8zT1ESmP5enUkWmqMkhG2FmxXOvR+EGD5KAhoDqsQvtiMXJQGNQJ4N8mF6PMd/wL8SxuOXPSG21pj9p+L1EOjGyAHoQQ0zWGDqx9pbPWIpwqOEkw+gGyMHoAc1ozOkVhOcZyepYndNpDpPvwAAAP//BVQJHAAAAAZJREFUAwDZWL4hub5xHQAAAABJRU5ErkJggg==",Ce="data:image/svg+xml,%3csvg%20t='1695277594902'%20fill='%23fff'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='2534'%20width='200'%20height='200'%3e%3cpath%20d='M448%2085.333333a362.666667%20362.666667%200%201%200%20224.512%20647.509334l155.818667%20155.818666a42.666667%2042.666667%200%200%200%2060.330666-60.330666l-155.818666-155.818667A362.666667%20362.666667%200%200%200%20448%2085.333333zM170.666667%20448a277.333333%20277.333333%200%201%201%20554.666666%200%20277.333333%20277.333333%200%200%201-554.666666%200z'%20p-id='2535'%3e%3c/path%3e%3c/svg%3e",fo={class:"search-container"},mo={class:"selection-wrapper"},po={class:"tag-text"},ho=["onClick"],vo={key:0,class:"search-tag collapse"},go=["placeholder"],yo={class:"suffix-area"},Ao={key:1,class:"loading-spinner"},wo={class:"search-icon"},Co=["src"],xo={key:0,class:"history-section"},Eo={class:"history-header"},ko=["onMousedown"],Vo=["src"],bo={class:"type-text"},So={class:"result-text"},No={key:0,class:"status-msg"},Bo=["onMousedown"],Ro=["src"],Do={class:"type-text"},Oo={class:"result-text"},_o={key:0,class:"load-more-msg"},To={key:1,class:"load-more-msg no-more"},Lo={key:2,class:"status-msg"},Mo=e.defineComponent({__name:"index",props:{modelValue:{default:null},multiple:{type:Boolean,default:!1},collapseTags:{type:Boolean,default:!1},searchTypeList:{default:()=>["Continent","Country","Region","City","Seaport","Airport"]},historyKey:{default:void 0},lang:{default:""},placeholder:{},showSearchIcon:{type:Boolean,default:!0},showItemTag:{type:Boolean,default:!0}},emits:["update:modelValue","select","change","submit-search","remove"],setup(t,{emit:o}){const n=t,l=o,s=e.ref(null),a=e.ref(null),r=e.ref(null),i=e.ref(""),u=e.ref(""),c=e.ref(!1),d=e.ref(!1);let p=null;const f=e.computed(()=>n.modelValue?Array.isArray(n.modelValue)?n.modelValue:[n.modelValue]:[]),m=e.computed(()=>n.multiple?n.collapseTags?f.value.slice(0,1):f.value:[]),h=e.computed(()=>i.value||f.value.length>0),g=e.computed(()=>n.multiple?i.value?`${i.value.length*10+20}px`:"10px":"100%"),{searchHistory:y,saveToHistory:v,clearHistory:w}=rt(e.toRef(n,"historyKey")),{searchResults:C,loading:b,isFetchingMore:S,isFinished:F,currentPage:O,fetchData:L,filterByTypes:P}=ct(i,e.toRef(n,"searchTypeList")),{floatingStyles:_,startTrack:q,stopTrack:$}=so(a,r),D=e.computed(()=>{if(n.lang!=="")return n.lang==="en"||n.lang==="en-US";let A="";try{if(typeof useCookie=="function"){const V=useCookie("jc-language").value;if(V)return/en/.test(V)||/en-US/.test(V)}}catch{}return typeof process<"u"&&process.client?A=document.cookie||"":typeof process<"u"&&process.server&&(A=useNuxtApp?.()?.ssrContext?.event.node.req.headers.cookie||""),/jc-language=en-US/.test(A)||/jc-language=en/.test(A)}),H=e.computed(()=>n.multiple&&f.value.length>0?"":c.value&&!n.multiple?u.value:n.placeholder||D.value?"Please enter...":"请输入..."),X=()=>s.value?.focus(),k=A=>{if(v(A),n.multiple){if(!f.value.some(N=>N.id===A.id)){const N=[...f.value,A];l("update:modelValue",N)}i.value=""}else u.value=ce(A),c.value=!0,i.value="",d.value=!1,l("update:modelValue",A);l("select",A)},E=A=>{const V=f.value.filter(N=>N.id!==A.id);l("update:modelValue",V),l("remove",A)},x=()=>{n.multiple&&!i.value&&f.value.length>0&&E(f.value[f.value.length-1])},T=()=>{i.value="",c.value=!1,u.value="",l("update:modelValue",n.multiple?[]:null)},le=async()=>{if(d.value=!0,!n.multiple&&c.value&&C.value.length===0){const A=n.modelValue;if(A?.id){b.value=!0;try{const V=await it(A.id,A.type);C.value=P(V.records)}finally{b.value=!1}}}},tt=()=>setTimeout(()=>d.value=!1,200),ot=A=>{A.target.value===""&&!n.multiple&&T()},nt=()=>{n.multiple?l("submit-search",f.value):c.value&&l("submit-search",n.modelValue),d.value=!1},lt=A=>{const{scrollTop:V,scrollHeight:N,clientHeight:j}=A.target;V+j>=N-20&&!b.value&&!S.value&&!F.value&&i.value&&L(O.value+1,!0)};e.watch(d,A=>{A?q():$()}),e.watch(i,A=>{if(!A.trim()){C.value=[];return}p&&clearTimeout(p),p=setTimeout(()=>L(1,!1),300)});const Ne=A=>({City:uo,Country:co,Airport:ro,Seaport:io})[A]||ao,ce=A=>D.value?A.displayEn||A.display||"":A.displayCn||A.display||"",Be=A=>{const V={City:{en:"City",cn:"城市"},Country:{en:"Country",cn:"国家"},Region:{en:"Region",cn:"区域"},Airport:{en:"Airport",cn:"机场"},Seaport:{en:"Seaport",cn:"港口"}};return D.value?V[A].en:V[A].cn},st=A=>f.value.some(V=>V.id===A.id);return e.onBeforeUnmount($),(A,V)=>(e.openBlock(),e.createElementBlock("div",fo,[e.createElementVNode("div",{class:e.normalizeClass(["search-input-wrapper",{"is-multiple":t.multiple}]),ref_key:"referenceRef",ref:a,onClick:X},[e.createElementVNode("div",mo,[t.multiple&&f.value.length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(N,j)=>(e.openBlock(),e.createElementBlock("div",{key:N.id||j,class:"search-tag"},[e.createElementVNode("span",po,e.toDisplayString(ce(N)),1),e.createElementVNode("span",{class:"tag-close",onClick:e.withModifiers(Re=>E(N),["stop"])},"×",8,ho)]))),128)),t.collapseTags&&f.value.length>1?(e.openBlock(),e.createElementBlock("div",vo," + "+e.toDisplayString(f.value.length-1),1)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{ref_key:"inputRef",ref:s,class:e.normalizeClass({"is-selected-state":c.value&&!t.multiple}),"onUpdate:modelValue":V[0]||(V[0]=N=>i.value=N),type:"text",placeholder:H.value,style:e.normalizeStyle({width:g.value}),onFocus:le,onBlur:tt,onInput:ot,onKeydown:e.withKeys(x,["delete"])},null,46,go),[[e.vModelText,i.value]])]),e.createElementVNode("div",yo,[h.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"clear-icon",onMousedown:V[1]||(V[1]=e.withModifiers(()=>{},["prevent"])),onClick:e.withModifiers(T,["stop"])},"ⓧ",32)):e.createCommentVNode("",!0),e.unref(b)&&!e.unref(S)?(e.openBlock(),e.createElementBlock("div",Ao)):!e.unref(b)&&t.showSearchIcon?(e.openBlock(),e.createElementBlock("button",{key:2,class:"search-btn",onClick:e.withModifiers(nt,["stop"])},[e.createElementVNode("span",wo,[e.createElementVNode("img",{src:e.unref(Ce),alt:"search"},null,8,Co)])])):e.createCommentVNode("",!0)])],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingRef",ref:r,class:"dropdown-list",style:e.normalizeStyle(e.unref(_)),onScroll:lt},[e.renderSlot(A.$slots,"history",{searchHistory:e.unref(y)},()=>[e.unref(y).length>0&&!i.value?(e.openBlock(),e.createElementBlock("div",xo,[e.createElementVNode("div",Eo,[e.createElementVNode("span",null,e.toDisplayString(D.value?"Recent search":"最近搜索"),1),e.createElementVNode("span",{class:"clear-btn",onMousedown:V[2]||(V[2]=e.withModifiers(()=>{},["prevent"])),onClick:V[3]||(V[3]=e.withModifiers((...N)=>e.unref(w)&&e.unref(w)(...N),["stop"]))},e.toDisplayString(D.value?"Clear":"清空"),33)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(y),(N,j)=>(e.openBlock(),e.createElementBlock("div",{key:"hist-"+j,class:"dropdown-item",onMousedown:Re=>k(N)},[e.createElementVNode("div",{class:"category-tag",style:e.normalizeStyle(t.showItemTag?{}:{display:"none"})},[e.createElementVNode("img",{class:"type-icon",src:Ne(N.type),alt:""},null,8,Vo),e.createElementVNode("span",bo,e.toDisplayString(Be(N.type)),1)],4),e.createElementVNode("div",So,e.toDisplayString(ce(N)),1)],40,ko))),128)),V[4]||(V[4]=e.createElementVNode("hr",{class:"divider"},null,-1))])):e.createCommentVNode("",!0)],!0),e.unref(b)&&!e.unref(S)?(e.openBlock(),e.createElementBlock("div",No,e.toDisplayString(D.value?"Searching...":"正在搜索中..."),1)):e.unref(C).length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(A.$slots,"results",{searchResults:e.unref(C)},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(C),(N,j)=>(e.openBlock(),e.createElementBlock("div",{key:j,class:e.normalizeClass(["dropdown-item",{"is-active":st(N)}]),onMousedown:Re=>k(N)},[e.createElementVNode("div",{class:"category-tag",style:e.normalizeStyle(t.showItemTag?{}:{display:"none"})},[e.createElementVNode("img",{class:"type-icon",src:Ne(N.type),alt:""},null,8,Ro),e.createElementVNode("span",Do,e.toDisplayString(Be(N.type)),1)],4),e.createElementVNode("div",Oo,e.toDisplayString(ce(N)),1)],42,Bo))),128))],!0),e.unref(S)?(e.openBlock(),e.createElementBlock("div",_o,e.toDisplayString(D.value?"Loading more...":"正在加载更多..."),1)):e.unref(F)&&i.value?(e.openBlock(),e.createElementBlock("div",To,e.toDisplayString(D.value?"All results have been loaded":"已加载全部结果"),1)):e.createCommentVNode("",!0)],64)):i.value&&!e.unref(b)?(e.openBlock(),e.createElementBlock("div",Lo,[e.renderSlot(A.$slots,"noData",{},()=>[e.createTextVNode(e.toDisplayString(D.value?`No results found related to "${i.value}".`:`未找到与 "${i.value}" 相关的结果`),1)],!0)])):e.createCommentVNode("",!0)],36),[[e.vShow,d.value&&(e.unref(C).length>0||e.unref(b)||i.value||e.unref(y).length>0)]])]))]))}}),be=(t,o)=>{const n=t.__vccOpts||t;for(const[l,s]of o)n[l]=s;return n},Se=be(Mo,[["__scopeId","data-v-e158c7a1"]]),Io={class:"modal-container"},Fo={class:"modal-header"},Po={class:"header-title"},Ho={class:"modal-body"},Qo={class:"form-item"},Uo={class:"required"},$o={class:"input-box"},Jo=["placeholder"],Wo={key:0,class:"error-message"},Ko={class:"form-item"},qo={class:"required"},Go={class:"type-group"},zo=["onClick"],Yo={key:0,class:"check-mark"},Xo={class:"form-item"},jo={class:"required"},Zo={key:0,class:"error-message"},en={class:"modal-footer"},tn={__name:"ApplyDataDialog",props:{value:{type:Boolean,default:!1},lang:{type:String,default:"en",validator:t=>["en","cn"].includes(t)},placeholder:{type:String,default:""}},emits:["update:value","confirm"],setup(t,{emit:o}){const n=t,l=o,s=[{typeCn:"城市",typeEn:"City",type:"City"},{typeCn:"海运港口",typeEn:"Port",type:"Seaport"},{typeCn:"机场",typeEn:"Airport",type:"Airport"}],a=e.ref(null),r=e.reactive({name:"",country:""}),i=e.reactive({name:"",type:"City"}),u=e.computed(()=>n.lang==="en"||n.lang==="en-US"),c=()=>{r.name="",r.country="",l("update:value",!1)},d=()=>{r.name="",r.country="";let p=!0;i.name.trim()||(r.name="Data name is required",p=!1),a.value||(r.country="Please select a country",p=!1),p&&l("confirm",{...i,country:a.value})};return(p,f)=>t.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"modal-mask",onClick:e.withModifiers(c,["self"])},[e.createElementVNode("div",Io,[e.createElementVNode("div",Fo,[e.createElementVNode("span",Po,e.toDisplayString(u.value?"Apply for data addition":"申请补充数据"),1),e.createElementVNode("div",{class:"close-btn",onClick:c},"×")]),e.createElementVNode("div",Ho,[e.createElementVNode("div",Qo,[e.createElementVNode("label",Uo,e.toDisplayString(u.value?"Data To Add":"需补充的数据"),1),e.createElementVNode("div",$o,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[0]||(f[0]=m=>i.name=m),type:"text",placeholder:t.placeholder??(u.value?" Please enter":"请输入"),class:e.normalizeClass(["custom-input",{"input-error":r.name}]),onInput:f[1]||(f[1]=m=>r.name="")},null,42,Jo),[[e.vModelText,i.name]])]),r.name?(e.openBlock(),e.createElementBlock("div",Wo,e.toDisplayString(r.name),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Ko,[e.createElementVNode("label",qo,e.toDisplayString(u.value?"Type":"所属类别"),1),e.createElementVNode("div",Go,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(s,m=>e.createElementVNode("div",{key:m.type,class:e.normalizeClass(["type-btn",{active:i.type===m.type}]),onClick:h=>i.type=m.type},[e.createTextVNode(e.toDisplayString(u.value?m.typeEn:m.typeCn)+" ",1),i.type===m.type?(e.openBlock(),e.createElementBlock("div",Yo)):e.createCommentVNode("",!0)],10,zo)),64))])]),e.createElementVNode("div",Xo,[e.createElementVNode("label",jo,e.toDisplayString(u.value?"Country":"国家"),1),e.createElementVNode("div",{class:e.normalizeClass({"search-error-wrap":r.country})},[e.createVNode(Se,{"search-type-list":["Country"],"model-value":a.value,"onUpdate:modelValue":[f[2]||(f[2]=m=>a.value=m),f[3]||(f[3]=m=>r.country="")],style:{margin:"0 auto"},lang:t.lang,placeholder:t.placeholder??(u.value?" Please enter":"请输入")},null,8,["model-value","lang","placeholder"])],2),r.country?(e.openBlock(),e.createElementBlock("div",Zo,e.toDisplayString(r.country),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",en,[e.createElementVNode("button",{class:"confirm-btn",onClick:d},e.toDisplayString(u.value?"Submit":"申请补充"),1)])])])):e.createCommentVNode("",!0)}},je=be(tn,[["__scopeId","data-v-257bbed9"]]),on={class:"global-modal-header-custom"},nn={class:"global-modal-body-custom"},ln={class:"global-modal-footer-custom"},Ze=e.defineComponent({__name:"GlobalModal",setup(t){const o=e.ref(),n=e.ref(!1),l=e.ref({city:"",company:"",email:"",phone:"",name:"",agreement:!1}),s=e.reactive({city:[{required:!0,message:"请输入所在地城市",trigger:"blur"}],company:[{required:!0,message:"请输入公司名称",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入有效的邮箱地址",trigger:"blur"}],agreement:[{validator:(u,c,d)=>{c?d():d(new Error("请同意隐私政策"))},trigger:"change"}]}),a=()=>{n.value=!1,R.emitter.emit(R.MODAL_ACTION.Close,void 0),o.value?.resetFields()},r=async()=>{o.value&&await o.value.validate(u=>{u&&(R.emitter.emit(R.MODAL_ACTION.Submit,l.value),a(),l.value={city:"",company:"",email:"",phone:"",name:"",agreement:!1})})},i=u=>{n.value=!0};return e.onMounted(()=>{R.emitter.on(R.MODAL_ACTION.Open,i)}),e.onUnmounted(()=>{R.emitter.off(R.MODAL_ACTION.Open,i)}),(u,c)=>(e.openBlock(),e.createBlock(e.unref(B.ElDialog),{modelValue:n.value,"onUpdate:modelValue":c[7]||(c[7]=d=>n.value=d),"before-close":a,"show-close":!1,"close-on-click-modal":!0,width:500,class:"global-modal-custom"},{header:e.withCtx(()=>[e.createElementVNode("div",on,[c[9]||(c[9]=e.createElementVNode("h2",null,"即刻链接全球货代",-1)),e.createVNode(e.unref(B.ElButton),{link:"",onClick:a,class:"close-button-custom","aria-label":"Close"},{default:e.withCtx(()=>[...c[8]||(c[8]=[e.createElementVNode("span",{style:{"font-size":"2rem"}},"×",-1)])]),_:1})])]),footer:e.withCtx(()=>[e.createElementVNode("div",ln,[e.createVNode(e.unref(B.ElButton),{type:"primary",class:"submit-button-custom",onClick:r},{default:e.withCtx(()=>[...c[11]||(c[11]=[e.createTextVNode(" 加入会员 ",-1)])]),_:1})])]),default:e.withCtx(()=>[e.createElementVNode("div",nn,[e.createVNode(e.unref(B.ElForm),{model:l.value,rules:s,ref_key:"formRef",ref:o,"label-position":"top",onSubmit:c[6]||(c[6]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElRow),{gutter:20},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElCol),{span:12},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElFormItem),{label:"所在地(城市)",prop:"city"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElInput),{modelValue:l.value.city,"onUpdate:modelValue":c[0]||(c[0]=d=>l.value.city=d),placeholder:"请输入城市"},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(e.unref(B.ElCol),{span:12},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElFormItem),{label:"公司名称",prop:"company"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElInput),{modelValue:l.value.company,"onUpdate:modelValue":c[1]||(c[1]=d=>l.value.company=d),placeholder:"请输入公司名称"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e.createVNode(e.unref(B.ElRow),{gutter:20},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElCol),{span:12},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElFormItem),{label:"邮箱",prop:"email"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElInput),{modelValue:l.value.email,"onUpdate:modelValue":c[2]||(c[2]=d=>l.value.email=d),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(e.unref(B.ElCol),{span:12},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElFormItem),{label:"电话",prop:"phone"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElInput),{modelValue:l.value.phone,"onUpdate:modelValue":c[3]||(c[3]=d=>l.value.phone=d),placeholder:"请输入电话"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e.createVNode(e.unref(B.ElRow),null,{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElCol),{span:24},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElFormItem),{label:"姓名",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElInput),{modelValue:l.value.name,"onUpdate:modelValue":c[4]||(c[4]=d=>l.value.name=d),placeholder:"请输入您的全名"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e.createVNode(e.unref(B.ElFormItem),{prop:"agreement",class:"agreement-item"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElCheckbox),{modelValue:l.value.agreement,"onUpdate:modelValue":c[5]||(c[5]=d=>l.value.agreement=d),label:"我同意"},null,8,["modelValue"]),c[10]||(c[10]=e.createElementVNode("a",{href:"#",class:"privacy-link"},"隐私政策",-1))]),_:1})]),_:1},8,["model","rules"])])]),_:1},8,["modelValue"]))}});function sn(t){const o=e.ref([]),n="_search_history_cache",l=typeof window<"u"&&typeof localStorage<"u",s=e.computed(()=>(t.value||"")+n),a=e.computed(()=>!!t.value&&t.value!==""),r=u=>{if(!u||!l)return;const c=o.value.filter(p=>p.id&&p.id!==u.id||p.display!==u.display);c.unshift(u);const d=c.slice(0,4);if(a.value){o.value=d;try{localStorage.setItem(s.value,JSON.stringify(d))}catch(p){console.warn("LocalStorage save failed:",p)}}},i=()=>{o.value=[],l&&localStorage.removeItem(s.value)};return e.onMounted(()=>{if(l&&a.value){const u=localStorage.getItem(s.value);if(u)try{o.value=JSON.parse(u)}catch{o.value=[]}}}),{searchHistory:o,saveToHistory:r,clearHistory:i,HasHistory:a}}async function rn(t,o=["Continent","Country","City","Seaport","Airport"],n={}){return R.locationSearchV2.searchByName({keyword:t,displayInfo:o,...n})}function an(t,o){const n=e.ref([]),l=e.ref(!1),s=e.ref(!1),a=e.ref(!1),r=e.ref(1),i=10,u=e.ref(0),c=e.computed(()=>{const f=[...o.value];return f.includes("Country")&&!f.includes("Region")&&f.push("Region"),f}),d=f=>Array.isArray(f)?f.filter(m=>c.value.includes(m.type)):[];return{searchResults:n,loading:l,isFetchingMore:s,isFinished:a,fetchData:async(f=!1)=>{const m=t.value.trim();if(!m){n.value=[],u.value=0,a.value=!1;return}if(f){if(s.value||a.value)return;s.value=!0,r.value+=1}else{if(l.value)return;l.value=!0,r.value=1,a.value=!1}try{const h=await rn(m,o.value,{current:r.value,size:i}),g=d(h.records||[]);f?n.value.push(...g):n.value=g,u.value=h.total||0,(n.value.length>=u.value||g.length<i)&&(a.value=!0)}catch(h){console.error("Search request failed:",h),f&&(r.value-=1)}finally{l.value=!1,s.value=!1}}}}const cn={class:"h5-search-container"},un={class:"trigger-content"},dn=["src"],fn={class:"placeholder-text"},mn={key:0,class:"selected-count"},pn={key:1,class:"selected-val"},hn={key:2,class:"placeholder-gray"},vn={key:0,class:"h5-modal-root"},gn={class:"h5-drawer-card"},yn={class:"h5-header"},An={class:"h5-input-wrapper"},wn=["src"],Cn=["placeholder"],xn={key:0,class:"h5-spinner-box"},En={key:1,class:"h5-section"},kn={class:"h5-section-hd"},Vn={class:"h5-history-grid"},bn=["onClick"],Sn={key:2,class:"h5-result-list"},Nn=["onClick"],Bn={class:"item-info"},Rn={class:"item-name"},Dn={key:0,class:"item-sub"},On={class:"h5-load-status"},_n={key:1,class:"no-more"},Tn={key:3,class:"h5-empty"},Ln=e.defineComponent({__name:"index",props:{modelValue:{},multiple:{type:Boolean,default:!1},lang:{default:"zh-CN"},placeholder:{},historyKey:{}},emits:["update:modelValue","select"],setup(t,{emit:o}){const n=t,l=o,s=e.ref(!1),a=e.ref(""),r=e.ref(null),i=e.ref(null);let u=null;const{searchHistory:c,saveToHistory:d,clearHistory:p}=sn(e.toRef(n,"historyKey")),{searchResults:f,loading:m,isFetchingMore:h,isFinished:g,fetchData:y}=an(a,e.ref(["City","Seaport","Airport"])),v=e.computed(()=>n.lang.includes("en")),w=e.computed(()=>Array.isArray(n.modelValue)?n.modelValue:n.modelValue?[n.modelValue]:[]),C=e.computed(()=>!n.multiple&&!!n.modelValue),b=e.computed(()=>C.value?D(n.modelValue):""),S=e.computed(()=>w.value.length>0),F=()=>{s.value=!0,e.nextTick(()=>{r.value?.focus()})},O=()=>{s.value=!1,a.value=""},L=k=>{d(k),n.multiple?w.value.some(x=>x.id===k.id)||l("update:modelValue",[...w.value,k]):(l("update:modelValue",k),O()),l("select",k)},P=()=>{l("update:modelValue",n.multiple?[]:null)},_=e.ref(!1),q=k=>{const E=k.target;if(!E)return;E.scrollTop+E.clientHeight>=E.scrollHeight-80&&a.value&&!m.value&&!h.value&&!g.value&&!_.value&&(_.value=!0,y(!0))};e.watch(h,k=>{k||(_.value=!1)});const $=()=>{u&&clearTimeout(u),u=setTimeout(()=>{_.value=!1,i.value?.scrollTo({top:0}),console.log("🍉 ~ index.vue:279 ~ onInput ~ fetchData:",y),y(!1)},300)},D=k=>v.value?k.displayEn||k.display:k.displayCn||k.display,H=k=>{const E={City:"城市",Seaport:"港口",Airport:"机场"};return v.value?k:E[k]||k},X=k=>w.value.some(E=>E.id===k.id);return(k,E)=>(e.openBlock(),e.createElementBlock("div",cn,[e.createElementVNode("div",{class:"search-trigger",onClick:F},[e.createElementVNode("div",un,[e.createElementVNode("img",{src:e.unref(Ce),class:"search-icon-m"},null,8,dn),e.createElementVNode("div",fn,[t.multiple&&w.value.length>0?(e.openBlock(),e.createElementBlock("span",mn,e.toDisplayString(v.value?"Selected":"已选")+" ("+e.toDisplayString(w.value.length)+")",1)):!t.multiple&&C.value?(e.openBlock(),e.createElementBlock("span",pn,e.toDisplayString(b.value),1)):(e.openBlock(),e.createElementBlock("span",hn,e.toDisplayString(t.placeholder||(v.value?"Search":"搜索")),1))])]),S.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"clear-trigger",onClick:e.withModifiers(P,["stop"])},"ⓧ")):e.createCommentVNode("",!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[s.value?(e.openBlock(),e.createElementBlock("div",vn,[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"h5-mask",onClick:O})]),_:1}),e.createVNode(e.Transition,{name:"slide-up"},{default:e.withCtx(()=>[e.createElementVNode("div",gn,[e.createElementVNode("div",{class:"drawer-handle",onClick:O}),e.createElementVNode("div",yn,[e.createElementVNode("div",An,[e.createElementVNode("img",{src:e.unref(Ce),class:"inner-icon"},null,8,wn),e.withDirectives(e.createElementVNode("input",{ref_key:"inputRef",ref:r,"onUpdate:modelValue":E[0]||(E[0]=x=>a.value=x),placeholder:v.value?"City/Port/Airport":"搜索城市/港口/机场",onInput:$},null,40,Cn),[[e.vModelText,a.value]]),a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"h5-clear-btn",onClick:E[1]||(E[1]=x=>a.value="")}," ✕ ")):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"h5-cancel-btn",onClick:O},e.toDisplayString(v.value?"Cancel":"取消"),1)]),e.createElementVNode("div",{class:"h5-main-content",ref_key:"scrollContainer",ref:i,onScroll:q},[e.unref(m)&&!e.unref(h)?(e.openBlock(),e.createElementBlock("div",xn,[...E[3]||(E[3]=[e.createElementVNode("div",{class:"h5-spinner"},null,-1)])])):e.createCommentVNode("",!0),!a.value&&e.unref(c).length>0?(e.openBlock(),e.createElementBlock("div",En,[e.createElementVNode("div",kn,[e.createElementVNode("span",null,e.toDisplayString(v.value?"Recent":"最近搜索"),1),e.createElementVNode("span",{class:"h5-clear-history",onClick:E[2]||(E[2]=(...x)=>e.unref(p)&&e.unref(p)(...x))},e.toDisplayString(v.value?"Clear":"清空"),1)]),e.createElementVNode("div",Vn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(c),(x,T)=>(e.openBlock(),e.createElementBlock("div",{key:T,class:"h5-history-tag",onClick:le=>L(x)},e.toDisplayString(D(x)),9,bn))),128))])])):e.createCommentVNode("",!0),e.unref(f).length>0?(e.openBlock(),e.createElementBlock("div",Sn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),(x,T)=>(e.openBlock(),e.createElementBlock("div",{key:T,class:e.normalizeClass(["h5-result-item",{"is-active":X(x)}]),onClick:le=>L(x)},[e.createElementVNode("div",{class:e.normalizeClass(["item-type",x.type.toLowerCase()])},e.toDisplayString(H(x.type)),3),e.createElementVNode("div",Bn,[e.createElementVNode("div",Rn,e.toDisplayString(D(x)),1),x.parentName?(e.openBlock(),e.createElementBlock("div",Dn,e.toDisplayString(x.parentName),1)):e.createCommentVNode("",!0)])],10,Nn))),128)),e.createElementVNode("div",On,[e.unref(h)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[E[4]||(E[4]=e.createElementVNode("div",{class:"mini-spinner"},null,-1)),e.createElementVNode("span",null,e.toDisplayString(v.value?"Loading...":"加载中..."),1)],64)):e.unref(g)&&a.value?(e.openBlock(),e.createElementBlock("span",_n,e.toDisplayString(v.value?"No more results":"没有更多结果了"),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),a.value&&!e.unref(m)&&e.unref(f).length===0?(e.openBlock(),e.createElementBlock("div",Tn,e.toDisplayString(v.value?"No Results Found":"未找到相关结果"),1)):e.createCommentVNode("",!0)],544)])]),_:1})])):e.createCommentVNode("",!0)]))]))}}),et=be(Ln,[["__scopeId","data-v-95bd2748"]]);let Mn={open(){R.emitter.emit(R.MODAL_ACTION.Open)},close(){R.emitter.emit(R.MODAL_ACTION.Close)},onSubmit(t){R.emitter.on(R.MODAL_ACTION.Submit,t)}};function In(){let t=!1;return{install(o){if(typeof window<"u"&&!t){const n=document.createElement("div");n.setAttribute("id","global-modal-root"),document.body.appendChild(n),e.createApp(Ze).mount(n),t=!0}o.config.globalProperties.$globalModal=Mn}}}const Pe={ApplyDataDialog:je,JcSearch:Se,JCMSearch:et};let He=!1;const Fn={install(t,o){if(!He){He=!0,o?.sharedConfig&&R.initSharedConfig(o.sharedConfig);for(const n in Pe)t.component(n,Pe[n])}}};Object.defineProperty(exports,"MODAL_ACTION",{enumerable:!0,get:()=>R.MODAL_ACTION});Object.defineProperty(exports,"emitter",{enumerable:!0,get:()=>R.emitter});Object.defineProperty(exports,"initSharedConfig",{enumerable:!0,get:()=>R.initSharedConfig});exports.ApplyDataDialog=je;exports.GlobalModal=Ze;exports.JCMSearch=et;exports.JcSearch=Se;exports.createGlobalModalPlugin=In;exports.default=Fn;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),R=require("@jctrans-materials/shared"),B=require("element-plus");function it(t){const n=e.ref([]),o="_search_history_cache",l=typeof window<"u"&&typeof localStorage<"u",r=e.computed(()=>(t.value||"")+o),a=e.computed(()=>!!t.value&&t.value!==""),s=u=>{if(!u||!l)return;const i=n.value.filter(m=>m.id&&m.id!==u.id||m.display!==u.display);i.unshift(u);const d=i.slice(0,4);if(a.value){n.value=d;try{localStorage.setItem(r.value,JSON.stringify(d))}catch(m){console.warn("LocalStorage save failed:",m)}}},c=()=>{n.value=[],l&&localStorage.removeItem(r.value)};return e.onMounted(()=>{if(l&&a.value){const u=localStorage.getItem(r.value);if(u)try{n.value=JSON.parse(u)}catch{n.value=[]}}}),{searchHistory:n,saveToHistory:s,clearHistory:c,HasHistory:a}}async function ct(t,n=["Continent","Country","City","Seaport","Airport"],o={}){return R.locationSearchV2.searchByName({keyword:t,displayInfo:n,...o})}const De=(t,n)=>R.locationSearchV2.searchByIdWithType(t,n);function ut(t,n){const o=e.ref([]),l=e.ref(!1),r=e.ref(!1),a=e.ref(1),s=e.ref(0),c=e.ref(10),u=e.computed(()=>s.value===0?!1:o.value.length>=s.value),i=e.computed(()=>{const f=[...n.value];return f.includes("Country")&&!f.includes("Region")&&f.push("Region"),f}),d=f=>!f||!Array.isArray(f)?[]:f.filter(p=>i.value.includes(p.type));return{searchResults:o,loading:l,isFetchingMore:r,isFinished:u,currentPage:a,total:s,fetchData:async(f=1,p=!1)=>{if(!t.value.trim()&&!p){o.value=[],s.value=0;return}if(!(p&&(r.value||u.value))&&!(!p&&l.value)){p?r.value=!0:(l.value=!0,a.value=1);try{const h=await ct(t.value,n.value,{current:f,size:c.value}),y=h.records||[],A=d(y);p?o.value=[...o.value,...A]:o.value=A,s.value=h.total||0,a.value=f}catch(h){console.error("Failed to fetch search results:",h)}finally{l.value=!1,r.value=!1}}},filterByTypes:d}}const ne=Math.min,M=Math.max,fe=Math.round,de=Math.floor,q=t=>({x:t,y:t}),dt={left:"right",right:"left",bottom:"top",top:"bottom"},ft={start:"end",end:"start"};function _e(t,n,o){return M(t,ne(n,o))}function ie(t,n){return typeof t=="function"?t(n):t}function Y(t){return t.split("-")[0]}function ce(t){return t.split("-")[1]}function Qe(t){return t==="x"?"y":"x"}function $e(t){return t==="y"?"height":"width"}const mt=new Set(["top","bottom"]);function z(t){return mt.has(Y(t))?"y":"x"}function Je(t){return Qe(z(t))}function pt(t,n,o){o===void 0&&(o=!1);const l=ce(t),r=Je(t),a=$e(r);let s=r==="x"?l===(o?"end":"start")?"right":"left":l==="start"?"bottom":"top";return n.reference[a]>n.floating[a]&&(s=me(s)),[s,me(s)]}function ht(t){const n=me(t);return[we(t),n,we(n)]}function we(t){return t.replace(/start|end/g,n=>ft[n])}const Oe=["left","right"],Te=["right","left"],vt=["top","bottom"],gt=["bottom","top"];function yt(t,n,o){switch(t){case"top":case"bottom":return o?n?Te:Oe:n?Oe:Te;case"left":case"right":return n?vt:gt;default:return[]}}function At(t,n,o,l){const r=ce(t);let a=yt(Y(t),o==="start",l);return r&&(a=a.map(s=>s+"-"+r),n&&(a=a.concat(a.map(we)))),a}function me(t){return t.replace(/left|right|bottom|top/g,n=>dt[n])}function wt(t){return{top:0,right:0,bottom:0,left:0,...t}}function Ct(t){return typeof t!="number"?wt(t):{top:t,right:t,bottom:t,left:t}}function pe(t){const{x:n,y:o,width:l,height:r}=t;return{width:l,height:r,top:o,left:n,right:n+l,bottom:o+r,x:n,y:o}}function Le(t,n,o){let{reference:l,floating:r}=t;const a=z(n),s=Je(n),c=$e(s),u=Y(n),i=a==="y",d=l.x+l.width/2-r.width/2,m=l.y+l.height/2-r.height/2,f=l[c]/2-r[c]/2;let p;switch(u){case"top":p={x:d,y:l.y-r.height};break;case"bottom":p={x:d,y:l.y+l.height};break;case"right":p={x:l.x+l.width,y:m};break;case"left":p={x:l.x-r.width,y:m};break;default:p={x:l.x,y:l.y}}switch(ce(n)){case"start":p[s]-=f*(o&&i?-1:1);break;case"end":p[s]+=f*(o&&i?-1:1);break}return p}const xt=async(t,n,o)=>{const{placement:l="bottom",strategy:r="absolute",middleware:a=[],platform:s}=o,c=a.filter(Boolean),u=await(s.isRTL==null?void 0:s.isRTL(n));let i=await s.getElementRects({reference:t,floating:n,strategy:r}),{x:d,y:m}=Le(i,l,u),f=l,p={},h=0;for(let y=0;y<c.length;y++){const{name:A,fn:v}=c[y],{x:C,y:k,data:S,reset:b}=await v({x:d,y:m,initialPlacement:l,placement:f,strategy:r,middlewareData:p,rects:i,platform:s,elements:{reference:t,floating:n}});d=C??d,m=k??m,p={...p,[A]:{...p[A],...S}},b&&h<=50&&(h++,typeof b=="object"&&(b.placement&&(f=b.placement),b.rects&&(i=b.rects===!0?await s.getElementRects({reference:t,floating:n,strategy:r}):b.rects),{x:d,y:m}=Le(i,f,u)),y=-1)}return{x:d,y:m,placement:f,strategy:r,middlewareData:p}};async function ke(t,n){var o;n===void 0&&(n={});const{x:l,y:r,platform:a,rects:s,elements:c,strategy:u}=t,{boundary:i="clippingAncestors",rootBoundary:d="viewport",elementContext:m="floating",altBoundary:f=!1,padding:p=0}=ie(n,t),h=Ct(p),A=c[f?m==="floating"?"reference":"floating":m],v=pe(await a.getClippingRect({element:(o=await(a.isElement==null?void 0:a.isElement(A)))==null||o?A:A.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(c.floating)),boundary:i,rootBoundary:d,strategy:u})),C=m==="floating"?{x:l,y:r,width:s.floating.width,height:s.floating.height}:s.reference,k=await(a.getOffsetParent==null?void 0:a.getOffsetParent(c.floating)),S=await(a.isElement==null?void 0:a.isElement(k))?await(a.getScale==null?void 0:a.getScale(k))||{x:1,y:1}:{x:1,y:1},b=pe(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:C,offsetParent:k,strategy:u}):C);return{top:(v.top-b.top+h.top)/S.y,bottom:(b.bottom-v.bottom+h.bottom)/S.y,left:(v.left-b.left+h.left)/S.x,right:(b.right-v.right+h.right)/S.x}}const kt=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(n){var o,l;const{placement:r,middlewareData:a,rects:s,initialPlacement:c,platform:u,elements:i}=n,{mainAxis:d=!0,crossAxis:m=!0,fallbackPlacements:f,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:h="none",flipAlignment:y=!0,...A}=ie(t,n);if((o=a.arrow)!=null&&o.alignmentOffset)return{};const v=Y(r),C=z(c),k=Y(c)===c,S=await(u.isRTL==null?void 0:u.isRTL(i.floating)),b=f||(k||!y?[me(c)]:ht(c)),F=h!=="none";!f&&F&&b.push(...At(c,y,h,S));const _=[c,...b],L=await ke(n,A),P=[];let O=((l=a.flip)==null?void 0:l.overflows)||[];if(d&&P.push(L[v]),m){const U=pt(r,s,S);P.push(L[U[0]],L[U[1]])}if(O=[...O,{placement:r,overflows:P}],!P.every(U=>U<=0)){var G,$;const U=(((G=a.flip)==null?void 0:G.index)||0)+1,X=_[U];if(X&&(!(m==="alignment"?C!==z(X):!1)||O.every(V=>z(V.placement)===C?V.overflows[0]>0:!0)))return{data:{index:U,overflows:O},reset:{placement:X}};let x=($=O.filter(E=>E.overflows[0]<=0).sort((E,V)=>E.overflows[1]-V.overflows[1])[0])==null?void 0:$.placement;if(!x)switch(p){case"bestFit":{var D;const E=(D=O.filter(V=>{if(F){const T=z(V.placement);return T===C||T==="y"}return!0}).map(V=>[V.placement,V.overflows.filter(T=>T>0).reduce((T,re)=>T+re,0)]).sort((V,T)=>V[1]-T[1])[0])==null?void 0:D[0];E&&(x=E);break}case"initialPlacement":x=c;break}if(r!==x)return{reset:{placement:x}}}return{}}}},Et=new Set(["left","top"]);async function Vt(t,n){const{placement:o,platform:l,elements:r}=t,a=await(l.isRTL==null?void 0:l.isRTL(r.floating)),s=Y(o),c=ce(o),u=z(o)==="y",i=Et.has(s)?-1:1,d=a&&u?-1:1,m=ie(n,t);let{mainAxis:f,crossAxis:p,alignmentAxis:h}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return c&&typeof h=="number"&&(p=c==="end"?h*-1:h),u?{x:p*d,y:f*i}:{x:f*i,y:p*d}}const St=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(n){var o,l;const{x:r,y:a,placement:s,middlewareData:c}=n,u=await Vt(n,t);return s===((o=c.offset)==null?void 0:o.placement)&&(l=c.arrow)!=null&&l.alignmentOffset?{}:{x:r+u.x,y:a+u.y,data:{...u,placement:s}}}}},bt=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(n){const{x:o,y:l,placement:r}=n,{mainAxis:a=!0,crossAxis:s=!1,limiter:c={fn:A=>{let{x:v,y:C}=A;return{x:v,y:C}}},...u}=ie(t,n),i={x:o,y:l},d=await ke(n,u),m=z(Y(r)),f=Qe(m);let p=i[f],h=i[m];if(a){const A=f==="y"?"top":"left",v=f==="y"?"bottom":"right",C=p+d[A],k=p-d[v];p=_e(C,p,k)}if(s){const A=m==="y"?"top":"left",v=m==="y"?"bottom":"right",C=h+d[A],k=h-d[v];h=_e(C,h,k)}const y=c.fn({...n,[f]:p,[m]:h});return{...y,data:{x:y.x-o,y:y.y-l,enabled:{[f]:a,[m]:s}}}}}},Nt=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(n){var o,l;const{placement:r,rects:a,platform:s,elements:c}=n,{apply:u=()=>{},...i}=ie(t,n),d=await ke(n,i),m=Y(r),f=ce(r),p=z(r)==="y",{width:h,height:y}=a.floating;let A,v;m==="top"||m==="bottom"?(A=m,v=f===(await(s.isRTL==null?void 0:s.isRTL(c.floating))?"start":"end")?"left":"right"):(v=m,A=f==="end"?"top":"bottom");const C=y-d.top-d.bottom,k=h-d.left-d.right,S=ne(y-d[A],C),b=ne(h-d[v],k),F=!n.middlewareData.shift;let _=S,L=b;if((o=n.middlewareData.shift)!=null&&o.enabled.x&&(L=k),(l=n.middlewareData.shift)!=null&&l.enabled.y&&(_=C),F&&!f){const O=M(d.left,0),G=M(d.right,0),$=M(d.top,0),D=M(d.bottom,0);p?L=h-2*(O!==0||G!==0?O+G:M(d.left,d.right)):_=y-2*($!==0||D!==0?$+D:M(d.top,d.bottom))}await u({...n,availableWidth:L,availableHeight:_});const P=await s.getDimensions(c.floating);return h!==P.width||y!==P.height?{reset:{rects:!0}}:{}}}};function he(){return typeof window<"u"}function le(t){return qe(t)?(t.nodeName||"").toLowerCase():"#document"}function I(t){var n;return(t==null||(n=t.ownerDocument)==null?void 0:n.defaultView)||window}function K(t){var n;return(n=(qe(t)?t.ownerDocument:t.document)||window.document)==null?void 0:n.documentElement}function qe(t){return he()?t instanceof Node||t instanceof I(t).Node:!1}function H(t){return he()?t instanceof Element||t instanceof I(t).Element:!1}function W(t){return he()?t instanceof HTMLElement||t instanceof I(t).HTMLElement:!1}function Me(t){return!he()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof I(t).ShadowRoot}const Bt=new Set(["inline","contents"]);function ue(t){const{overflow:n,overflowX:o,overflowY:l,display:r}=Q(t);return/auto|scroll|overlay|hidden|clip/.test(n+l+o)&&!Bt.has(r)}const Rt=new Set(["table","td","th"]);function Dt(t){return Rt.has(le(t))}const _t=[":popover-open",":modal"];function ve(t){return _t.some(n=>{try{return t.matches(n)}catch{return!1}})}const Ot=["transform","translate","scale","rotate","perspective"],Tt=["transform","translate","scale","rotate","perspective","filter"],Lt=["paint","layout","strict","content"];function Ee(t){const n=Ve(),o=H(t)?Q(t):t;return Ot.some(l=>o[l]?o[l]!=="none":!1)||(o.containerType?o.containerType!=="normal":!1)||!n&&(o.backdropFilter?o.backdropFilter!=="none":!1)||!n&&(o.filter?o.filter!=="none":!1)||Tt.some(l=>(o.willChange||"").includes(l))||Lt.some(l=>(o.contain||"").includes(l))}function Mt(t){let n=j(t);for(;W(n)&&!oe(n);){if(Ee(n))return n;if(ve(n))return null;n=j(n)}return null}function Ve(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const It=new Set(["html","body","#document"]);function oe(t){return It.has(le(t))}function Q(t){return I(t).getComputedStyle(t)}function ge(t){return H(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function j(t){if(le(t)==="html")return t;const n=t.assignedSlot||t.parentNode||Me(t)&&t.host||K(t);return Me(n)?n.host:n}function We(t){const n=j(t);return oe(n)?t.ownerDocument?t.ownerDocument.body:t.body:W(n)&&ue(n)?n:We(n)}function ae(t,n,o){var l;n===void 0&&(n=[]),o===void 0&&(o=!0);const r=We(t),a=r===((l=t.ownerDocument)==null?void 0:l.body),s=I(r);if(a){const c=Ce(s);return n.concat(s,s.visualViewport||[],ue(r)?r:[],c&&o?ae(c):[])}return n.concat(r,ae(r,[],o))}function Ce(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Ke(t){const n=Q(t);let o=parseFloat(n.width)||0,l=parseFloat(n.height)||0;const r=W(t),a=r?t.offsetWidth:o,s=r?t.offsetHeight:l,c=fe(o)!==a||fe(l)!==s;return c&&(o=a,l=s),{width:o,height:l,$:c}}function Se(t){return H(t)?t:t.contextElement}function te(t){const n=Se(t);if(!W(n))return q(1);const o=n.getBoundingClientRect(),{width:l,height:r,$:a}=Ke(n);let s=(a?fe(o.width):o.width)/l,c=(a?fe(o.height):o.height)/r;return(!s||!Number.isFinite(s))&&(s=1),(!c||!Number.isFinite(c))&&(c=1),{x:s,y:c}}const Ft=q(0);function Ge(t){const n=I(t);return!Ve()||!n.visualViewport?Ft:{x:n.visualViewport.offsetLeft,y:n.visualViewport.offsetTop}}function Pt(t,n,o){return n===void 0&&(n=!1),!o||n&&o!==I(t)?!1:n}function Z(t,n,o,l){n===void 0&&(n=!1),o===void 0&&(o=!1);const r=t.getBoundingClientRect(),a=Se(t);let s=q(1);n&&(l?H(l)&&(s=te(l)):s=te(t));const c=Pt(a,o,l)?Ge(a):q(0);let u=(r.left+c.x)/s.x,i=(r.top+c.y)/s.y,d=r.width/s.x,m=r.height/s.y;if(a){const f=I(a),p=l&&H(l)?I(l):l;let h=f,y=Ce(h);for(;y&&l&&p!==h;){const A=te(y),v=y.getBoundingClientRect(),C=Q(y),k=v.left+(y.clientLeft+parseFloat(C.paddingLeft))*A.x,S=v.top+(y.clientTop+parseFloat(C.paddingTop))*A.y;u*=A.x,i*=A.y,d*=A.x,m*=A.y,u+=k,i+=S,h=I(y),y=Ce(h)}}return pe({width:d,height:m,x:u,y:i})}function ye(t,n){const o=ge(t).scrollLeft;return n?n.left+o:Z(K(t)).left+o}function ze(t,n){const o=t.getBoundingClientRect(),l=o.left+n.scrollLeft-ye(t,o),r=o.top+n.scrollTop;return{x:l,y:r}}function Ut(t){let{elements:n,rect:o,offsetParent:l,strategy:r}=t;const a=r==="fixed",s=K(l),c=n?ve(n.floating):!1;if(l===s||c&&a)return o;let u={scrollLeft:0,scrollTop:0},i=q(1);const d=q(0),m=W(l);if((m||!m&&!a)&&((le(l)!=="body"||ue(s))&&(u=ge(l)),W(l))){const p=Z(l);i=te(l),d.x=p.x+l.clientLeft,d.y=p.y+l.clientTop}const f=s&&!m&&!a?ze(s,u):q(0);return{width:o.width*i.x,height:o.height*i.y,x:o.x*i.x-u.scrollLeft*i.x+d.x+f.x,y:o.y*i.y-u.scrollTop*i.y+d.y+f.y}}function Ht(t){return Array.from(t.getClientRects())}function Qt(t){const n=K(t),o=ge(t),l=t.ownerDocument.body,r=M(n.scrollWidth,n.clientWidth,l.scrollWidth,l.clientWidth),a=M(n.scrollHeight,n.clientHeight,l.scrollHeight,l.clientHeight);let s=-o.scrollLeft+ye(t);const c=-o.scrollTop;return Q(l).direction==="rtl"&&(s+=M(n.clientWidth,l.clientWidth)-r),{width:r,height:a,x:s,y:c}}const Ie=25;function $t(t,n){const o=I(t),l=K(t),r=o.visualViewport;let a=l.clientWidth,s=l.clientHeight,c=0,u=0;if(r){a=r.width,s=r.height;const d=Ve();(!d||d&&n==="fixed")&&(c=r.offsetLeft,u=r.offsetTop)}const i=ye(l);if(i<=0){const d=l.ownerDocument,m=d.body,f=getComputedStyle(m),p=d.compatMode==="CSS1Compat"&&parseFloat(f.marginLeft)+parseFloat(f.marginRight)||0,h=Math.abs(l.clientWidth-m.clientWidth-p);h<=Ie&&(a-=h)}else i<=Ie&&(a+=i);return{width:a,height:s,x:c,y:u}}const Jt=new Set(["absolute","fixed"]);function qt(t,n){const o=Z(t,!0,n==="fixed"),l=o.top+t.clientTop,r=o.left+t.clientLeft,a=W(t)?te(t):q(1),s=t.clientWidth*a.x,c=t.clientHeight*a.y,u=r*a.x,i=l*a.y;return{width:s,height:c,x:u,y:i}}function Fe(t,n,o){let l;if(n==="viewport")l=$t(t,o);else if(n==="document")l=Qt(K(t));else if(H(n))l=qt(n,o);else{const r=Ge(t);l={x:n.x-r.x,y:n.y-r.y,width:n.width,height:n.height}}return pe(l)}function Ye(t,n){const o=j(t);return o===n||!H(o)||oe(o)?!1:Q(o).position==="fixed"||Ye(o,n)}function Wt(t,n){const o=n.get(t);if(o)return o;let l=ae(t,[],!1).filter(c=>H(c)&&le(c)!=="body"),r=null;const a=Q(t).position==="fixed";let s=a?j(t):t;for(;H(s)&&!oe(s);){const c=Q(s),u=Ee(s);!u&&c.position==="fixed"&&(r=null),(a?!u&&!r:!u&&c.position==="static"&&!!r&&Jt.has(r.position)||ue(s)&&!u&&Ye(t,s))?l=l.filter(d=>d!==s):r=c,s=j(s)}return n.set(t,l),l}function Kt(t){let{element:n,boundary:o,rootBoundary:l,strategy:r}=t;const s=[...o==="clippingAncestors"?ve(n)?[]:Wt(n,this._c):[].concat(o),l],c=s[0],u=s.reduce((i,d)=>{const m=Fe(n,d,r);return i.top=M(m.top,i.top),i.right=ne(m.right,i.right),i.bottom=ne(m.bottom,i.bottom),i.left=M(m.left,i.left),i},Fe(n,c,r));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}}function Gt(t){const{width:n,height:o}=Ke(t);return{width:n,height:o}}function zt(t,n,o){const l=W(n),r=K(n),a=o==="fixed",s=Z(t,!0,a,n);let c={scrollLeft:0,scrollTop:0};const u=q(0);function i(){u.x=ye(r)}if(l||!l&&!a)if((le(n)!=="body"||ue(r))&&(c=ge(n)),l){const p=Z(n,!0,a,n);u.x=p.x+n.clientLeft,u.y=p.y+n.clientTop}else r&&i();a&&!l&&r&&i();const d=r&&!l&&!a?ze(r,c):q(0),m=s.left+c.scrollLeft-u.x-d.x,f=s.top+c.scrollTop-u.y-d.y;return{x:m,y:f,width:s.width,height:s.height}}function Ae(t){return Q(t).position==="static"}function Pe(t,n){if(!W(t)||Q(t).position==="fixed")return null;if(n)return n(t);let o=t.offsetParent;return K(t)===o&&(o=o.ownerDocument.body),o}function je(t,n){const o=I(t);if(ve(t))return o;if(!W(t)){let r=j(t);for(;r&&!oe(r);){if(H(r)&&!Ae(r))return r;r=j(r)}return o}let l=Pe(t,n);for(;l&&Dt(l)&&Ae(l);)l=Pe(l,n);return l&&oe(l)&&Ae(l)&&!Ee(l)?o:l||Mt(t)||o}const Yt=async function(t){const n=this.getOffsetParent||je,o=this.getDimensions,l=await o(t.floating);return{reference:zt(t.reference,await n(t.floating),t.strategy),floating:{x:0,y:0,width:l.width,height:l.height}}};function jt(t){return Q(t).direction==="rtl"}const Xt={convertOffsetParentRelativeRectToViewportRelativeRect:Ut,getDocumentElement:K,getClippingRect:Kt,getOffsetParent:je,getElementRects:Yt,getClientRects:Ht,getDimensions:Gt,getScale:te,isElement:H,isRTL:jt};function Xe(t,n){return t.x===n.x&&t.y===n.y&&t.width===n.width&&t.height===n.height}function Zt(t,n){let o=null,l;const r=K(t);function a(){var c;clearTimeout(l),(c=o)==null||c.disconnect(),o=null}function s(c,u){c===void 0&&(c=!1),u===void 0&&(u=1),a();const i=t.getBoundingClientRect(),{left:d,top:m,width:f,height:p}=i;if(c||n(),!f||!p)return;const h=de(m),y=de(r.clientWidth-(d+f)),A=de(r.clientHeight-(m+p)),v=de(d),k={rootMargin:-h+"px "+-y+"px "+-A+"px "+-v+"px",threshold:M(0,ne(1,u))||1};let S=!0;function b(F){const _=F[0].intersectionRatio;if(_!==u){if(!S)return s();_?s(!1,_):l=setTimeout(()=>{s(!1,1e-7)},1e3)}_===1&&!Xe(i,t.getBoundingClientRect())&&s(),S=!1}try{o=new IntersectionObserver(b,{...k,root:r.ownerDocument})}catch{o=new IntersectionObserver(b,k)}o.observe(t)}return s(!0),a}function en(t,n,o,l){l===void 0&&(l={});const{ancestorScroll:r=!0,ancestorResize:a=!0,elementResize:s=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:u=!1}=l,i=Se(t),d=r||a?[...i?ae(i):[],...ae(n)]:[];d.forEach(v=>{r&&v.addEventListener("scroll",o,{passive:!0}),a&&v.addEventListener("resize",o)});const m=i&&c?Zt(i,o):null;let f=-1,p=null;s&&(p=new ResizeObserver(v=>{let[C]=v;C&&C.target===i&&p&&(p.unobserve(n),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var k;(k=p)==null||k.observe(n)})),o()}),i&&!u&&p.observe(i),p.observe(n));let h,y=u?Z(t):null;u&&A();function A(){const v=Z(t);y&&!Xe(y,v)&&o(),y=v,h=requestAnimationFrame(A)}return o(),()=>{var v;d.forEach(C=>{r&&C.removeEventListener("scroll",o),a&&C.removeEventListener("resize",o)}),m?.(),(v=p)==null||v.disconnect(),p=null,u&&cancelAnimationFrame(h)}}const tn=St,nn=bt,on=kt,ln=Nt,rn=(t,n,o)=>{const l=new Map,r={platform:Xt,...o},a={...r.platform,_c:l};return xt(t,n,{...r,platform:a})};function sn(t,n){const o=e.ref({position:"fixed",left:"0",top:"0",zIndex:3e3});let l=null;const r=()=>{!t.value||!n.value||rn(t.value,n.value,{placement:"bottom-start",strategy:"fixed",middleware:[tn(6),on(),nn({padding:10}),ln({apply({rects:c,elements:u}){const i=`${c.reference.width}px`;Object.assign(u.floating.style,{width:i,minWidth:i,maxWidth:i})}})]}).then(({x:c,y:u})=>{Object.assign(o.value,{left:`${c}px`,top:`${u}px`})})},a=()=>{t.value&&n.value&&(l=en(t.value,n.value,r))},s=()=>{l&&(l(),l=null)};return e.onBeforeUnmount(s),{floatingStyles:o,startTrack:a,stopTrack:s}}const an="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACT0lEQVR4AaRSO2hTYRT+zn9v2g6CiktFJYoVHXQoOljM2EIEh0orbRKa5qUuDoIZAnXI4FBwcRDikMcNkoQMQjcVESo4OASsW2kLBi3oUKiD1OZx7/H811wJZFF6uOee85/H93/3nKtwQPkvgFKpdKRgVR+UrFrOsurX9N3/DJCvVPxMwx+lKcbgKzbstPhwAXSyWK7eLZZrc4VCNZDPPx/Tt+kCrTqvOrQqfuNrc2OcgW0CduQM9TfJyIB5mQy8UaaxKbftFq3qL9HP1KGGFDe+NDdC/jPnlwgcZEM9lRiU2VFjgngI4FGxa0IvZXecU07XPsc2pkCUIULaa2Z2MsJ7Orkw/8kFiMVCb4XWcQV14w8temL4aJNM47Fh0OHEYqieWAyXT/jPBhzmh7o5EY28Rk/cGWSz2a4GSsTCt3tgs5qmDc726sTQvsS6/c0SFDz97lO/329K4z2Amm1u3ZK11SyrOmNC/ZDYSElWiT5R2resymUZ1pIUv2Qa+iafcrrFretDNJwTf94GUnt7u9u6to3hUW09dQEcIC+BR0LxqgztPnFrotd8wWHclNykaR4dYeCngj0IQNyekOQshLas8hmzLyA3B2UTU6l4eEX8Ld8IZsTu+Mg4hj5xGcTj8f1kLPxChjgO0AdWlAOwnkotbImFrHGFGdOy6u82aJAB+kUZywQ6KaH3ou7TcbguziRApiLWOXjiMvAO2iaic3rH6wxe1Wetd+KRNQKEDV9kwisd83QAQCfkr7uUjEUq2vdUgdJQFExEw++8mLa/AQAA//9h0VsEAAAABklEQVQDAKhs6Pxd3K8TAAAAAElFTkSuQmCC",cn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACgUlEQVR4AXRST0hUYRD/zbfbrqahQpAHlQ3dSurYoaBAwWNQkIT7J/ve09DQsOigkNCha4ckl4Lct0/S3QI7REFEBB08FBHRIYLwIJEodOlUurnfNN+6mq9weMPM+818v2/mm1HYQXK5XH02mz9h1fo7pOE/gkwmU+v5+fuGot8phJdWmSLLnl+4I0RV/xIFCGxCdU3DUwaOkULX18Uve1ydrC4xdwLcwRR9bnO2kwQIoCIDEowpXjsZ4vBCSyx+w/Nnb1KElkkwG4OqGhG79QUImEkT0T2JrpZ4fV5sF0Ad6je9BrBKxLeZuVv8rS9IAG4qGf5oTPSolNxIXOyUNjqlpb0W4xI+Cd62dVqcAAGBVqSCVmPMIoPCttzm2MEBAoeLir4hRK2AWPyVIAHRHMH0Ly0tCBF3M5t+Aq6A0HPJSSyCeZAIz7BNAgQwqxNyc1NL7MCoeyH1xNWpuKsTcet7fv46QI0/zdoEtkmAwHGcHyFQj/Q57vuPzm7m+X5efB6HYj3kOCubuLVlApltfdbPX5uaetCmdeKVAqUN1mdy04XR3PTsqAHPWMztTb24myvEBBuRM+WlUnbzDEXeya2D4XC0zrJqnXwsO3pG3mCMGWMK6lQZk2A0hH2GMSxL9VlI6lVkd90RgGKkVFrrc+9REXubjLH9FxfbbVUVGG5v4i2p8LD8x9ax65C66KTfKGCSDc97fv6DJzuf9QtDtm+iqsM1ot70w9O+YDbmSQ6bkkyCJitnAUcnryqmuExgSsZYKypvgFvS+5xVsJk0MGlps97mFCVXpnNZqoBcbo2QyJz7dCLj6JTj6tRxVyf3izZUtNndwM73SU55JzaO4Q8AAAD//54At5MAAAAGSURBVAMAh2IbMAJQAZQAAAAASUVORK5CYII=",un="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACC0lEQVR4AXxRv2tTURT+zk1iIjgoOMShkIJVNwf/gQYULOjQwaGvGl8TBMEMDg4ODgF17likvL4HIYm4OLg61K2CooWKDoKCDoJDHASb9N17POf5Enwk6eN+9/z+3nfvNZjxbYS9ymbYXlQ8CbvnZrRhKoEOFMl9zFHuuaJA/E4Jp5FMJTCwZWner/veCYX6ecQVsRNrKsFE1yGJDMFW1Hm4FXX7hnIvADquvkJ9zYn/U3vw35chYOA2Ebcc26uWbVWwnKKqOak9ktmmYLwyBATkY+d2b63d2FYgps9umNtTX6G18WTqmNRmTNB+djaIOqEpmC+FIn8Lom4vaD89n2lKgwkCebYNsvEnAlXI4CIMXSagTNa9l9p6Ojc2CUEYhiW5oE3IxQH4AYNFeb5qvea9SuB7Vc1J7ReDjomidZ2RWNKysyneFHNFovGgxIiizoWR9BGRqiKw76i0qj2JAo7jtwycJDvY1eQIDNM0lu+OYrUHf/BBbEmI9sTKP2VvNGpvAP4Kc1SVSGb2OlLiVQa+12srr7UrUZA6Lx27e0HUu6PnU/kOXGbwaT1Gq9XKa80xmgTa1hlFQiBP1hNWn4AdOd8DpmLfgnakYV/yv/UF5ipn+qLyvgGp2us6I/V/R+DYPiYenpKbv0Y8mGeLS0OmhYbvLQuWiGkeFkuGBwtrvrdyMKA5nVGCvwAAAP//q4xnOgAAAAZJREFUAwCH2O8KfEWHWQAAAABJRU5ErkJggg==",dn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACmklEQVR4AXRTT0jUQRT+3uyqGxgYeCiy1JAo6JBUp4Q81EEiKKiDa+H+/ENGHgPpZtChQ4EHL+Ku+9t0V7EkQSGPBYGHBIU6RAqt2cFDBw9C+3de3yy7hobDvHm/+d4337x58xuDQ9r4+FRDLJZqG49PtrvvQ2j4TyDmJ7sm/NRqoMpsIYD3RgIL7pvY54lEqvug0J5APB4PxfzUOwFGRWReVJp7I+GjW+nvxxQo0DagOjLhJxcctyK0J6BS/UaAc1nNtXrdnc88rzPtSMPDwwXiM7R2WNwDpMVKzTTKrSRQTq0tq9mOR55XWliOY2wsVQ+RRWZQiyACjiPQ9pg/0+U4JQEoBkXMi4OLmWpdsEZXofY5yYtSzH10HHJHBPYJMZhyhS8X84U5B+y36iaBNPxMr59nPTo9z8uU4jaToL8Yj88eN2xNTG+3r+/BBncMuSLRln1/+iZgdkhEY2NjvfMVo1DarbG20GIqoPMaqL5G38Zb+GBh36roMufpzc3N3xSvi0ZfX6APEYNAg86bjMluCFDr+7OX1JoWQNJed/ipaK6Z6oOi2dbTZ85eVan+YYLBL7yBdRb9IXkha23aPPa8bQBrFoUVqo4qMMU5mOZ2JBKeo98RiwHi8xQ7Qo6vCsdb6e+//4ubgJegLzlmDOQ6i/XKCVQskZg9aaFtRrBGsYytQpQiu+SPOI5xQ2+kK6mQJRJHo8lko8MqxswGhceCzY25mMnLEmOf3Br6f2/BaLaTqhuSl6/xxPRQNDrJehBRrSWxABMaMnmsKfCN9eEfSZS9lAG9O3OmJ9J1C9ABVb1rgoF1PqA/Cokw3k7stgKDvZHwHXcUYqW+J1CacejlcXoi4SvFvD2lRdxAER0s3glirS5Gyr7+FwAA//8Pj6q2AAAABklEQVQDAJPeLlNn5TR8AAAAAElFTkSuQmCC",fn="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABFUlEQVR4AaRQO07DQBCdWe8B4B5IFFyAK9ARkIVNhIQEEiVtJLgABRVRvIBCJBquwBVyDgoaSnuHeZY3MlYcNsnIb8fze6M3hra0XoKJm95N3Nv3EnyhFvb2EgjRJbOMKqmO2tDcvQ5fK+qvl4CJbOn9/CJPP9tArp5sHtP4lc652VXxPL1Z1hRFIOytF1NuTJCfnT4Ms8HjSgJctn1xIt6hxqIkdK+u8U8zT1ESmP5enUkWmqMkhG2FmxXOvR+EGD5KAhoDqsQvtiMXJQGNQJ4N8mF6PMd/wL8SxuOXPSG21pj9p+L1EOjGyAHoQQ0zWGDqx9pbPWIpwqOEkw+gGyMHoAc1ozOkVhOcZyepYndNpDpPvwAAAP//BVQJHAAAAAZJREFUAwDZWL4hub5xHQAAAABJRU5ErkJggg==",xe="data:image/svg+xml,%3csvg%20t='1695277594902'%20fill='%23fff'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='2534'%20width='200'%20height='200'%3e%3cpath%20d='M448%2085.333333a362.666667%20362.666667%200%201%200%20224.512%20647.509334l155.818667%20155.818666a42.666667%2042.666667%200%200%200%2060.330666-60.330666l-155.818666-155.818667A362.666667%20362.666667%200%200%200%20448%2085.333333zM170.666667%20448a277.333333%20277.333333%200%201%201%20554.666666%200%20277.333333%20277.333333%200%200%201-554.666666%200z'%20p-id='2535'%3e%3c/path%3e%3c/svg%3e",mn={class:"search-container"},pn={class:"selection-wrapper"},hn={class:"tag-text"},vn=["onClick"],gn={key:0,class:"search-tag collapse"},yn=["placeholder"],An={class:"suffix-area"},wn={key:1,class:"loading-spinner"},Cn={class:"search-icon"},xn=["src"],kn={key:0,class:"history-section"},En={class:"history-header"},Vn=["onMousedown"],Sn=["src"],bn={class:"type-text"},Nn={class:"result-text"},Bn={key:0,class:"status-msg"},Rn=["onMousedown"],Dn=["src"],_n={class:"type-text"},On={class:"result-text"},Tn={key:0,class:"load-more-msg"},Ln={key:1,class:"load-more-msg no-more"},Mn={key:2,class:"status-msg"},In=e.defineComponent({__name:"index",props:{modelValue:{default:null},multiple:{type:Boolean,default:!1},collapseTags:{type:Boolean,default:!1},searchTypeList:{default:()=>["Continent","Country","Region","City","Seaport","Airport"]},historyKey:{default:void 0},lang:{default:""},placeholder:{},showSearchIcon:{type:Boolean,default:!0},showItemTag:{type:Boolean,default:!0}},emits:["update:modelValue","select","change","submit-search","remove"],setup(t,{emit:n}){const o=t,l=n,r=e.ref(null),a=e.ref(null),s=e.ref(null),c=e.ref(""),u=e.ref(""),i=e.ref(!1),d=e.ref(!1);let m=null;const f=e.computed(()=>o.modelValue?Array.isArray(o.modelValue)?o.modelValue:[o.modelValue]:[]),p=e.computed(()=>o.multiple?o.collapseTags?f.value.slice(0,1):f.value:[]),h=e.computed(()=>c.value||f.value.length>0),y=e.computed(()=>o.multiple?c.value?`${c.value.length*10+20}px`:"10px":"100%"),{searchHistory:A,saveToHistory:v,clearHistory:C}=it(e.toRef(o,"historyKey")),{searchResults:k,loading:S,isFetchingMore:b,isFinished:F,currentPage:_,fetchData:L,filterByTypes:P}=ut(c,e.toRef(o,"searchTypeList")),{floatingStyles:O,startTrack:G,stopTrack:$}=sn(a,s),D=e.computed(()=>{if(o.lang)return o.lang==="en"||o.lang==="en-US";try{if(typeof useCookie=="function"){const g=useCookie("jc-language")?.value;if(g)return/^en(-US)?$/.test(g)}}catch{}if(typeof document<"u"){const g=document.cookie||"";return/(^|;\s*)jc-language=en(-US)?(;|$)/.test(g)}try{if(typeof useNuxtApp=="function"){const N=useNuxtApp()?.ssrContext?.event?.node?.req?.headers?.cookie||"";return/(^|;\s*)jc-language=en(-US)?(;|$)/.test(N)}}catch{}return!1}),U=e.computed(()=>o.multiple&&f.value.length>0?"":i.value&&!o.multiple?u.value:o.placeholder||D.value?"Please enter...":"请输入..."),X=()=>r.value?.focus(),x=g=>{if(v(g),o.multiple){if(!f.value.some(w=>w.id===g.id)){const w=[...f.value,g];l("update:modelValue",w)}c.value=""}else u.value=ee(g),i.value=!0,c.value="",d.value=!1,l("update:modelValue",g);l("select",g)},E=g=>{const N=f.value.filter(w=>w.id!==g.id);l("update:modelValue",N),l("remove",g)},V=()=>{o.multiple&&!c.value&&f.value.length>0&&E(f.value[f.value.length-1])},T=()=>{c.value="",i.value=!1,u.value="",l("update:modelValue",o.multiple?[]:null)},re=async()=>{if(d.value=!0,!o.multiple&&i.value&&k.value.length===0){const g=o.modelValue;if(g?.id){S.value=!0;try{const N=await De(g.id,g.type);k.value=P(N.records)}finally{S.value=!1}}}},nt=()=>setTimeout(()=>d.value=!1,200),ot=g=>{g.target.value===""&&!o.multiple&&T()},lt=()=>{o.multiple?l("submit-search",f.value):i.value&&l("submit-search",o.modelValue),d.value=!1},rt=g=>{const{scrollTop:N,scrollHeight:w,clientHeight:J}=g.target;N+J>=w-20&&!S.value&&!b.value&&!F.value&&c.value&&L(_.value+1,!0)};e.watch(d,g=>{g?G():$()}),e.watch(c,g=>{if(!g.trim()){k.value=[];return}m&&clearTimeout(m),m=setTimeout(()=>L(1,!1),300)}),e.watch(()=>o.modelValue,async(g,N)=>{if(o.multiple||JSON.stringify(g)===JSON.stringify(N)&&i.value)return;const w=g;if(!w){u.value="",i.value=!1;return}if(typeof w=="object")if(w.id&&w.type&&!w.display)try{const se=(await De(w.id,w.type)).records.find(at=>at.id===w.id);se&&(u.value=ee(se),i.value=!0)}catch(J){console.error("Failed to fetch search item detail:",J)}else u.value=ee(w),i.value=!!u.value;else typeof w=="string"&&(u.value=w,i.value=!!w)},{immediate:!0,deep:!0});const Be=g=>({City:fn,Country:dn,Airport:an,Seaport:un})[g]||cn,ee=g=>D.value?g.displayEn||g.display||"":g.displayCn||g.display||"",Re=g=>{const N={City:{en:"City",cn:"城市"},Country:{en:"Country",cn:"国家"},Region:{en:"Region",cn:"区域"},Airport:{en:"Airport",cn:"机场"},Seaport:{en:"Seaport",cn:"港口"}};return D.value?N[g].en:N[g].cn},st=g=>f.value.some(N=>N.id===g.id);return e.onBeforeUnmount($),(g,N)=>(e.openBlock(),e.createElementBlock("div",mn,[e.createElementVNode("div",{class:e.normalizeClass(["search-input-wrapper",{"is-multiple":t.multiple}]),ref_key:"referenceRef",ref:a,onClick:X},[e.createElementVNode("div",pn,[t.multiple&&f.value.length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,(w,J)=>(e.openBlock(),e.createElementBlock("div",{key:w.id||J,class:"search-tag"},[e.createElementVNode("span",hn,e.toDisplayString(ee(w)),1),e.createElementVNode("span",{class:"tag-close",onClick:e.withModifiers(se=>E(w),["stop"])},"×",8,vn)]))),128)),t.collapseTags&&f.value.length>1?(e.openBlock(),e.createElementBlock("div",gn," + "+e.toDisplayString(f.value.length-1),1)):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{ref_key:"inputRef",ref:r,class:e.normalizeClass({"is-selected-state":i.value&&!t.multiple}),"onUpdate:modelValue":N[0]||(N[0]=w=>c.value=w),type:"text",placeholder:U.value,style:e.normalizeStyle({width:y.value}),onFocus:re,onBlur:nt,onInput:ot,onKeydown:e.withKeys(V,["delete"])},null,46,yn),[[e.vModelText,c.value]])]),e.createElementVNode("div",An,[h.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"clear-icon",onMousedown:N[1]||(N[1]=e.withModifiers(()=>{},["prevent"])),onClick:e.withModifiers(T,["stop"])},"ⓧ",32)):e.createCommentVNode("",!0),e.unref(S)&&!e.unref(b)?(e.openBlock(),e.createElementBlock("div",wn)):!e.unref(S)&&t.showSearchIcon?(e.openBlock(),e.createElementBlock("button",{key:2,class:"search-btn",onClick:e.withModifiers(lt,["stop"])},[e.createElementVNode("span",Cn,[e.createElementVNode("img",{src:e.unref(xe),alt:"search"},null,8,xn)])])):e.createCommentVNode("",!0)])],2),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.withDirectives(e.createElementVNode("div",{ref_key:"floatingRef",ref:s,class:"dropdown-list",style:e.normalizeStyle(e.unref(O)),onScroll:rt},[e.renderSlot(g.$slots,"history",{searchHistory:e.unref(A)},()=>[e.unref(A).length>0&&!c.value?(e.openBlock(),e.createElementBlock("div",kn,[e.createElementVNode("div",En,[e.createElementVNode("span",null,e.toDisplayString(D.value?"Recent search":"最近搜索"),1),e.createElementVNode("span",{class:"clear-btn",onMousedown:N[2]||(N[2]=e.withModifiers(()=>{},["prevent"])),onClick:N[3]||(N[3]=e.withModifiers((...w)=>e.unref(C)&&e.unref(C)(...w),["stop"]))},e.toDisplayString(D.value?"Clear":"清空"),33)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(A),(w,J)=>(e.openBlock(),e.createElementBlock("div",{key:"hist-"+J,class:"dropdown-item",onMousedown:se=>x(w)},[e.createElementVNode("div",{class:"category-tag",style:e.normalizeStyle(t.showItemTag?{}:{display:"none"})},[e.createElementVNode("img",{class:"type-icon",src:Be(w.type),alt:""},null,8,Sn),e.createElementVNode("span",bn,e.toDisplayString(Re(w.type)),1)],4),e.createElementVNode("div",Nn,e.toDisplayString(ee(w)),1)],40,Vn))),128)),N[4]||(N[4]=e.createElementVNode("hr",{class:"divider"},null,-1))])):e.createCommentVNode("",!0)],!0),e.unref(S)&&!e.unref(b)?(e.openBlock(),e.createElementBlock("div",Bn,e.toDisplayString(D.value?"Searching...":"正在搜索中..."),1)):e.unref(k).length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.renderSlot(g.$slots,"results",{searchResults:e.unref(k)},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(k),(w,J)=>(e.openBlock(),e.createElementBlock("div",{key:J,class:e.normalizeClass(["dropdown-item",{"is-active":st(w)}]),onMousedown:se=>x(w)},[e.createElementVNode("div",{class:"category-tag",style:e.normalizeStyle(t.showItemTag?{}:{display:"none"})},[e.createElementVNode("img",{class:"type-icon",src:Be(w.type),alt:""},null,8,Dn),e.createElementVNode("span",_n,e.toDisplayString(Re(w.type)),1)],4),e.createElementVNode("div",On,e.toDisplayString(ee(w)),1)],42,Rn))),128))],!0),e.unref(b)?(e.openBlock(),e.createElementBlock("div",Tn,e.toDisplayString(D.value?"Loading more...":"正在加载更多..."),1)):e.unref(F)&&c.value?(e.openBlock(),e.createElementBlock("div",Ln,e.toDisplayString(D.value?"All results have been loaded":"已加载全部结果"),1)):e.createCommentVNode("",!0)],64)):c.value&&!e.unref(S)?(e.openBlock(),e.createElementBlock("div",Mn,[e.renderSlot(g.$slots,"noData",{},()=>[e.createTextVNode(e.toDisplayString(D.value?`No results found related to "${c.value}".`:`未找到与 "${c.value}" 相关的结果`),1)],!0)])):e.createCommentVNode("",!0)],36),[[e.vShow,d.value&&(e.unref(k).length>0||e.unref(S)||c.value||e.unref(A).length>0)]])]))]))}}),be=(t,n)=>{const o=t.__vccOpts||t;for(const[l,r]of n)o[l]=r;return o},Ne=be(In,[["__scopeId","data-v-da175b2e"]]),Fn={class:"modal-container"},Pn={class:"modal-header"},Un={class:"header-title"},Hn={class:"modal-body"},Qn={class:"form-item"},$n={class:"required"},Jn={class:"input-box"},qn=["placeholder"],Wn={key:0,class:"error-message"},Kn={class:"form-item"},Gn={class:"required"},zn={class:"type-group"},Yn=["onClick"],jn={key:0,class:"check-mark"},Xn={class:"form-item"},Zn={class:"required"},eo={key:0,class:"error-message"},to={class:"modal-footer"},no={__name:"ApplyDataDialog",props:{value:{type:Boolean,default:!1},lang:{type:String,default:"en",validator:t=>["en","en-US","zh-CN","cn"].includes(t)},placeholder:{type:String,default:""}},emits:["update:value","confirm"],setup(t,{emit:n}){const o=t,l=n,r=[{typeCn:"城市",typeEn:"City",type:"City"},{typeCn:"海运港口",typeEn:"Port",type:"Seaport"},{typeCn:"机场",typeEn:"Airport",type:"Airport"}],a=e.ref(null),s=e.reactive({name:"",country:""}),c=e.reactive({name:"",type:"City"}),u=e.computed(()=>{if(o.lang)return o.lang==="en"||o.lang==="en-US";try{if(typeof useCookie=="function"){const m=useCookie("jc-language")?.value;if(m)return/^en(-US)?$/.test(m)}}catch{}if(typeof document<"u"){const m=document.cookie||"";return/(^|;\s*)jc-language=en(-US)?(;|$)/.test(m)}try{if(typeof useNuxtApp=="function"){const f=useNuxtApp()?.ssrContext?.event?.node?.req?.headers?.cookie||"";return/(^|;\s*)jc-language=en(-US)?(;|$)/.test(f)}}catch{}return!1}),i=()=>{s.name="",s.country="",l("update:value",!1)},d=()=>{s.name="",s.country="";let m=!0;c.name.trim()||(s.name="Data name is required",m=!1),a.value||(s.country="Please select a country",m=!1),m&&l("confirm",{...c,country:a.value})};return(m,f)=>t.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"modal-mask",onClick:e.withModifiers(i,["self"])},[e.createElementVNode("div",Fn,[e.createElementVNode("div",Pn,[e.createElementVNode("span",Un,e.toDisplayString(u.value?"Apply for data addition":"申请补充数据"),1),e.createElementVNode("div",{class:"close-btn",onClick:i},"×")]),e.createElementVNode("div",Hn,[e.createElementVNode("div",Qn,[e.createElementVNode("label",$n,e.toDisplayString(u.value?"Data To Add":"需补充的数据"),1),e.createElementVNode("div",Jn,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[0]||(f[0]=p=>c.name=p),type:"text",placeholder:t.placeholder??(u.value?" Please enter":"请输入"),class:e.normalizeClass(["custom-input",{"input-error":s.name}]),onInput:f[1]||(f[1]=p=>s.name="")},null,42,qn),[[e.vModelText,c.name]])]),s.name?(e.openBlock(),e.createElementBlock("div",Wn,e.toDisplayString(s.name),1)):e.createCommentVNode("",!0)]),e.createElementVNode("div",Kn,[e.createElementVNode("label",Gn,e.toDisplayString(u.value?"Type":"所属类别"),1),e.createElementVNode("div",zn,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(r,p=>e.createElementVNode("div",{key:p.type,class:e.normalizeClass(["type-btn",{active:c.type===p.type}]),onClick:h=>c.type=p.type},[e.createTextVNode(e.toDisplayString(u.value?p.typeEn:p.typeCn)+" ",1),c.type===p.type?(e.openBlock(),e.createElementBlock("div",jn)):e.createCommentVNode("",!0)],10,Yn)),64))])]),e.createElementVNode("div",Xn,[e.createElementVNode("label",Zn,e.toDisplayString(u.value?"Country":"国家"),1),e.createElementVNode("div",{class:e.normalizeClass({"search-error-wrap":s.country})},[e.createVNode(Ne,{"search-type-list":["Country"],"model-value":a.value,"onUpdate:modelValue":[f[2]||(f[2]=p=>a.value=p),f[3]||(f[3]=p=>s.country="")],style:{margin:"0 auto"},lang:t.lang,placeholder:t.placeholder??(u.value?" Please enter":"请输入")},null,8,["model-value","lang","placeholder"])],2),s.country?(e.openBlock(),e.createElementBlock("div",eo,e.toDisplayString(s.country),1)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",to,[e.createElementVNode("button",{class:"confirm-btn",onClick:d},e.toDisplayString(u.value?"Submit":"申请补充"),1)])])])):e.createCommentVNode("",!0)}},Ze=be(no,[["__scopeId","data-v-9c778fb9"]]),oo={class:"global-modal-header-custom"},lo={class:"global-modal-body-custom"},ro={class:"global-modal-footer-custom"},et=e.defineComponent({__name:"GlobalModal",setup(t){const n=e.ref(),o=e.ref(!1),l=e.ref({city:"",company:"",email:"",phone:"",name:"",agreement:!1}),r=e.reactive({city:[{required:!0,message:"请输入所在地城市",trigger:"blur"}],company:[{required:!0,message:"请输入公司名称",trigger:"blur"}],email:[{required:!0,message:"请输入邮箱",trigger:"blur"},{type:"email",message:"请输入有效的邮箱地址",trigger:"blur"}],agreement:[{validator:(u,i,d)=>{i?d():d(new Error("请同意隐私政策"))},trigger:"change"}]}),a=()=>{o.value=!1,R.emitter.emit(R.MODAL_ACTION.Close,void 0),n.value?.resetFields()},s=async()=>{n.value&&await n.value.validate(u=>{u&&(R.emitter.emit(R.MODAL_ACTION.Submit,l.value),a(),l.value={city:"",company:"",email:"",phone:"",name:"",agreement:!1})})},c=u=>{o.value=!0};return e.onMounted(()=>{R.emitter.on(R.MODAL_ACTION.Open,c)}),e.onUnmounted(()=>{R.emitter.off(R.MODAL_ACTION.Open,c)}),(u,i)=>(e.openBlock(),e.createBlock(e.unref(B.ElDialog),{modelValue:o.value,"onUpdate:modelValue":i[7]||(i[7]=d=>o.value=d),"before-close":a,"show-close":!1,"close-on-click-modal":!0,width:500,class:"global-modal-custom"},{header:e.withCtx(()=>[e.createElementVNode("div",oo,[i[9]||(i[9]=e.createElementVNode("h2",null,"即刻链接全球货代",-1)),e.createVNode(e.unref(B.ElButton),{link:"",onClick:a,class:"close-button-custom","aria-label":"Close"},{default:e.withCtx(()=>[...i[8]||(i[8]=[e.createElementVNode("span",{style:{"font-size":"2rem"}},"×",-1)])]),_:1})])]),footer:e.withCtx(()=>[e.createElementVNode("div",ro,[e.createVNode(e.unref(B.ElButton),{type:"primary",class:"submit-button-custom",onClick:s},{default:e.withCtx(()=>[...i[11]||(i[11]=[e.createTextVNode(" 加入会员 ",-1)])]),_:1})])]),default:e.withCtx(()=>[e.createElementVNode("div",lo,[e.createVNode(e.unref(B.ElForm),{model:l.value,rules:r,ref_key:"formRef",ref:n,"label-position":"top",onSubmit:i[6]||(i[6]=e.withModifiers(()=>{},["prevent"]))},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElRow),{gutter:20},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElCol),{span:12},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElFormItem),{label:"所在地(城市)",prop:"city"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElInput),{modelValue:l.value.city,"onUpdate:modelValue":i[0]||(i[0]=d=>l.value.city=d),placeholder:"请输入城市"},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(e.unref(B.ElCol),{span:12},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElFormItem),{label:"公司名称",prop:"company"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElInput),{modelValue:l.value.company,"onUpdate:modelValue":i[1]||(i[1]=d=>l.value.company=d),placeholder:"请输入公司名称"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e.createVNode(e.unref(B.ElRow),{gutter:20},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElCol),{span:12},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElFormItem),{label:"邮箱",prop:"email"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElInput),{modelValue:l.value.email,"onUpdate:modelValue":i[2]||(i[2]=d=>l.value.email=d),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1})]),_:1}),e.createVNode(e.unref(B.ElCol),{span:12},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElFormItem),{label:"电话",prop:"phone"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElInput),{modelValue:l.value.phone,"onUpdate:modelValue":i[3]||(i[3]=d=>l.value.phone=d),placeholder:"请输入电话"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e.createVNode(e.unref(B.ElRow),null,{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElCol),{span:24},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElFormItem),{label:"姓名",prop:"name"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElInput),{modelValue:l.value.name,"onUpdate:modelValue":i[4]||(i[4]=d=>l.value.name=d),placeholder:"请输入您的全名"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e.createVNode(e.unref(B.ElFormItem),{prop:"agreement",class:"agreement-item"},{default:e.withCtx(()=>[e.createVNode(e.unref(B.ElCheckbox),{modelValue:l.value.agreement,"onUpdate:modelValue":i[5]||(i[5]=d=>l.value.agreement=d),label:"我同意"},null,8,["modelValue"]),i[10]||(i[10]=e.createElementVNode("a",{href:"#",class:"privacy-link"},"隐私政策",-1))]),_:1})]),_:1},8,["model","rules"])])]),_:1},8,["modelValue"]))}});function so(t){const n=e.ref([]),o="_search_history_cache",l=typeof window<"u"&&typeof localStorage<"u",r=e.computed(()=>(t.value||"")+o),a=e.computed(()=>!!t.value&&t.value!==""),s=u=>{if(!u||!l)return;const i=n.value.filter(m=>m.id&&m.id!==u.id||m.display!==u.display);i.unshift(u);const d=i.slice(0,4);if(a.value){n.value=d;try{localStorage.setItem(r.value,JSON.stringify(d))}catch(m){console.warn("LocalStorage save failed:",m)}}},c=()=>{n.value=[],l&&localStorage.removeItem(r.value)};return e.onMounted(()=>{if(l&&a.value){const u=localStorage.getItem(r.value);if(u)try{n.value=JSON.parse(u)}catch{n.value=[]}}}),{searchHistory:n,saveToHistory:s,clearHistory:c,HasHistory:a}}async function ao(t,n=["Continent","Country","City","Seaport","Airport"],o={}){return R.locationSearchV2.searchByName({keyword:t,displayInfo:n,...o})}function io(t,n){const o=e.ref([]),l=e.ref(!1),r=e.ref(!1),a=e.ref(!1),s=e.ref(1),c=10,u=e.ref(0),i=e.computed(()=>{const f=[...n.value];return f.includes("Country")&&!f.includes("Region")&&f.push("Region"),f}),d=f=>Array.isArray(f)?f.filter(p=>i.value.includes(p.type)):[];return{searchResults:o,loading:l,isFetchingMore:r,isFinished:a,fetchData:async(f=!1)=>{const p=t.value.trim();if(!p){o.value=[],u.value=0,a.value=!1;return}if(f){if(r.value||a.value)return;r.value=!0,s.value+=1}else{if(l.value)return;l.value=!0,s.value=1,a.value=!1}try{const h=await ao(p,n.value,{current:s.value,size:c}),y=d(h.records||[]);f?o.value.push(...y):o.value=y,u.value=h.total||0,(o.value.length>=u.value||y.length<c)&&(a.value=!0)}catch(h){console.error("Search request failed:",h),f&&(s.value-=1)}finally{l.value=!1,r.value=!1}}}}const co={class:"h5-search-container"},uo={class:"trigger-content"},fo=["src"],mo={class:"placeholder-text"},po={key:0,class:"selected-count"},ho={key:1,class:"selected-val"},vo={key:2,class:"placeholder-gray"},go={key:0,class:"h5-modal-root"},yo={class:"h5-drawer-card"},Ao={class:"h5-header"},wo={class:"h5-input-wrapper"},Co=["src"],xo=["placeholder"],ko={key:0,class:"h5-spinner-box"},Eo={key:1,class:"h5-section"},Vo={class:"h5-section-hd"},So={class:"h5-history-grid"},bo=["onClick"],No={key:2,class:"h5-result-list"},Bo=["onClick"],Ro={class:"item-info"},Do={class:"item-name"},_o={key:0,class:"item-sub"},Oo={class:"h5-load-status"},To={key:1,class:"no-more"},Lo={key:3,class:"h5-empty"},Mo=e.defineComponent({__name:"index",props:{modelValue:{},multiple:{type:Boolean,default:!1},lang:{default:"zh-CN"},placeholder:{},historyKey:{}},emits:["update:modelValue","select"],setup(t,{emit:n}){const o=t,l=n,r=e.ref(!1),a=e.ref(""),s=e.ref(null),c=e.ref(null);let u=null;const{searchHistory:i,saveToHistory:d,clearHistory:m}=so(e.toRef(o,"historyKey")),{searchResults:f,loading:p,isFetchingMore:h,isFinished:y,fetchData:A}=io(a,e.ref(["City","Seaport","Airport"])),v=e.computed(()=>{if(o.lang)return o.lang==="en"||o.lang==="en-US";try{if(typeof useCookie=="function"){const x=useCookie("jc-language")?.value;if(x)return/^en(-US)?$/.test(x)}}catch{}if(typeof document<"u"){const x=document.cookie||"";return/(^|;\s*)jc-language=en(-US)?(;|$)/.test(x)}try{if(typeof useNuxtApp=="function"){const E=useNuxtApp()?.ssrContext?.event?.node?.req?.headers?.cookie||"";return/(^|;\s*)jc-language=en(-US)?(;|$)/.test(E)}}catch{}return!1}),C=e.computed(()=>Array.isArray(o.modelValue)?o.modelValue:o.modelValue?[o.modelValue]:[]),k=e.computed(()=>!o.multiple&&!!o.modelValue),S=e.computed(()=>k.value?D(o.modelValue):""),b=e.computed(()=>C.value.length>0),F=()=>{r.value=!0,e.nextTick(()=>{s.value?.focus()})},_=()=>{r.value=!1,a.value=""},L=x=>{d(x),o.multiple?C.value.some(V=>V.id===x.id)||l("update:modelValue",[...C.value,x]):(l("update:modelValue",x),_()),l("select",x)},P=()=>{l("update:modelValue",o.multiple?[]:null)},O=e.ref(!1),G=x=>{const E=x.target;if(!E)return;E.scrollTop+E.clientHeight>=E.scrollHeight-80&&a.value&&!p.value&&!h.value&&!y.value&&!O.value&&(O.value=!0,A(!0))};e.watch(h,x=>{x||(O.value=!1)});const $=()=>{u&&clearTimeout(u),u=setTimeout(()=>{O.value=!1,c.value?.scrollTo({top:0}),console.log("🍉 ~ index.vue:279 ~ onInput ~ fetchData:",A),A(!1)},300)},D=x=>v.value?x.displayEn||x.display:x.displayCn||x.display,U=x=>{const E={City:"城市",Seaport:"港口",Airport:"机场"};return v.value?x:E[x]||x},X=x=>C.value.some(E=>E.id===x.id);return(x,E)=>(e.openBlock(),e.createElementBlock("div",co,[e.createElementVNode("div",{class:"search-trigger",onClick:F},[e.createElementVNode("div",uo,[e.createElementVNode("img",{src:e.unref(xe),class:"search-icon-m"},null,8,fo),e.createElementVNode("div",mo,[t.multiple&&C.value.length>0?(e.openBlock(),e.createElementBlock("span",po,e.toDisplayString(v.value?"Selected":"已选")+" ("+e.toDisplayString(C.value.length)+")",1)):!t.multiple&&k.value?(e.openBlock(),e.createElementBlock("span",ho,e.toDisplayString(S.value),1)):(e.openBlock(),e.createElementBlock("span",vo,e.toDisplayString(t.placeholder||(v.value?"Search":"搜索")),1))])]),b.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"clear-trigger",onClick:e.withModifiers(P,["stop"])},"ⓧ")):e.createCommentVNode("",!0)]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[r.value?(e.openBlock(),e.createElementBlock("div",go,[e.createVNode(e.Transition,{name:"fade"},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"h5-mask",onClick:_})]),_:1}),e.createVNode(e.Transition,{name:"slide-up"},{default:e.withCtx(()=>[e.createElementVNode("div",yo,[e.createElementVNode("div",{class:"drawer-handle",onClick:_}),e.createElementVNode("div",Ao,[e.createElementVNode("div",wo,[e.createElementVNode("img",{src:e.unref(xe),class:"inner-icon"},null,8,Co),e.withDirectives(e.createElementVNode("input",{ref_key:"inputRef",ref:s,"onUpdate:modelValue":E[0]||(E[0]=V=>a.value=V),placeholder:v.value?"City/Port/Airport":"搜索城市/港口/机场",onInput:$},null,40,xo),[[e.vModelText,a.value]]),a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"h5-clear-btn",onClick:E[1]||(E[1]=V=>a.value="")}," ✕ ")):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"h5-cancel-btn",onClick:_},e.toDisplayString(v.value?"Cancel":"取消"),1)]),e.createElementVNode("div",{class:"h5-main-content",ref_key:"scrollContainer",ref:c,onScroll:G},[e.unref(p)&&!e.unref(h)?(e.openBlock(),e.createElementBlock("div",ko,[...E[3]||(E[3]=[e.createElementVNode("div",{class:"h5-spinner"},null,-1)])])):e.createCommentVNode("",!0),!a.value&&e.unref(i).length>0?(e.openBlock(),e.createElementBlock("div",Eo,[e.createElementVNode("div",Vo,[e.createElementVNode("span",null,e.toDisplayString(v.value?"Recent":"最近搜索"),1),e.createElementVNode("span",{class:"h5-clear-history",onClick:E[2]||(E[2]=(...V)=>e.unref(m)&&e.unref(m)(...V))},e.toDisplayString(v.value?"Clear":"清空"),1)]),e.createElementVNode("div",So,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),(V,T)=>(e.openBlock(),e.createElementBlock("div",{key:T,class:"h5-history-tag",onClick:re=>L(V)},e.toDisplayString(D(V)),9,bo))),128))])])):e.createCommentVNode("",!0),e.unref(f).length>0?(e.openBlock(),e.createElementBlock("div",No,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(f),(V,T)=>(e.openBlock(),e.createElementBlock("div",{key:T,class:e.normalizeClass(["h5-result-item",{"is-active":X(V)}]),onClick:re=>L(V)},[e.createElementVNode("div",{class:e.normalizeClass(["item-type",V.type.toLowerCase()])},e.toDisplayString(U(V.type)),3),e.createElementVNode("div",Ro,[e.createElementVNode("div",Do,e.toDisplayString(D(V)),1),V.parentName?(e.openBlock(),e.createElementBlock("div",_o,e.toDisplayString(V.parentName),1)):e.createCommentVNode("",!0)])],10,Bo))),128)),e.createElementVNode("div",Oo,[e.unref(h)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[E[4]||(E[4]=e.createElementVNode("div",{class:"mini-spinner"},null,-1)),e.createElementVNode("span",null,e.toDisplayString(v.value?"Loading...":"加载中..."),1)],64)):e.unref(y)&&a.value?(e.openBlock(),e.createElementBlock("span",To,e.toDisplayString(v.value?"No more results":"没有更多结果了"),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),a.value&&!e.unref(p)&&e.unref(f).length===0?(e.openBlock(),e.createElementBlock("div",Lo,e.toDisplayString(v.value?"No Results Found":"未找到相关结果"),1)):e.createCommentVNode("",!0)],544)])]),_:1})])):e.createCommentVNode("",!0)]))]))}}),tt=be(Mo,[["__scopeId","data-v-c1314e9c"]]);let Io={open(){R.emitter.emit(R.MODAL_ACTION.Open)},close(){R.emitter.emit(R.MODAL_ACTION.Close)},onSubmit(t){R.emitter.on(R.MODAL_ACTION.Submit,t)}};function Fo(){let t=!1;return{install(n){if(typeof window<"u"&&!t){const o=document.createElement("div");o.setAttribute("id","global-modal-root"),document.body.appendChild(o),e.createApp(et).mount(o),t=!0}n.config.globalProperties.$globalModal=Io}}}const Ue={ApplyDataDialog:Ze,JcSearch:Ne,JCMSearch:tt};let He=!1;const Po={install(t,n){if(!He){He=!0,n?.sharedConfig&&R.initSharedConfig(n.sharedConfig);for(const o in Ue)t.component(o,Ue[o])}}};Object.defineProperty(exports,"MODAL_ACTION",{enumerable:!0,get:()=>R.MODAL_ACTION});Object.defineProperty(exports,"emitter",{enumerable:!0,get:()=>R.emitter});Object.defineProperty(exports,"initSharedConfig",{enumerable:!0,get:()=>R.initSharedConfig});exports.ApplyDataDialog=Ze;exports.GlobalModal=et;exports.JCMSearch=tt;exports.JcSearch=Ne;exports.createGlobalModalPlugin=Fo;exports.default=Po;