@opengis/gis 0.1.0 → 0.1.1
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/import-file.cjs +1 -1
- package/dist/import-file.js +919 -925
- package/package.json +1 -1
package/dist/import-file.cjs
CHANGED
|
@@ -842,4 +842,4 @@ Expecting `+lt.join(", ")+", got '"+(this.terminals_[Ee]||Ee)+"'":vt="Parse erro
|
|
|
842
842
|
</div>
|
|
843
843
|
`},At=gt=>({legend:vv,basemaps:Av,layers:Xv,info:o0,attribute:pb,catalog:O1,filters:a2,"inline-filters":d2,list:S2,card:Yg})[gt],_t=_.computed(()=>{var gt;return(gt=u.config.widgets)==null?void 0:gt.some(xt=>xt.type==="filters")}),lt=gt=>{P.value=gt};function vt(){const gt=new URLSearchParams(window.location.search),xt=parseFloat(gt.get("x")),ct=parseFloat(gt.get("y")),zt=parseFloat(gt.get("z")),Ht=parseFloat(gt.get("bearing")),Ot=parseFloat(gt.get("pitch"));return{center:isFinite(xt)&&isFinite(ct)?[xt,ct]:null,zoom:isFinite(zt)?zt:null,bearing:isFinite(Ht)?Ht:null,pitch:isFinite(Ot)?Ot:null}}function qt({center:gt,zoom:xt,bearing:ct,pitch:zt}){const Ht=new URLSearchParams(window.location.search);Ht.set("x",gt[0].toFixed(5)),Ht.set("y",gt[1].toFixed(5)),Ht.set("z",xt.toFixed(2)),Ht.set("bearing",ct.toFixed(2)),Ht.set("pitch",zt.toFixed(2));const Ot=`${window.location.pathname}?${Ht.toString()}`;window.history.replaceState({},"",Ot)}const Xt=()=>{var Ot,dr;const gt={version:8,glyphs:"https://cdn.softpro.ua/data/fonts/{fontstack}/{range}.pbf",sources:{},layers:[]};let xt=u.config.map.center,ct=u.config.map.zoom,zt=u.config.map.bearing||0,Ht=u.config.map.pitch||0;if(u.config.history){const Nt=vt();Nt.center&&(xt=Nt.center),Nt.zoom!==null&&(ct=Nt.zoom),Nt.bearing!==null&&(zt=Nt.bearing),Nt.pitch!==null&&(Ht=Nt.pitch)}if(y.value=new Zd.Map({container:"maplibre-demo-map",style:gt,center:xt,zoom:ct,bearing:zt,pitch:Ht,maxBounds:[18.0856083513,40.3614785833,58.0807890155,56.3350745713]}),(dr=(Ot=u.config.interactions)==null?void 0:Ot.navigation)!=null&&dr.enabled){const Nt=new Zd.NavigationControl({showCompass:!0,showZoom:!0,visualizePitch:!0});y.value.addControl(Nt,"top-right")}y.value.on("load",async()=>{var Nt,mr,jr,mi;try{await r2(y.value);const Mr=vt(),gi=Mr.center&&Mr.zoom!==null;if((Nt=u.config.map)!=null&&Nt.bbox&&!gi){const[hr,lr,Ft,wr]=u.config.map.bbox;y.value.fitBounds([[hr,lr],[Ft,wr]],{padding:50,duration:0})}if(await(async()=>{var lr,Ft,wr;const hr=((wr=(Ft=(lr=u.config.widgets.find(pr=>pr.type==="layers"))==null?void 0:lr.config)==null?void 0:Ft.layers)==null?void 0:wr.filter(pr=>{var Jt;return((Jt=pr.style)==null?void 0:Jt.attrType)==="icon-by-attribute"}))||[];for(const pr of hr){const{rules:Jt,default_icon:fr,icon_base_url:It}=pr.style,wt=[...Jt.map(Ae=>Ae.icon),fr].filter(Boolean);for(const Ae of wt)try{const K=`${It}${Ae}`,Q=await y.value.loadImage(K);y.value.hasImage(Ae)||y.value.addImage(Ae,Q.data)}catch(K){console.error(`Failed to load icon: ${Ae}`,K)}}})(),$o(y.value,{id:"voyager",url:"https://data.gki.com.ua/api-user/rtile/voyager/ua/{z}/{x}/{y}.png",title:"Базова карта (voyager)",service:"raster",attribution:"© <a href='http://www.openstreetmap.org/copyright'>OpenStreetMap</a>, © <a href='https://carto.com/attributions'>CARTO</a>"}),(mi=(jr=(mr=u.config)==null?void 0:mr.interactions)==null?void 0:jr.hover)!=null&&mi.enabled&&(y.value.on("mousemove",hr=>{var fr,It,wt,Ae;const lr=y.value.queryRenderedFeatures(hr.point);if(y.value&&y.value.getCanvas&&(y.value.getCanvas().style.cursor=lr.length?"pointer":""),!lr.length){if(x.value){const K=(fr=y.value.getSource(x.value.source))==null?void 0:fr.type,Q={source:x.value.source,id:x.value.id};K==="vector"&&(Q.sourceLayer=x.value.source),Dr(y.value,x.value.source,x.value.id,{hovered:!1}),x.value=null}k&&(k.remove(),k=null);return}const Ft=lr[0];if(!x.value||x.value.id!==Ft.id||x.value.source!==Ft.layer.source){if(x.value){const ee=(It=y.value.getSource(x.value.source))==null?void 0:It.type,he={source:x.value.source,id:x.value.id};ee==="vector"&&(he.sourceLayer=x.value.source),Dr(y.value,x.value.source,x.value.id,{hovered:!1})}const K=(wt=y.value.getSource(Ft.layer.source))==null?void 0:wt.type,Q={source:Ft.layer.source,id:Ft.id};K==="vector"&&(Q.sourceLayer=Ft.layer.source),Dr(y.value,Ft.layer.source,Ft.id,{hovered:!0}),x.value={source:Ft.layer.source,id:Ft.id}}const wr=u.config.widgets.find(K=>K.type==="layers"),pr=u.config.widgets.find(K=>K.type==="attribute");let Jt=null;if(wr&&(Jt=wr.config.layers.find(K=>K.id===Ft.layer.source)),!Jt&&pr&&pr.config.layer.id===Ft.layer.source&&(Jt=pr.config.layer),(Ae=Jt==null?void 0:Jt.style)!=null&&Ae.popup){const K=Jt.style.popup;let Q=K.title,ee="";K.mode==="markdown"?ee=Array.isArray(K.content)?K.content.join(`
|
|
844
844
|
|
|
845
|
-
`):"":ee=Array.isArray(K.content)?K.content.join(""):"",k||(k=document.createElement("div"),y.value.getContainer().appendChild(k));const he=y.value.project(hr.lngLat);k.innerHTML=rt(Q,ee,K.fields,Ft.properties,K.mode,he)}}),y.value.on("mouseleave",()=>{var hr;if(k&&(k.remove(),k=null),x.value){const lr=(hr=y.value.getSource(x.value.source))==null?void 0:hr.type,Ft={source:x.value.source,id:x.value.id};lr==="vector"&&(Ft.sourceLayer=x.value.source),Dr(y.value,x.value.source,x.value.id,{hovered:!1}),x.value=null}y.value&&y.value.getCanvas&&(y.value.getCanvas().style.cursor="")})),y.value.on("click",async hr=>{var wt;if(["length","area","print"].includes(L.value))return;const lr=y.value.queryRenderedFeatures(hr.point);if(!lr.length)return;o.value.forEach(Ae=>{var ee;const K=(ee=y.value.getSource(Ae.source))==null?void 0:ee.type,Q={source:Ae.source,id:Ae.id};K==="vector"&&(Q.sourceLayer=Ae.source),Dr(y.value,Ae.source,Ae.id,{selected:!1})}),o.value=[];const Ft=lr[0],wr=(wt=y.value.getSource(Ft.layer.source))==null?void 0:wt.type,pr={source:Ft.layer.source,id:Ft.id};wr==="vector"&&(pr.sourceLayer=Ft.layer.source),Dr(y.value,Ft.layer.source,Ft.id,{selected:!0}),o.value.push({source:Ft.layer.source,id:Ft.id});const Jt=u.config.widgets.find(Ae=>Ae.type==="layers"),fr=u.config.widgets.find(Ae=>Ae.type==="attribute");let It=(fr==null?void 0:fr.config.layer)||(Jt==null?void 0:Jt.config.layers.find(Ae=>Ae.id===Ft.layer.source));D.value={layer:(It==null?void 0:It.service_key)||"",map:(It==null?void 0:It.map_key)||"",id:Ft.properties.id,title:(It==null?void 0:It.title)||""}}),y.value.on("dblclick",hr=>{var wr;if(["length","area","print"].includes(L.value))return;Wr([hr.lngLat.lng,hr.lngLat.lat]);const lr=u.config.widgets.find(pr=>pr.type==="layers");let Ft=null;(wr=lr==null?void 0:lr.config)!=null&&wr.layers&&(Ft=lr.config.layers.find(pr=>pr.visible!==!1&&["tms","wms","raster"].includes((pr.service_type||pr.service||"").toLowerCase()))),D.value={layer:(Ft==null?void 0:Ft.map_key)||"",map:(Ft==null?void 0:Ft.service_key)||"",id:"",title:(Ft==null?void 0:Ft.title)||""}}),y.value.resize(),b.value=!0,u.config.history){const hr=()=>{const lr=y.value.getCenter();qt({center:[lr.lng,lr.lat],zoom:y.value.getZoom(),bearing:y.value.getBearing(),pitch:y.value.getPitch()})};y.value.on("moveend",hr),y.value.on("rotate",hr),y.value.on("pitch",hr)}}catch(Mr){console.error("Error loading map:",Mr)}})},Cr=()=>{Si(),o.value.forEach(gt=>{y.value&&Dr(y.value,gt.source,gt.id,{selected:!1})}),o.value=[],D.value=null};_.onMounted(async()=>{await _.nextTick(),Xt(),me(),window.addEventListener("resize",()=>{me()}),_.watch([M["top-left"],M["top-right"],M["top-center"],M.center,M["bottom-left"],M["bottom-right"],M["bottom-center"],()=>u.config.widgets,z],async()=>{await _.nextTick(),me(),setTimeout(me,0)},{deep:!0}),_.watch(b,gt=>{gt&&_.nextTick().then(()=>{me()})})}),_.onUnmounted(()=>{window.removeEventListener("resize",me)});const br=_.computed(()=>{var xt;return{height:u.config.height||((xt=u.config.map)==null?void 0:xt.height)||"100vh",width:"100%"}}),ni=gt=>{var ct;const xt=(ct=u.config.widgets)==null?void 0:ct.find(zt=>zt.position===gt);return(xt==null?void 0:xt.width)||"400px"},ir=_.ref([]),Wi=()=>{var xt;const gt=u.config.widgets.find(ct=>ct.type==="layers");return(xt=gt==null?void 0:gt.config)!=null&&xt.layers?gt.config.layers.map(ct=>({...ct,visible:ct.visible??!1})).filter(ct=>ct.visible).map(ct=>ct.id):[]};ir.value=Wi();function Dr(gt,xt,ct,zt){gt.getStyle().layers.filter(Ot=>Ot.source===xt).forEach(Ot=>{var Nt;const dr={source:xt,id:ct};((Nt=gt.getSource(xt))==null?void 0:Nt.type)==="vector"&&Ot["source-layer"]&&(dr.sourceLayer=Ot["source-layer"]),gt.setFeatureState(dr,zt)})}const Zi=_.computed(()=>{var gt,xt;return!!((xt=(gt=u.config.interactions)==null?void 0:gt.navigation)!=null&&xt.enabled)}),Br=_.computed(()=>Array.isArray(u.config.tools)&&u.config.tools.length>0),on=_.computed(()=>Zi.value||Br.value?"70px":"20px");function Si(){y.value&&(y.value.getLayer("layer-with-pulsing-dot")&&y.value.removeLayer("layer-with-pulsing-dot"),y.value.getSource("dot-point")&&y.value.removeSource("dot-point"),y.value.hasImage&&y.value.hasImage("pulsing-dot")&&y.value.removeImage("pulsing-dot"))}function Wr(gt){var zt,Ht,Ot,dr;Si();const xt=80,ct={width:xt,height:xt,data:new Uint8Array(xt*xt*4),onAdd(){const Nt=document.createElement("canvas");Nt.width=this.width,Nt.height=this.height,this.context=Nt.getContext("2d",{willReadFrequently:!0})},render(){var zi;const mr=performance.now()%2e3/2e3,jr=xt/2*.3,mi=xt/2*.7*mr+jr,{context:Mr}=this;Mr.clearRect(0,0,this.width,this.height),Mr.beginPath(),Mr.arc(this.width/2,this.height/2,mi,0,Math.PI*2),Mr.fillStyle=`rgba(255, 100, 100, ${1-mr})`,Mr.fill();const gi=xt/2*.7*(mr-.5<0?mr-.5+1:mr-.5)+jr;return Mr.beginPath(),Mr.arc(this.width/2,this.height/2,gi,0,Math.PI*2),Mr.fillStyle=`rgba(255, 100, 100, ${1-(mr-.5<0?mr-.5+1:mr-.5)})`,Mr.fill(),this.data=Mr.getImageData(0,0,this.width,this.height).data,(zi=y.value)==null||zi.triggerRepaint(),!0}};(zt=y.value)!=null&&zt.hasImage("pulsing-dot")||(Ht=y.value)==null||Ht.addImage("pulsing-dot",ct,{pixelRatio:2}),(Ot=y.value)==null||Ot.addSource("dot-point",{type:"geojson",data:{type:"Feature",geometry:{type:"Point",coordinates:gt}}}),(dr=y.value)==null||dr.addLayer({id:"layer-with-pulsing-dot",type:"symbol",source:"dot-point",layout:{"icon-image":"pulsing-dot"},paint:{"icon-opacity":.6}})}const Ki=_.computed(()=>({center:u.config.map.center,zoom:u.config.map.zoom,pitch:u.config.map.pitch||0,bearing:u.config.map.bearing||0,bbox:u.config.map.bbox||null})),Yr={home:R2,print:N2,geolocation:uS,pitch:j2,length:NS,area:tA},Gi=gt=>{L.value=gt};function Mi(gt){const{map_key:xt,service_key:ct}=u.config.widgets.find(zt=>zt.type==="list").config;xt&&ct&&(D.value={id:gt,map:xt,layer:ct})}function Cn(gt){switch(gt){case"top-left":return C.value;case"top-right":return N.value;case"top-center":return G.value;case"center":return ie.value;case"bottom-left":return le.value;case"bottom-right":return Ee.value;case"bottom-center":return te.value;default:return 0}}const fi=_.computed(()=>{var gt;return((gt=u.config.widgets)==null?void 0:gt.filter(xt=>xt.position==="absolute"))||[]});return(gt,xt)=>(_.openBlock(),_.createElementBlock("div",{id:"maplibre-demo-map",style:_.normalizeStyle(br.value)},[b.value?_.createCommentVNode("",!0):(_.openBlock(),_.createBlock(C2,{key:0})),_.withDirectives(_.createElementVNode("div",nA,[(_.openBlock(),_.createElementBlock(_.Fragment,null,_.renderList(U,ct=>_.createVNode(iA,{key:ct,position:ct,widgets:De(ct),map:y.value,mapLoaded:b.value,cardValues:D.value,hasFilters:_t.value,history:u.config.history,currentFilterLayer:P.value,enabledLayerIds:ir.value,getWidgetComponent:At,getColumnWidth:ni,rightColumnOffset:ct==="top-right"?on.value:void 0,maxHeight:Cn(ct),ref_for:!0,ref:zt=>T(ct,zt),onSetFilterLayer:lt,"onUpdate:enabledLayerIds":xt[0]||(xt[0]=zt=>ir.value=zt),onCardValuesId:Mi,onCloseCard:Cr,onContentResize:()=>me(ct)},null,8,["position","widgets","map","mapLoaded","cardValues","hasFilters","history","currentFilterLayer","enabledLayerIds","rightColumnOffset","maxHeight","onContentResize"])),64)),_.createElementVNode("div",oA,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(d.config.tools,ct=>(_.openBlock(),_.createElementBlock(_.Fragment,{key:ct},[b.value&&Yr[ct]?(_.openBlock(),_.createBlock(_.resolveDynamicComponent(Yr[ct]),_.mergeProps({key:0,map:y.value,activeTool:L.value,setActiveTool:Gi,ref_for:!0},ct==="home"?{initialView:Ki.value}:{},{onCardValuesId:Mi}),null,16,["map","activeTool"])):_.createCommentVNode("",!0)],64))),128))])],512),[[_.vShow,b.value]]),(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(fi.value,(ct,zt)=>(_.openBlock(),_.createElementBlock("div",{key:"abs-"+(ct.id||ct.type||zt),class:"absolute z-20",style:_.normalizeStyle(ct.style)},[(_.openBlock(),_.createBlock(_.resolveDynamicComponent(At(ct.type)),{map:y.value,config:ct.config,hasFilters:_t.value,currentFilterLayer:P.value,enabledLayerIds:ir.value,cardValues:D.value,onSetFilterLayer:lt,"onUpdate:enabledLayerIds":xt[1]||(xt[1]=Ht=>ir.value=Ht),onCardValuesId:Mi,onCloseCard:Cr},null,40,["map","config","hasFilters","currentFilterLayer","enabledLayerIds","cardValues"]))],4))),128))],4))}},aA=gr(sA,[["__scopeId","data-v-1622c3c6"]]),lA={props:{title:{type:String,required:!0},description:{type:String,required:!0}}},cA={class:"text-center mb-12"},uA={class:"text-3xl font-bold mb-4"},hA={class:"text-slate-600 max-w-2xl mx-auto"};function dA(d,u,y,b,k,P){return _.openBlock(),_.createElementBlock("div",cA,[_.createElementVNode("h2",uA,_.toDisplayString(y.title),1),_.createElementVNode("p",hA,_.toDisplayString(y.description),1)])}const Sy=gr(lA,[["render",dA]]),pA={name:"RegistryList",components:{HeroBlock:Sy},props:{title:{type:String,required:!0},description:{type:String,default:""},items:{type:Array,default:()=>[]},total:{type:Number,default:0},filters:{type:Array,default:()=>null},searchPlaceholder:{type:String,default:"Пошук..."},itemsLabel:{type:String,default:"елементів"},emptyStateText:{type:String,default:"Немає даних"},limit:{type:Number,default:16},currentPage:{type:Number,default:1},breadcrumbs:{type:Array,default:()=>[]},dialog:{type:Boolean,default:!0},token:{type:String,default:""}},data(){return{searchQuery:"",filterUrl:"",mounted:!1}},mounted(){this.mounted=!0},methods:{handleFilterChange(){var d,u,y;this.filterUrl=(d=this.$refs)==null?void 0:d.filter.filterUrl,this.$emit("filter-change",{filterUrl:this.filterUrl,activeFilters:(u=this.$refs)==null?void 0:u.filter,activeFiltersLength:(y=this.$refs)==null?void 0:y.filter.filteredActiveFiltersLength})},handlePageChange(d){this.$emit("page-change",d)},changeLimit(d){this.$emit("limit-change",d)}},watch:{searchQuery(d){this.$emit("search",d)}}},fA={class:"py-16 md:py-24"},mA={class:"py-6"},gA={class:"container"},yA={key:0,class:"flex items-center text-sm text-muted-foreground mb-6"},_A=["href"],vA={key:1,class:"text-foreground font-medium truncate"},xA={class:"flex flex-col md:flex-row gap-4"},bA={class:"flex-1 relative"},wA=["placeholder"],SA={class:"container"},AA={key:0,class:"space-y-4"},kA={key:0,class:"my-5 pr-2"},CA={class:"paginationWrapper relative flex justify-center"},TA={key:1,class:"text-center text-slate-400"};function EA(d,u,y,b,k,P){var D,L;const x=_.resolveComponent("HeroBlock"),o=_.resolveComponent("VsFilterList"),z=_.resolveComponent("VsPagination");return _.openBlock(),_.createElementBlock("div",fA,[_.createElementVNode("section",null,[_.createVNode(x,{title:y.title,description:y.description},null,8,["title","description"])]),_.createElementVNode("section",mA,[_.createElementVNode("div",gA,[(D=y.breadcrumbs)!=null&&D.length?(_.openBlock(),_.createElementBlock("div",yA,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.breadcrumbs,(U,M)=>(_.openBlock(),_.createElementBlock(_.Fragment,{key:M},[M<y.breadcrumbs.length-1?(_.openBlock(),_.createElementBlock(_.Fragment,{key:0},[_.createElementVNode("a",{href:U.link,class:"hover:text-foreground"},_.toDisplayString(U.name),9,_A),u[3]||(u[3]=_.createElementVNode("span",{class:"mx-2"},"/",-1))],64)):(_.openBlock(),_.createElementBlock("span",vA,_.toDisplayString(U.name),1))],64))),128))])):_.createCommentVNode("",!0),_.createElementVNode("div",xA,[_.createElementVNode("div",bA,[u[5]||(u[5]=_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-search absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400"},[_.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),_.createElementVNode("path",{d:"m21 21-4.3-4.3"})],-1)),_.withDirectives(_.createElementVNode("input",{"onUpdate:modelValue":u[0]||(u[0]=U=>k.searchQuery=U),onKeydown:u[1]||(u[1]=_.withKeys(_.withModifiers(()=>{},["prevent"]),["enter"])),type:"text",placeholder:y.searchPlaceholder,class:"!pr-16 py-2 pl-10 block w-full overflow-hidden overflow-ellipsis border border-solid placeholder:text-nowrap border-stone-200 rounded-lg text-sm text-stone-800 placeholder:text-stone-500 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-600"},null,40,wA),[[_.vModelText,k.searchQuery]]),k.searchQuery?(_.openBlock(),_.createElementBlock("svg",{key:0,onClick:u[2]||(u[2]=U=>k.searchQuery=""),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400"},u[4]||(u[4]=[_.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),_.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),_.createElementVNode("path",{d:"M6 6l12 12"},null,-1)]))):_.createCommentVNode("",!0)]),y.filters&&k.mounted?(_.openBlock(),_.createBlock(o,{key:0,ref:"filter",scheme:y.filters,isDialog:y.dialog,urlSeparator:"true",view:"plain",token:y.token,name:"filter",onFilterChange:P.handleFilterChange},{button:_.withCtx(()=>u[6]||(u[6]=[_.createElementVNode("button",{class:"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground px-3 py-2",type:"button"}," Фільтри ",-1)])),_:1},8,["scheme","isDialog","token","onFilterChange"])):_.createCommentVNode("",!0)])])]),_.createElementVNode("section",null,[_.createElementVNode("div",SA,[((L=y.items)==null?void 0:L.length)>0?(_.openBlock(),_.createElementBlock("div",AA,[_.renderSlot(d.$slots,"default",{items:y.items}),y.total>=y.limit?(_.openBlock(),_.createElementBlock("div",kA,[_.createElementVNode("div",CA,[_.createVNode(z,{total:y.total,maxPages:4,defaultPage:y.currentPage,pageSize:y.limit,goTo:!1,size:"medium",onPageChange:P.handlePageChange,backgroundColor:"#e5e7eb",borderedCellSelected:!0,pageSizes:[9,18,27,36],onPageSizeChange:P.changeLimit},null,8,["total","defaultPage","pageSize","onPageChange","onPageSizeChange"])])])):_.createCommentVNode("",!0)])):(_.openBlock(),_.createElementBlock("div",TA,_.toDisplayString(y.emptyStateText),1))])])])}const PA=gr(pA,[["render",EA]]),IA={name:"Template2",props:{items:{type:Array,required:!0},path:{type:String,required:!0}},methods:{formatDate(d){return new Date(d).toLocaleDateString("uk-UA",{day:"2-digit",month:"2-digit",year:"numeric"})}}},MA={class:"flex flex-col space-y-1.5 p-4 pb-2 bg-slate-50"},LA={class:"flex items-center justify-between"},RA={class:"text-lg font-bold line-clamp-2"},DA={class:"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground ml-2 whitespace-nowrap","data-v0-t":"badge"},BA={class:"p-4 pt-2"},zA={class:"grid grid-cols-2 gap-3 text-sm"},VA={class:"flex items-center gap-1.5"},OA={class:"font-medium"},FA={class:"flex items-center gap-1.5"},NA={class:"font-medium"},qA={class:"flex items-center gap-1.5"},UA={class:"font-medium"},jA={class:"flex items-center gap-1.5"},HA={class:"font-medium"},WA={class:"items-center p-3 bg-slate-50 flex justify-end"},ZA=["href"];function KA(d,u,y,b,k,P){return _.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.items,x=>(_.openBlock(),_.createElementBlock("div",{key:x.id,class:"rounded-lg border bg-card text-card-foreground overflow-hidden border-none shadow-md relative","data-v0-t":"card"},[u[8]||(u[8]=_.createElementVNode("div",{class:"absolute left-0 top-0 bottom-0 w-1 bg-blue-500"},null,-1)),_.createElementVNode("div",MA,[_.createElementVNode("div",LA,[_.createElementVNode("h2",RA,_.toDisplayString(x.name),1),_.createElementVNode("div",DA,_.toDisplayString(x.status_text),1)])]),_.createElementVNode("div",BA,[_.createElementVNode("div",zA,[_.createElementVNode("div",VA,[u[0]||(u[0]=_.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-hash h-3.5 w-3.5 text-muted-foreground flex-shrink-0"><line x1="4" x2="20" y1="9" y2="9"></line><line x1="4" x2="20" y1="15" y2="15"></line><line x1="10" x2="8" y1="3" y2="21"></line><line x1="16" x2="14" y1="3" y2="21"></line></svg>',1)),_.createElementVNode("div",null,[_.createElementVNode("span",OA,_.toDisplayString(x.parent_text),1)])]),_.createElementVNode("div",FA,[u[2]||(u[2]=_.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-building h-3.5 w-3.5 text-muted-foreground flex-shrink-0"><rect width="16" height="20" x="4" y="2" rx="2" ry="2"></rect><path d="M9 22v-4h6v4"></path><path d="M8 6h.01"></path><path d="M16 6h.01"></path><path d="M12 6h.01"></path><path d="M12 10h.01"></path><path d="M12 14h.01"></path><path d="M16 10h.01"></path><path d="M16 14h.01"></path><path d="M8 10h.01"></path><path d="M8 14h.01"></path></svg>',1)),_.createElementVNode("div",null,[u[1]||(u[1]=_.createElementVNode("span",{class:"text-muted-foreground"},"Статус: ",-1)),_.createElementVNode("span",NA,_.toDisplayString(x.status_text),1)])]),_.createElementVNode("div",qA,[u[4]||(u[4]=_.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-building h-3.5 w-3.5 text-muted-foreground flex-shrink-0"><rect width="16" height="20" x="4" y="2" rx="2" ry="2"></rect><path d="M9 22v-4h6v4"></path><path d="M8 6h.01"></path><path d="M16 6h.01"></path><path d="M12 6h.01"></path><path d="M12 10h.01"></path><path d="M12 14h.01"></path><path d="M16 10h.01"></path><path d="M16 14h.01"></path><path d="M8 10h.01"></path><path d="M8 14h.01"></path></svg>',1)),_.createElementVNode("div",null,[_.createElementVNode("div",null,[u[3]||(u[3]=_.createElementVNode("span",{class:"text-muted-foreground"},"Тип: ",-1)),_.createElementVNode("span",UA,_.toDisplayString(x.type_text),1)])])]),_.createElementVNode("div",jA,[u[6]||(u[6]=_.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar h-3.5 w-3.5 text-muted-foreground flex-shrink-0"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg>',1)),_.createElementVNode("div",null,[u[5]||(u[5]=_.createElementVNode("span",{class:"text-muted-foreground"},"Дата видачі: ",-1)),_.createElementVNode("span",HA,_.toDisplayString(P.formatDate(x.cdate)),1)])])])]),_.createElementVNode("div",WA,[_.createElementVNode("a",{href:`${y.path}/${x.id}`,class:"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3"},u[7]||(u[7]=[_.createTextVNode(" Детальніше"),_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-arrow-right ml-1 h-3.5 w-3.5"},[_.createElementVNode("path",{d:"M5 12h14"}),_.createElementVNode("path",{d:"m12 5 7 7-7 7"})],-1)]),8,ZA)])]))),128)}const GA=gr(IA,[["render",KA]]),JA={name:"Template2",props:{items:{type:Array,required:!0},path:{type:String,required:!0}},methods:{formatDate(d){return new Date(d).toLocaleDateString("uk-UA",{day:"2-digit",month:"2-digit",year:"numeric"})}}},XA={class:"flex flex-col space-y-1.5 p-6 pb-2 border-b"},QA={class:"flex justify-between items-center"},YA={class:"tracking-tight text-lg font-medium"},$A={class:"inline-flex items-center rounded-full bg-blue-100 px-2.5 py-0.5 text-xs font-medium text-blue-800"},ek={class:"p-6 py-4"},tk={class:"grid grid-cols-1 gap-3"},rk={class:"flex items-center"},ik={class:"font-medium"},nk={class:"flex items-center"},ok={class:"font-medium"},sk={class:"items-center p-6 pt-0 flex justify-end"},ak=["href"];function lk(d,u,y,b,k,P){return _.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.items,x=>(_.openBlock(),_.createElementBlock("div",{key:x.id,class:"rounded-lg bg-card text-card-foreground border-0 shadow-md","data-v0-t":"card"},[_.createElementVNode("div",XA,[_.createElementVNode("div",QA,[_.createElementVNode("h3",YA,_.toDisplayString(x.name),1),_.createElementVNode("span",$A,_.toDisplayString(x.status_text),1)])]),_.createElementVNode("div",ek,[_.createElementVNode("div",tk,[_.createElementVNode("div",rk,[u[0]||(u[0]=_.createElementVNode("div",{class:"w-32 flex-shrink-0"},[_.createElementVNode("p",{class:"text-sm font-semibold text-gray-500"},"Номер адреси:")],-1)),_.createElementVNode("p",ik,_.toDisplayString(x.parent_text),1)]),_.createElementVNode("div",nk,[u[1]||(u[1]=_.createElementVNode("div",{class:"w-32 flex-shrink-0"},[_.createElementVNode("p",{class:"text-sm font-semibold text-gray-500"},"Дата видачі:")],-1)),_.createElementVNode("p",ok,_.toDisplayString(P.formatDate(x.cdate)),1)])])]),_.createElementVNode("div",sk,[_.createElementVNode("a",{href:`${y.path}/${x.id}`,class:"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 h-10 px-4 py-2 rounded-md bg-gray-900 text-white hover:bg-black"}," Детальніше ",8,ak)])]))),128)}const ck=gr(JA,[["render",lk]]),uk={name:"Template3",props:{items:{type:Array,required:!0},path:{type:String,required:!0}},methods:{formatDate(d){return new Date(d).toLocaleDateString("uk-UA",{day:"2-digit",month:"2-digit",year:"numeric"})}}},hk={class:"flex items-center py-2 px-3"},dk={class:"grid grid-cols-12 gap-2 w-full text-sm"},pk={class:"col-span-5"},fk={class:"font-medium line-clamp-1"},mk={class:"inline-flex items-center rounded-full border transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80 mt-1 text-[10px] font-normal px-1.5 py-0","data-v0-t":"badge"},gk={class:"col-span-2"},yk={class:"truncate"},_k={class:"col-span-2"},vk={class:"truncate"},xk={class:"col-span-2"},bk={class:"col-span-1 flex justify-end items-center"},wk=["href"];function Sk(d,u,y,b,k,P){return _.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.items,x=>(_.openBlock(),_.createElementBlock("div",{class:"border-b border-slate-200 hover:bg-slate-50 transition-colors",key:x.id},[_.createElementVNode("div",hk,[u[4]||(u[4]=_.createElementVNode("div",{class:"w-1 h-8 rounded-full mr-3 bg-blue-500"},null,-1)),_.createElementVNode("div",dk,[_.createElementVNode("div",pk,[_.createElementVNode("p",fk,_.toDisplayString(x.name),1),_.createElementVNode("div",mk,_.toDisplayString(x.type_text),1)]),_.createElementVNode("div",gk,[u[0]||(u[0]=_.createElementVNode("p",{class:"text-[10px] text-muted-foreground"},"Територіальна належність",-1)),_.createElementVNode("p",yk,_.toDisplayString(x.parent_text),1)]),_.createElementVNode("div",_k,[u[1]||(u[1]=_.createElementVNode("p",{class:"text-[10px] text-muted-foreground"},"Статус",-1)),_.createElementVNode("p",vk,_.toDisplayString(x.status_text),1)]),_.createElementVNode("div",xk,[u[2]||(u[2]=_.createElementVNode("p",{class:"text-[10px] text-muted-foreground"},"Дата видачі",-1)),_.createElementVNode("p",null,_.toDisplayString(P.formatDate(x.cdate)),1)]),_.createElementVNode("div",bk,[_.createElementVNode("a",{href:`${y.path}/${x.id}`,class:"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-accent hover:text-accent-foreground rounded-md h-7 w-7 p-0"},u[3]||(u[3]=[_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-chevron-right h-4 w-4"},[_.createElementVNode("path",{d:"m9 18 6-6-6-6"})],-1)]),8,wk)])])])]))),128)}const Ak=gr(uk,[["render",Sk]]),kk={name:"Template3",props:{items:{type:Array,required:!0},path:{type:String,required:!0}},methods:{formatDate(d){return d?new Date(d).toLocaleDateString("uk-UA",{day:"2-digit",month:"2-digit",year:"numeric"}):"Не вказано"}}},Ck={class:"grid grid-cols-12 divide-x divide-gray-100"},Tk={class:"col-span-7 p-4"},Ek={class:"flex items-center mb-1"},Pk={class:"text-base font-bold text-gray-900 mr-2"},Ik={class:"inline-flex items-center rounded-full px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-primary/80 bg-blue-100 text-blue-800 border-0 text-xs"},Mk={class:"text-sm text-gray-600 line-clamp-1 mb-2"},Lk={class:"grid grid-cols-2 gap-x-4 gap-y-1 text-sm"},Rk={class:"flex items-center"},Dk={class:"text-gray-600 truncate"},Bk={class:"col-span-2 flex flex-col justify-center items-center bg-gray-50 border-l p-2"},zk={class:"w-full space-y-2"},Vk=["href"];function Ok(d,u,y,b,k,P){return _.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.items,x=>(_.openBlock(),_.createElementBlock("div",{key:x.id,class:"bg-white border border-gray-200 rounded-lg overflow-hidden transition-all duration-200 hover:shadow-md"},[_.createElementVNode("div",Ck,[u[2]||(u[2]=_.createElementVNode("div",{class:"col-span-1 flex items-center justify-center"},[_.createElementVNode("div",{class:"w-3 h-12 rounded-sm bg-red-500",title:"Пріоритет: Високий","aria-hidden":"true"})],-1)),_.createElementVNode("div",Tk,[_.createElementVNode("div",Ek,[_.createElementVNode("h3",Pk,_.toDisplayString(x.name),1),_.createElementVNode("div",Ik,_.toDisplayString(x.type_text),1)]),_.createElementVNode("p",Mk,_.toDisplayString(x.parent_text),1),_.createElementVNode("div",Lk,[_.createElementVNode("div",Rk,[u[0]||(u[0]=_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-clock h-3.5 w-3.5 text-gray-400 mr-1 flex-shrink-0"},[_.createElementVNode("circle",{cx:"12",cy:"12",r:"10"}),_.createElementVNode("polyline",{points:"12 6 12 12 16 14"})],-1)),_.createElementVNode("span",Dk,"Оновлено: "+_.toDisplayString(P.formatDate(x.editor_date)),1)])])]),u[3]||(u[3]=_.createStaticVNode('<div class="col-span-2 p-3 bg-gray-50 flex flex-col justify-center"><p class="text-xs text-gray-500 mb-1.5">Категорії:</p><div class="flex flex-wrap gap-1"><div class="inline-flex items-center rounded-full font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 hover:bg-secondary/80 bg-white border border-gray-200 text-gray-700 text-xs px-1.5 py-0"> Житловий </div><div class="inline-flex items-center rounded-full font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 hover:bg-secondary/80 bg-white border border-gray-200 text-gray-700 text-xs px-1.5 py-0"> Центр </div></div></div>',1)),_.createElementVNode("div",Bk,[_.createElementVNode("div",zk,[_.createElementVNode("a",{href:`${y.path}/${x.id}`,class:"inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 rounded-md px-3 w-full bg-blue-600 hover:bg-blue-700 text-white text-xs h-8"}," Детальніше",8,Vk),u[1]||(u[1]=_.createElementVNode("button",{disabled:"",class:"inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border bg-background hover:text-accent-foreground rounded-md px-3 w-full text-gray-700 border-gray-300 hover:bg-gray-100 text-xs h-8"}," Завантажити ",-1))])])])]))),128)}const Fk=gr(kk,[["render",Ok]]),Nk={template1:GA,template2:ck,template3:Ak,template4:Fk},qk={name:"RegistryList",components:{HeroBlock:Sy,...Nk},props:{title:{type:String,required:!0},description:{type:String,default:""},items:{type:Array,default:()=>[]},total:{type:Number,default:0},filters:{type:Array,default:()=>null},searchPlaceholder:{type:String,default:"Пошук..."},itemsLabel:{type:String,default:"елементів"},emptyStateText:{type:String,default:"Немає даних"},limit:{type:Number,default:16},currentPage:{type:Number,default:1},breadcrumbs:{type:Array,default:()=>[]},path:{type:String,default:""},id_key:{type:String,default:"id"},dialog:{type:Boolean,default:!0},token:{type:String,default:""}},data(){return{searchQuery:"",filterUrl:"",mounted:!1,templateViews:[{value:"template1",label:"Шаблон 1"},{value:"template2",label:"Шаблон 2"},{value:"template3",label:"Шаблон 3"},{value:"template4",label:"Шаблон 4"}],templateView:"template1"}},mounted(){this.mounted=!0},methods:{handleFilterChange(){var d,u,y;this.filterUrl=(d=this.$refs)==null?void 0:d.filter.filterUrl,this.$emit("filter-change",{filterUrl:this.filterUrl,activeFilters:(u=this.$refs)==null?void 0:u.filter,activeFiltersLength:(y=this.$refs)==null?void 0:y.filter.filteredActiveFiltersLength})},handlePageChange(d){this.$emit("page-change",d),this.$nextTick(()=>{this.$refs.componentRef.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"})})},changeLimit(d){this.$emit("limit-change",d)}},watch:{searchQuery(d){this.$emit("search",d)}}},Uk={class:"py-16 md:py-24"},jk={class:"py-6",ref:"componentRef"},Hk={class:"container"},Wk={key:0,class:"flex items-center text-sm text-muted-foreground mb-6"},Zk=["href"],Kk={key:1,class:"text-foreground font-medium truncate"},Gk={class:"flex flex-col md:flex-row gap-4"},Jk={class:"flex-1 relative"},Xk=["placeholder"],Qk={class:"container"},Yk={key:0,class:"space-y-4"},$k={key:0,class:"my-5 pr-2"},eC={class:"paginationWrapper relative flex justify-center"},tC={key:1,class:"text-center text-slate-400"};function rC(d,u,y,b,k,P){var U,M;const x=_.resolveComponent("HeroBlock"),o=_.resolveComponent("VsFilterList"),z=_.resolveComponent("VsAutocompleteOption"),D=_.resolveComponent("VsAutocomplete"),L=_.resolveComponent("VsPagination");return _.openBlock(),_.createElementBlock("div",Uk,[_.createElementVNode("section",null,[_.createVNode(x,{title:y.title,description:y.description,path:y.path},null,8,["title","description","path"])]),_.createElementVNode("section",jk,[_.createElementVNode("div",Hk,[(U=y.breadcrumbs)!=null&&U.length?(_.openBlock(),_.createElementBlock("div",Wk,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.breadcrumbs,(T,C)=>(_.openBlock(),_.createElementBlock(_.Fragment,{key:C},[C<y.breadcrumbs.length-1?(_.openBlock(),_.createElementBlock(_.Fragment,{key:0},[_.createElementVNode("a",{href:T.link,class:"hover:text-foreground"},_.toDisplayString(T.name),9,Zk),u[4]||(u[4]=_.createElementVNode("span",{class:"mx-2"},"/",-1))],64)):(_.openBlock(),_.createElementBlock("span",Kk,_.toDisplayString(T.name),1))],64))),128))])):_.createCommentVNode("",!0),_.createElementVNode("div",Gk,[_.createElementVNode("div",Jk,[u[6]||(u[6]=_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-search absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400"},[_.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),_.createElementVNode("path",{d:"m21 21-4.3-4.3"})],-1)),_.withDirectives(_.createElementVNode("input",{"onUpdate:modelValue":u[0]||(u[0]=T=>k.searchQuery=T),onKeydown:u[1]||(u[1]=_.withKeys(_.withModifiers(()=>{},["prevent"]),["enter"])),type:"text",placeholder:y.searchPlaceholder,class:"!pr-16 py-2 pl-10 block w-full overflow-hidden overflow-ellipsis border border-solid placeholder:text-nowrap border-stone-200 rounded-lg text-sm text-stone-800 placeholder:text-stone-500 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-600"},null,40,Xk),[[_.vModelText,k.searchQuery]]),k.searchQuery?(_.openBlock(),_.createElementBlock("svg",{key:0,onClick:u[2]||(u[2]=T=>k.searchQuery=""),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400"},u[5]||(u[5]=[_.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),_.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),_.createElementVNode("path",{d:"M6 6l12 12"},null,-1)]))):_.createCommentVNode("",!0)]),y.filters&&k.mounted?(_.openBlock(),_.createBlock(o,{key:0,ref:"filter",scheme:y.filters,token:y.token,isDialog:y.dialog,urlSeparator:"true",view:"plain",name:"filter",onFilterChange:P.handleFilterChange},{button:_.withCtx(()=>u[7]||(u[7]=[_.createElementVNode("button",{class:"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground px-3 py-2",type:"button"}," Фільтри ",-1)])),_:1},8,["scheme","token","isDialog","onFilterChange"])):_.createCommentVNode("",!0),_.createVNode(D,{modelValue:k.templateView,"onUpdate:modelValue":u[3]||(u[3]=T=>k.templateView=T),class:"w-[150px]"},{default:_.withCtx(()=>[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(k.templateViews,T=>(_.openBlock(),_.createBlock(z,{label:T.label,value:T.value},{default:_.withCtx(()=>[_.createTextVNode(_.toDisplayString(T.label),1)]),_:2},1032,["label","value"]))),256))]),_:1},8,["modelValue"])])])],512),_.createElementVNode("section",null,[_.createElementVNode("div",Qk,[((M=y.items)==null?void 0:M.length)>0?(_.openBlock(),_.createElementBlock("div",Yk,[(_.openBlock(),_.createBlock(_.resolveDynamicComponent(k.templateView),{items:y.items,path:y.path,id_key:y.id_key},null,8,["items","path","id_key"])),y.total>=y.limit?(_.openBlock(),_.createElementBlock("div",$k,[_.createElementVNode("div",eC,[_.createVNode(L,{total:y.total,maxPages:4,defaultPage:y.currentPage,pageSize:y.limit,goTo:!1,size:"medium",onPageChange:P.handlePageChange,backgroundColor:"#e5e7eb",borderedCellSelected:!0,pageSizes:[10,20,30,40],onPageSizeChange:P.changeLimit},null,8,["total","defaultPage","pageSize","onPageChange","onPageSizeChange"])])])):_.createCommentVNode("",!0)])):(_.openBlock(),_.createElementBlock("div",tC,_.toDisplayString(y.emptyStateText),1))])])])}const iC=gr(qk,[["render",rC]]),nC={install(d){d.component("MapCustom",aA),d.component("RegistryList",PA),d.component("RegistryListCustom",iC)}};module.exports=nC;
|
|
845
|
+
`):"":ee=Array.isArray(K.content)?K.content.join(""):"",k||(k=document.createElement("div"),y.value.getContainer().appendChild(k));const he=y.value.project(hr.lngLat);k.innerHTML=rt(Q,ee,K.fields,Ft.properties,K.mode,he)}}),y.value.on("mouseleave",()=>{var hr;if(k&&(k.remove(),k=null),x.value){const lr=(hr=y.value.getSource(x.value.source))==null?void 0:hr.type,Ft={source:x.value.source,id:x.value.id};lr==="vector"&&(Ft.sourceLayer=x.value.source),Dr(y.value,x.value.source,x.value.id,{hovered:!1}),x.value=null}y.value&&y.value.getCanvas&&(y.value.getCanvas().style.cursor="")})),y.value.on("click",async hr=>{var wt;if(["length","area","print"].includes(L.value))return;const lr=y.value.queryRenderedFeatures(hr.point);if(!lr.length)return;o.value.forEach(Ae=>{var ee;const K=(ee=y.value.getSource(Ae.source))==null?void 0:ee.type,Q={source:Ae.source,id:Ae.id};K==="vector"&&(Q.sourceLayer=Ae.source),Dr(y.value,Ae.source,Ae.id,{selected:!1})}),o.value=[];const Ft=lr[0],wr=(wt=y.value.getSource(Ft.layer.source))==null?void 0:wt.type,pr={source:Ft.layer.source,id:Ft.id};wr==="vector"&&(pr.sourceLayer=Ft.layer.source),Dr(y.value,Ft.layer.source,Ft.id,{selected:!0}),o.value.push({source:Ft.layer.source,id:Ft.id});const Jt=u.config.widgets.find(Ae=>Ae.type==="layers"),fr=u.config.widgets.find(Ae=>Ae.type==="attribute");let It=(fr==null?void 0:fr.config.layer)||(Jt==null?void 0:Jt.config.layers.find(Ae=>Ae.id===Ft.layer.source));D.value={layer:(It==null?void 0:It.service_key)||"",map:(It==null?void 0:It.map_key)||"",id:Ft.properties.id,title:(It==null?void 0:It.title)||""}}),y.value.on("dblclick",hr=>{var wr;if(["length","area","print"].includes(L.value))return;Wr([hr.lngLat.lng,hr.lngLat.lat]);const lr=u.config.widgets.find(pr=>pr.type==="layers");let Ft=null;(wr=lr==null?void 0:lr.config)!=null&&wr.layers&&(Ft=lr.config.layers.find(pr=>pr.visible!==!1&&["tms","wms","raster"].includes((pr.service_type||pr.service||"").toLowerCase()))),D.value={layer:(Ft==null?void 0:Ft.map_key)||"",map:(Ft==null?void 0:Ft.service_key)||"",id:"",title:(Ft==null?void 0:Ft.title)||""}}),y.value.resize(),b.value=!0,u.config.history){const hr=()=>{const lr=y.value.getCenter();qt({center:[lr.lng,lr.lat],zoom:y.value.getZoom(),bearing:y.value.getBearing(),pitch:y.value.getPitch()})};y.value.on("moveend",hr),y.value.on("rotate",hr),y.value.on("pitch",hr)}}catch(Mr){console.error("Error loading map:",Mr)}})},Cr=()=>{Si(),o.value.forEach(gt=>{y.value&&Dr(y.value,gt.source,gt.id,{selected:!1})}),o.value=[],D.value=null};_.onMounted(async()=>{await _.nextTick(),Xt(),me(),window.addEventListener("resize",()=>{me()}),_.watch([M["top-left"],M["top-right"],M["top-center"],M.center,M["bottom-left"],M["bottom-right"],M["bottom-center"],()=>u.config.widgets,z],async()=>{await _.nextTick(),me(),setTimeout(me,0)},{deep:!0}),_.watch(b,gt=>{gt&&_.nextTick().then(()=>{me()})})}),_.onUnmounted(()=>{window.removeEventListener("resize",me)});const br=_.computed(()=>{var xt;return{height:u.config.height||((xt=u.config.map)==null?void 0:xt.height)||"100vh",width:"100%"}}),ni=gt=>{var ct;const xt=(ct=u.config.widgets)==null?void 0:ct.find(zt=>zt.position===gt);return(xt==null?void 0:xt.width)||"400px"},ir=_.ref([]),Wi=()=>{var xt;const gt=u.config.widgets.find(ct=>ct.type==="layers");return(xt=gt==null?void 0:gt.config)!=null&&xt.layers?gt.config.layers.map(ct=>({...ct,visible:ct.visible??!1})).filter(ct=>ct.visible).map(ct=>ct.id):[]};ir.value=Wi();function Dr(gt,xt,ct,zt){gt.getStyle().layers.filter(Ot=>Ot.source===xt).forEach(Ot=>{var Nt;const dr={source:xt,id:ct};((Nt=gt.getSource(xt))==null?void 0:Nt.type)==="vector"&&Ot["source-layer"]&&(dr.sourceLayer=Ot["source-layer"]),gt.setFeatureState(dr,zt)})}const Zi=_.computed(()=>{var gt,xt;return!!((xt=(gt=u.config.interactions)==null?void 0:gt.navigation)!=null&&xt.enabled)}),Br=_.computed(()=>Array.isArray(u.config.tools)&&u.config.tools.length>0),on=_.computed(()=>Zi.value||Br.value?"70px":"20px");function Si(){y.value&&(y.value.getLayer("layer-with-pulsing-dot")&&y.value.removeLayer("layer-with-pulsing-dot"),y.value.getSource("dot-point")&&y.value.removeSource("dot-point"),y.value.hasImage&&y.value.hasImage("pulsing-dot")&&y.value.removeImage("pulsing-dot"))}function Wr(gt){var zt,Ht,Ot,dr;Si();const xt=80,ct={width:xt,height:xt,data:new Uint8Array(xt*xt*4),onAdd(){const Nt=document.createElement("canvas");Nt.width=this.width,Nt.height=this.height,this.context=Nt.getContext("2d",{willReadFrequently:!0})},render(){var zi;const mr=performance.now()%2e3/2e3,jr=xt/2*.3,mi=xt/2*.7*mr+jr,{context:Mr}=this;Mr.clearRect(0,0,this.width,this.height),Mr.beginPath(),Mr.arc(this.width/2,this.height/2,mi,0,Math.PI*2),Mr.fillStyle=`rgba(255, 100, 100, ${1-mr})`,Mr.fill();const gi=xt/2*.7*(mr-.5<0?mr-.5+1:mr-.5)+jr;return Mr.beginPath(),Mr.arc(this.width/2,this.height/2,gi,0,Math.PI*2),Mr.fillStyle=`rgba(255, 100, 100, ${1-(mr-.5<0?mr-.5+1:mr-.5)})`,Mr.fill(),this.data=Mr.getImageData(0,0,this.width,this.height).data,(zi=y.value)==null||zi.triggerRepaint(),!0}};(zt=y.value)!=null&&zt.hasImage("pulsing-dot")||(Ht=y.value)==null||Ht.addImage("pulsing-dot",ct,{pixelRatio:2}),(Ot=y.value)==null||Ot.addSource("dot-point",{type:"geojson",data:{type:"Feature",geometry:{type:"Point",coordinates:gt}}}),(dr=y.value)==null||dr.addLayer({id:"layer-with-pulsing-dot",type:"symbol",source:"dot-point",layout:{"icon-image":"pulsing-dot"},paint:{"icon-opacity":.6}})}const Ki=_.computed(()=>({center:u.config.map.center,zoom:u.config.map.zoom,pitch:u.config.map.pitch||0,bearing:u.config.map.bearing||0,bbox:u.config.map.bbox||null})),Yr={home:R2,print:N2,geolocation:uS,pitch:j2,length:NS,area:tA},Gi=gt=>{L.value=gt};function Mi(gt){const{map_key:xt,service_key:ct}=u.config.widgets.find(zt=>zt.type==="list").config;xt&&ct&&(D.value={id:gt,map:xt,layer:ct})}function Cn(gt){switch(gt){case"top-left":return C.value;case"top-right":return N.value;case"top-center":return G.value;case"center":return ie.value;case"bottom-left":return le.value;case"bottom-right":return Ee.value;case"bottom-center":return te.value;default:return 0}}const fi=_.computed(()=>{var gt;return((gt=u.config.widgets)==null?void 0:gt.filter(xt=>xt.position==="absolute"))||[]});return(gt,xt)=>(_.openBlock(),_.createElementBlock("div",{id:"maplibre-demo-map",style:_.normalizeStyle(br.value)},[b.value?_.createCommentVNode("",!0):(_.openBlock(),_.createBlock(C2,{key:0})),_.withDirectives(_.createElementVNode("div",nA,[(_.openBlock(),_.createElementBlock(_.Fragment,null,_.renderList(U,ct=>_.createVNode(iA,{key:ct,position:ct,widgets:De(ct),map:y.value,mapLoaded:b.value,cardValues:D.value,hasFilters:_t.value,history:u.config.history,currentFilterLayer:P.value,enabledLayerIds:ir.value,getWidgetComponent:At,getColumnWidth:ni,rightColumnOffset:ct==="top-right"?on.value:void 0,maxHeight:Cn(ct),ref_for:!0,ref:zt=>T(ct,zt),onSetFilterLayer:lt,"onUpdate:enabledLayerIds":xt[0]||(xt[0]=zt=>ir.value=zt),onCardValuesId:Mi,onCloseCard:Cr,onContentResize:()=>me(ct)},null,8,["position","widgets","map","mapLoaded","cardValues","hasFilters","history","currentFilterLayer","enabledLayerIds","rightColumnOffset","maxHeight","onContentResize"])),64)),_.createElementVNode("div",oA,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(d.config.tools,ct=>(_.openBlock(),_.createElementBlock(_.Fragment,{key:ct},[b.value&&Yr[ct]?(_.openBlock(),_.createBlock(_.resolveDynamicComponent(Yr[ct]),_.mergeProps({key:0,map:y.value,activeTool:L.value,setActiveTool:Gi,ref_for:!0},ct==="home"?{initialView:Ki.value}:{},{onCardValuesId:Mi}),null,16,["map","activeTool"])):_.createCommentVNode("",!0)],64))),128))])],512),[[_.vShow,b.value]]),(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(fi.value,(ct,zt)=>(_.openBlock(),_.createElementBlock("div",{key:"abs-"+(ct.id||ct.type||zt),class:"absolute z-20",style:_.normalizeStyle(ct.style)},[(_.openBlock(),_.createBlock(_.resolveDynamicComponent(At(ct.type)),{map:y.value,config:ct.config,hasFilters:_t.value,currentFilterLayer:P.value,enabledLayerIds:ir.value,cardValues:D.value,onSetFilterLayer:lt,"onUpdate:enabledLayerIds":xt[1]||(xt[1]=Ht=>ir.value=Ht),onCardValuesId:Mi,onCloseCard:Cr},null,40,["map","config","hasFilters","currentFilterLayer","enabledLayerIds","cardValues"]))],4))),128))],4))}},aA=gr(sA,[["__scopeId","data-v-1622c3c6"]]),lA={props:{title:{type:String,required:!0},description:{type:String,required:!0}}},cA={class:"text-center mb-12"},uA={class:"text-3xl font-bold mb-4"},hA={class:"text-slate-600 max-w-2xl mx-auto"};function dA(d,u,y,b,k,P){return _.openBlock(),_.createElementBlock("div",cA,[_.createElementVNode("h2",uA,_.toDisplayString(y.title),1),_.createElementVNode("p",hA,_.toDisplayString(y.description),1)])}const Sy=gr(lA,[["render",dA]]),pA={name:"RegistryList",components:{HeroBlock:Sy},props:{title:{type:String,required:!0},description:{type:String,default:""},items:{type:Array,default:()=>[]},total:{type:Number,default:0},filters:{type:Array,default:()=>null},searchPlaceholder:{type:String,default:"Пошук..."},itemsLabel:{type:String,default:"елементів"},emptyStateText:{type:String,default:"Немає даних"},limit:{type:Number,default:16},currentPage:{type:Number,default:1},breadcrumbs:{type:Array,default:()=>[]},dialog:{type:Boolean,default:!0},token:{type:String,default:""}},data(){return{searchQuery:"",filterUrl:"",mounted:!1}},mounted(){this.mounted=!0},methods:{handleFilterChange(){var d,u,y;this.filterUrl=(d=this.$refs)==null?void 0:d.filter.filterUrl,this.$emit("filter-change",{filterUrl:this.filterUrl,activeFilters:(u=this.$refs)==null?void 0:u.filter,activeFiltersLength:(y=this.$refs)==null?void 0:y.filter.filteredActiveFiltersLength})},handlePageChange(d){this.$emit("page-change",d)},changeLimit(d){this.$emit("limit-change",d)}},watch:{searchQuery(d){this.$emit("search",d)}}},fA={class:"py-16 md:py-24"},mA={class:"py-6"},gA={class:"container"},yA={key:0,class:"flex items-center text-sm text-muted-foreground mb-6"},_A=["href"],vA={key:1,class:"text-foreground font-medium truncate"},xA={class:"flex flex-col md:flex-row gap-4"},bA={class:"flex-1 relative"},wA=["placeholder"],SA={class:"container"},AA={key:0,class:"space-y-4"},kA={class:"my-5 pr-2"},CA={class:"paginationWrapper relative flex justify-center"},TA={key:1,class:"text-center text-slate-400"};function EA(d,u,y,b,k,P){var D,L;const x=_.resolveComponent("HeroBlock"),o=_.resolveComponent("VsFilterList"),z=_.resolveComponent("VsPagination");return _.openBlock(),_.createElementBlock("div",fA,[_.createElementVNode("section",null,[_.createVNode(x,{title:y.title,description:y.description},null,8,["title","description"])]),_.createElementVNode("section",mA,[_.createElementVNode("div",gA,[(D=y.breadcrumbs)!=null&&D.length?(_.openBlock(),_.createElementBlock("div",yA,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.breadcrumbs,(U,M)=>(_.openBlock(),_.createElementBlock(_.Fragment,{key:M},[M<y.breadcrumbs.length-1?(_.openBlock(),_.createElementBlock(_.Fragment,{key:0},[_.createElementVNode("a",{href:U.link,class:"hover:text-foreground"},_.toDisplayString(U.name),9,_A),u[3]||(u[3]=_.createElementVNode("span",{class:"mx-2"},"/",-1))],64)):(_.openBlock(),_.createElementBlock("span",vA,_.toDisplayString(U.name),1))],64))),128))])):_.createCommentVNode("",!0),_.createElementVNode("div",xA,[_.createElementVNode("div",bA,[u[5]||(u[5]=_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-search absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400"},[_.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),_.createElementVNode("path",{d:"m21 21-4.3-4.3"})],-1)),_.withDirectives(_.createElementVNode("input",{"onUpdate:modelValue":u[0]||(u[0]=U=>k.searchQuery=U),onKeydown:u[1]||(u[1]=_.withKeys(_.withModifiers(()=>{},["prevent"]),["enter"])),type:"text",placeholder:y.searchPlaceholder,class:"!pr-16 py-2 pl-10 block w-full overflow-hidden overflow-ellipsis border border-solid placeholder:text-nowrap border-stone-200 rounded-lg text-sm text-stone-800 placeholder:text-stone-500 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-600"},null,40,wA),[[_.vModelText,k.searchQuery]]),k.searchQuery?(_.openBlock(),_.createElementBlock("svg",{key:0,onClick:u[2]||(u[2]=U=>k.searchQuery=""),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400"},u[4]||(u[4]=[_.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),_.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),_.createElementVNode("path",{d:"M6 6l12 12"},null,-1)]))):_.createCommentVNode("",!0)]),y.filters&&k.mounted?(_.openBlock(),_.createBlock(o,{key:0,ref:"filter",scheme:y.filters,isDialog:y.dialog,urlSeparator:"true",view:"plain",token:y.token,name:"filter",onFilterChange:P.handleFilterChange},{button:_.withCtx(()=>u[6]||(u[6]=[_.createElementVNode("button",{class:"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground px-3 py-2",type:"button"}," Фільтри ",-1)])),_:1},8,["scheme","isDialog","token","onFilterChange"])):_.createCommentVNode("",!0)])])]),_.createElementVNode("section",null,[_.createElementVNode("div",SA,[((L=y.items)==null?void 0:L.length)>0?(_.openBlock(),_.createElementBlock("div",AA,[_.renderSlot(d.$slots,"default",{items:y.items}),_.createElementVNode("div",kA,[_.createElementVNode("div",CA,[_.createVNode(z,{total:y.total,maxPages:4,defaultPage:y.currentPage,pageSize:y.limit,goTo:!1,size:"medium",onPageChange:P.handlePageChange,backgroundColor:"#e5e7eb",borderedCellSelected:!0,pageSizes:[9,18,27,36],onPageSizeChange:P.changeLimit},null,8,["total","defaultPage","pageSize","onPageChange","onPageSizeChange"])])])])):(_.openBlock(),_.createElementBlock("div",TA,_.toDisplayString(y.emptyStateText),1))])])])}const PA=gr(pA,[["render",EA]]),IA={name:"Template2",props:{items:{type:Array,required:!0},path:{type:String,required:!0}},methods:{formatDate(d){return new Date(d).toLocaleDateString("uk-UA",{day:"2-digit",month:"2-digit",year:"numeric"})}}},MA={class:"flex flex-col space-y-1.5 p-4 pb-2 bg-slate-50"},LA={class:"flex items-center justify-between"},RA={class:"text-lg font-bold line-clamp-2"},DA={class:"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground ml-2 whitespace-nowrap","data-v0-t":"badge"},BA={class:"p-4 pt-2"},zA={class:"grid grid-cols-2 gap-3 text-sm"},VA={class:"flex items-center gap-1.5"},OA={class:"font-medium"},FA={class:"flex items-center gap-1.5"},NA={class:"font-medium"},qA={class:"flex items-center gap-1.5"},UA={class:"font-medium"},jA={class:"flex items-center gap-1.5"},HA={class:"font-medium"},WA={class:"items-center p-3 bg-slate-50 flex justify-end"},ZA=["href"];function KA(d,u,y,b,k,P){return _.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.items,x=>(_.openBlock(),_.createElementBlock("div",{key:x.id,class:"rounded-lg border bg-card text-card-foreground overflow-hidden border-none shadow-md relative","data-v0-t":"card"},[u[8]||(u[8]=_.createElementVNode("div",{class:"absolute left-0 top-0 bottom-0 w-1 bg-blue-500"},null,-1)),_.createElementVNode("div",MA,[_.createElementVNode("div",LA,[_.createElementVNode("h2",RA,_.toDisplayString(x.name),1),_.createElementVNode("div",DA,_.toDisplayString(x.status_text),1)])]),_.createElementVNode("div",BA,[_.createElementVNode("div",zA,[_.createElementVNode("div",VA,[u[0]||(u[0]=_.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-hash h-3.5 w-3.5 text-muted-foreground flex-shrink-0"><line x1="4" x2="20" y1="9" y2="9"></line><line x1="4" x2="20" y1="15" y2="15"></line><line x1="10" x2="8" y1="3" y2="21"></line><line x1="16" x2="14" y1="3" y2="21"></line></svg>',1)),_.createElementVNode("div",null,[_.createElementVNode("span",OA,_.toDisplayString(x.parent_text),1)])]),_.createElementVNode("div",FA,[u[2]||(u[2]=_.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-building h-3.5 w-3.5 text-muted-foreground flex-shrink-0"><rect width="16" height="20" x="4" y="2" rx="2" ry="2"></rect><path d="M9 22v-4h6v4"></path><path d="M8 6h.01"></path><path d="M16 6h.01"></path><path d="M12 6h.01"></path><path d="M12 10h.01"></path><path d="M12 14h.01"></path><path d="M16 10h.01"></path><path d="M16 14h.01"></path><path d="M8 10h.01"></path><path d="M8 14h.01"></path></svg>',1)),_.createElementVNode("div",null,[u[1]||(u[1]=_.createElementVNode("span",{class:"text-muted-foreground"},"Статус: ",-1)),_.createElementVNode("span",NA,_.toDisplayString(x.status_text),1)])]),_.createElementVNode("div",qA,[u[4]||(u[4]=_.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-building h-3.5 w-3.5 text-muted-foreground flex-shrink-0"><rect width="16" height="20" x="4" y="2" rx="2" ry="2"></rect><path d="M9 22v-4h6v4"></path><path d="M8 6h.01"></path><path d="M16 6h.01"></path><path d="M12 6h.01"></path><path d="M12 10h.01"></path><path d="M12 14h.01"></path><path d="M16 10h.01"></path><path d="M16 14h.01"></path><path d="M8 10h.01"></path><path d="M8 14h.01"></path></svg>',1)),_.createElementVNode("div",null,[_.createElementVNode("div",null,[u[3]||(u[3]=_.createElementVNode("span",{class:"text-muted-foreground"},"Тип: ",-1)),_.createElementVNode("span",UA,_.toDisplayString(x.type_text),1)])])]),_.createElementVNode("div",jA,[u[6]||(u[6]=_.createStaticVNode('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar h-3.5 w-3.5 text-muted-foreground flex-shrink-0"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg>',1)),_.createElementVNode("div",null,[u[5]||(u[5]=_.createElementVNode("span",{class:"text-muted-foreground"},"Дата видачі: ",-1)),_.createElementVNode("span",HA,_.toDisplayString(P.formatDate(x.cdate)),1)])])])]),_.createElementVNode("div",WA,[_.createElementVNode("a",{href:`${y.path}/${x.id}`,class:"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3"},u[7]||(u[7]=[_.createTextVNode(" Детальніше"),_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-arrow-right ml-1 h-3.5 w-3.5"},[_.createElementVNode("path",{d:"M5 12h14"}),_.createElementVNode("path",{d:"m12 5 7 7-7 7"})],-1)]),8,ZA)])]))),128)}const GA=gr(IA,[["render",KA]]),JA={name:"Template2",props:{items:{type:Array,required:!0},path:{type:String,required:!0}},methods:{formatDate(d){return new Date(d).toLocaleDateString("uk-UA",{day:"2-digit",month:"2-digit",year:"numeric"})}}},XA={class:"flex flex-col space-y-1.5 p-6 pb-2 border-b"},QA={class:"flex justify-between items-center"},YA={class:"tracking-tight text-lg font-medium"},$A={class:"inline-flex items-center rounded-full bg-blue-100 px-2.5 py-0.5 text-xs font-medium text-blue-800"},ek={class:"p-6 py-4"},tk={class:"grid grid-cols-1 gap-3"},rk={class:"flex items-center"},ik={class:"font-medium"},nk={class:"flex items-center"},ok={class:"font-medium"},sk={class:"items-center p-6 pt-0 flex justify-end"},ak=["href"];function lk(d,u,y,b,k,P){return _.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.items,x=>(_.openBlock(),_.createElementBlock("div",{key:x.id,class:"rounded-lg bg-card text-card-foreground border-0 shadow-md","data-v0-t":"card"},[_.createElementVNode("div",XA,[_.createElementVNode("div",QA,[_.createElementVNode("h3",YA,_.toDisplayString(x.name),1),_.createElementVNode("span",$A,_.toDisplayString(x.status_text),1)])]),_.createElementVNode("div",ek,[_.createElementVNode("div",tk,[_.createElementVNode("div",rk,[u[0]||(u[0]=_.createElementVNode("div",{class:"w-32 flex-shrink-0"},[_.createElementVNode("p",{class:"text-sm font-semibold text-gray-500"},"Номер адреси:")],-1)),_.createElementVNode("p",ik,_.toDisplayString(x.parent_text),1)]),_.createElementVNode("div",nk,[u[1]||(u[1]=_.createElementVNode("div",{class:"w-32 flex-shrink-0"},[_.createElementVNode("p",{class:"text-sm font-semibold text-gray-500"},"Дата видачі:")],-1)),_.createElementVNode("p",ok,_.toDisplayString(P.formatDate(x.cdate)),1)])])]),_.createElementVNode("div",sk,[_.createElementVNode("a",{href:`${y.path}/${x.id}`,class:"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 h-10 px-4 py-2 rounded-md bg-gray-900 text-white hover:bg-black"}," Детальніше ",8,ak)])]))),128)}const ck=gr(JA,[["render",lk]]),uk={name:"Template3",props:{items:{type:Array,required:!0},path:{type:String,required:!0}},methods:{formatDate(d){return new Date(d).toLocaleDateString("uk-UA",{day:"2-digit",month:"2-digit",year:"numeric"})}}},hk={class:"flex items-center py-2 px-3"},dk={class:"grid grid-cols-12 gap-2 w-full text-sm"},pk={class:"col-span-5"},fk={class:"font-medium line-clamp-1"},mk={class:"inline-flex items-center rounded-full border transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80 mt-1 text-[10px] font-normal px-1.5 py-0","data-v0-t":"badge"},gk={class:"col-span-2"},yk={class:"truncate"},_k={class:"col-span-2"},vk={class:"truncate"},xk={class:"col-span-2"},bk={class:"col-span-1 flex justify-end items-center"},wk=["href"];function Sk(d,u,y,b,k,P){return _.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.items,x=>(_.openBlock(),_.createElementBlock("div",{class:"border-b border-slate-200 hover:bg-slate-50 transition-colors",key:x.id},[_.createElementVNode("div",hk,[u[4]||(u[4]=_.createElementVNode("div",{class:"w-1 h-8 rounded-full mr-3 bg-blue-500"},null,-1)),_.createElementVNode("div",dk,[_.createElementVNode("div",pk,[_.createElementVNode("p",fk,_.toDisplayString(x.name),1),_.createElementVNode("div",mk,_.toDisplayString(x.type_text),1)]),_.createElementVNode("div",gk,[u[0]||(u[0]=_.createElementVNode("p",{class:"text-[10px] text-muted-foreground"},"Територіальна належність",-1)),_.createElementVNode("p",yk,_.toDisplayString(x.parent_text),1)]),_.createElementVNode("div",_k,[u[1]||(u[1]=_.createElementVNode("p",{class:"text-[10px] text-muted-foreground"},"Статус",-1)),_.createElementVNode("p",vk,_.toDisplayString(x.status_text),1)]),_.createElementVNode("div",xk,[u[2]||(u[2]=_.createElementVNode("p",{class:"text-[10px] text-muted-foreground"},"Дата видачі",-1)),_.createElementVNode("p",null,_.toDisplayString(P.formatDate(x.cdate)),1)]),_.createElementVNode("div",bk,[_.createElementVNode("a",{href:`${y.path}/${x.id}`,class:"inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover:bg-accent hover:text-accent-foreground rounded-md h-7 w-7 p-0"},u[3]||(u[3]=[_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-chevron-right h-4 w-4"},[_.createElementVNode("path",{d:"m9 18 6-6-6-6"})],-1)]),8,wk)])])])]))),128)}const Ak=gr(uk,[["render",Sk]]),kk={name:"Template3",props:{items:{type:Array,required:!0},path:{type:String,required:!0}},methods:{formatDate(d){return d?new Date(d).toLocaleDateString("uk-UA",{day:"2-digit",month:"2-digit",year:"numeric"}):"Не вказано"}}},Ck={class:"grid grid-cols-12 divide-x divide-gray-100"},Tk={class:"col-span-7 p-4"},Ek={class:"flex items-center mb-1"},Pk={class:"text-base font-bold text-gray-900 mr-2"},Ik={class:"inline-flex items-center rounded-full px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent hover:bg-primary/80 bg-blue-100 text-blue-800 border-0 text-xs"},Mk={class:"text-sm text-gray-600 line-clamp-1 mb-2"},Lk={class:"grid grid-cols-2 gap-x-4 gap-y-1 text-sm"},Rk={class:"flex items-center"},Dk={class:"text-gray-600 truncate"},Bk={class:"col-span-2 flex flex-col justify-center items-center bg-gray-50 border-l p-2"},zk={class:"w-full space-y-2"},Vk=["href"];function Ok(d,u,y,b,k,P){return _.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.items,x=>(_.openBlock(),_.createElementBlock("div",{key:x.id,class:"bg-white border border-gray-200 rounded-lg overflow-hidden transition-all duration-200 hover:shadow-md"},[_.createElementVNode("div",Ck,[u[2]||(u[2]=_.createElementVNode("div",{class:"col-span-1 flex items-center justify-center"},[_.createElementVNode("div",{class:"w-3 h-12 rounded-sm bg-red-500",title:"Пріоритет: Високий","aria-hidden":"true"})],-1)),_.createElementVNode("div",Tk,[_.createElementVNode("div",Ek,[_.createElementVNode("h3",Pk,_.toDisplayString(x.name),1),_.createElementVNode("div",Ik,_.toDisplayString(x.type_text),1)]),_.createElementVNode("p",Mk,_.toDisplayString(x.parent_text),1),_.createElementVNode("div",Lk,[_.createElementVNode("div",Rk,[u[0]||(u[0]=_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-clock h-3.5 w-3.5 text-gray-400 mr-1 flex-shrink-0"},[_.createElementVNode("circle",{cx:"12",cy:"12",r:"10"}),_.createElementVNode("polyline",{points:"12 6 12 12 16 14"})],-1)),_.createElementVNode("span",Dk,"Оновлено: "+_.toDisplayString(P.formatDate(x.editor_date)),1)])])]),u[3]||(u[3]=_.createStaticVNode('<div class="col-span-2 p-3 bg-gray-50 flex flex-col justify-center"><p class="text-xs text-gray-500 mb-1.5">Категорії:</p><div class="flex flex-wrap gap-1"><div class="inline-flex items-center rounded-full font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 hover:bg-secondary/80 bg-white border border-gray-200 text-gray-700 text-xs px-1.5 py-0"> Житловий </div><div class="inline-flex items-center rounded-full font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 hover:bg-secondary/80 bg-white border border-gray-200 text-gray-700 text-xs px-1.5 py-0"> Центр </div></div></div>',1)),_.createElementVNode("div",Bk,[_.createElementVNode("div",zk,[_.createElementVNode("a",{href:`${y.path}/${x.id}`,class:"inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 rounded-md px-3 w-full bg-blue-600 hover:bg-blue-700 text-white text-xs h-8"}," Детальніше",8,Vk),u[1]||(u[1]=_.createElementVNode("button",{disabled:"",class:"inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border bg-background hover:text-accent-foreground rounded-md px-3 w-full text-gray-700 border-gray-300 hover:bg-gray-100 text-xs h-8"}," Завантажити ",-1))])])])]))),128)}const Fk=gr(kk,[["render",Ok]]),Nk={template1:GA,template2:ck,template3:Ak,template4:Fk},qk={name:"RegistryList",components:{HeroBlock:Sy,...Nk},props:{title:{type:String,required:!0},description:{type:String,default:""},items:{type:Array,default:()=>[]},total:{type:Number,default:0},filters:{type:Array,default:()=>null},searchPlaceholder:{type:String,default:"Пошук..."},itemsLabel:{type:String,default:"елементів"},emptyStateText:{type:String,default:"Немає даних"},limit:{type:Number,default:16},currentPage:{type:Number,default:1},breadcrumbs:{type:Array,default:()=>[]},path:{type:String,default:""},id_key:{type:String,default:"id"},dialog:{type:Boolean,default:!0},token:{type:String,default:""}},data(){return{searchQuery:"",filterUrl:"",mounted:!1,templateViews:[{value:"template1",label:"Шаблон 1"},{value:"template2",label:"Шаблон 2"},{value:"template3",label:"Шаблон 3"},{value:"template4",label:"Шаблон 4"}],templateView:"template1"}},mounted(){this.mounted=!0},methods:{handleFilterChange(){var d,u,y;this.filterUrl=(d=this.$refs)==null?void 0:d.filter.filterUrl,this.$emit("filter-change",{filterUrl:this.filterUrl,activeFilters:(u=this.$refs)==null?void 0:u.filter,activeFiltersLength:(y=this.$refs)==null?void 0:y.filter.filteredActiveFiltersLength})},handlePageChange(d){this.$emit("page-change",d),this.$nextTick(()=>{this.$refs.componentRef.scrollIntoView({behavior:"smooth",block:"start",inline:"nearest"})})},changeLimit(d){this.$emit("limit-change",d)}},watch:{searchQuery(d){this.$emit("search",d)}}},Uk={class:"py-16 md:py-24"},jk={class:"py-6",ref:"componentRef"},Hk={class:"container"},Wk={key:0,class:"flex items-center text-sm text-muted-foreground mb-6"},Zk=["href"],Kk={key:1,class:"text-foreground font-medium truncate"},Gk={class:"flex flex-col md:flex-row gap-4"},Jk={class:"flex-1 relative"},Xk=["placeholder"],Qk={class:"container"},Yk={key:0,class:"space-y-4"},$k={class:"my-5 pr-2"},eC={class:"paginationWrapper relative flex justify-center"},tC={key:1,class:"text-center text-slate-400"};function rC(d,u,y,b,k,P){var U,M;const x=_.resolveComponent("HeroBlock"),o=_.resolveComponent("VsFilterList"),z=_.resolveComponent("VsAutocompleteOption"),D=_.resolveComponent("VsAutocomplete"),L=_.resolveComponent("VsPagination");return _.openBlock(),_.createElementBlock("div",Uk,[_.createElementVNode("section",null,[_.createVNode(x,{title:y.title,description:y.description,path:y.path},null,8,["title","description","path"])]),_.createElementVNode("section",jk,[_.createElementVNode("div",Hk,[(U=y.breadcrumbs)!=null&&U.length?(_.openBlock(),_.createElementBlock("div",Wk,[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(y.breadcrumbs,(T,C)=>(_.openBlock(),_.createElementBlock(_.Fragment,{key:C},[C<y.breadcrumbs.length-1?(_.openBlock(),_.createElementBlock(_.Fragment,{key:0},[_.createElementVNode("a",{href:T.link,class:"hover:text-foreground"},_.toDisplayString(T.name),9,Zk),u[4]||(u[4]=_.createElementVNode("span",{class:"mx-2"},"/",-1))],64)):(_.openBlock(),_.createElementBlock("span",Kk,_.toDisplayString(T.name),1))],64))),128))])):_.createCommentVNode("",!0),_.createElementVNode("div",Gk,[_.createElementVNode("div",Jk,[u[6]||(u[6]=_.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"lucide lucide-search absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400"},[_.createElementVNode("circle",{cx:"11",cy:"11",r:"8"}),_.createElementVNode("path",{d:"m21 21-4.3-4.3"})],-1)),_.withDirectives(_.createElementVNode("input",{"onUpdate:modelValue":u[0]||(u[0]=T=>k.searchQuery=T),onKeydown:u[1]||(u[1]=_.withKeys(_.withModifiers(()=>{},["prevent"]),["enter"])),type:"text",placeholder:y.searchPlaceholder,class:"!pr-16 py-2 pl-10 block w-full overflow-hidden overflow-ellipsis border border-solid placeholder:text-nowrap border-stone-200 rounded-lg text-sm text-stone-800 placeholder:text-stone-500 focus:z-10 focus:border-blue-500 focus:ring-blue-500 focus:outline-blue-600"},null,40,Xk),[[_.vModelText,k.searchQuery]]),k.searchQuery?(_.openBlock(),_.createElementBlock("svg",{key:0,onClick:u[2]||(u[2]=T=>k.searchQuery=""),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round",class:"absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 text-slate-400"},u[5]||(u[5]=[_.createElementVNode("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},null,-1),_.createElementVNode("path",{d:"M18 6l-12 12"},null,-1),_.createElementVNode("path",{d:"M6 6l12 12"},null,-1)]))):_.createCommentVNode("",!0)]),y.filters&&k.mounted?(_.openBlock(),_.createBlock(o,{key:0,ref:"filter",scheme:y.filters,token:y.token,isDialog:y.dialog,urlSeparator:"true",view:"plain",name:"filter",onFilterChange:P.handleFilterChange},{button:_.withCtx(()=>u[7]||(u[7]=[_.createElementVNode("button",{class:"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground px-3 py-2",type:"button"}," Фільтри ",-1)])),_:1},8,["scheme","token","isDialog","onFilterChange"])):_.createCommentVNode("",!0),_.createVNode(D,{modelValue:k.templateView,"onUpdate:modelValue":u[3]||(u[3]=T=>k.templateView=T),class:"w-[150px]"},{default:_.withCtx(()=>[(_.openBlock(!0),_.createElementBlock(_.Fragment,null,_.renderList(k.templateViews,T=>(_.openBlock(),_.createBlock(z,{label:T.label,value:T.value},{default:_.withCtx(()=>[_.createTextVNode(_.toDisplayString(T.label),1)]),_:2},1032,["label","value"]))),256))]),_:1},8,["modelValue"])])])],512),_.createElementVNode("section",null,[_.createElementVNode("div",Qk,[((M=y.items)==null?void 0:M.length)>0?(_.openBlock(),_.createElementBlock("div",Yk,[(_.openBlock(),_.createBlock(_.resolveDynamicComponent(k.templateView),{items:y.items,path:y.path,id_key:y.id_key},null,8,["items","path","id_key"])),_.createElementVNode("div",$k,[_.createElementVNode("div",eC,[_.createVNode(L,{total:y.total,maxPages:4,defaultPage:y.currentPage,pageSize:y.limit,goTo:!1,size:"medium",onPageChange:P.handlePageChange,backgroundColor:"#e5e7eb",borderedCellSelected:!0,pageSizes:[10,20,30,40],onPageSizeChange:P.changeLimit},null,8,["total","defaultPage","pageSize","onPageChange","onPageSizeChange"])])])])):(_.openBlock(),_.createElementBlock("div",tC,_.toDisplayString(y.emptyStateText),1))])])])}const iC=gr(qk,[["render",rC]]),nC={install(d){d.component("MapCustom",aA),d.component("RegistryList",PA),d.component("RegistryListCustom",iC)}};module.exports=nC;
|