@thibezer/ui-components-kit 2.12.5 → 2.13.0
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/CHANGELOG.md +10 -0
- package/dist/canvas.cjs +31 -31
- package/dist/canvas.js +1946 -1806
- package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +13 -0
- package/dist/custom-elements.json +12863 -12831
- package/dist/gerencigeo-canvas/motor/motor-formas.d.ts +10 -0
- package/dist/gerencigeo-canvas/qualidade.d.ts +52 -0
- package/dist/gerencigeo-canvas/renderers/canvas_formas_leaflet.d.ts +11 -0
- package/dist/gerencigeo-canvas/renderers/renderizador_formas.d.ts +3 -0
- package/dist/gerencigeo-canvas/renderers/tile_renderer.d.ts +1 -1
- package/dist/gerencigeo-canvas/types.d.ts +2 -0
- package/dist/motor-By2te6PZ.js +1400 -0
- package/dist/motor-CkMxd378.cjs +1 -0
- package/dist/motor.cjs +1 -1
- package/dist/motor.js +1 -1
- package/dist/tipos-elementos.d.ts +1 -0
- package/dist/tipos-vue.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var ca=Object.defineProperty;var da=(o,t,a)=>t in o?ca(o,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):o[t]=a;var v=(o,t,a)=>da(o,typeof t!="symbol"?t+"":t,a);function T(o){return o.partes&&o.partes.length>1?o.partes:[o.coordenadas]}function la(o){return o.tipo==="LineString"&&!!o.partes&&o.partes.length>1}function Nt(o){return o.length>1?{tipo:"LineString",coordenadas:o[0],partes:o}:{tipo:"LineString",coordenadas:o[0]}}const _=6378137,k=1/298.257222101,Pt=k*(2-k),D=o=>o*Math.PI/180;function dt(o){const t=Math.sin(D(o)),a=1-Pt*t*t;return{N:_/Math.sqrt(a),M:_*(1-Pt)/(a*Math.sqrt(a))}}function ua(o){const{M:t,N:a}=dt(o);return{lat:D(1)*t,lng:D(1)*a*Math.cos(D(o))}}function ha(o,t){const a=_*(1-k),e=k,i=D(t[1]-o[1]),n=Math.atan((1-e)*Math.tan(D(o[0]))),r=Math.atan((1-e)*Math.tan(D(t[0]))),s=Math.sin(n),c=Math.cos(n),l=Math.sin(r),d=Math.cos(r);let h=i,u=0,g=0,L=0,m=0,f=0;for(let M=0;M<100;M++){const p=Math.sin(h),x=Math.cos(h);if(u=Math.hypot(d*p,c*l-s*d*x),u===0)return 0;g=s*l+c*d*x,L=Math.atan2(u,g);const A=c*d*p/u;m=1-A*A,f=m===0?0:g-2*s*l/m;const S=e/16*m*(4+e*(4-3*m)),E=h;if(h=i+(1-S)*e*A*(L+S*u*(f+S*g*(-1+2*f*f))),Math.abs(h-E)<1e-12)break}const P=m*(_*_-a*a)/(a*a),R=1+P/16384*(4096+P*(-768+P*(320-175*P))),O=P/1024*(256+P*(-128+P*(74-47*P))),C=O*u*(f+O/4*(g*(-1+2*f*f)-O/6*f*(-3+4*u*u)*(-3+4*f*f)));return a*R*(L-C)}function Y(o,t){const a=t[0]-o[0],e=t[1]-o[1];if(Math.abs(a)<.1&&Math.abs(e)<.1){const{M:i,N:n}=dt((o[0]+t[0])/2),r=D(a)*i,s=D(e)*n*Math.cos(D((o[0]+t[0])/2));return Math.hypot(s,r)}return ha(o,t)}function K(o,t=!1){let a=0;for(let e=1;e<o.length;e++)a+=Y(o[e-1],o[e]);return t&&o.length>2&&(a+=Y(o[o.length-1],o[0])),a}function xt(o){const t=o.length;if(t<3)return 0;let a=0,e=0;for(let s=0;s<t;s++){const c=o[(s-1+t)%t],l=o[s],d=o[(s+1)%t];a+=D(d[1]-c[1])*Math.sin(D(l[0])),e+=l[0]}const{M:i,N:n}=dt(e/t),r=Math.abs(a*i*n/2);return Number.isFinite(r)?r:0}function jt(o){const[t,...a]=o;return t?Math.max(0,xt(t)-a.reduce((e,i)=>e+xt(i),0)):0}const ma=new Intl.NumberFormat("pt-BR",{minimumFractionDigits:4,maximumFractionDigits:4}),At=new Intl.NumberFormat("pt-BR",{minimumFractionDigits:2,maximumFractionDigits:2});function Tt(o){return`${ma.format(o/1e4)} ha`}function Rt(o){return o>=1e3?`${At.format(o/1e3)} km`:`${At.format(o)} m`}function _t(o){return o.tipo==="Polygon"?jt(o.aneis):o.tipo==="Circle"?Math.PI*o.raioMetros**2:null}function wt(o){return o.tipo==="LineString"?T(o).reduce((t,a)=>t+K(a),0):o.tipo==="Polygon"?K(o.aneis[0]??[],!0):o.tipo==="Circle"?2*Math.PI*o.raioMetros:null}function Ft(o,t){var i;const a=t??"name";if(a==="area"){const n=_t(o.geometria);return n===null?"":Tt(n)}if(a==="extensao"){const n=wt(o.geometria);return n===null?"":Rt(n)}if(a==="id")return o.id;const e=(i=o.propriedades)==null?void 0:i[a];return e!=null&&e!==""?String(e):t?"":o.id}function zt(o){let t;switch(o.tipo){case"Point":case"Text":t=[o.coordenada];break;case"LineString":t=T(o).flat();break;case"Polygon":t=o.aneis.flat();break;case"Circle":{const i=o.raioMetros/111320,n=i/Math.max(.01,Math.cos(D(o.centro[0])));t=[[o.centro[0]-i,o.centro[1]-n],[o.centro[0]+i,o.centro[1]+n]];break}}const a=t.map(i=>i[0]),e=t.map(i=>i[1]);return[[Math.min(...a),Math.min(...e)],[Math.max(...a),Math.max(...e)]]}const U=16,fa=256;function W(o){const[[t,a],[e,i]]=zt(o.geometria);return{minLon:a,minLat:t,maxLon:i,maxLat:e}}function w(o,t){return o.minLon<=t.maxLon&&o.maxLon>=t.minLon&&o.minLat<=t.maxLat&&o.maxLat>=t.minLat}function Dt(o){let t=1/0,a=1/0,e=-1/0,i=-1/0;for(const n of o)n.minLon<t&&(t=n.minLon),n.minLat<a&&(a=n.minLat),n.maxLon>e&&(e=n.maxLon),n.maxLat>i&&(i=n.maxLat);return{minLon:t,minLat:a,maxLon:e,maxLat:i}}function Ct(o){const t=o.length,a=Math.ceil(t/U),i=Math.ceil(Math.sqrt(a))*U,n=[...o].sort((s,c)=>s.minLon+s.maxLon-(c.minLon+c.maxLon)),r=[];for(let s=0;s<t;s+=i){const c=n.slice(s,s+i).sort((l,d)=>l.minLat+l.maxLat-(d.minLat+d.maxLat));for(let l=0;l<c.length;l+=U)r.push(c.slice(l,l+U))}return r}function pa(o){if(o.length===0)return null;let t=Ct(o).map(a=>({...Dt(a),folhas:a}));for(;t.length>1;)t=Ct(t).map(a=>({...Dt(a),filhos:a}));return t[0]}class $t{constructor(){v(this,"raiz",null);v(this,"itens",new Map);v(this,"delta",new Map);v(this,"obsoletos",new Set)}get tamanho(){return this.itens.size}construir(t){this.itens.clear();for(const a of t)a.excluida||this.itens.set(a.id,{id:a.id,...W(a)});this.remontar()}inserir(t){this.atualizar(t)}atualizar(t){if(t.excluida){this.remover(t.id);return}const a={id:t.id,...W(t)};this.itens.has(t.id)&&this.obsoletos.add(t.id),this.itens.set(t.id,a),this.delta.set(t.id,a),this.compactarSeNecessario()}remover(t){this.itens.delete(t)&&(this.obsoletos.add(t),this.delta.delete(t),this.compactarSeNecessario())}limpar(){this.itens.clear(),this.remontar()}consultar(t){const a=[],e=this.raiz?[this.raiz]:[];for(;e.length>0;){const i=e.pop();if(w(i,t))if(i.folhas)for(const n of i.folhas)!this.obsoletos.has(n.id)&&w(n,t)&&a.push(n.id);else i.filhos&&e.push(...i.filhos)}for(const i of this.delta.values())w(i,t)&&a.push(i.id);return a}intersecta(t){return this.consultar(t).length>0}caixaDe(t){return this.itens.get(t)}compactarSeNecessario(){this.delta.size+this.obsoletos.size>Math.max(fa,this.itens.size*.1)&&this.remontar()}remontar(){this.raiz=pa([...this.itens.values()]),this.delta.clear(),this.obsoletos.clear()}}const lt=17,G=9,ga=1.2;function Vt(o){return!Number.isFinite(o)||o>=lt?0:360/(256*2**o)*ga}function tt(o){return Number.isFinite(o)?1/Math.max(.05,Math.cos(Math.max(-85,Math.min(85,o))*Math.PI/180)):1}function Ma(o,t,a,e){const i=a[1]-t[1],n=(a[0]-t[0])*e,r=i*i+n*n,s=(o[0]-t[0])*e;let c=r===0?0:((o[1]-t[1])*i+s*n)/r;return c=Math.max(0,Math.min(1,c)),Math.hypot(o[1]-(t[1]+c*i),s-c*n)}function ut(o,t,a=1){if(!(t>0)||o.length<3)return o;const e=Number.isFinite(a)&&a>0?a:1,i=new Uint8Array(o.length);i[0]=1,i[o.length-1]=1;const n=[[0,o.length-1]];for(;n.length>0;){const[r,s]=n.pop();let c=0,l=-1;for(let d=r+1;d<s;d++){const h=Ma(o[d],o[r],o[s],e);h>c&&(c=h,l=d)}l!==-1&&c>t&&(i[l]=1,n.push([r,l],[l,s]))}return o.filter((r,s)=>i[s]===1)}function Ut(o,t,a=1){if(!(t>0)||o.length<4)return o;const e=[...o,o[0]],i=ut(e,t,a);return i.pop(),i.length>=3?i:o}function Bt(o){return(o.tipo==="LineString"||o.tipo==="Polygon")&&o.curva?0:o.tipo==="LineString"?T(o).reduce((t,a)=>t+a.length,0):o.tipo==="Polygon"?o.aneis.reduce((t,a)=>t+a.length,0):0}function va(o,t){var e,i,n,r;const a=Vt(t);if(a===0||Bt(o)<G)return o;if(o.tipo==="LineString"){const s=T(o),c=tt(((i=(e=s[0])==null?void 0:e[0])==null?void 0:i[0])??NaN);return Nt(s.map(l=>ut(l,a,c)))}if(o.tipo==="Polygon"){const s=tt(((r=(n=o.aneis[0])==null?void 0:n[0])==null?void 0:r[0])??NaN);return{tipo:"Polygon",aneis:o.aneis.map(c=>Ut(c,a,s))}}return o}const La=new Set(["previa","prévia","preview","rascunho","draft","proposta"]);function y(o){var a,e;const t=[o.status,(a=o.propriedades)==null?void 0:a.status,(e=o.propriedades)==null?void 0:e.tipo_geometria];for(const i of t)if(typeof i=="string"&&La.has(i.trim().toLowerCase()))return"previa";return"oficial"}function I(o){var a;const t=o.entidadeId??((a=o.propriedades)==null?void 0:a.entidadeId);return typeof t=="string"||typeof t=="number"?String(t):o.id}const H=(o,t)=>`${o}\0${t}`;class Pa{constructor(){v(this,"global",!1);v(this,"individuais",new Set)}alternarIndividual(t,a){const e=H(t,a);return this.individuais.has(e)?this.individuais.delete(e):this.individuais.add(e),this.individuais.has(e)}definirIndividual(t,a,e){const i=H(t,a);e?this.individuais.add(i):this.individuais.delete(i)}individualAtiva(t,a){return this.individuais.has(H(t,a))}static oficiais(t){const a=new Set;for(const e of t)!e.excluida&&y(e)==="oficial"&&a.add(I(e));return a}visivel(t,a){if(y(t)==="oficial")return!0;const e=I(t);return this.global||!a.has(e)||this.individualAtiva(t.camadaId,e)}previaSolicitada(t){return this.global||this.individualAtiva(t.camadaId,I(t))}}const xa=24,Aa=2,St=o=>typeof o=="number"&&Number.isFinite(o),J=o=>Array.isArray(o)&&o.length===2&&St(o[0])&&St(o[1]);function Da(o,t){return[2*o[0]-t[0],2*o[1]-t[1]]}function qt(o){return o.some(t=>t.entrada!==void 0||t.saida!==void 0)}function ht(o,t){return[o.saida??o.ponto,t.entrada??t.ponto]}function kt(o,t){const a=[];for(let e=0;e<o-1;e++)a.push([e,e+1]);return t&&o>2&&a.push([o-1,0]),a}function Gt(o,t,a,e,i){const n=1-i,r=n*n*n,s=3*n*n*i,c=3*n*i*i,l=i*i*i;return[r*o[0]+s*t[0]+c*a[0]+l*e[0],r*o[1]+s*t[1]+c*a[1]+l*e[1]]}function Ca(o,t=!1,a=xa){if(o.length===0)return[];const e=[[o[0].ponto[0],o[0].ponto[1]]];for(const[i,n]of kt(o.length,t)){const r=o[i],s=o[n];if(!(r.saida===void 0&&s.entrada===void 0)){const[l,d]=ht(r,s);for(let h=1;h<a;h++)e.push(Gt(r.ponto,l,d,s.ponto,h/a))}n!==0&&e.push([s.ponto[0],s.ponto[1]])}return e}function Xt(o,t){if(o.length===0)return[];const a=[{cmd:"M",pts:[o[0].ponto]}];for(const[e,i]of kt(o.length,t)){const n=o[e],r=o[i];if(n.saida===void 0&&r.entrada===void 0)a.push({cmd:"L",pts:[r.ponto]});else{const[s,c]=ht(n,r);a.push({cmd:"C",pts:[s,c,r.ponto]})}}return a}function Sa(o,t,a){const e=n=>String(Math.round(n*100)/100),i=Xt(o,t).map(n=>n.cmd+n.pts.map(r=>{const s=a(r);return`${e(s.x)} ${e(s.y)}`}).join(" ")).join("");return i&&t?`${i}Z`:i}function ya(o,t=Aa){if(!Array.isArray(o)||o.length<t)return null;const a=[];for(const e of o){if(!e||typeof e!="object"||!J(e.ponto))return null;const i=e,n={ponto:[i.ponto[0],i.ponto[1]]};J(i.entrada)&&(n.entrada=[i.entrada[0],i.entrada[1]]),J(i.saida)&&(n.saida=[i.saida[0],i.saida[1]]),a.push(n)}return qt(a)?a:null}function Ia(o,t){return o.map(a=>{const e={ponto:t(a.ponto)};return a.entrada&&(e.entrada=t(a.entrada)),a.saida&&(e.saida=t(a.saida)),e})}function at(o){return o.tipo==="LineString"?o.curva&&o.curva.length>=2&&!(o.partes&&o.partes.length>1)?o.curva:null:o.tipo==="Polygon"&&o.curva&&o.curva.length>=3&&o.aneis.length===1?o.curva:null}const z=55,Zt=17,Ht=8;function mt(o,t){return t<Zt&&o>Ht}function Jt(o){let t=0,a=0;for(const e of o)t+=e.coordenada[0],a+=e.coordenada[1];return[t/o.length,a/o.length]}function Oa(o,t,a){if(!mt(o.length,t))return{clusters:[],isolados:o};const e=new Map;for(const r of o){const{x:s,y:c}=a(r.coordenada),l=`${t}:${Math.floor(s/z)}:${Math.floor(c/z)}`,d=e.get(l);d?d.push(r):e.set(l,[r])}const i=[],n=[];for(const[r,s]of e)s.length===1?n.push(s[0]):i.push({chave:r,coordenada:Jt(s),membros:s});return{clusters:i,isolados:n}}class Qt{constructor(t,a){v(this,"celulas",new Map);v(this,"celulaDe",new Map);v(this,"multiplas",new Set);this.zoom=t,this.projetar=a}get total(){return this.celulaDe.size}chaveDoPonto(t){return this.celulaDe.get(t)}celula(t){return this.celulas.get(t)}*celulasAgrupadas(){for(const t of this.multiplas){const a=this.celulas.get(t);a&&(yield[t,a])}}emCluster(t){var e;const a=this.celulaDe.get(t);return a!==void 0&&(((e=this.celulas.get(a))==null?void 0:e.membros.size)??0)>=2}inserir(t){this.remover(t.id);const{x:a,y:e}=this.projetar(t.coordenada),i=`${this.zoom}:${Math.floor(a/z)}:${Math.floor(e/z)}`;let n=this.celulas.get(i);return n||(n={membros:new Map,somaLat:0,somaLon:0},this.celulas.set(i,n)),n.membros.set(t.id,t),n.somaLat+=t.coordenada[0],n.somaLon+=t.coordenada[1],n.membros.size>=2&&this.multiplas.add(i),this.celulaDe.set(t.id,i),i}remover(t){const a=this.celulaDe.get(t);if(a===void 0)return;this.celulaDe.delete(t);const e=this.celulas.get(a),i=e==null?void 0:e.membros.get(t);return e&&i&&(e.membros.delete(t),e.somaLat-=i.coordenada[0],e.somaLon-=i.coordenada[1],e.membros.size<2&&this.multiplas.delete(a),e.membros.size===0&&this.celulas.delete(a)),a}}const ft=3,pt=.75,yt=85.0511287798,ba=256;function X(o,t,a){const e=ba*2**a,i=Math.max(-yt,Math.min(yt,o)),n=Math.sin(i*Math.PI/180);return{x:(t+180)/360*e,y:(.5-Math.log((1+n)/(1-n))/(4*Math.PI))*e}}const Ea=o=>Number.isFinite(o.minLat)&&Number.isFinite(o.maxLat)&&Number.isFinite(o.minLon)&&Number.isFinite(o.maxLon)&&o.minLat<=o.maxLat&&o.minLon<=o.maxLon;function gt(o,t){if(!Number.isFinite(t)||t<0||!Ea(o))return NaN;const a=X(o.minLat,o.minLon,t),e=X(o.maxLat,o.maxLon,t);return Math.hypot(e.x-a.x,e.y-a.y)}function Yt(o,t,a=ft){if(!o)return!1;const e=gt(o,t);return Number.isFinite(e)&&e<a}function Kt(o){return Number.isFinite(o)&&o<1.5?1:2}function Wt(o){const t=new Map;for(const a of o){const e=t.get(a.cor);e?e.push(a):t.set(a.cor,[a])}return t}const Na="#38bdf8";function ja(o,t,a,e,i,n,r){let s=0;const c=Wt(t);for(const[l,d]of c){let h=!1;for(const u of d){const g=X(u.lat,u.lon,a),L=g.x-e,m=g.y-i;L>=-2&&m>=-2&&L<=n+2&&m<=r+2&&(h||(o.fillStyle=l||Na,o.globalAlpha=pt,h=!0),o.fillRect(Math.round(L-u.lado/2),Math.round(m-u.lado/2),u.lado,u.lado),s++)}}return s}const ta=["continua","tracejada","tracejada-curta","tracejada-longa","pontilhada","traco-ponto","traco-ponto-ponto","oculta","centro","fantasma","divisa"],Ta={tracejada:[12,6],"tracejada-curta":[6,4],"tracejada-longa":[24,8],pontilhada:[0,4],"traco-ponto":[12,4,0,4],"traco-ponto-ponto":[12,4,0,4,0,4],oculta:[6,3],centro:[24,4,6,4],fantasma:[24,4,6,4,6,4],divisa:[12,4,12,4,0,4]},It={arredondada:"round",reta:"butt",quadrada:"square"},Ot={arredondada:"round",chanfrada:"bevel",angular:"miter"},Ra=.05,_a=100,bt={continuous:"continua",dashed:"tracejada",dashed2:"tracejada-curta",dashedx2:"tracejada-longa",dot:"pontilhada",dotted:"pontilhada",dashdot:"traco-ponto",divide:"traco-ponto-ponto",hidden:"oculta",center:"centro",phantom:"fantasma",border:"divisa"};function ot(o){return typeof o=="string"&&ta.includes(o)}function Mt(o){if(ot(o))return o;if(typeof o!="string")return;const t=o.trim().toLowerCase();return ot(t)?t:Object.prototype.hasOwnProperty.call(bt,t)?bt[t]:void 0}function et(o){return typeof o=="string"&&Object.prototype.hasOwnProperty.call(It,o)?It[o]:void 0}function it(o){return typeof o=="string"&&Object.prototype.hasOwnProperty.call(Ot,o)?Ot[o]:void 0}function aa(o){return typeof o!="number"||!Number.isFinite(o)||o<=0?1:Math.min(_a,Math.max(Ra,o))}function nt(o,t,a=1,e="round"){const i=Mt(o);if(!i||i==="continua")return;const n=Number.isFinite(t)&&t>0?t:1,r=aa(a)*Math.max(1,n/2),s=e==="butt"?n:0,c=e==="butt"?0:n;return Ta[i].map((l,d)=>{const h=d%2===0?l===0?s:l*r:l*r+c;return Math.round(h*100)/100}).join(" ")}const $="#38bdf8",oa="#38bdf8",wa=/^(#[0-9a-f]{3,8}|(rgb|hsl)a?\([0-9.,%\s\/-]+\)|[a-z]{3,20})$/i;function F(o,t){return typeof o=="string"&&wa.test(o.trim())?o.trim():t}const b=o=>typeof o=="number"&&Number.isFinite(o);function rt(o,t,a=!1){const e=o.estilo??{},i=F(e.corTraco??t.corPrimaria,$),n=o.geometria.tipo,r=n==="Polygon"||n==="Circle",s=n==="Point",c=s&&F(e.corContorno,"")||i,l=s&&b(e.espessuraContorno)&&e.espessuraContorno>=0?e.espessuraContorno:void 0,d=l??(b(e.espessuraTraco)?e.espessuraTraco:void 0)??(b(t.espessuraLinha)?t.espessuraLinha:2),h=b(e.opacidadePreenchimento)?e.opacidadePreenchimento:r?.2:.85,u=a?d+2:d,g=et(e.terminacaoTraco)??et(t.terminacaoLinha)??"round",L=b(e.opacidadeTraco)?e.opacidadeTraco:b(t.opacidadeLinha)?t.opacidadeLinha:1;return{cor:a?oa:c,traco:!(l===0&&!a),peso:u,dash:Fa(o,t,u,g),opacidadeTraco:a?1:Math.min(1,Math.max(0,L)),terminacao:g,juncao:it(e.juncaoTraco)??it(t.juncaoLinha)??"round",deslocamentoDash:b(e.deslocamentoTracejado)?e.deslocamentoTracejado:0,preencher:r||s,corPreenchimento:F(e.corPreenchimento,i),opacidadePreenchimento:a?Math.min(1,h+.18):h}}function Fa(o,t,a,e){const i=o.estilo??{};if(i.dashArray)return i.dashArray;if(i.tipoLinha!==void 0&&i.tipoLinha!==null){const n=nt(i.tipoLinha,a,i.escalaTipoLinha??t.escalaTipoLinha,e);if(n||Mt(i.tipoLinha)==="continua")return n}return y(o)==="previa"?"6 4":t.dashArray?t.dashArray:nt(t.tipoLinha,a,t.escalaTipoLinha,e)}function ea(o,t){var e;const a=((e=o.estilo)==null?void 0:e.tamanhoIcone)??t.tamanhoMarcador??8;return(b(a)&&a>0?a:8)/2}class ia{constructor(){v(this,"porChave",new Map)}interno(t){const a=`${t.cor}|${t.traco?1:0}|${t.peso}|${t.dash??""}|${t.opacidadeTraco??1}|${t.terminacao??""}|${t.juncao??""}|${t.deslocamentoDash??0}|${t.preencher?1:0}|${t.corPreenchimento}|${t.opacidadePreenchimento}`,e=this.porChave.get(a);return e||(this.porChave.set(a,t),t)}limpar(){this.porChave.clear()}}const za=.3,Et=o=>!!o&&typeof o.id=="string"&&!!o.geometria&&typeof o.geometria.tipo=="string";class na{constructor(){v(this,"loja",new Map);v(this,"indice",new $t);v(this,"revisao",0);v(this,"revisaoBase",0);v(this,"listaSincronizada",null);v(this,"oficiais",new Set);v(this,"contOficiais",new Map);v(this,"contPrevias",new Map);v(this,"nPrevias",0);v(this,"selecionadas",new Set);v(this,"regra",null);v(this,"revisaoDe",new Map);v(this,"contador",0)}revisaoDaFeicao(t){return this.revisaoDe.get(t)??0}desenhavel(t){return t.oculta?!1:!this.regra||this.regra(t,this.oficiais)}visivelPorVersao(t){return!this.regra||this.regra(t,this.oficiais)}sincronizar(t){const a=t.filter(r=>Et(r)&&!r.excluida),e=new Set,i=new Set;for(const r of a)i.add(r.id),this.loja.get(r.id)!==r&&e.add(r.id);const n=[...this.loja.keys()].filter(r=>!i.has(r));if(e.size>0||n.length>0){if(this.revisao++,this.revisaoBase++,this.loja.size===0||e.size+n.length>a.length*za)this.indice.construir(a);else{for(const r of a)e.has(r.id)&&this.indice.atualizar(r);for(const r of n)this.indice.remover(r)}this.loja.clear();for(const r of a)this.loja.set(r.id,r);for(const r of n)this.revisaoDe.delete(r);for(const r of e)this.revisaoDe.set(r,++this.contador);this.recontarOficiais()}this.listaSincronizada=t;for(const r of[...this.selecionadas])i.has(r)||this.selecionadas.delete(r);return{mudadas:[...e],removidas:n,oficiaisMudou:!1}}recontarOficiais(){this.contOficiais=new Map,this.contPrevias=new Map,this.nPrevias=0;for(const t of this.loja.values()){if(y(t)!=="oficial"){this.nPrevias++;const e=I(t);this.contPrevias.set(e,(this.contPrevias.get(e)??0)+1);continue}const a=I(t);this.contOficiais.set(a,(this.contOficiais.get(a)??0)+1)}this.oficiais=new Set(this.contOficiais.keys())}aplicarDelta(t,a){if(!a||a.base!==this.listaSincronizada)return null;const e=new Map,i=(d,h)=>{if(!d||d.excluida||y(d)!=="oficial")return;const u=I(d);e.has(u)||e.set(u,this.oficiais.has(u));const g=(this.contOficiais.get(u)??0)+h;g<=0?(this.contOficiais.delete(u),this.oficiais.delete(u)):(this.contOficiais.set(u,g),this.oficiais.add(u))},n=(d,h)=>{const u=I(d),g=(this.contPrevias.get(u)??0)+h;g<=0?this.contPrevias.delete(u):this.contPrevias.set(u,g)},r=[],s=[],c=d=>{const h=this.loja.get(d);h&&(y(h)==="previa"&&(this.nPrevias--,n(h,-1)),i(h,-1),this.loja.delete(d),this.indice.remover(d),this.selecionadas.delete(d),this.revisaoDe.delete(d),s.push(d))};for(const d of a.removidas??[])c(d);for(const d of a.mudadas??[]){if(!Et(d))continue;if(d.excluida){c(d.id);continue}const h=this.loja.get(d.id);y(d)==="previa"&&(this.nPrevias++,n(d,1)),h&&(y(h)==="previa"&&(this.nPrevias--,n(h,-1)),i(h,-1)),this.loja.set(d.id,d),this.indice.atualizar(d),i(d,1),this.revisaoDe.set(d.id,++this.contador),r.push(d.id)}let l=!1;if(this.nPrevias>0)for(const[d,h]of e)h!==this.oficiais.has(d)&&(l=!0);return this.listaSincronizada=t,this.revisao++,l&&this.revisaoBase++,{mudadas:r,removidas:s,oficiaisMudou:l}}}const $a=256,j=85.0511287798,Va=4007501668557849e-8;function vt(o,t,a,e,i){const n=a>j?j:a<-j?-j:a,r=Math.sin(n*Math.PI/180);o[t]=(e+180)/360*i,o[t+1]=(.5-Math.log((1+r)/(1-r))/(4*Math.PI))*i}const V=o=>$a*2**o;function Ua(o,t,a){const e=V(a);return[Math.atan(Math.sinh(Math.PI*(1-2*t/e)))*180/Math.PI,o/e*360-180]}function st(o,t){const a=V(t),e=new Float64Array(o.length*2);for(let i=0;i<o.length;i++){const n=o[i];vt(e,i*2,n[0],n[1],a)}return e}function N(o,t,a){const e=new Float64Array(2);return vt(e,0,o,t,V(a)),e}function ra(o,t){const a=Math.max(-j,Math.min(j,o));return Va*Math.cos(a*Math.PI/180)/V(t)}function sa(o,t,a){const e=ra(o,a),i=t/e;return Number.isFinite(i)&&i>=0?i:0}function Ba(o){let t=1/0,a=1/0,e=-1/0,i=-1/0;for(const n of o)for(let r=0;r+1<n.length;r+=2){const s=n[r],c=n[r+1];Number.isFinite(s)&&Number.isFinite(c)&&(s<t&&(t=s),s>e&&(e=s),c<a&&(a=c),c>i&&(i=c))}return t<=e&&a<=i?{minX:t,minY:a,maxX:e,maxY:i}:null}function qa(o,t,a,e,i,n){const r=i-a,s=n-e,c=r*r+s*s;let l=c===0?0:((o-a)*r+(t-e)*s)/c;return l=l<0?0:l>1?1:l,Math.hypot(o-(a+l*r),t-(e+l*s))}function ct(o,t,a){const e=o.length>>1;if(!(t>0)||e<3)return o;let i=o,n=e;a&&(i=new Float64Array((e+1)*2),i.set(o),i[e*2]=o[0],i[e*2+1]=o[1],n=e+1);const r=new Uint8Array(n);r[0]=1,r[n-1]=1;const s=[0,n-1];for(;s.length>0;){const u=s.pop(),g=s.pop();let L=0,m=-1;const f=i[g*2],P=i[g*2+1],R=i[u*2],O=i[u*2+1];for(let C=g+1;C<u;C++){const M=qa(i[C*2],i[C*2+1],f,P,R,O);M>L&&(L=M,m=C)}m!==-1&&L>t&&(r[m]=1,s.push(g,m,m,u))}const c=a?n-1:n;let l=0;for(let u=0;u<c;u++)r[u]&&l++;if(a&&l<3||l===c)return o;const d=new Float64Array(l*2);let h=0;for(let u=0;u<c;u++)r[u]&&(d[h++]=i[u*2],d[h++]=i[u*2+1]);return d}const ka=1.2,B=1e-9,Ga=6,q={cor:$,traco:!1,peso:0,dash:void 0,preencher:!1,corPreenchimento:$,opacidadePreenchimento:0},Q=o=>!!o&&Number.isFinite(o.zoom)&&o.zoom>=0&&!!o.caixa&&Number.isFinite(o.caixa.minLat)&&Number.isFinite(o.caixa.maxLat)&&Number.isFinite(o.caixa.minLon)&&Number.isFinite(o.caixa.maxLon);class Xa{constructor(){v(this,"camadas",new Map);v(this,"regra",null);v(this,"limiteMarcaPx",ft);v(this,"toleranciaPx",ka)}definirQualidade(t){const a=Number.isFinite(t==null?void 0:t.limiteMarcaPx)&&t.limiteMarcaPx>0?t.limiteMarcaPx:this.limiteMarcaPx,e=Number.isFinite(t==null?void 0:t.toleranciaPx)&&t.toleranciaPx>0?t.toleranciaPx:this.toleranciaPx;if(!(a===this.limiteMarcaPx&&e===this.toleranciaPx)){this.limiteMarcaPx=a,this.toleranciaPx=e;for(const i of this.camadas.values())i.geom.clear(),i.lod.clear(),i.zoomCache=-1,i.dados.revisao++}}definirCamada(t){if(!t||typeof t.id!="string")return;let a=this.camadas.get(t.id);if(!a){a={def:t,dados:new na,zoomCache:-1,geom:new Map,estilos:new Map,lod:new Map,avaliacoesLOD:0,agrupador:null,agrupadorRev:-1,nPontos:0,nPontosRev:-1,previas:new Map,destaques:new Set,revEstilo:0,internador:new ia,ultima:{total:0,desenhadas:0,marcasLOD:0,clusters:0,marcadoresDom:0,avaliacoesLOD:0}},a.dados.regra=this.regra,this.camadas.set(t.id,a);return}const e=JSON.stringify(a.def.estilo)!==JSON.stringify(t.estilo);a.def=t,e&&(a.revEstilo++,a.estilos.clear(),a.internador.limpar())}removerCamada(t){this.camadas.delete(t)}temCamada(t){return this.camadas.has(t)}definirRegra(t){this.regra=t;for(const a of this.camadas.values())a.dados.regra=t}reavaliarVersoes(t){const a=this.camadas.get(t);a&&(a.dados.revisao++,a.dados.revisaoBase++)}definirFeicoes(t,a){const e=this.camadas.get(t);if(!e)return;const i=Array.isArray(a)?a:[],n=e.dados.sincronizar(i);this.aposMudanca(e,n.mudadas,n.removidas,!0)}aplicarDelta(t,a,e){const i=this.camadas.get(t);if(!i)return;const n=Array.isArray(a)?a:[],r=new Map;if(e){for(const l of e.removidas??[])r.set(l,this.pontoVisivel(i,i.dados.loja.get(l)));for(const l of e.mudadas??[])l&&typeof l.id=="string"&&r.set(l.id,this.pontoVisivel(i,i.dados.loja.get(l.id)))}const s=i.dados.aplicarDelta(n,e);if(!s){this.definirFeicoes(t,n);return}let c=i.nPontos;for(const[l,d]of r){const h=this.pontoVisivel(i,i.dados.loja.get(l));c+=(h?1:0)-(d?1:0)}i.nPontos=Math.max(0,c),this.aposMudanca(i,s.mudadas,s.removidas,s.oficiaisMudou),s.oficiaisMudou||this.manterAgrupador(i,s.mudadas,s.removidas)}pontoVisivel(t,a){var e;return!!a&&((e=a.geometria)==null?void 0:e.tipo)==="Point"&&t.dados.desenhavel(a)}aposMudanca(t,a,e,i){for(const n of a)t.lod.delete(n),t.geom.delete(n),t.estilos.delete(n),t.previas.delete(n);for(const n of e)t.lod.delete(n),t.geom.delete(n),t.estilos.delete(n),t.previas.delete(n),t.destaques.delete(n);i&&(t.agrupador=null)}manterAgrupador(t,a,e){const i=t.agrupador;if(i){for(const n of e)i.remover(n);for(const n of a){const r=t.dados.loja.get(n);r&&r.geometria.tipo==="Point"&&t.dados.desenhavel(r)?i.inserir({id:n,coordenada:r.geometria.coordenada}):i.remover(n)}}}selecionar(t,a){const e=this.camadas.get(t);if(!e)return{entrou:[],saiu:[]};const i=new Set;for(const s of a)e.dados.loja.has(s)&&i.add(s);const n=[],r=[];for(const s of i)e.dados.selecionadas.has(s)||n.push(s);for(const s of e.dados.selecionadas)i.has(s)||r.push(s);e.dados.selecionadas.clear();for(const s of i)e.dados.selecionadas.add(s);return{entrou:n,saiu:r}}selecionadas(t){var a;return((a=this.camadas.get(t))==null?void 0:a.dados.selecionadas)??new Set}previsualizar(t,a){const e=this.camadas.get(t);!e||!a||typeof a.id!="string"||!e.dados.loja.has(a.id)||e.previas.set(a.id,a)}temPrevia(t,a){var e;return((e=this.camadas.get(t))==null?void 0:e.previas.has(a))??!1}destacar(t,a){const e=this.camadas.get(t);e&&(e.destaques=new Set(a))}feicao(t,a){var e;return(e=this.camadas.get(t))==null?void 0:e.dados.loja.get(a)}caixaDe(t,a){var e;return(e=this.camadas.get(t))==null?void 0:e.dados.indice.caixaDe(a)}consultarCaixa(t,a){const e=this.camadas.get(t);if(!e)return[];const i=[];for(const n of e.dados.indice.consultar(a)){const r=e.dados.loja.get(n);r&&!r.oculta&&i.push(r)}return i}feicaoVisivel(t,a){const e=this.camadas.get(t);return!e||e.dados.visivelPorVersao(a)}estatisticas(t){const a=this.camadas.get(t);return a?{...a.ultima,total:a.dados.loja.size,avaliacoesLOD:a.avaliacoesLOD}:null}ehPar(t,a){const e=this.camadas.get(t);return!!e&&this.emPar(e,a)}listaDesenho(t,a){const e=this.origemDe(t),i={vista:t,origem:e,camadas:[]};if(!Q(t))return i;const n=a!=null&&a.camadas?new Set(a.camadas):null,r=[...this.camadas.values()].filter(s=>s.def.visivel&&(!n||n.has(s.def.id)));r.sort((s,c)=>s.def.zIndex-c.def.zIndex);for(const s of r)try{i.camadas.push(this.listarCamada(s,t,(a==null?void 0:a.parte)??"tudo"))}catch{i.camadas.push(this.camadaVazia(s))}return i}origemDe(t){if(t!=null&&t.origemPx&&Number.isFinite(t.origemPx.x)&&Number.isFinite(t.origemPx.y))return t.origemPx;if(!Q(t))return{x:0,y:0};const a=N(t.caixa.maxLat,t.caixa.minLon,t.zoom);return{x:a[0],y:a[1]}}camadaVazia(t){return{camadaId:t.def.id,zIndex:t.def.zIndex,opacidade:t.def.opacidade,itens:[],estatisticas:{total:t.dados.loja.size,desenhadas:0,marcasLOD:0,clusters:0,marcadoresDom:0,avaliacoesLOD:t.avaliacoesLOD}}}prepararZoom(t,a){a!==t.zoomCache&&(t.geom.clear(),t.lod.clear(),t.zoomCache=a)}estiloDe(t,a){const e=t.dados.revisaoDaFeicao(a.id),i=t.estilos.get(a.id);if(i&&i.rev===e&&i.revEstilo===t.revEstilo)return i.estilo;const n=t.internador.interno(rt(a,t.def.estilo,!1));return t.estilos.set(a.id,{rev:e,revEstilo:t.revEstilo,estilo:n}),n}emPar(t,a){if(t.dados.contPrevias.size===0)return!1;const e=I(a);return t.dados.contPrevias.has(e)&&t.dados.oficiais.has(e)}comoMarca(t,a,e){var s;const i=a.geometria.tipo;if(i==="Point"||i==="Text"||(s=a.estilo)!=null&&s.mostrarRotulo||this.emPar(t,a))return!1;const n=t.lod.get(a.id);if(n!==void 0)return n;t.avaliacoesLOD++;const r=Yt(t.dados.indice.caixaDe(a.id),e,this.limiteMarcaPx);return t.lod.set(a.id,r),r}geometriaProjetada(t,a,e){const i=t.dados.revisaoDaFeicao(a.id),n=t.geom.get(a.id);if(n&&n.rev===i)return n;const r=this.construirGeometria(t,a,e,i);return r&&t.geom.set(a.id,r),r}construirGeometria(t,a,e,i){const n=a.geometria,r=e<lt?this.toleranciaPx:0;if(n.tipo==="Polygon"){const s=[];for(const c of n.aneis??[]){if(!Array.isArray(c)||c.length<3)continue;let l=st(c,e);r>0&&c.length>=G&&(l=ct(l,r,!0)),s.push(l)}return s.length>0?{rev:i,partes:s,raioPx:0,marca:!1}:null}if(n.tipo==="LineString"){const s=[];for(const c of T(n)){if(!Array.isArray(c)||c.length<2)continue;let l=st(c,e);r>0&&c.length>=G&&(l=ct(l,r,!1)),s.push(l)}return s.length>0?{rev:i,partes:s,raioPx:0,marca:!1}:null}if(n.tipo==="Circle"){const s=n.centro;if(!Array.isArray(s))return null;const c=N(s[0],s[1],e);return{rev:i,partes:[c],raioPx:sa(s[0],n.raioMetros,e),marca:!1}}return n.tipo==="Point"||n.tipo==="Text"?{rev:i,partes:[N(n.coordenada[0],n.coordenada[1],e)],raioPx:n.tipo==="Point"?ea(a,t.def.estilo):0,marca:!1}:null}marcaDe(t,a,e){const i=t.dados.revisaoDaFeicao(a.id),n=t.geom.get(a.id);if(n&&n.rev===i)return n;const r=t.dados.indice.caixaDe(a.id);if(!r)return null;const s=N((r.minLat+r.maxLat)/2,(r.minLon+r.maxLon)/2,e);if(!(Number.isFinite(s[0])&&Number.isFinite(s[1])))return null;const c={rev:i,partes:[s],raioPx:Kt(gt(r,e)),marca:!0};return t.geom.set(a.id,c),c}itemMarca(t,a,e){const i=this.marcaDe(t,a,e);if(!i)return null;const n=i.item;if(n&&n.feicao===a&&i.revEstilo===t.revEstilo&&n.selecionada===t.dados.selecionadas.has(a.id)&&n.destaque===!0===t.destaques.has(a.id))return n;const r=this.itemBase(t,a,"marca",i.partes,i.raioPx,this.estiloMarca(t,a));return i.item=r,i.revEstilo=t.revEstilo,r}estiloMarca(t,a){const e=a.estilo??{},i=F(e.corPreenchimento??e.corTraco??t.def.estilo.corPrimaria,$);return t.internador.interno({cor:i,traco:!1,peso:0,dash:void 0,preencher:!0,corPreenchimento:i,opacidadePreenchimento:pt})}agrupadorAtivo(t,a){const{dados:e}=t;if(t.nPontosRev!==e.revisaoBase){let r=0;for(const s of e.loja.values())s.geometria.tipo==="Point"&&e.desenhavel(s)&&r++;t.nPontos=r,t.nPontosRev=e.revisaoBase}if(!mt(t.nPontos,a))return t.agrupador=null,null;const i=t.agrupador;if(i&&i.zoom===a&&t.agrupadorRev===e.revisaoBase)return i;const n=new Qt(a,r=>{const s=N(r[0],r[1],a);return{x:s[0],y:s[1]}});for(const r of e.loja.values())r.geometria.tipo==="Point"&&e.desenhavel(r)&&n.inserir({id:r.id,coordenada:r.geometria.coordenada});return t.agrupador=n,t.agrupadorRev=e.revisaoBase,n}itemBase(t,a,e,i,n,r){return{camadaId:t.def.id,id:a.id,forma:e,geometriaEmPx:i,raioPx:n,estilo:r,selecionada:t.dados.selecionadas.has(a.id),feicao:a,...t.destaques.has(a.id)?{destaque:!0}:{}}}caixaComFolga(t){const a=t.caixa,i=360/(256*2**t.zoom)*Ga,n=i*Math.cos((a.minLat+a.maxLat)/2*Math.PI/180);return{minLat:a.minLat-n,maxLat:a.maxLat+n,minLon:a.minLon-i,maxLon:a.maxLon+i}}listarCamada(t,a,e){var C;const{dados:i,def:n}=t,r=e!=="dom",s=e!=="canvas",c=a.zoom;this.prepararZoom(t,c);const l=i.indice.consultar(this.caixaComFolga(a)),d=this.agrupadorAtivo(t,c),h=[],u=[],g=[],L=[],m=[],f={total:i.loja.size,desenhadas:0,marcasLOD:0,clusters:0,marcadoresDom:0,avaliacoesLOD:0},P=M=>{var A;if(!s||!((A=M.estilo)!=null&&A.mostrarRotulo)||M.geometria.tipo==="Text")return;const p=Ft(M,M.estilo.campoRotulo),x=i.indice.caixaDe(M.id);!p||!x||(m.push({camadaId:n.id,id:`rotulo:${M.id}`,forma:"rotulo",geometriaEmPx:[],raioPx:0,estilo:q,selecionada:!1,feicao:M,texto:p,coordenada:[(x.minLat+x.maxLat)/2,(x.minLon+x.maxLon)/2]}),f.marcadoresDom++)},R=M=>{var A;const p=M.geometria;if(p.tipo!=="Point")return;if((A=M.estilo)!=null&&A.icone){if(!s)return;m.push({...this.itemBase(t,M,"icone",[],0,q),coordenada:p.coordenada}),f.marcadoresDom++;return}if(!r)return;const x=this.geometriaProjetada(t,M,c);x&&(L.push(this.itemBase(t,M,"ponto",x.partes,x.raioPx,this.estiloDe(t,M))),f.desenhadas++)};for(const M of l){const p=i.loja.get(M);if(!p||!i.desenhavel(p)||t.previas.has(M))continue;const x=p.geometria;if(x.tipo==="Point"){if(d&&d.emCluster(M)&&(!((C=p.estilo)!=null&&C.icone)||!s||!this.soltoDoCluster(t,d,M)))continue;R(p),P(p);continue}if(x.tipo==="Text"){if(!s)continue;m.push({...this.itemBase(t,p,"texto",[],0,q),coordenada:x.coordenada}),f.marcadoresDom++;continue}if(at(x)){if(!s)continue;m.push(this.itemBase(t,p,"curva",[],0,this.estiloDe(t,p))),f.marcadoresDom++,P(p);continue}if(!r){P(p);continue}const A=t.geom.get(M),S=A==null?void 0:A.item;if(S&&S.feicao===p&&A.revEstilo===t.revEstilo&&!this.emPar(t,p)&&S.selecionada===i.selecionadas.has(M)&&S.destaque===!0===t.destaques.has(M)){h.push(S),f.marcasLOD++;continue}if(this.comoMarca(t,p,c)){const Lt=this.itemMarca(t,p,c);Lt&&(h.push(Lt),f.marcasLOD++);continue}const E=this.geometriaProjetada(t,p,c);if(!E)continue;const Z=this.estiloDe(t,p);x.tipo==="LineString"?g.push(this.itemBase(t,p,"linha",E.partes,0,Z)):x.tipo==="Circle"?u.push(this.itemBase(t,p,"circulo",E.partes,E.raioPx,Z)):u.push(this.itemBase(t,p,"poligono",E.partes,0,Z)),f.desenhadas++,P(p)}d&&s&&this.listarClusters(t,a,d,m,f,s),f.avaliacoesLOD=t.avaliacoesLOD,e==="tudo"&&(t.ultima=f);const O=h;for(const M of[u,g,L,m])for(const p of M)O.push(p);return{camadaId:n.id,zIndex:n.zIndex,opacidade:n.opacidade,itens:O,estatisticas:f}}listarClusters(t,a,e,i,n,r){const{dados:s,def:c}=t;for(const[l,d]of e.celulasAgrupadas()){const h=d.membros.size;let u=0,g=d.somaLat,L=d.somaLon;for(const P of d.membros.values())s.selecionadas.has(P.id)&&(u++,g-=P.coordenada[0],L-=P.coordenada[1]);const m=h-u,f=[d.somaLat/h,d.somaLon/h];f[0]>=a.caixa.minLat-B&&f[0]<=a.caixa.maxLat+B&&f[1]>=a.caixa.minLon-B&&f[1]<=a.caixa.maxLon+B&&(m<2||!r||(i.push({camadaId:c.id,id:l,forma:"cluster",geometriaEmPx:[],raioPx:0,estilo:q,selecionada:!1,coordenada:[g/m,L/m],total:h,restantes:m}),n.clusters++,n.marcadoresDom++))}}pontoAgrupado(t,a){const e=this.camadas.get(t);return!!(e!=null&&e.agrupador)&&e.agrupador.emCluster(a)&&!e.dados.selecionadas.has(a)}soltoDoCluster(t,a,e){if(t.dados.selecionadas.has(e))return!0;const i=a.chaveDoPonto(e),n=i===void 0?void 0:a.celula(i);if(!n)return!1;let r=0;for(const s of n.membros.keys())t.dados.selecionadas.has(s)||r++;return r===1}membrosDoCluster(t,a){var n;const e=this.camadas.get(t),i=(n=e==null?void 0:e.agrupador)==null?void 0:n.celula(a);return i?[...i.membros.values()].map(r=>({id:r.id,coordenada:r.coordenada})):[]}listaSobreposicao(t,a){var s;const e=this.camadas.get(t);if(!e||!Q(a))return null;this.prepararZoom(e,a.zoom);const i=[],n=new Set([...e.dados.selecionadas,...e.previas.keys(),...e.destaques]),r=e.agrupador;if(r&&e.dados.selecionadas.size>0){const c=new Set;for(const l of e.dados.selecionadas){const d=r.chaveDoPonto(l);d!==void 0&&c.add(d)}for(const l of c){const d=r.celula(l);if(!d||d.membros.size<2)continue;const h=[...d.membros.keys()].filter(u=>!e.dados.selecionadas.has(u));h.length===1&&n.add(h[0])}}for(const c of n){const l=e.dados.loja.get(c);if(!l||!e.dados.desenhavel(l))continue;const d=e.previas.get(c),h=d??l,u=h.geometria;if(u.tipo==="Text"||at(u)||u.tipo==="Point"&&((s=h.estilo)!=null&&s.icone))continue;const g=d?null:e.dados.indice.caixaDe(c);if(g&&!w(g,a.caixa))continue;const L=e.dados.selecionadas.has(c)||!!d;if(!L&&!e.destaques.has(c)&&!(u.tipo==="Point"&&(r!=null&&r.emCluster(c))))continue;const m=d?this.construirGeometria(e,h,a.zoom,-1):this.geometriaProjetada(e,h,a.zoom);if(!m)continue;const f=e.internador.interno(rt(h,e.def.estilo,L)),P=u.tipo==="LineString"?"linha":u.tipo==="Circle"?"circulo":u.tipo==="Point"?"ponto":"poligono";i.push({camadaId:t,id:c,forma:P,geometriaEmPx:m.partes,raioPx:m.raioPx,estilo:f,selecionada:L,feicao:h,...e.destaques.has(c)?{destaque:!0}:{}})}return{camadaId:t,zIndex:e.def.zIndex,opacidade:e.def.opacidade,itens:i,estatisticas:{total:e.dados.loja.size,desenhadas:i.length,marcasLOD:0,clusters:0,marcadoresDom:0,avaliacoesLOD:e.avaliacoesLOD}}}selecaoAfetaAgrupamento(t,a){var i;const e=this.camadas.get(t);if(!e||!e.agrupador)return!1;for(const n of a)if(((i=e.dados.loja.get(n))==null?void 0:i.geometria.tipo)==="Point")return!0;return!1}}exports.AgrupadorCluster=Qt;exports.CELULA_CLUSTER_PX=z;exports.COR_PADRAO=$;exports.COR_SELECAO=oa;exports.DadosCamada=na;exports.IndiceEspacial=$t;exports.InternadorEstilos=ia;exports.LIMITE_MARCA_PX=ft;exports.MAX_PONTOS_SEM_CLUSTER=Ht;exports.MIN_VERTICES_SIMPLIFICAR=G;exports.MotorFormas=Xa;exports.OPACIDADE_MARCA=pt;exports.RegraVersoes=Pa;exports.TIPOS_LINHA=ta;exports.ZOOM_DESMEMBRAR=Zt;exports.ZOOM_SEM_SIMPLIFICACAO=lt;exports.agruparMarcasPorCor=Wt;exports.agruparPontos=Oa;exports.amostrarCurva=Ca;exports.areaDaGeometria=_t;exports.areaMetros2=jt;exports.caixaDaFeicao=W;exports.caixaPx=Ba;exports.caixasSeTocam=w;exports.caminhoSvg=Sa;exports.centroDe=Jt;exports.comprimentoMetros=K;exports.controlesDoSegmento=ht;exports.corSegura=F;exports.criarLinha=Nt;exports.dashTipoLinha=nt;exports.deveAgrupar=mt;exports.diagonalPx=gt;exports.distanciaMetros=Y;exports.ehMarca=Yt;exports.ehMultilinha=la;exports.ehTipoLinha=ot;exports.entidadeDe=I;exports.escalaDoZoom=V;exports.escalaLatitude=tt;exports.escalaTipoLinhaSegura=aa;exports.espelhoDaAlca=Da;exports.estiloVetorDe=rt;exports.extensaoDaGeometria=wt;exports.formatarArea=Tt;exports.formatarExtensao=Rt;exports.juncaoCanvas=it;exports.ladoMarca=Kt;exports.latLonDoMundo=Ua;exports.limitesDaGeometria=zt;exports.metrosPorGrau=ua;exports.metrosPorPixel=ra;exports.moverNos=Ia;exports.normalizarNos=ya;exports.normalizarTipoLinha=Mt;exports.nosDaGeometria=at;exports.partesDaLinha=T;exports.passosDaCurva=Xt;exports.pintarMarcas=ja;exports.pontoDaCubica=Gt;exports.projetarCentro=N;exports.projetarEm=vt;exports.projetarMercator=X;exports.projetarVertices=st;exports.raioCirculoPx=sa;exports.raioPontoPx=ea;exports.simplificarAnel=Ut;exports.simplificarGeometria=va;exports.simplificarLinha=ut;exports.simplificarPx=ct;exports.statusDe=y;exports.temAlcas=qt;exports.terminacaoCanvas=et;exports.textoRotulo=Ft;exports.toleranciaPorZoom=Vt;exports.vertices=Bt;
|
package/dist/motor.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./motor-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./motor-CkMxd378.cjs");exports.AgrupadorCluster=a.AgrupadorCluster;exports.CELULA_CLUSTER_PX=a.CELULA_CLUSTER_PX;exports.COR_PADRAO=a.COR_PADRAO;exports.COR_SELECAO=a.COR_SELECAO;exports.DadosCamada=a.DadosCamada;exports.IndiceEspacial=a.IndiceEspacial;exports.InternadorEstilos=a.InternadorEstilos;exports.LIMITE_MARCA_PX=a.LIMITE_MARCA_PX;exports.MAX_PONTOS_SEM_CLUSTER=a.MAX_PONTOS_SEM_CLUSTER;exports.MIN_VERTICES_SIMPLIFICAR=a.MIN_VERTICES_SIMPLIFICAR;exports.MotorFormas=a.MotorFormas;exports.OPACIDADE_MARCA=a.OPACIDADE_MARCA;exports.RegraVersoes=a.RegraVersoes;exports.TIPOS_LINHA=a.TIPOS_LINHA;exports.ZOOM_DESMEMBRAR=a.ZOOM_DESMEMBRAR;exports.ZOOM_SEM_SIMPLIFICACAO=a.ZOOM_SEM_SIMPLIFICACAO;exports.agruparMarcasPorCor=a.agruparMarcasPorCor;exports.agruparPontos=a.agruparPontos;exports.caixaDaFeicao=a.caixaDaFeicao;exports.caixaPx=a.caixaPx;exports.caixasSeTocam=a.caixasSeTocam;exports.centroDe=a.centroDe;exports.corSegura=a.corSegura;exports.criarLinha=a.criarLinha;exports.dashTipoLinha=a.dashTipoLinha;exports.deveAgrupar=a.deveAgrupar;exports.diagonalPx=a.diagonalPx;exports.ehMarca=a.ehMarca;exports.ehMultilinha=a.ehMultilinha;exports.ehTipoLinha=a.ehTipoLinha;exports.entidadeDe=a.entidadeDe;exports.escalaDoZoom=a.escalaDoZoom;exports.escalaLatitude=a.escalaLatitude;exports.escalaTipoLinhaSegura=a.escalaTipoLinhaSegura;exports.estiloVetorDe=a.estiloVetorDe;exports.juncaoCanvas=a.juncaoCanvas;exports.ladoMarca=a.ladoMarca;exports.latLonDoMundo=a.latLonDoMundo;exports.metrosPorPixel=a.metrosPorPixel;exports.normalizarTipoLinha=a.normalizarTipoLinha;exports.partesDaLinha=a.partesDaLinha;exports.pintarMarcas=a.pintarMarcas;exports.projetarCentro=a.projetarCentro;exports.projetarEm=a.projetarEm;exports.projetarMercator=a.projetarMercator;exports.projetarVertices=a.projetarVertices;exports.raioCirculoPx=a.raioCirculoPx;exports.raioPontoPx=a.raioPontoPx;exports.simplificarAnel=a.simplificarAnel;exports.simplificarGeometria=a.simplificarGeometria;exports.simplificarLinha=a.simplificarLinha;exports.simplificarPx=a.simplificarPx;exports.statusDe=a.statusDe;exports.terminacaoCanvas=a.terminacaoCanvas;exports.toleranciaPorZoom=a.toleranciaPorZoom;exports.vertices=a.vertices;
|
package/dist/motor.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as r, U as o, C as e, o as i, V as t, I as c, W as n, X as l, Y as M, M as C, E as p, _ as A, R as P, $ as L, a0 as E, Z as _, a1 as I, a2 as m, a4 as S, a5 as d, y as u, a6 as h, l as D, a as O, a7 as R, x as T, w as x, t as g, e as f, a8 as j, q as v, a9 as F, aa as V, ab as Z, z as U, Q as X, u as N, F as b, ac as k, T as z, b as B, k as q, ad as w, ae as y, af as G, ag as H, ah as Q, B as W, ai as Y, r as $, aj as J, ak as K, s as aa, S as sa, al as ra, v as oa } from "./motor-
|
|
1
|
+
import { A as r, U as o, C as e, o as i, V as t, I as c, W as n, X as l, Y as M, M as C, E as p, _ as A, R as P, $ as L, a0 as E, Z as _, a1 as I, a2 as m, a4 as S, a5 as d, y as u, a6 as h, l as D, a as O, a7 as R, x as T, w as x, t as g, e as f, a8 as j, q as v, a9 as F, aa as V, ab as Z, z as U, Q as X, u as N, F as b, ac as k, T as z, b as B, k as q, ad as w, ae as y, af as G, ag as H, ah as Q, B as W, ai as Y, r as $, aj as J, ak as K, s as aa, S as sa, al as ra, v as oa } from "./motor-By2te6PZ.js";
|
|
2
2
|
export {
|
|
3
3
|
r as AgrupadorCluster,
|
|
4
4
|
o as CELULA_CLUSTER_PX,
|
|
@@ -322,6 +322,7 @@ export interface PropsUiCanvasCad {
|
|
|
322
322
|
'sem-barra-rapida'?: ValorDeAtributo;
|
|
323
323
|
popups?: UICanvasCAD['popups'];
|
|
324
324
|
renderizador?: UICanvasCAD['renderizador'];
|
|
325
|
+
qualidade?: UICanvasCAD['qualidade'];
|
|
325
326
|
'sem-avisos'?: ValorDeAtributo;
|
|
326
327
|
'linha-cor'?: ValorDeAtributo;
|
|
327
328
|
'linha-espessura'?: ValorDeAtributo;
|
package/dist/tipos-vue.d.ts
CHANGED
|
@@ -312,6 +312,7 @@ type PropsVueUiCanvasCad = {
|
|
|
312
312
|
semBarraRapida?: ValorDeAtributo;
|
|
313
313
|
popups?: UICanvasCAD['popups'];
|
|
314
314
|
renderizador?: UICanvasCAD['renderizador'];
|
|
315
|
+
qualidade?: UICanvasCAD['qualidade'];
|
|
315
316
|
semAvisos?: ValorDeAtributo;
|
|
316
317
|
linhaCor?: ValorDeAtributo;
|
|
317
318
|
linhaEspessura?: ValorDeAtributo;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thibezer/ui-components-kit",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"description": "Web Components nativos (W3C Custom Elements + Shadow DOM) para interfaces densas de GIS, CAD e formulários, sem dependência de framework.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web-components",
|