@thibezer/ui-components-kit 2.8.0 → 2.8.2

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.
Files changed (183) hide show
  1. package/CHANGELOG.md +203 -265
  2. package/README.md +791 -815
  3. package/dist/botao.cjs +1 -1
  4. package/dist/botao.js +1 -1
  5. package/dist/camadas.cjs +94 -94
  6. package/dist/camadas.js +1124 -1218
  7. package/dist/campo-texto.cjs +1 -1
  8. package/dist/campo-texto.js +1 -1
  9. package/dist/canvas.cjs +65 -66
  10. package/dist/canvas.js +3444 -3795
  11. package/dist/card.cjs +1 -1
  12. package/dist/card.js +1 -1
  13. package/dist/components/ui-avatar/ui-avatar.d.ts +0 -11
  14. package/dist/components/ui-badge/ui-badge.d.ts +0 -2
  15. package/dist/components/ui-barra-ferramentas/ferramentas-comum.d.ts +22 -1
  16. package/dist/components/ui-barra-ferramentas/tipos.d.ts +31 -0
  17. package/dist/components/ui-barra-ferramentas/ui-paleta-ferramentas.d.ts +17 -1
  18. package/dist/components/ui-barra-ferramentas/ui-ribbon.d.ts +17 -0
  19. package/dist/components/ui-camadas/camadas-arraste-controles.d.ts +0 -2
  20. package/dist/components/ui-camadas/camadas-arvore-renderer.d.ts +11 -4
  21. package/dist/components/ui-camadas/camadas-drag-drop.d.ts +1 -13
  22. package/dist/components/ui-camadas/ui-camadas.d.ts +5 -3
  23. package/dist/components/ui-canvas-cad/cad-atributos-sync.d.ts +1 -2
  24. package/dist/components/ui-canvas-cad/cad-broadcast.d.ts +1 -1
  25. package/dist/components/ui-canvas-cad/cad-eventos-canvas.d.ts +8 -3
  26. package/dist/components/ui-canvas-cad/cad-feicoes.d.ts +106 -26
  27. package/dist/components/ui-canvas-cad/cad-inicializador.d.ts +1 -3
  28. package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +1 -4
  29. package/dist/components/ui-checkbox/ui-checkbox.d.ts +1 -4
  30. package/dist/components/ui-cores/tipos.d.ts +0 -2
  31. package/dist/components/ui-cores/ui-controle-cores.d.ts +3 -8
  32. package/dist/components/ui-cores/ui-seletor-cor.d.ts +1 -3
  33. package/dist/components/ui-mapa/ui-mapa-linha.d.ts +5 -12
  34. package/dist/components/ui-mapa/ui-mapa-marcador.d.ts +6 -15
  35. package/dist/components/ui-mapa/ui-mapa.d.ts +1 -14
  36. package/dist/components/ui-modal/modal-acessibilidade.d.ts +5 -5
  37. package/dist/components/ui-modal/ui-modal.d.ts +11 -1
  38. package/dist/components/ui-radio/radio-grupo-registry.d.ts +0 -10
  39. package/dist/components/ui-radio/ui-radio.d.ts +2 -9
  40. package/dist/components/ui-skeleton/ui-skeleton.d.ts +0 -9
  41. package/dist/components/ui-switch/ui-switch.d.ts +1 -3
  42. package/dist/components/ui-tabela/ui-tabela.d.ts +19 -1
  43. package/dist/components/ui-tooltip/ui-tooltip.d.ts +1 -24
  44. package/dist/core/index.d.ts +0 -1
  45. package/dist/core.cjs +1 -1
  46. package/dist/core.js +18 -28
  47. package/dist/cores.cjs +1 -1
  48. package/dist/cores.js +1 -1
  49. package/dist/custom-elements.json +18859 -23721
  50. package/dist/data.cjs +1 -1
  51. package/dist/data.js +2 -2
  52. package/dist/feedback.cjs +1 -1
  53. package/dist/feedback.js +2 -2
  54. package/dist/form-validacao-BIOXxt-1.js +140 -0
  55. package/dist/form-validacao-ytRYSF3E.cjs +1 -0
  56. package/dist/forms.cjs +1 -1
  57. package/dist/forms.js +2 -2
  58. package/dist/gerencigeo-canvas/feature_metricas.d.ts +9 -0
  59. package/dist/index.cjs +1 -1
  60. package/dist/index.d.ts +0 -3
  61. package/dist/index.js +178 -179
  62. package/dist/mapa.cjs +16 -11
  63. package/dist/mapa.js +170 -242
  64. package/dist/modal.cjs +1 -1
  65. package/dist/modal.js +1 -1
  66. package/dist/register.cjs +1 -1
  67. package/dist/register.js +11 -11
  68. package/dist/svg-seguro-ChVJ2L2z.js +74 -0
  69. package/dist/svg-seguro-J2RM1Ssf.cjs +1 -0
  70. package/dist/tabela.cjs +1 -1
  71. package/dist/tabela.js +1 -1
  72. package/dist/tipos-elementos.d.ts +17 -35
  73. package/dist/tipos-react.d.ts +0 -2
  74. package/dist/tipos-vue.d.ts +12 -34
  75. package/dist/tools.cjs +1 -1
  76. package/dist/tools.js +1 -1
  77. package/dist/ui-badge-BxT-sDmV.cjs +28 -0
  78. package/dist/ui-badge-C0eKBI8E.js +183 -0
  79. package/dist/ui-botao-BOOnP8ds.cjs +12 -0
  80. package/dist/ui-botao-DfqSivHl.js +165 -0
  81. package/dist/ui-botao-OGJV6Vfk.js +165 -0
  82. package/dist/ui-botao-psS1juof.cjs +12 -0
  83. package/dist/ui-campo-texto-Cnn2UAkS.cjs +16 -0
  84. package/dist/{ui-campo-texto-B_OHVGiN.js → ui-campo-texto-Uu2dJE_0.js} +51 -51
  85. package/dist/ui-card-B86lJXTP.cjs +20 -0
  86. package/dist/{ui-card-BNYCQ7g-.js → ui-card-C_o5_0cB.js} +42 -50
  87. package/dist/ui-controle-cores-BS0WYPdi.js +572 -0
  88. package/dist/ui-controle-cores-Er6ZcQ7U.cjs +111 -0
  89. package/dist/ui-kit.css +1 -1
  90. package/dist/ui-modal-CvGFGh1h.cjs +18 -0
  91. package/dist/{ui-modal-BkYvNP0G.js → ui-modal-DBOtSTbR.js} +140 -116
  92. package/dist/ui-paleta-ferramentas-CEZYcN4J.js +624 -0
  93. package/dist/ui-paleta-ferramentas-CU4icLl0.js +1171 -0
  94. package/dist/{ui-paleta-ferramentas-bDLPbiGA.cjs → ui-paleta-ferramentas-Ccmo-rB5.cjs} +7 -7
  95. package/dist/ui-paleta-ferramentas-DLwZHIDv.cjs +21 -0
  96. package/dist/{ui-paleta-ferramentas-Ksh6gMW3.js → ui-paleta-ferramentas-DNN5i6nL.js} +329 -359
  97. package/dist/ui-paleta-ferramentas-Dbj1kBS9.cjs +18 -0
  98. package/dist/ui-paleta-ferramentas-DbwdWVtT.js +1173 -0
  99. package/dist/ui-paleta-ferramentas-bvqxj1Yd.cjs +21 -0
  100. package/dist/ui-segmented-D6b6zxVs.cjs +19 -0
  101. package/dist/ui-segmented-DyF5YLsV.js +418 -0
  102. package/dist/ui-segmented-rn9RxRGM.cjs +19 -0
  103. package/dist/{ui-linha-nCDh2wPm.js → ui-segmented-wUraId2e.js} +105 -200
  104. package/dist/ui-skeleton-DI4_9WOX.js +428 -0
  105. package/dist/{ui-skeleton-DiOxTBZK.cjs → ui-skeleton-SPYqku8P.cjs} +10 -10
  106. package/dist/{ui-skeleton-B2Rgrv8o.js → ui-skeleton-W9uwIceA.js} +191 -254
  107. package/dist/ui-skeleton-elhKIh2B.cjs +33 -0
  108. package/dist/{ui-switch-DO1R0Ce7.js → ui-switch-BcOqOkiV.js} +128 -187
  109. package/dist/ui-switch-D7iPKDj-.cjs +53 -0
  110. package/dist/ui-tabela-propriedades-BBr5sqki.cjs +145 -0
  111. package/dist/{ui-tabela-propriedades-DzZlyNZ_.cjs → ui-tabela-propriedades-BecPqC-e.cjs} +10 -10
  112. package/dist/{ui-tabela-propriedades-D9Echt2X.js → ui-tabela-propriedades-BokvDD3b.js} +826 -845
  113. package/dist/ui-tabela-propriedades-Boy7I5yW.js +2412 -0
  114. package/dist/ui-tabela-propriedades-C-PeuW1i.cjs +141 -0
  115. package/dist/ui-tabela-propriedades-Df9ajC6M.js +2648 -0
  116. package/dist/ui-toast-Bp_NlM5G.js +156 -0
  117. package/dist/ui-toast-DGTZKne5.cjs +20 -0
  118. package/dist/zero-js-triggers-C_KrvFOQ.js +244 -0
  119. package/dist/zero-js-triggers-C_gtaojZ.cjs +1 -0
  120. package/package.json +3 -3
  121. package/dist/acessibilidade-CSzX-DkG.cjs +0 -1
  122. package/dist/acessibilidade-CUlSXc2X.js +0 -38
  123. package/dist/altura-controle-ukMRPckR.cjs +0 -1
  124. package/dist/altura-controle-vxQiXG4q.js +0 -62
  125. package/dist/components/ui-barra-ferramentas/paleta-atalhos.d.ts +0 -16
  126. package/dist/components/ui-barra-ferramentas/paleta-pressao-longa.d.ts +0 -24
  127. package/dist/components/ui-barra-ferramentas/ribbon-render.d.ts +0 -14
  128. package/dist/components/ui-barra-ferramentas/ribbon-teclado.d.ts +0 -17
  129. package/dist/components/ui-camadas/camadas-colecao.d.ts +0 -27
  130. package/dist/components/ui-camadas/camadas-drop-ops.d.ts +0 -31
  131. package/dist/components/ui-camadas/camadas-hierarquia.d.ts +0 -10
  132. package/dist/components/ui-camadas/camadas-lembranca.d.ts +0 -34
  133. package/dist/components/ui-camadas/camadas-render.d.ts +0 -14
  134. package/dist/components/ui-camadas/camadas-renomear.d.ts +0 -12
  135. package/dist/components/ui-camadas/camadas-selecao-api.d.ts +0 -17
  136. package/dist/components/ui-camadas/camadas-thumb.d.ts +0 -1
  137. package/dist/components/ui-canvas-cad/cad-acessibilidade.d.ts +0 -15
  138. package/dist/components/ui-canvas-cad/cad-evento-coordenadas.d.ts +0 -22
  139. package/dist/components/ui-canvas-cad/cad-feicoes-camera.d.ts +0 -26
  140. package/dist/components/ui-canvas-cad/cad-feicoes-consulta.d.ts +0 -21
  141. package/dist/components/ui-canvas-cad/cad-feicoes-dados.d.ts +0 -39
  142. package/dist/components/ui-canvas-cad/cad-feicoes-desenho.d.ts +0 -68
  143. package/dist/components/ui-canvas-cad/cad-feicoes-edicao.d.ts +0 -37
  144. package/dist/components/ui-canvas-cad/cad-feicoes-operacoes.d.ts +0 -48
  145. package/dist/components/ui-canvas-cad/cad-feicoes-ponteiro.d.ts +0 -24
  146. package/dist/components/ui-canvas-cad/cad-feicoes-selecao-regiao.d.ts +0 -22
  147. package/dist/components/ui-canvas-cad/cad-feicoes-tipos.d.ts +0 -53
  148. package/dist/components/ui-canvas-cad/cad-feicoes-versoes.d.ts +0 -33
  149. package/dist/components/ui-canvas-cad/cad-leaflet-adaptador.d.ts +0 -5
  150. package/dist/components/ui-canvas-cad/cad-selecao-pontos.d.ts +0 -5
  151. package/dist/components/ui-canvas-cad/tipos.d.ts +0 -37
  152. package/dist/components/ui-linha/index.d.ts +0 -1
  153. package/dist/components/ui-linha/ui-linha.d.ts +0 -48
  154. package/dist/components/ui-mapa/mapa-atributos.d.ts +0 -14
  155. package/dist/components/ui-mapa/mapa-basemaps.d.ts +0 -7
  156. package/dist/components/ui-mapa/mapa-icones.d.ts +0 -4
  157. package/dist/components/ui-mapa/mapa-leaflet.d.ts +0 -5
  158. package/dist/components/ui-mapa/mapa-vinculo-pai.d.ts +0 -22
  159. package/dist/components/ui-mapa/tipos.d.ts +0 -13
  160. package/dist/components/ui-modal/modal-foco.d.ts +0 -28
  161. package/dist/components/ui-tabela/tabela-estados.d.ts +0 -16
  162. package/dist/components/ui-tabela/tabela-rolagem.d.ts +0 -44
  163. package/dist/components/ui-tabela/tabela-teclado.d.ts +0 -16
  164. package/dist/components/ui-tooltip/tooltip-popover.d.ts +0 -7
  165. package/dist/components/ui-tooltip/tooltip-posicionamento.d.ts +0 -29
  166. package/dist/core/altura-controle.d.ts +0 -34
  167. package/dist/core/opcoes.d.ts +0 -9
  168. package/dist/core/rotulo-controle.d.ts +0 -13
  169. package/dist/form-validacao-BlQFxUVj.js +0 -104
  170. package/dist/form-validacao-DIeyQVH5.cjs +0 -1
  171. package/dist/opcoes-CJYLi6kd.js +0 -12
  172. package/dist/opcoes-CkyDxBuQ.cjs +0 -1
  173. package/dist/ui-badge-BWhoGgo9.js +0 -197
  174. package/dist/ui-badge-SIR81R9l.cjs +0 -28
  175. package/dist/ui-botao-D24oXySA.cjs +0 -12
  176. package/dist/ui-botao-Dsj08jjw.js +0 -165
  177. package/dist/ui-campo-texto-DauJCde3.cjs +0 -16
  178. package/dist/ui-card-BrjBL-yo.cjs +0 -20
  179. package/dist/ui-controle-cores-DgEza3wF.js +0 -612
  180. package/dist/ui-controle-cores-uY__TgwW.cjs +0 -117
  181. package/dist/ui-linha-C6HBnsaw.cjs +0 -19
  182. package/dist/ui-modal-CUNbpbZ1.cjs +0 -18
  183. package/dist/ui-switch-D9a8XlVX.cjs +0 -53
package/dist/card.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const e=require("./ui-card-BrjBL-yo.cjs");exports.UICard=e.UICard;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const e=require("./ui-card-B86lJXTP.cjs");exports.UICard=e.UICard;
package/dist/card.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /* empty css */
2
- import { U as m } from "./ui-card-BNYCQ7g-.js";
2
+ import { U as m } from "./ui-card-C_o5_0cB.js";
3
3
  export {
4
4
  m as UICard
5
5
  };
@@ -3,21 +3,10 @@ export declare class UIAvatar extends SafeHTMLElement {
3
3
  static get observedAttributes(): string[];
4
4
  private avatarElement;
5
5
  private statusElement;
6
- /** O que este componente escreveu em aria-label / aria-hidden (para distinguir do que o consumidor definiu). */
7
- private _rotuloAuto;
8
- private _ocultoAuto;
9
- private _sincronizando;
10
6
  constructor();
11
7
  connectedCallback(): void;
12
8
  attributeChangedCallback(_name: string, _old: string | null, _value: string | null): void;
13
- /** Iniciais por ponto de código (emoji e caracteres fora do BMP não são cortados ao meio). */
14
9
  private extrairIniciais;
15
- private lerNome;
16
- /**
17
- * Nome acessível: com nome, o host é uma imagem nomeada ("Ana, online"); sem nome, é decorativo.
18
- * Um `aria-label`/`aria-hidden` definido pelo consumidor nunca é sobrescrito.
19
- */
20
- private sincronizarAcessibilidade;
21
10
  private syncState;
22
11
  private renderFallback;
23
12
  }
@@ -12,8 +12,6 @@ export declare class UIBadge extends SafeHTMLElement {
12
12
  get removivel(): boolean;
13
13
  set removivel(val: boolean);
14
14
  private syncState;
15
- get disabled(): boolean;
16
- set disabled(val: boolean);
17
15
  private handleRemove;
18
16
  }
19
17
  export declare class UIChip extends UIBadge {
@@ -8,7 +8,10 @@ export declare function avisarIdsDuplicados(ids: string[], contexto: string): vo
8
8
  export declare function coletarIds(itens: FerramentaItem[], saida?: string[]): string[];
9
9
  export declare function aplicarEstadoBotao(btn: HTMLButtonElement, item: FerramentaItem): void;
10
10
  export declare function criarBotaoFerramenta(item: FerramentaItem, variante: VarianteBotaoFerramenta, tamanhoIcone: number): HTMLButtonElement;
11
+ /** Cria um botão dividido (split button) com ação principal + seta dropdown separada. */
12
+ export declare function criarBotaoDividido(item: FerramentaItem, variante: VarianteBotaoFerramenta, tamanhoIcone: number): HTMLElement;
11
13
  export declare function acharItem(itens: FerramentaItem[], id: string): FerramentaItem | undefined;
14
+ export declare function correspondeAtalho(e: KeyboardEvent, atalho: string | undefined): boolean;
12
15
  export declare function definirRoving(botoes: HTMLButtonElement[]): void;
13
16
  /** Garante um único botão com tabindex 0, preservando o atual se ainda estiver habilitado. */
14
17
  export declare function atualizarRoving(botoes: HTMLButtonElement[]): void;
@@ -16,8 +19,26 @@ export declare function atualizarRoving(botoes: HTMLButtonElement[]): void;
16
19
  export declare function seguirFoco(botoes: HTMLButtonElement[], alvo: EventTarget | null): void;
17
20
  /** Move o foco entre botões com as setas informadas. Retorna true se tratou a tecla. */
18
21
  export declare function navegarRoving(e: KeyboardEvent, botoes: HTMLButtonElement[], teclasAnterior: string[], teclasProximo: string[]): boolean;
22
+ /** Navegação em grade de 2 colunas para paletas verticais com colunas=2. */
23
+ export declare function navegarGrade2Colunas(e: KeyboardEvent, botoes: HTMLButtonElement[], rtl?: boolean): boolean;
24
+ export declare class GerenciadorTooltip {
25
+ private raiz;
26
+ private el;
27
+ private textoEl;
28
+ private atalhoEl;
29
+ private timer;
30
+ private alvoAtual;
31
+ private readonly id;
32
+ private listeners;
33
+ constructor(raiz: ShadowRoot, container: HTMLElement);
34
+ private agendar;
35
+ mostrar(btn: HTMLElement, texto: string, atalho?: string): void;
36
+ esconder(): void;
37
+ private limparTimer;
38
+ destruir(): void;
39
+ }
19
40
  export interface OpcoesMenu {
20
- lado?: 'baixo' | 'direita';
41
+ lado?: 'baixo' | 'direita' | 'esquerda';
21
42
  /** Foca o primeiro item ao abrir (abertura por teclado). */
22
43
  focar?: boolean;
23
44
  /** Papel dos itens sem `tipo`: ribbon = botao (menuitem), paleta = ferramenta (menuitemradio). */
@@ -32,11 +32,36 @@ export interface FerramentaItem {
32
32
  somenteIcone?: boolean;
33
33
  /** Ribbon: itens do menu suspenso. Paleta: ferramentas agrupadas (flyout). */
34
34
  filhos?: FerramentaItem[];
35
+ /**
36
+ * Ribbon: botão dividido (split button). A ação principal dispara no clique do corpo
37
+ * e a seta abre o menu suspenso com os `filhos`.
38
+ */
39
+ dividido?: boolean;
35
40
  }
36
41
  export interface RibbonGrupo {
37
42
  id: string;
38
43
  rotulo: string;
39
44
  itens: FerramentaItem[];
45
+ /**
46
+ * Prioridade para colapso automático quando a largura é insuficiente (estilo Office).
47
+ * Grupos de menor prioridade viram um botão único com flyout primeiro. Padrão: 0.
48
+ */
49
+ prioridade?: number;
50
+ /** Ícone exibido quando o grupo for colapsado em um botão de flyout. */
51
+ icone?: string;
52
+ /**
53
+ * Exibe um botão "lançador de diálogo" no canto inferior do grupo (estilo Office Dialog Box Launcher).
54
+ * Pode ser `true` ou o identificador/ação a disparar.
55
+ */
56
+ lancadorDialogo?: boolean | string;
57
+ /** Rótulo acessível para o botão lançador de diálogo. Padrão: "Mais opções de [rotulo]". */
58
+ rotuloLancador?: string;
59
+ /**
60
+ * Quando `true` (padrão para grupos com ferramentas no ribbon), garante exclusividade
61
+ * de seleção entre itens `tipo: 'ferramenta'` dentro do mesmo grupo.
62
+ * Defina como `false` para desativar a exclusividade automática no grupo.
63
+ */
64
+ exclusivo?: boolean;
40
65
  }
41
66
  export interface RibbonAba {
42
67
  id: string;
@@ -73,6 +98,11 @@ export interface PaletaChangeDetail {
73
98
  export interface RecolhidoChangeDetail {
74
99
  recolhido: boolean;
75
100
  }
101
+ /** `detail` de `ui-grupo-dialogo` do ribbon (lançador de diálogo do grupo). */
102
+ export interface GrupoDialogoDetail {
103
+ id: string;
104
+ grupo: RibbonGrupo;
105
+ }
76
106
  declare global {
77
107
  interface HTMLElementEventMap {
78
108
  /** Cancelável: `preventDefault()` reverte o toggle / a seleção feita pelo clique. */
@@ -81,5 +111,6 @@ declare global {
81
111
  'ui-recolhido-change': CustomEvent<RecolhidoChangeDetail>;
82
112
  'ui-change': CustomEvent<PaletaChangeDetail>;
83
113
  'ui-selecionar': CustomEvent<PaletaChangeDetail>;
114
+ 'ui-grupo-dialogo': CustomEvent<GrupoDialogoDetail>;
84
115
  }
85
116
  }
@@ -26,12 +26,25 @@ export declare class UIPaletaFerramentas extends SafeHTMLElement {
26
26
  private _pendente;
27
27
  private visiveis;
28
28
  private menu;
29
- private pressao;
29
+ private timerPressao;
30
+ private timerSupressao;
31
+ private inicioPressao;
32
+ private suprimirClique;
30
33
  private listeners;
34
+ private tooltip;
35
+ private _modoControlado;
31
36
  constructor();
32
37
  connectedCallback(): void;
33
38
  disconnectedCallback(): void;
34
39
  attributeChangedCallback(name: string, old: string | null, value: string | null): void;
40
+ /**
41
+ * Quando `true` ou atributo `copiar-dados` / `modo-controlado`: clona a árvore de itens
42
+ * para não mutar os objetos fornecidos pelo consumidor (Item 11).
43
+ */
44
+ get modoControlado(): boolean;
45
+ set modoControlado(val: boolean);
46
+ get copiarDados(): boolean;
47
+ set copiarDados(val: boolean);
35
48
  get ferramentas(): FerramentaItem[];
36
49
  set ferramentas(val: FerramentaItem[]);
37
50
  get valor(): string;
@@ -68,8 +81,11 @@ export declare class UIPaletaFerramentas extends SafeHTMLElement {
68
81
  private handleClick;
69
82
  private handleFocusIn;
70
83
  private handlePointerDown;
84
+ /** Arrastar/rolar com o dedo cancela o clique longo. */
71
85
  private handlePointerMove;
86
+ /** Fim do gesto: cancela o timer e, se o flyout abriu, descarta a supressão logo após o `click` residual. */
72
87
  private handlePointerFim;
88
+ private cancelarPressao;
73
89
  private handleContextMenu;
74
90
  private handleKeyDown;
75
91
  private handleAtalho;
@@ -10,15 +10,26 @@ export declare class UIRibbon extends SafeHTMLElement {
10
10
  private readonly uid;
11
11
  private _abaPendente;
12
12
  private _pronto;
13
+ private _modoControlado;
13
14
  private _abas;
14
15
  private _abaAtiva;
15
16
  private menu;
16
17
  private listeners;
18
+ private tooltip;
19
+ private observerResize;
20
+ private gruposColapsados;
21
+ private keytipsAtivas;
17
22
  constructor();
18
23
  connectedCallback(): void;
19
24
  disconnectedCallback(): void;
20
25
  attributeChangedCallback(name: string, old: string | null, value: string | null): void;
21
26
  private aplicarRotulos;
27
+ get modoControlado(): boolean;
28
+ set modoControlado(val: boolean);
29
+ get copiarDados(): boolean;
30
+ set copiarDados(val: boolean);
31
+ get ativacaoManual(): boolean;
32
+ set ativacaoManual(val: boolean);
22
33
  get abas(): RibbonAba[];
23
34
  set abas(val: RibbonAba[]);
24
35
  get abaAtiva(): string;
@@ -40,6 +51,10 @@ export declare class UIRibbon extends SafeHTMLElement {
40
51
  private renderizarAbas;
41
52
  private idAba;
42
53
  private renderizarPainel;
54
+ private iniciarResizeObserver;
55
+ private ajustarColapsoGrupos;
56
+ private alternarMenuGrupoColapsado;
57
+ private criarGrupo;
43
58
  private criarBotao;
44
59
  private botoesPainel;
45
60
  private handleClickAbas;
@@ -51,6 +66,8 @@ export declare class UIRibbon extends SafeHTMLElement {
51
66
  private handleKeyDownGrupos;
52
67
  private handleEscape;
53
68
  private handlePointerDownFora;
69
+ private handleAtalho;
70
+ private alternarKeyTips;
54
71
  private acionar;
55
72
  private alternarMenu;
56
73
  private fecharMenu;
@@ -1,4 +1,2 @@
1
1
  import { CamadasHostCompleto } from './camadas-host';
2
- /** Cancela o gesto do `host`, soltando os ouvintes de `window` e devolvendo `user-select` ao `body`. */
3
- export declare function cancelarArrasteControles(host: CamadasHostCompleto): void;
4
2
  export declare function conectarArrasteControles(host: CamadasHostCompleto, shadow: ShadowRoot): void;
@@ -1,7 +1,5 @@
1
1
  import { CamadaItem, FeicaoItem } from './tipos';
2
2
  import { escapeHtml } from './camadas-utils';
3
- import { renderizarThumbGeometria } from './camadas-thumb';
4
- import { construirHierarquiaCamadas, CamadaNodoHierarquico } from './camadas-hierarquia';
5
3
  export interface ParametrosRenderArvore {
6
4
  camadas: CamadaItem[];
7
5
  feicoes: FeicaoItem[];
@@ -15,6 +13,15 @@ export interface ParametrosRenderArvore {
15
13
  limiteFeicoesPorCamada?: number;
16
14
  mostrarBotaoColapsar?: boolean;
17
15
  }
18
- export { escapeHtml, renderizarThumbGeometria, construirHierarquiaCamadas };
19
- export type { CamadaNodoHierarquico };
16
+ export { escapeHtml };
17
+ export declare function renderizarThumbGeometria(tipo: string | undefined, cor: string, coords?: unknown): string;
18
+ export interface CamadaNodoHierarquico {
19
+ camada: CamadaItem;
20
+ depth: number;
21
+ subcamadas: CamadaNodoHierarquico[];
22
+ }
23
+ /**
24
+ * Organiza a lista de camadas em uma árvore hierárquica de nós baseada em parentId ou children
25
+ */
26
+ export declare function construirHierarquiaCamadas(camadas: CamadaItem[]): CamadaNodoHierarquico[];
20
27
  export declare function renderizarArvoreCamadas(params: ParametrosRenderArvore): string;
@@ -4,8 +4,6 @@ export interface UICamadasHost {
4
4
  feicoes: FeicaoItem[];
5
5
  editingLayerId: string | null;
6
6
  editingFeatureId: string | null;
7
- /** Camadas expandidas; ao aninhar uma camada, o pai se expande. */
8
- expandedLayers?: Set<string>;
9
7
  solicitarRenderizacao(): void;
10
8
  dispararEvento(nome: string, detalhe: unknown): void;
11
9
  salvarLembrancaEstado?(): void;
@@ -13,22 +11,12 @@ export interface UICamadasHost {
13
11
  export declare class CamadasDragDropManager {
14
12
  private host;
15
13
  private shadow;
16
- /** Cancela um arraste por toque em andamento (remove os ouvintes de `window`). */
17
- private cancelarToque;
18
14
  constructor(host: UICamadasHost, shadow: ShadowRoot);
19
15
  bindAll(): void;
20
- /** Solta o que ficou em `window` (arraste por toque interrompido pela desconexão do componente). */
21
- destruir(): void;
22
16
  bindInlineRename(): void;
23
- private limparClassesDeArraste;
24
- /** Depois de qualquer mudança na ordem/hierarquia de camadas. */
25
- private aposReordenarCamadas;
26
- private emitirFeicaoMovida;
27
- private arrasteBloqueado;
28
17
  bindDragAndDrop(): void;
29
18
  /**
30
- * Suporte a arraste por toque e ponteiro no handle (.ui-col-drag) para tablets e mobile.
31
- * Os ouvintes de `window` existem só durante o gesto e são soltos em `destruir()`.
19
+ * Suporte a arraste por toque e ponteiro no handle (.ui-col-drag) para tablets e mobile
32
20
  */
33
21
  bindTouchDragAndDrop(): void;
34
22
  }
@@ -1,7 +1,6 @@
1
1
  import { SafeHTMLElement } from '../../core/ssr-safe';
2
2
  import { CamadaItem, FeicaoItem, MapaBaseItem, AbaPainelCamadas } from './tipos';
3
3
  import { CamadasHostCompleto } from './camadas-host';
4
- import { LembrancaCamadas } from './camadas-lembranca';
5
4
  export declare class UICamadas extends SafeHTMLElement implements CamadasHostCompleto {
6
5
  static get observedAttributes(): string[];
7
6
  private shadow;
@@ -12,10 +11,11 @@ export declare class UICamadas extends SafeHTMLElement implements CamadasHostCom
12
11
  private conectado;
13
12
  private profundidadeLote;
14
13
  private renderPendente;
14
+ private camadasRemovidas;
15
15
  /** Painéis conectados sem `id` nem `storage-key`: dividem a mesma chave de persistência. */
16
16
  private static instanciasChavePadrao;
17
- /** @internal */
18
- readonly lembranca: LembrancaCamadas;
17
+ private origensCamadas;
18
+ private salvarLembrancaDebounced;
19
19
  camadas: CamadaItem[];
20
20
  feicoes: FeicaoItem[];
21
21
  mapasBase: MapaBaseItem[];
@@ -79,6 +79,7 @@ export declare class UICamadas extends SafeHTMLElement implements CamadasHostCom
79
79
  /** Atalho reativo para `definirMapasBase()` — não dispara eventos. */
80
80
  get basemaps(): MapaBaseItem[];
81
81
  set basemaps(mapas: MapaBaseItem[]);
82
+ private achatarCamadas;
82
83
  definirCamadas(camadas: CamadaItem[], feicoes?: FeicaoItem[]): void;
83
84
  definirFeicoes(feicoes: FeicaoItem[]): void;
84
85
  definirMapasBase(mapas: MapaBaseItem[]): void;
@@ -113,6 +114,7 @@ export declare class UICamadas extends SafeHTMLElement implements CamadasHostCom
113
114
  private conectarEventosGerais;
114
115
  private sincronizarCamadaAtivaDOM;
115
116
  sincronizarSelecaoDOM(): void;
117
+ private sincronizarSelecoesComFeicoesValidas;
116
118
  notificarMudancaSelecao(): void;
117
119
  }
118
120
  export declare class UIPainelCamadas extends UICamadas {
@@ -1,4 +1,3 @@
1
- import { ScaleMode } from '../../gerencigeo-canvas/types';
2
1
  import { UICanvasCAD } from './ui-canvas-cad';
3
2
  import { GerenciadorBroadcastConfig } from './cad-broadcast';
4
3
  import { GerenciGeoMapaController } from '../../gerencigeo-canvas/mapa_controller';
@@ -8,7 +7,7 @@ export interface ContextoAtributosCAD {
8
7
  mapContainer: HTMLDivElement | null;
9
8
  broadcastConfig: GerenciadorBroadcastConfig;
10
9
  setLayerOpacity: (id: string, op: number) => void;
11
- setLayerScaleMode: (id: string, mode: ScaleMode) => void;
10
+ setLayerScaleMode: (id: string, mode: any) => void;
12
11
  atualizarZonaProjecao: (zona: number) => void;
13
12
  }
14
13
  export declare function sincronizarAtributoCAD(ctx: ContextoAtributosCAD, name: string, oldVal: string, newVal: string): void;
@@ -14,6 +14,6 @@ export declare class GerenciadorBroadcastConfig {
14
14
  private contexto;
15
15
  constructor(contexto: ContextoBroadcastCAD);
16
16
  conectar(canalNome?: string | null): void;
17
- processarMensagem(entrada: unknown): void;
17
+ processarMensagem(data: any): void;
18
18
  desconectar(): void;
19
19
  }
@@ -1,6 +1,4 @@
1
1
  import { GerenciGeoMapaController } from '../../gerencigeo-canvas/mapa_controller';
2
- import { EventoMapaCad, LatLngEvento } from './tipos';
3
- import { PontoPixel } from './cad-evento-coordenadas';
4
2
  export interface ContextoEventosCanvas {
5
3
  host: HTMLElement;
6
4
  controller: GerenciGeoMapaController;
@@ -10,7 +8,14 @@ export interface ContextoEventosCanvas {
10
8
  obterElementoPorId: (id: string | number) => any;
11
9
  fecharPopup: () => void;
12
10
  }
13
- export declare function processarCliqueLivreCanvas(ctx: ContextoEventosCanvas, e: MouseEvent | EventoMapaCad, latLngParam?: LatLngEvento, containerPointParam?: PontoPixel): boolean;
11
+ export declare function processarCliqueLivreCanvas(ctx: ContextoEventosCanvas, e: MouseEvent | any, latLngParam?: {
12
+ lat: number;
13
+ lng?: number;
14
+ lon?: number;
15
+ }, containerPointParam?: {
16
+ x: number;
17
+ y: number;
18
+ }): boolean;
14
19
  export declare function processarAcaoPopup(ctx: ContextoEventosCanvas, acaoId: string, elementoId: string | number, elemento?: any): void;
15
20
  export declare function tratarCliqueMarcador(ctx: ContextoEventosCanvas, pId: string | number, isVizinho: boolean | undefined, elemento: any, coords: {
16
21
  lat: number;
@@ -1,4 +1,5 @@
1
1
  import { CanvasLayerManager } from '../../gerencigeo-canvas/layer_manager';
2
+ import { LayerStyleDef } from '../../gerencigeo-canvas/types';
2
3
  import { Feicao, EstiloFeicao, LatLonPar } from '../../gerencigeo-canvas/feature_types';
3
4
  import { RegraVersoes } from '../../gerencigeo-canvas/feature_versoes';
4
5
  import { UsuarioRemoto } from '../../gerencigeo-canvas/feature_cursores';
@@ -6,14 +7,48 @@ import { RefFeicao } from '../../gerencigeo-canvas/feature_selecao';
6
7
  import { CaixaPx, ModoCaixa } from '../../gerencigeo-canvas/feature_caixa';
7
8
  import { MargensPopup } from '../../gerencigeo-canvas/feature_popup';
8
9
  import { default as L } from 'leaflet';
10
+ import { MotivoRecusaEdicao } from '../../gerencigeo-canvas/feature_edicao_ops';
9
11
  import { ExcluirSnap } from '../../gerencigeo-canvas/feature_snap';
10
- import { EditorVertices } from '../../gerencigeo-canvas/feature_editor_vertices';
11
- import { ControleDesenho } from '../../gerencigeo-canvas/feature_desenho_controle';
12
12
  import { Ferramenta } from '../../gerencigeo-canvas/feature_desenho';
13
13
  import { MargensHud } from '../../gerencigeo-canvas/feature_hud';
14
- import { TIPO_CAMADA_FEICOES, OpcoesCamadaFeicoes, OpcoesLote, AtualizacaoFeicao, LoteFeicoes, ResultadoLote, ResultadoFeicoes, OpcoesPopup, ResultadoFerramenta, ResultadoEdicao } from './cad-feicoes-tipos';
15
- export { TIPO_CAMADA_FEICOES };
16
- export type { OpcoesCamadaFeicoes, OpcoesLote, AtualizacaoFeicao, LoteFeicoes, ResultadoLote, ResultadoFeicoes, OpcoesPopup, ResultadoFerramenta, ResultadoEdicao };
14
+ export declare const TIPO_CAMADA_FEICOES = "feicoes";
15
+ export interface OpcoesCamadaFeicoes {
16
+ nome?: string;
17
+ zIndex?: number;
18
+ opacidade?: number;
19
+ interativo?: boolean;
20
+ estilo?: Partial<LayerStyleDef>;
21
+ }
22
+ /** Opções de `aplicarLote` / `atualizarFeicao`. */
23
+ export interface OpcoesLote extends OpcoesCamadaFeicoes {
24
+ /**
25
+ * Em atualizações, `propriedades` informadas SUBSTITUEM as atuais (o padrão é mesclar, e chaves apagadas
26
+ * pelo consumidor ficam para trás). Sem `propriedades` no item, nada muda.
27
+ */
28
+ substituirPropriedades?: boolean;
29
+ }
30
+ /** Itens de atualização: `id` aponta a feição; o resto é mesclado como em `atualizarFeicao`. */
31
+ export type AtualizacaoFeicao = Record<string, any> & {
32
+ id: string;
33
+ };
34
+ export interface LoteFeicoes {
35
+ adicionar?: unknown[];
36
+ atualizar?: AtualizacaoFeicao[];
37
+ remover?: string[];
38
+ }
39
+ export interface ResultadoLote {
40
+ adicionadas: number;
41
+ atualizadas: number;
42
+ removidas: number;
43
+ /** Ids (ou posições, quando não há id) recusados: geometria inválida, feição inexistente numa atualização, camada que não é de feições. */
44
+ recusadas: string[];
45
+ }
46
+ export interface ResultadoFeicoes {
47
+ /** Quantas feições entraram na camada. */
48
+ aceitas: number;
49
+ /** Ids (ou posições, quando não há id) das feições recusadas por geometria inválida. */
50
+ recusadas: string[];
51
+ }
17
52
  interface Contexto {
18
53
  obterLayerManager: () => CanvasLayerManager;
19
54
  obterMapa: () => L.Map | null;
@@ -26,21 +61,36 @@ interface Contexto {
26
61
  /** Regra de oficial × prévia compartilhada com o renderizador (o componente a põe no contexto de renderização). */
27
62
  regra?: RegraVersoes;
28
63
  }
64
+ /** Opções do popup da feição. */
65
+ export interface OpcoesPopup {
66
+ /** A ação "copiar" grava as coordenadas na área de transferência (padrão `true`); `cad-feicao-acao` sai de qualquer jeito. */
67
+ copiarParaAreaDeTransferencia?: boolean;
68
+ }
69
+ export interface ResultadoFerramenta {
70
+ ok: boolean;
71
+ motivo?: 'ferramenta-invalida' | 'sem-mapa' | 'sem-camada' | 'camada-invalida' | 'camada-bloqueada';
72
+ }
73
+ export interface ResultadoEdicao {
74
+ ok: boolean;
75
+ motivo?: MotivoRecusaEdicao | 'inexistente' | 'sem-mapa';
76
+ }
29
77
  export declare class GerenciadorFeicoes {
30
78
  private contexto;
31
- private operacoes;
32
79
  private selecao;
33
80
  private popup;
34
- private edicao;
35
- private consulta;
36
- private ponteiro;
37
- private regiao;
81
+ private editor;
38
82
  private snap;
39
- private ferramentas;
40
- private versoes;
41
- private camera;
42
- private repositorio;
83
+ private desenho;
84
+ private camadaDesenho;
85
+ private estiloDesenho;
86
+ private sequenciaId;
87
+ private regra;
88
+ private cacheOficiais;
89
+ /** id -> posição na lista da camada (válido enquanto `lista` for a lista atual); evita varrer a camada a cada consulta. */
90
+ private posicoes;
43
91
  private cursores;
92
+ private hoverId;
93
+ private hoverAgendado;
44
94
  private margensHud;
45
95
  /** Aceita a coordenada (0, 0) exata nas feições de entrada (atributo `aceitar-origem`). */
46
96
  aceitarOrigem: boolean;
@@ -49,18 +99,28 @@ export declare class GerenciadorFeicoes {
49
99
  /** Depois de qualquer mudança nos dados: descarta seleção órfã e atualiza/fecha o popup aberto. */
50
100
  private aposDados;
51
101
  private lista;
102
+ private posicaoDe;
52
103
  /** Feição da camada pelo id (O(1)); `undefined` se não existe. */
53
104
  buscar(camadaId: string, id: string): Feicao | undefined;
105
+ private garantirCamada;
54
106
  private opcoesNormalizacao;
55
107
  definirFeicoes(camadaId: string, brutas: unknown[], opcoes?: OpcoesCamadaFeicoes): ResultadoFeicoes;
56
108
  adicionarFeicao(camadaId: string, bruta: unknown, opcoes?: OpcoesCamadaFeicoes): Feicao | null;
57
- /** Mescla campos de primeiro nível; `estilo` e `propriedades` também são mesclados. Ver `RepositorioFeicoes`. */
109
+ /**
110
+ * Mescla campos de primeiro nível; `estilo` e `propriedades` também são mesclados. Com `substituirPropriedades`,
111
+ * `propriedades` informadas trocam as atuais por inteiro (atributos ausentes somem).
112
+ */
58
113
  atualizarFeicao(camadaId: string, id: string, parcial: Record<string, any>, opcoes?: Pick<OpcoesLote, 'substituirPropriedades'>): Feicao | null;
59
114
  /** Grava uma feição já normalizada (usado quando o próprio mapa a altera, como ao arrastar um texto). */
60
115
  substituir(camadaId: string, feicao: Feicao): void;
61
116
  removerFeicao(camadaId: string, id: string): boolean;
62
- /** Várias mudanças numa só regravação e num só `aposDados`: remove, depois atualiza, depois adiciona. */
117
+ /**
118
+ * Várias mudanças numa só regravação e num só `aposDados`: remove, depois atualiza, depois adiciona.
119
+ * Adicionar um id que já existe substitui a feição mantendo a posição (a ordem de empilhamento não muda).
120
+ */
63
121
  aplicarLote(camadaId: string, lote: LoteFeicoes, opcoes?: OpcoesLote): ResultadoLote;
122
+ private mesclar;
123
+ private aplicar;
64
124
  obterFeicoes(camadaId: string): Feicao[];
65
125
  /** Traduz as ações vindas do renderizador no evento a disparar pelo componente. */
66
126
  tratarAcaoCamada(acao: string, detalhe: {
@@ -74,7 +134,7 @@ export declare class GerenciadorFeicoes {
74
134
  /** Esc ou clique no vazio: durante a edição só encerra a edição; fora dela, limpa a seleção. */
75
135
  aoPedirLimpeza(): void;
76
136
  obterFeicoesSelecionadas(): Feicao[];
77
- /** Laço: seleciona (substituindo) as feições tocadas pelo polígono; a ferramenta encerra. */
137
+ /** Laço: seleciona (substituindo) as feições de camadas selecionáveis tocadas pelo polígono; a ferramenta encerra. */
78
138
  private selecionarNoLaco;
79
139
  /** Caixa de seleção: só feições de camadas visíveis, interativas e desbloqueadas, com toque geométrico real. */
80
140
  selecionarNaCaixa(caixa: CaixaPx, modo: ModoCaixa, aditivo: boolean): void;
@@ -90,12 +150,14 @@ export declare class GerenciadorFeicoes {
90
150
  definirMargensHud(m: Partial<MargensHud>): void;
91
151
  private aplicarMargensHud;
92
152
  get regraVersoes(): RegraVersoes;
153
+ private oficiaisDe;
93
154
  /** Aparece segundo a regra de oficial × prévia? */
94
155
  visivelPorVersao(f: Feicao): boolean;
95
156
  /** Vai para a tela e responde a clique, caixa, laço, snap e hover: não excluída, não oculta e visível pela regra de versões. */
96
157
  desenhada(f: Feicao): boolean;
97
158
  /** Regra da seleção: a feição em edição continua selecionada mesmo se for ocultada no meio da edição. */
98
159
  private selecionavelAgora;
160
+ private aplicarVersoes;
99
161
  get previasGlobais(): boolean;
100
162
  /** Mostra (ou esconde) as prévias de todas as entidades. Prévias de entidades sem oficial aparecem sempre. */
101
163
  definirPreviasGlobais(ligado: boolean): void;
@@ -108,6 +170,10 @@ export declare class GerenciadorFeicoes {
108
170
  removerCursorRemoto(id: string): boolean;
109
171
  limparCursoresRemotos(): void;
110
172
  get cursoresRemotos(): number;
173
+ /** Mostra o que estava escondido (camada oculta, prévia não solicitada) para a feição poder ser vista. */
174
+ private garantirVisivel;
175
+ private limitesDe;
176
+ private enquadrar;
111
177
  /** Aproxima da feição; liga a camada e a prévia, se estiverem escondidas. Ponto: voa até z ≥ 17. */
112
178
  zoomParaFeicao(camadaId: string, id: string): boolean;
113
179
  zoomParaFeicoes(refs: RefFeicao[]): boolean;
@@ -115,6 +181,7 @@ export declare class GerenciadorFeicoes {
115
181
  ajustarTudo(): boolean;
116
182
  /** Enquadra a camada inteira; se estava oculta, torna-a visível. */
117
183
  ajustarCamada(camadaId: string): boolean;
184
+ private feicaoSob;
118
185
  /** Emite `cad-feicao-hover` quando a feição sob o mouse muda (uma checagem por quadro). */
119
186
  aoMoverMouse(e: MouseEvent): void;
120
187
  /** Botão direito: emite `cad-feicao-menu` com a feição sob o cursor (ou `null`), para o consumidor abrir o próprio menu. */
@@ -127,19 +194,13 @@ export declare class GerenciadorFeicoes {
127
194
  alternarSnap(): void;
128
195
  conectarTeclado(): void;
129
196
  desconectarTeclado(): void;
130
- /** Feições visíveis cujo envelope toca um quadrado de `tolPx` px em volta de `coord`. */
197
+ /** Feições visíveis das camadas de feições cujo envelope toca um quadrado de `tolPx` px em volta de `coord`. */
131
198
  private candidatasEm;
132
199
  /** Snap de uma coordenada contra as feições visíveis de todas as camadas de feições (via índice espacial). */
133
200
  buscarSnapEm(coord: [number, number], excluir?: ExcluirSnap): import('../../gerencigeo-canvas').ResultadoSnap | null;
134
- /** @internal Editor de vértices (usado pelos testes de caracterização). */
135
- get editor(): EditorVertices | null;
136
201
  get editando(): boolean;
137
202
  iniciarEdicao(camadaId: string, id: string): ResultadoEdicao;
138
203
  pararEdicao(): void;
139
- /** @internal Controle de desenho (usado pelos testes de caracterização). */
140
- get desenho(): ControleDesenho | null;
141
- /** @internal Conta-gotas (usado pelos testes de caracterização). */
142
- amostrarEstilo(coord: LatLonPar): void;
143
204
  get ferramentaAtiva(): Ferramenta | null;
144
205
  /** Camada que recebe o que for desenhado. Não existe camada padrão: o consumidor escolhe. */
145
206
  definirCamadaDesenho(camadaId: string | null): void;
@@ -159,8 +220,22 @@ export declare class GerenciadorFeicoes {
159
220
  desfazerVerticeDesenho(): boolean;
160
221
  /** Liga/desliga a tecla S do snap (o botão e `definirSnap` continuam valendo). */
161
222
  definirAtalhoSnap(ligado: boolean): void;
223
+ private motivoCamadaDesenhoInvalida;
224
+ private novoId;
162
225
  private idLivre;
163
- /** Divide polígonos pela linha de corte (selecionados; sem seleção, o primeiro cortado). Ver `OperacoesFeicoes`. */
226
+ /**
227
+ * Clique da ferramenta texto: emite `cad-texto-solicitado` (cancelável). Com `preventDefault()` o consumidor assume a
228
+ * entrada do texto e depois chama `detalhe.concluir(texto)` (cria na camada de desenho, com o estilo de desenho) ou
229
+ * simplesmente não faz nada para cancelar. Sem `preventDefault()`, aparece o campo inline.
230
+ */
231
+ private solicitarTexto;
232
+ private concluirFerramenta;
233
+ /** Conta-gotas: copia o estilo da feição sob o clique para o estilo de desenho. */
234
+ private amostrarEstilo;
235
+ /**
236
+ * Divide polígonos pela linha de corte. Alvos: os polígonos selecionados; sem seleção, o primeiro
237
+ * polígono (de camada visível, interativa e desbloqueada) que a linha corta.
238
+ */
164
239
  dividirComLinha(linha: LatLonPar[]): boolean;
165
240
  /** Cria um polígono de buffer ao redor da feição (na camada dela, ou em `camadaDestino`). */
166
241
  gerarBuffer(camadaId: string, id: string, metros: number, opcoes?: {
@@ -174,9 +249,14 @@ export declare class GerenciadorFeicoes {
174
249
  }, opcoes?: {
175
250
  id?: string;
176
251
  }): Feicao | null;
177
- /** Junta linhas (encadeando pontas) ou dois polígonos numa feição só; as originais saem. Ver `OperacoesFeicoes`. */
252
+ /**
253
+ * Junta linhas (encadeando pontas) ou dois polígonos (por uma ponte) numa feição só; as originais saem.
254
+ * Linhas com pontas a até `toleranciaM` se ligam; polígonos precisam estar a até `toleranciaM` e
255
+ * não podem ter bordas que se cruzam.
256
+ */
178
257
  juntarFeicoes(camadaId: string, ids: string[], opcoes?: {
179
258
  toleranciaM?: number;
180
259
  id?: string;
181
260
  }): Feicao | null;
182
261
  }
262
+ export {};
@@ -3,8 +3,6 @@ import { GerenciGeoMapaController } from '../../gerencigeo-canvas/mapa_controlle
3
3
  import { GerenciadorToolbarPainel } from './cad-toolbar-painel';
4
4
  import { GerenciadorColecoesDados } from './cad-colecoes-dados';
5
5
  import { ContextoEventosCanvas } from './cad-eventos-canvas';
6
- import { EventoMapaCad, LatLngEvento } from './tipos';
7
- import { PontoPixel } from './cad-evento-coordenadas';
8
6
  export interface ContextoInicializadorCAD {
9
7
  host: UICanvasCAD;
10
8
  shadow: ShadowRoot;
@@ -15,7 +13,7 @@ export interface ContextoInicializadorCAD {
15
13
  obterContextoEventos: () => ContextoEventosCanvas;
16
14
  renderLayersUI: () => void;
17
15
  invalidateSizeSafely: () => void;
18
- tratarCliqueLivreCanvas: (e: MouseEvent | EventoMapaCad, latlng?: LatLngEvento, containerPoint?: PontoPixel) => void;
16
+ tratarCliqueLivreCanvas: (e: any, latlng?: any, containerPoint?: any) => void;
19
17
  dispararAcaoPopup: (acaoId: string, elementoId: string | number, elemento?: any) => void;
20
18
  }
21
19
  export declare function inicializarCAD(ctx: ContextoInicializadorCAD): void;