@thibezer/ui-components-kit 2.8.1 → 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 (191) hide show
  1. package/CHANGELOG.md +22 -103
  2. package/README.md +8 -32
  3. package/dist/botao.cjs +1 -1
  4. package/dist/botao.js +1 -1
  5. package/dist/camadas.cjs +110 -114
  6. package/dist/camadas.js +1177 -1343
  7. package/dist/campo-texto.cjs +1 -1
  8. package/dist/campo-texto.js +1 -1
  9. package/dist/canvas.cjs +63 -64
  10. package/dist/canvas.js +3544 -4025
  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/camadas-host.d.ts +0 -1
  23. package/dist/components/ui-camadas/camadas-mapas-base.d.ts +1 -3
  24. package/dist/components/ui-camadas/camadas-selecao.d.ts +0 -12
  25. package/dist/components/ui-camadas/ui-camadas.d.ts +5 -8
  26. package/dist/components/ui-canvas-cad/cad-atributos-sync.d.ts +1 -2
  27. package/dist/components/ui-canvas-cad/cad-broadcast.d.ts +1 -1
  28. package/dist/components/ui-canvas-cad/cad-eventos-canvas.d.ts +8 -3
  29. package/dist/components/ui-canvas-cad/cad-feicoes.d.ts +106 -39
  30. package/dist/components/ui-canvas-cad/cad-inicializador.d.ts +1 -3
  31. package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +1 -15
  32. package/dist/components/ui-checkbox/ui-checkbox.d.ts +1 -4
  33. package/dist/components/ui-cores/tipos.d.ts +0 -2
  34. package/dist/components/ui-cores/ui-controle-cores.d.ts +3 -8
  35. package/dist/components/ui-cores/ui-seletor-cor.d.ts +1 -3
  36. package/dist/components/ui-mapa/ui-mapa-linha.d.ts +5 -12
  37. package/dist/components/ui-mapa/ui-mapa-marcador.d.ts +6 -15
  38. package/dist/components/ui-mapa/ui-mapa.d.ts +1 -14
  39. package/dist/components/ui-modal/modal-acessibilidade.d.ts +5 -5
  40. package/dist/components/ui-modal/ui-modal.d.ts +11 -1
  41. package/dist/components/ui-radio/radio-grupo-registry.d.ts +0 -10
  42. package/dist/components/ui-radio/ui-radio.d.ts +2 -9
  43. package/dist/components/ui-skeleton/ui-skeleton.d.ts +0 -9
  44. package/dist/components/ui-switch/ui-switch.d.ts +1 -3
  45. package/dist/components/ui-tabela/ui-tabela.d.ts +19 -1
  46. package/dist/components/ui-tooltip/ui-tooltip.d.ts +1 -24
  47. package/dist/core/index.d.ts +0 -1
  48. package/dist/core.cjs +1 -1
  49. package/dist/core.js +18 -28
  50. package/dist/cores.cjs +1 -1
  51. package/dist/cores.js +1 -1
  52. package/dist/custom-elements.json +13585 -18764
  53. package/dist/data.cjs +1 -1
  54. package/dist/data.js +2 -2
  55. package/dist/feedback.cjs +1 -1
  56. package/dist/feedback.js +2 -2
  57. package/dist/form-validacao-BIOXxt-1.js +140 -0
  58. package/dist/form-validacao-ytRYSF3E.cjs +1 -0
  59. package/dist/forms.cjs +1 -1
  60. package/dist/forms.js +2 -2
  61. package/dist/gerencigeo-canvas/canvas_interacao.d.ts +1 -0
  62. package/dist/gerencigeo-canvas/feature_metricas.d.ts +9 -0
  63. package/dist/gerencigeo-canvas/feature_popup.d.ts +0 -2
  64. package/dist/gerencigeo-canvas/mapa_core.d.ts +0 -6
  65. package/dist/index.cjs +1 -1
  66. package/dist/index.d.ts +0 -3
  67. package/dist/index.js +176 -179
  68. package/dist/mapa.cjs +16 -11
  69. package/dist/mapa.js +170 -242
  70. package/dist/modal.cjs +1 -1
  71. package/dist/modal.js +1 -1
  72. package/dist/register.cjs +1 -1
  73. package/dist/register.js +11 -11
  74. package/dist/svg-seguro-ChVJ2L2z.js +74 -0
  75. package/dist/svg-seguro-J2RM1Ssf.cjs +1 -0
  76. package/dist/tabela.cjs +1 -1
  77. package/dist/tabela.js +1 -1
  78. package/dist/tipos-elementos.d.ts +20 -48
  79. package/dist/tipos-react.d.ts +0 -2
  80. package/dist/tipos-vue.d.ts +15 -44
  81. package/dist/tools.cjs +1 -1
  82. package/dist/tools.js +1 -1
  83. package/dist/ui-badge-BxT-sDmV.cjs +28 -0
  84. package/dist/ui-badge-C0eKBI8E.js +183 -0
  85. package/dist/ui-botao-BOOnP8ds.cjs +12 -0
  86. package/dist/ui-botao-DfqSivHl.js +165 -0
  87. package/dist/ui-botao-OGJV6Vfk.js +165 -0
  88. package/dist/ui-botao-psS1juof.cjs +12 -0
  89. package/dist/ui-campo-texto-Cnn2UAkS.cjs +16 -0
  90. package/dist/{ui-campo-texto-B_OHVGiN.js → ui-campo-texto-Uu2dJE_0.js} +51 -51
  91. package/dist/ui-card-B86lJXTP.cjs +20 -0
  92. package/dist/{ui-card-BNYCQ7g-.js → ui-card-C_o5_0cB.js} +42 -50
  93. package/dist/ui-controle-cores-BS0WYPdi.js +572 -0
  94. package/dist/ui-controle-cores-Er6ZcQ7U.cjs +111 -0
  95. package/dist/ui-kit.css +1 -1
  96. package/dist/ui-modal-CvGFGh1h.cjs +18 -0
  97. package/dist/{ui-modal-BkYvNP0G.js → ui-modal-DBOtSTbR.js} +140 -116
  98. package/dist/ui-paleta-ferramentas-CEZYcN4J.js +624 -0
  99. package/dist/ui-paleta-ferramentas-CU4icLl0.js +1171 -0
  100. package/dist/{ui-paleta-ferramentas-bDLPbiGA.cjs → ui-paleta-ferramentas-Ccmo-rB5.cjs} +7 -7
  101. package/dist/ui-paleta-ferramentas-DLwZHIDv.cjs +21 -0
  102. package/dist/{ui-paleta-ferramentas-Ksh6gMW3.js → ui-paleta-ferramentas-DNN5i6nL.js} +329 -359
  103. package/dist/ui-paleta-ferramentas-Dbj1kBS9.cjs +18 -0
  104. package/dist/ui-paleta-ferramentas-DbwdWVtT.js +1173 -0
  105. package/dist/ui-paleta-ferramentas-bvqxj1Yd.cjs +21 -0
  106. package/dist/ui-segmented-D6b6zxVs.cjs +19 -0
  107. package/dist/ui-segmented-DyF5YLsV.js +418 -0
  108. package/dist/ui-segmented-rn9RxRGM.cjs +19 -0
  109. package/dist/{ui-linha-nCDh2wPm.js → ui-segmented-wUraId2e.js} +105 -200
  110. package/dist/ui-skeleton-DI4_9WOX.js +428 -0
  111. package/dist/{ui-skeleton-DiOxTBZK.cjs → ui-skeleton-SPYqku8P.cjs} +10 -10
  112. package/dist/{ui-skeleton-B2Rgrv8o.js → ui-skeleton-W9uwIceA.js} +191 -254
  113. package/dist/ui-skeleton-elhKIh2B.cjs +33 -0
  114. package/dist/{ui-switch-DO1R0Ce7.js → ui-switch-BcOqOkiV.js} +128 -187
  115. package/dist/ui-switch-D7iPKDj-.cjs +53 -0
  116. package/dist/ui-tabela-propriedades-BBr5sqki.cjs +145 -0
  117. package/dist/{ui-tabela-propriedades-DzZlyNZ_.cjs → ui-tabela-propriedades-BecPqC-e.cjs} +10 -10
  118. package/dist/{ui-tabela-propriedades-D9Echt2X.js → ui-tabela-propriedades-BokvDD3b.js} +826 -845
  119. package/dist/ui-tabela-propriedades-Boy7I5yW.js +2412 -0
  120. package/dist/ui-tabela-propriedades-C-PeuW1i.cjs +141 -0
  121. package/dist/ui-tabela-propriedades-Df9ajC6M.js +2648 -0
  122. package/dist/ui-toast-Bp_NlM5G.js +156 -0
  123. package/dist/ui-toast-DGTZKne5.cjs +20 -0
  124. package/dist/zero-js-triggers-C_KrvFOQ.js +244 -0
  125. package/dist/zero-js-triggers-C_gtaojZ.cjs +1 -0
  126. package/package.json +3 -3
  127. package/dist/acessibilidade-CSzX-DkG.cjs +0 -1
  128. package/dist/acessibilidade-CUlSXc2X.js +0 -38
  129. package/dist/altura-controle-ukMRPckR.cjs +0 -1
  130. package/dist/altura-controle-vxQiXG4q.js +0 -62
  131. package/dist/components/ui-barra-ferramentas/paleta-atalhos.d.ts +0 -16
  132. package/dist/components/ui-barra-ferramentas/paleta-pressao-longa.d.ts +0 -24
  133. package/dist/components/ui-barra-ferramentas/ribbon-render.d.ts +0 -14
  134. package/dist/components/ui-barra-ferramentas/ribbon-teclado.d.ts +0 -17
  135. package/dist/components/ui-camadas/camadas-colecao.d.ts +0 -27
  136. package/dist/components/ui-camadas/camadas-drop-ops.d.ts +0 -31
  137. package/dist/components/ui-camadas/camadas-hierarquia.d.ts +0 -10
  138. package/dist/components/ui-camadas/camadas-lembranca.d.ts +0 -34
  139. package/dist/components/ui-camadas/camadas-render.d.ts +0 -15
  140. package/dist/components/ui-camadas/camadas-renomear.d.ts +0 -12
  141. package/dist/components/ui-camadas/camadas-selecao-api.d.ts +0 -17
  142. package/dist/components/ui-camadas/camadas-thumb.d.ts +0 -1
  143. package/dist/components/ui-canvas-cad/cad-acessibilidade.d.ts +0 -15
  144. package/dist/components/ui-canvas-cad/cad-evento-coordenadas.d.ts +0 -22
  145. package/dist/components/ui-canvas-cad/cad-feicoes-camera.d.ts +0 -26
  146. package/dist/components/ui-canvas-cad/cad-feicoes-consulta.d.ts +0 -21
  147. package/dist/components/ui-canvas-cad/cad-feicoes-dados.d.ts +0 -39
  148. package/dist/components/ui-canvas-cad/cad-feicoes-desenho.d.ts +0 -68
  149. package/dist/components/ui-canvas-cad/cad-feicoes-edicao.d.ts +0 -37
  150. package/dist/components/ui-canvas-cad/cad-feicoes-operacoes.d.ts +0 -48
  151. package/dist/components/ui-canvas-cad/cad-feicoes-ponteiro.d.ts +0 -28
  152. package/dist/components/ui-canvas-cad/cad-feicoes-selecao-regiao.d.ts +0 -22
  153. package/dist/components/ui-canvas-cad/cad-feicoes-tipos.d.ts +0 -53
  154. package/dist/components/ui-canvas-cad/cad-feicoes-versoes.d.ts +0 -33
  155. package/dist/components/ui-canvas-cad/cad-leaflet-adaptador.d.ts +0 -5
  156. package/dist/components/ui-canvas-cad/cad-selecao-pontos.d.ts +0 -5
  157. package/dist/components/ui-canvas-cad/tipos.d.ts +0 -37
  158. package/dist/components/ui-linha/index.d.ts +0 -1
  159. package/dist/components/ui-linha/ui-linha.d.ts +0 -48
  160. package/dist/components/ui-mapa/mapa-atributos.d.ts +0 -14
  161. package/dist/components/ui-mapa/mapa-basemaps.d.ts +0 -7
  162. package/dist/components/ui-mapa/mapa-icones.d.ts +0 -4
  163. package/dist/components/ui-mapa/mapa-leaflet.d.ts +0 -5
  164. package/dist/components/ui-mapa/mapa-vinculo-pai.d.ts +0 -22
  165. package/dist/components/ui-mapa/tipos.d.ts +0 -13
  166. package/dist/components/ui-modal/modal-foco.d.ts +0 -28
  167. package/dist/components/ui-tabela/tabela-estados.d.ts +0 -16
  168. package/dist/components/ui-tabela/tabela-rolagem.d.ts +0 -44
  169. package/dist/components/ui-tabela/tabela-teclado.d.ts +0 -16
  170. package/dist/components/ui-tooltip/tooltip-popover.d.ts +0 -7
  171. package/dist/components/ui-tooltip/tooltip-posicionamento.d.ts +0 -29
  172. package/dist/core/altura-controle.d.ts +0 -34
  173. package/dist/core/opcoes.d.ts +0 -9
  174. package/dist/core/rotulo-controle.d.ts +0 -13
  175. package/dist/form-validacao-BlQFxUVj.js +0 -104
  176. package/dist/form-validacao-DIeyQVH5.cjs +0 -1
  177. package/dist/gerencigeo-canvas/popup_gate.d.ts +0 -30
  178. package/dist/gerencigeo-canvas/zoom_opcoes.d.ts +0 -10
  179. package/dist/opcoes-CJYLi6kd.js +0 -12
  180. package/dist/opcoes-CkyDxBuQ.cjs +0 -1
  181. package/dist/ui-badge-BWhoGgo9.js +0 -197
  182. package/dist/ui-badge-SIR81R9l.cjs +0 -28
  183. package/dist/ui-botao-D24oXySA.cjs +0 -12
  184. package/dist/ui-botao-Dsj08jjw.js +0 -165
  185. package/dist/ui-campo-texto-DauJCde3.cjs +0 -16
  186. package/dist/ui-card-BrjBL-yo.cjs +0 -20
  187. package/dist/ui-controle-cores-DgEza3wF.js +0 -612
  188. package/dist/ui-controle-cores-uY__TgwW.cjs +0 -117
  189. package/dist/ui-linha-C6HBnsaw.cjs +0 -19
  190. package/dist/ui-modal-CUNbpbZ1.cjs +0 -18
  191. package/dist/ui-switch-D9a8XlVX.cjs +0 -53
@@ -1,33 +0,0 @@
1
- import { CanvasLayerManager } from '../../gerencigeo-canvas/layer_manager';
2
- import { Feicao } from '../../gerencigeo-canvas/feature_types';
3
- import { RegraVersoes } from '../../gerencigeo-canvas/feature_versoes';
4
- export interface PortasVersoes {
5
- obterLayerManager: () => CanvasLayerManager;
6
- emitir: (evento: string, detalhe: unknown) => unknown;
7
- buscar: (camadaId: string, id: string) => Feicao | undefined;
8
- lista: (camadaId: string) => Feicao[];
9
- /** Chamado depois que a regra muda, para reconciliar seleção, edição e popup. */
10
- aposDados: () => void;
11
- }
12
- export declare class VersoesFeicoes {
13
- private p;
14
- readonly regra: RegraVersoes;
15
- private cacheOficiais;
16
- constructor(p: PortasVersoes, regra: RegraVersoes);
17
- private oficiaisDe;
18
- /** Aparece segundo a regra de oficial × prévia? */
19
- visivelPorVersao(f: Feicao): boolean;
20
- /** 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. */
21
- desenhada(f: Feicao): boolean;
22
- aplicarVersoes(): void;
23
- get previasGlobais(): boolean;
24
- /** Mostra (ou esconde) as prévias de todas as entidades. Prévias de entidades sem oficial aparecem sempre. */
25
- definirPreviasGlobais(ligado: boolean): void;
26
- alternarPreviasGlobais(): void;
27
- /** Liga/desliga a prévia da entidade a que a feição pertence. Devolve o novo estado, ou `null` se a feição não existe. */
28
- alternarPrevia(camadaId: string, id: string): boolean | null;
29
- /** A prévia da feição está sendo mostrada por pedido (global ou individual)? */
30
- previaSolicitada(camadaId: string, id: string): boolean;
31
- /** Mostra o que estava escondido (camada oculta, prévia não solicitada) para a feição poder ser vista. */
32
- garantirVisivel(f: Feicao): void;
33
- }
@@ -1,5 +0,0 @@
1
- /**
2
- * O Leaflet recusa inicializar um contêiner já marcado com `_leaflet_id` ("Map container is already initialized").
3
- * Limpa a marca; devolve `true` se havia uma.
4
- */
5
- export declare function liberarContainerLeaflet(container: HTMLElement | null | undefined): boolean;
@@ -1,5 +0,0 @@
1
- import { GerenciGeoMapaController } from '../../gerencigeo-canvas/mapa_controller';
2
- type IdPonto = string | number;
3
- export declare function lerPontosSelecionados(controller: GerenciGeoMapaController): IdPonto[];
4
- export declare function gravarPontosSelecionados(controller: GerenciGeoMapaController, ids: IdPonto[]): void;
5
- export {};
@@ -1,37 +0,0 @@
1
- /**
2
- * Tipos "emprestados" do Leaflet e do contexto do mapa usados pelo <ui-canvas-cad>.
3
- * Responsabilidade única: descrever, em um só lugar, as formas dinâmicas que o código antes acessava com `as any`.
4
- */
5
- /** Contêiner de mapa do Leaflet: o Leaflet marca o elemento com `_leaflet_id` ao inicializar. */
6
- export type ContainerLeaflet = HTMLElement & {
7
- _leaflet_id?: number;
8
- };
9
- export interface PontoPixelEvento {
10
- x?: number;
11
- y?: number;
12
- }
13
- export interface LatLngEvento {
14
- lat?: number;
15
- lng?: number;
16
- /** Alguns emissores usam `lon`. */
17
- lon?: number;
18
- }
19
- /** Evento de mapa/DOM como chega ao canvas: pode ser do Leaflet (com `originalEvent`) ou um MouseEvent cru. */
20
- export interface EventoMapaCad {
21
- originalEvent?: EventoMapaCad;
22
- target?: EventTarget | null;
23
- composedPath?: () => EventTarget[];
24
- clientX?: number;
25
- clientY?: number;
26
- containerPoint?: PontoPixelEvento;
27
- layerPoint?: PontoPixelEvento;
28
- latlng?: LatLngEvento;
29
- }
30
- /** Elemento com coordenadas em qualquer das grafias aceitas na entrada. */
31
- export interface ElementoComCoordenadas {
32
- lat?: number | string;
33
- lon?: number | string;
34
- lng?: number | string;
35
- latitude?: number | string;
36
- longitude?: number | string;
37
- }
@@ -1 +0,0 @@
1
- export * from './ui-linha';
@@ -1,48 +0,0 @@
1
- import { SafeHTMLElement } from '../../core/ssr-safe';
2
- export type AlinhamentoLinha = 'inicio' | 'centro' | 'fim' | 'esticar';
3
- export type JustificacaoLinha = 'inicio' | 'centro' | 'fim' | 'entre' | 'ao-redor';
4
- export type EspacoLinha = 'nenhum' | 'xs' | 'sm' | 'md' | 'lg';
5
- /**
6
- * Contêiner de controles na mesma linha: um único lugar define altura, alinhamento, espaço e quebra, e todos os
7
- * filhos (`ui-botao`, `ui-campo-texto`, `ui-lista-flutuante`, `ui-segmented`, `ui-badge[controle]`...) se alinham sozinhos.
8
- *
9
- * A altura segue o contrato `--ui-campo-altura` (ver `core/altura-controle.ts`): `tamanho`/`altura` aqui valem para
10
- * todos os filhos; um filho com `tamanho`/`altura` próprio vence só ele.
11
- *
12
- * @element ui-linha
13
- *
14
- * @attr {string} tamanho - Altura dos controles filhos: `sm` (26px), `md` (34px), `lg` (42px); aceita também `compacta`, `padrao`, `relaxada`.
15
- * @attr {string} densidade - Sinônimo de `tamanho`.
16
- * @attr {string} altura - Altura explícita dos controles filhos (px, rem ou em); vence `tamanho`.
17
- * @attr {string} alinhar - Alinhamento vertical: `centro` (padrão), `inicio`, `fim`, `esticar`.
18
- * @attr {string} justificar - Distribuição horizontal: `inicio` (padrão), `centro`, `fim`, `entre`, `ao-redor`.
19
- * @attr {string} espaco - Espaço entre os filhos: `nenhum`, `xs`, `sm` (padrão), `md`, `lg`.
20
- * @attr {boolean} sem-quebra - Não quebra para a linha de baixo (por padrão a linha quebra).
21
- * @attr {boolean} inline - Ocupa só a largura do conteúdo (`inline-flex`).
22
- *
23
- * @slot - Os controles da linha. Qualquer filho com o atributo `expandir` ocupa o espaço restante.
24
- *
25
- * @cssprop --ui-linha-espaco - Espaço entre os filhos (substitui `espaco`).
26
- * @cssprop --ui-linha-campo-base - Largura-base de campos e listas antes de quebrar (padrão `12rem`).
27
- * @cssprop --ui-campo-altura - Altura dos controles filhos (definida por `tamanho`/`altura`).
28
- */
29
- export declare class UILinha extends SafeHTMLElement {
30
- static get observedAttributes(): string[];
31
- constructor();
32
- connectedCallback(): void;
33
- attributeChangedCallback(_name: string, old: string | null, value: string | null): void;
34
- private lerTexto;
35
- private definirTexto;
36
- get tamanho(): string | null;
37
- set tamanho(v: string | null);
38
- get altura(): string | null;
39
- set altura(v: string | number | null);
40
- get alinhar(): AlinhamentoLinha | null;
41
- set alinhar(v: AlinhamentoLinha | null);
42
- get justificar(): JustificacaoLinha | null;
43
- set justificar(v: JustificacaoLinha | null);
44
- get espaco(): EspacoLinha | null;
45
- set espaco(v: EspacoLinha | null);
46
- get semQuebra(): boolean;
47
- set semQuebra(v: boolean);
48
- }
@@ -1,14 +0,0 @@
1
- import { VistaMapa } from './tipos';
2
- export declare const VISTA_PADRAO: VistaMapa;
3
- export declare const COR_MARCADOR_PADRAO = "#00f5a0";
4
- export declare const COR_LINHA_PADRAO = "#3388ff";
5
- export declare const ESPESSURA_PADRAO = 3;
6
- /** Lê lat/lng/zoom; cada campo inválido (ou fora de -90..90, -180..180, 0..22) cai no padrão. */
7
- export declare function lerVista(lat: string | null, lng: string | null, zoom: string | null): VistaMapa;
8
- export declare function lerInteiroPositivo(valor: string | null, padrao: number): number;
9
- /** Aceita só cores CSS conhecidas (hex, rgb/hsl, nome); qualquer outra coisa vira `padrao`. Impede injeção em estilo/atributo. */
10
- export declare function corSegura(cor: string | null | undefined, padrao: string): string;
11
- /** Lista de camadas base pedidas, filtrada pelas conhecidas; vazia → `['osm']`. */
12
- export declare function lerCamadas(texto: string | null, conhecidas: string[]): string[];
13
- /** Interpreta `pontos` (JSON `[[lat, lng], ...]`); descarta pares inválidos e devolve `[]` se o JSON não for um array. */
14
- export declare function lerPontos(texto: string | null): Array<[number, number]>;
@@ -1,7 +0,0 @@
1
- import { TileLayer } from 'leaflet';
2
- import { LeafletModulo } from './tipos';
3
- export interface Basemap {
4
- nome: string;
5
- layer: () => TileLayer;
6
- }
7
- export declare function obterBasemaps(L: LeafletModulo): Record<string, Basemap>;
@@ -1,4 +0,0 @@
1
- import { DivIcon } from 'leaflet';
2
- import { FormatoMarcador, LeafletModulo } from './tipos';
3
- /** `cor` já deve ter passado por `corSegura`. */
4
- export declare function criarIconeMarcador(L: LeafletModulo, cor: string, formato: FormatoMarcador): DivIcon;
@@ -1,5 +0,0 @@
1
- import { LeafletModulo } from './tipos';
2
- /** `L` se o Leaflet já estiver carregado (global ou importado), senão `null`. */
3
- export declare function obterLeaflet(): LeafletModulo | null;
4
- /** Carrega o Leaflet sob demanda; `null` se não estiver instalado. */
5
- export declare function carregarLeafletTipado(): Promise<LeafletModulo | null>;
@@ -1,22 +0,0 @@
1
- import { default as L } from 'leaflet';
2
- export interface OpcoesVinculo {
3
- /** Nome da tag, só para as mensagens de aviso. */
4
- rotulo: string;
5
- /** O mapa do pai está pronto: crie a camada. */
6
- aoMapa: (mapa: L.Map) => void;
7
- /** O mapa anterior se foi (o pai o recriou): descarte a camada antiga. */
8
- aoPerderMapa: () => void;
9
- }
10
- export declare class VinculoMapaPai {
11
- private host;
12
- private opcoes;
13
- private pai;
14
- private timer;
15
- private tentativas;
16
- constructor(host: HTMLElement, opcoes: OpcoesVinculo);
17
- conectar(): void;
18
- desconectar(): void;
19
- private aoPronto;
20
- private agendar;
21
- private tentar;
22
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * Tipos compartilhados do <ui-mapa> e de seus filhos.
3
- * Responsabilidade única: descrever o módulo do Leaflet e a vista padrão sem recorrer a `any`.
4
- */
5
- import type * as Leaflet from 'leaflet';
6
- /** O módulo do Leaflet (o `L` global). */
7
- export type LeafletModulo = typeof Leaflet;
8
- export interface VistaMapa {
9
- lat: number;
10
- lng: number;
11
- zoom: number;
12
- }
13
- export type FormatoMarcador = 'pin' | 'circle';
@@ -1,28 +0,0 @@
1
- /**
2
- * Foco do <ui-modal>: localizar controles focáveis, foco inicial e armadilha de foco (Tab / Shift+Tab).
3
- * Responsabilidade única: decisões sobre foco; não abre nem fecha o modal.
4
- */
5
- export declare const SELETORES_FOCAVEIS = "a[href], button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"]), ui-campo-texto, ui-input, ui-botao, ui-botao-primario, ui-checkbox, ui-switch, ui-lista-flutuante, ui-radio, ui-select, ui-segmented";
6
- /** Elemento realmente focado, atravessando Shadow DOMs (ex.: o <button> interno de um <ui-botao>). */
7
- export declare function elementoAtivoProfundo(): HTMLElement | null;
8
- /**
9
- * `alvo` é `ativo` ou algum ancestral de `ativo`, subindo também pelos hosts de Shadow DOM.
10
- * Necessário porque o foco costuma estar num botão interno de um componente (dentro do shadow do `alvo`).
11
- */
12
- export declare function contemFoco(alvo: Node, ativo: Node | null): boolean;
13
- export declare function ehFocavel(el: HTMLElement): boolean;
14
- /** Focáveis do conteúdo projetado (corpo e rodapé), na ordem dos slots. */
15
- export declare function focaveisDoConteudo(shadow: ShadowRoot): HTMLElement[];
16
- /** Todos os focáveis do modal: os do próprio Shadow DOM (botão fechar, se visível) e depois os do conteúdo. */
17
- export declare function focaveisDoModal(shadow: ShadowRoot): HTMLElement[];
18
- /**
19
- * Foco inicial: `[autofocus]`, senão o primeiro controle do conteúdo/rodapé.
20
- * O botão "✕" não recebe o foco inicial, evitando fechar o modal com um Enter acidental;
21
- * sem controles, o próprio diálogo é focado para que o leitor de tela anuncie o título.
22
- */
23
- export declare function focarConteudoInicial(shadow: ShadowRoot, dialogo: HTMLElement): void;
24
- /**
25
- * Mantém o foco dentro do modal: no último controle, Tab volta ao primeiro; no primeiro, Shift+Tab vai ao último.
26
- * Se o foco está fora do modal, é trazido de volta. Chame no `keydown` de Tab.
27
- */
28
- export declare function prenderTab(e: KeyboardEvent, host: HTMLElement, shadow: ShadowRoot): void;
@@ -1,16 +0,0 @@
1
- import { UIFetchErroDetail } from './tipos';
2
- export declare const TEXTO_ERRO_PADRAO = "N\u00E3o foi poss\u00EDvel carregar os dados.";
3
- export declare const TEXTO_SEM_RESULTADOS_PADRAO = "Nenhum resultado para o filtro";
4
- /** Mostra (ou oculta, com `null`) o aviso de erro com a ação "Tentar novamente". */
5
- export declare function renderizarErroTabela(el: HTMLElement | null, erro: UIFetchErroDetail | null, textoErro: string | null, temUrlParaRepetir: boolean): void;
6
- /** Anuncia ao leitor de tela o resultado do filtro (a região é limpa sem filtro ativo). */
7
- export declare function anunciarResultadoFiltro(regiao: HTMLElement | null, quantidade: number, temFiltro: boolean, textoSemResultados: string): void;
8
- export interface ElementosAria {
9
- tabela: HTMLElement | null;
10
- container: HTMLElement | null;
11
- }
12
- /**
13
- * Nome acessível vem do host (`aria-label`): vai à tabela e, como região rolável nomeada, ao contêiner
14
- * (leitores de tela anunciam o contêiner e o teclado alcança a rolagem). `aria-busy` acompanha o carregamento.
15
- */
16
- export declare function sincronizarAriaTabela({ tabela, container }: ElementosAria, rotulo: string | null, carregando: boolean): void;
@@ -1,44 +0,0 @@
1
- /**
2
- * Rolagem e foco de linhas da <ui-tabela>, inclusive com a janela virtual.
3
- * Responsabilidade única: posicionar uma linha na área visível (abaixo do cabeçalho fixo) rolando só o container,
4
- * nunca a página, e focar a linha renderizando a janela virtual quando preciso.
5
- */
6
- /** Acesso ao que a rolagem precisa da tabela; tudo é lido na hora (os elementos são recriados). */
7
- export interface PortasRolagem {
8
- container: () => HTMLElement | null;
9
- tbody: () => HTMLElement | null;
10
- cabecalho: () => HTMLElement | null;
11
- alturaLinha: () => number;
12
- /** Renderiza a janela virtual (síncrono). */
13
- renderizarCorpo: () => void;
14
- /** A linha ativa (tabindex 0) mudou para `indice`. */
15
- aoLinhaAtiva: (indice: number) => void;
16
- }
17
- /** Tempo máximo esperando o `scrollend` da rolagem suave antes de forçar a chegada. */
18
- export declare const TEMPO_LIMITE_ROLAGEM_SUAVE_MS = 800;
19
- /**
20
- * Quanto o container precisa rolar para a linha ficar inteira na área útil: abaixo do cabeçalho
21
- * fixo e acima da barra de rolagem horizontal. 0 = já visível. Linha maior que a área alinha pelo topo.
22
- */
23
- export declare function deslocamentoAteLinha(container: HTMLElement, tr: HTMLElement, alturaCabecalho: number): number;
24
- /** Rola só o container da tabela (nunca a página, ao contrário de `scrollIntoView`). */
25
- export declare function rolarContainer(container: HTMLElement, topo: number, comportamento: 'smooth' | 'auto'): void;
26
- export declare class RolagemLinhas {
27
- private p;
28
- private cancelarCorrecao;
29
- constructor(p: PortasRolagem);
30
- private alturaCabecalho;
31
- /** Linhas inteiras que cabem na área visível (mínimo 1). */
32
- linhasPorPagina(): number;
33
- /** Foca a linha, renderizando a janela virtual se necessário, e a mantém visível abaixo do cabeçalho fixo. */
34
- focar(indice: number): void;
35
- /**
36
- * Posiciona a linha exibida `indice` na área visível.
37
- * Fora da janela virtual, rola até a posição estimada, renderiza a janela e corrige pela posição
38
- * real da linha. No modo suave a correção ocorre ao fim da animação (`scrollend`, com timeout de
39
- * segurança para navegadores sem o evento ou quando não há rolagem a fazer).
40
- */
41
- posicionar(indice: number, comportamento: 'smooth' | 'auto'): boolean;
42
- /** Cancela a correção pendente de uma rolagem suave (nova rolagem, desconexão). */
43
- cancelar(): void;
44
- }
@@ -1,16 +0,0 @@
1
- /**
2
- * Teclado nas linhas da <ui-tabela>.
3
- * Responsabilidade única: traduzir uma tecla em um destino de foco ou em "ativar a linha". Função pura; quem
4
- * chama move o foco, renderiza a janela virtual e dispara o clique.
5
- */
6
- export type AcaoTeclaLinha = {
7
- tipo: 'mover';
8
- indice: number;
9
- } | {
10
- tipo: 'ativar';
11
- };
12
- /**
13
- * Setas, Home/End e PageUp/PageDown movem o foco (limitados a `0..ultimo`); Enter e Espaço ativam a linha.
14
- * Sem linhas (`ultimo < 0`) ou com índice inválido nenhuma tecla de movimento produz ação.
15
- */
16
- export declare function acaoDaTeclaLinha(key: string, atual: number, ultimo: number, linhasPorPagina: number): AcaoTeclaLinha | null;
@@ -1,7 +0,0 @@
1
- /**
2
- * Adaptador da Popover API para o balão do <ui-tooltip>.
3
- * Responsabilidade única: abrir/fechar o balão na camada superior (top layer) quando o navegador suporta
4
- * `popover`, sem casts soltos e sem engolir erros inesperados.
5
- */
6
- export declare function mostrarPopover(el: HTMLElement): void;
7
- export declare function ocultarPopover(el: HTMLElement): void;
@@ -1,29 +0,0 @@
1
- /**
2
- * Posicionamento do balão do <ui-tooltip>.
3
- * Responsabilidade única: normalizar o lado pedido e calcular `top`/`left` (em px, relativos à janela) do balão,
4
- * mantendo-o dentro da tela. Funções puras, sem acesso ao DOM.
5
- */
6
- export type PosicaoTooltip = 'topo' | 'baixo' | 'esquerda' | 'direita';
7
- export interface Retangulo {
8
- top: number;
9
- left: number;
10
- right: number;
11
- bottom: number;
12
- width: number;
13
- height: number;
14
- }
15
- export interface Viewport {
16
- largura: number;
17
- altura: number;
18
- }
19
- /** Distância entre o gatilho e o balão (seta + folga). */
20
- export declare const DESLOCAMENTO_PX = 8;
21
- /** Margem mínima até a borda da janela. */
22
- export declare const MARGEM_TELA_PX = 8;
23
- /** Aceita português e inglês, ignora caixa e espaços; qualquer outra coisa vira `topo`. */
24
- export declare function normalizarPosicao(bruto: string | null | undefined): PosicaoTooltip;
25
- /** Posição do balão em torno do gatilho, limitada à janela (balão maior que a janela fica na margem). */
26
- export declare function calcularPosicaoBalao(gatilho: Retangulo, balao: Pick<Retangulo, 'width' | 'height'>, posicao: PosicaoTooltip, viewport: Viewport): {
27
- top: number;
28
- left: number;
29
- };
@@ -1,34 +0,0 @@
1
- /**
2
- * Altura única dos controles (botão, campo, lista, segmented, ui-linha).
3
- * Responsabilidade única: transformar os atributos `altura` / `tamanho` / `densidade` (hostis por definição)
4
- * no valor da variável CSS `--ui-campo-altura`, o contrato que todos os controles de uma mesma linha leem.
5
- *
6
- * Precedência: `altura` explícita > `tamanho`/`size`/`densidade` > herdado do contêiner (`ui-linha`, CSS do consumidor)
7
- * > token global (`--ui-altura-md`).
8
- */
9
- export declare const TAMANHOS_CONTROLE: readonly ["sm", "md", "lg"];
10
- export type TamanhoControle = (typeof TAMANHOS_CONTROLE)[number];
11
- /** Nome da variável CSS lida por todos os controles. */
12
- export declare const VARIAVEL_ALTURA_CONTROLE = "--ui-campo-altura";
13
- /** Reconhece `sm|md|lg` e os sinônimos de densidade (`compacta`, `padrao`, `relaxada`...). `null` se desconhecido. */
14
- export declare function normalizarTamanhoControle(valor: string | null | undefined): TamanhoControle | null;
15
- /** Valor CSS do tamanho nomeado, ou `null` quando o nome não é reconhecido. */
16
- export declare function alturaDoTamanho(valor: string | null | undefined): string | null;
17
- /**
18
- * Altura explícita: número (px) ou número com unidade `px|rem|em`.
19
- * Valores fora de [15px, 200px] são limitados; lixo (`NaN`, negativo, `calc(`, `;`) devolve `null`.
20
- */
21
- export declare function normalizarAltura(valor: string | number | null | undefined): string | null;
22
- export interface EntradaAlturaControle {
23
- altura?: string | null;
24
- tamanho?: string | null;
25
- }
26
- /** Aplica a precedência `altura` > `tamanho`. `null` = nada a declarar (herda do contêiner/token). */
27
- export declare function resolverAlturaControle(entrada: EntradaAlturaControle): string | null;
28
- /** Lê os atributos (PT e EN) de um elemento no formato esperado por `resolverAlturaControle`. */
29
- export declare function lerEntradaAltura(el: Element): EntradaAlturaControle;
30
- /**
31
- * Sincroniza `--ui-campo-altura` inline do elemento com seus atributos. Sem atributo válido, remove o que
32
- * escrevemos (preservando uma variável inline do próprio consumidor) e o elemento herda do contêiner/token.
33
- */
34
- export declare function aplicarAlturaControle(el: HTMLElement): void;
@@ -1,9 +0,0 @@
1
- /**
2
- * Escolha segura de opções vindas de atributos HTML.
3
- * Responsabilidade única: transformar texto de atributo (hostil por definição) num valor de um conjunto
4
- * conhecido, para que nunca vire nome de classe CSS arbitrário nem estado inesperado.
5
- */
6
- /** Devolve `valor` (sem espaços, em minúsculas) se estiver em `permitidas`; senão `padrao`. */
7
- export declare function escolherOpcao<T extends string>(valor: string | null | undefined, permitidas: readonly T[], padrao: T): T;
8
- /** Como `escolherOpcao`, mas devolve `null` quando o valor não é reconhecido (opção opcional). */
9
- export declare function escolherOpcaoOpcional<T extends string>(valor: string | null | undefined, permitidas: readonly T[]): T | null;
@@ -1,13 +0,0 @@
1
- export interface OpcoesRotuloControle {
2
- host: HTMLElement;
3
- internals?: {
4
- labels?: NodeList;
5
- } | null;
6
- /** Elemento interno com o papel (switch/checkbox/radio) que recebe o nome acessível. */
7
- controle: HTMLElement;
8
- /** Elemento interno que exibe o texto do rótulo; precisa ter `id`. */
9
- rotulo: HTMLElement;
10
- /** Valor do atributo `label` (texto puro, nunca HTML). */
11
- texto: string | null;
12
- }
13
- export declare function sincronizarRotuloControle({ host, internals, controle, rotulo, texto }: OpcoesRotuloControle): void;
@@ -1,104 +0,0 @@
1
- function d(e) {
2
- if (e.disabled)
3
- return { valido: !0, flags: {}, mensagem: "" };
4
- if (e.customError && e.customError.trim() !== "")
5
- return {
6
- valido: !1,
7
- flags: { customError: !0 },
8
- mensagem: e.customError
9
- };
10
- const { val: a, rawVal: n, badInput: s, required: u, tipo: l = "text", mensagemValidacao: t } = e;
11
- if (s || l === "number" && n && isNaN(Number(n)))
12
- return {
13
- valido: !1,
14
- flags: { badInput: !0 },
15
- mensagem: t || "Insira um número válido."
16
- };
17
- if (u && a.trim() === "")
18
- return {
19
- valido: !1,
20
- flags: { valueMissing: !0 },
21
- mensagem: t || "Preencha este campo."
22
- };
23
- if (a === "")
24
- return { valido: !0, flags: {}, mensagem: "" };
25
- if (e.minlength !== null && e.minlength !== void 0 && !isNaN(e.minlength) && a.length < e.minlength)
26
- return {
27
- valido: !1,
28
- flags: { tooShort: !0 },
29
- mensagem: t || `Use pelo menos ${e.minlength} caracteres (atualmente você está usando ${a.length}).`
30
- };
31
- if (e.maxlength !== null && e.maxlength !== void 0 && !isNaN(e.maxlength) && a.length > e.maxlength)
32
- return {
33
- valido: !1,
34
- flags: { tooLong: !0 },
35
- mensagem: t || `Reduza o texto para no máximo ${e.maxlength} caracteres (atualmente você está usando ${a.length}).`
36
- };
37
- if (e.pattern)
38
- try {
39
- if (!new RegExp(`^(?:${e.pattern})$`).test(a))
40
- return {
41
- valido: !1,
42
- flags: { patternMismatch: !0 },
43
- mensagem: t || "O valor não corresponde ao padrão solicitado."
44
- };
45
- } catch {
46
- }
47
- if (l === "email" && !/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/.test(a))
48
- return {
49
- valido: !1,
50
- flags: { typeMismatch: !0 },
51
- mensagem: t || "Insira um endereço de e-mail válido."
52
- };
53
- if (l === "url")
54
- try {
55
- new URL(a);
56
- } catch {
57
- return {
58
- valido: !1,
59
- flags: { typeMismatch: !0 },
60
- mensagem: t || "Insira uma URL válida."
61
- };
62
- }
63
- if (l === "number") {
64
- const i = Number(a);
65
- if (isNaN(i))
66
- return {
67
- valido: !1,
68
- flags: { badInput: !0 },
69
- mensagem: t || "Insira um número válido."
70
- };
71
- if (e.min !== null && e.min !== void 0 && !isNaN(e.min) && i < e.min)
72
- return {
73
- valido: !1,
74
- flags: { rangeUnderflow: !0 },
75
- mensagem: t || `O valor deve ser maior ou igual a ${e.min}.`
76
- };
77
- if (e.max !== null && e.max !== void 0 && !isNaN(e.max) && i > e.max)
78
- return {
79
- valido: !1,
80
- flags: { rangeOverflow: !0 },
81
- mensagem: t || `O valor deve ser menor ou igual a ${e.max}.`
82
- };
83
- if (e.step && e.step !== "any") {
84
- const m = parseFloat(e.step);
85
- if (!isNaN(m) && m > 0) {
86
- const f = e.min !== null && e.min !== void 0 && !isNaN(e.min) ? e.min : 0, o = Math.abs((i - f) % m);
87
- if (o > 1e-6 && Math.abs(o - m) > 1e-6)
88
- return {
89
- valido: !1,
90
- flags: { stepMismatch: !0 },
91
- mensagem: t || "Insira um valor válido de acordo com o intervalo."
92
- };
93
- }
94
- }
95
- }
96
- return { valido: !0, flags: {}, mensagem: "" };
97
- }
98
- function r(e, a, n) {
99
- !e || typeof e.setValidity != "function" || (a.valido ? e.setValidity({}) : e.setValidity(a.flags, a.mensagem || "Valor inválido.", n));
100
- }
101
- export {
102
- r as a,
103
- d as v
104
- };
@@ -1 +0,0 @@
1
- "use strict";function d(e){if(e.disabled)return{valido:!0,flags:{},mensagem:""};if(e.customError&&e.customError.trim()!=="")return{valido:!1,flags:{customError:!0},mensagem:e.customError};const{val:a,rawVal:n,badInput:s,required:u,tipo:l="text",mensagemValidacao:t}=e;if(s||l==="number"&&n&&isNaN(Number(n)))return{valido:!1,flags:{badInput:!0},mensagem:t||"Insira um número válido."};if(u&&a.trim()==="")return{valido:!1,flags:{valueMissing:!0},mensagem:t||"Preencha este campo."};if(a==="")return{valido:!0,flags:{},mensagem:""};if(e.minlength!==null&&e.minlength!==void 0&&!isNaN(e.minlength)&&a.length<e.minlength)return{valido:!1,flags:{tooShort:!0},mensagem:t||`Use pelo menos ${e.minlength} caracteres (atualmente você está usando ${a.length}).`};if(e.maxlength!==null&&e.maxlength!==void 0&&!isNaN(e.maxlength)&&a.length>e.maxlength)return{valido:!1,flags:{tooLong:!0},mensagem:t||`Reduza o texto para no máximo ${e.maxlength} caracteres (atualmente você está usando ${a.length}).`};if(e.pattern)try{if(!new RegExp(`^(?:${e.pattern})$`).test(a))return{valido:!1,flags:{patternMismatch:!0},mensagem:t||"O valor não corresponde ao padrão solicitado."}}catch{}if(l==="email"&&!/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/.test(a))return{valido:!1,flags:{typeMismatch:!0},mensagem:t||"Insira um endereço de e-mail válido."};if(l==="url")try{new URL(a)}catch{return{valido:!1,flags:{typeMismatch:!0},mensagem:t||"Insira uma URL válida."}}if(l==="number"){const i=Number(a);if(isNaN(i))return{valido:!1,flags:{badInput:!0},mensagem:t||"Insira um número válido."};if(e.min!==null&&e.min!==void 0&&!isNaN(e.min)&&i<e.min)return{valido:!1,flags:{rangeUnderflow:!0},mensagem:t||`O valor deve ser maior ou igual a ${e.min}.`};if(e.max!==null&&e.max!==void 0&&!isNaN(e.max)&&i>e.max)return{valido:!1,flags:{rangeOverflow:!0},mensagem:t||`O valor deve ser menor ou igual a ${e.max}.`};if(e.step&&e.step!=="any"){const m=parseFloat(e.step);if(!isNaN(m)&&m>0){const f=e.min!==null&&e.min!==void 0&&!isNaN(e.min)?e.min:0,o=Math.abs((i-f)%m);if(o>1e-6&&Math.abs(o-m)>1e-6)return{valido:!1,flags:{stepMismatch:!0},mensagem:t||"Insira um valor válido de acordo com o intervalo."}}}}return{valido:!0,flags:{},mensagem:""}}function r(e,a,n){!e||typeof e.setValidity!="function"||(a.valido?e.setValidity({}):e.setValidity(a.flags,a.mensagem||"Valor inválido.",n))}exports.aplicarValidadeInternals=r;exports.validarRestricoesCampoTexto=d;
@@ -1,30 +0,0 @@
1
- import { default as L } from 'leaflet';
2
- export type ModoPopups = 'sob-demanda' | 'automatico' | 'desligado';
3
- export declare const MODO_POPUPS_PADRAO: ModoPopups;
4
- export declare function lerModoPopups(valor: string | null | undefined): ModoPopups;
5
- /** Executa `fn` com os popups do mapa liberados (pedido explícito do usuário). Sem portão, só executa. */
6
- export declare function liberarPopups<T>(map: object | null | undefined, fn: () => T): T;
7
- export declare function obterPortaoPopups(map: object | null | undefined): PortaoPopups | undefined;
8
- export declare class PortaoPopups {
9
- private map;
10
- private modoAtual;
11
- private liberados;
12
- /** Verdadeiro durante o despacho síncrono de um clique no mapa (o Leaflet abre popups dentro dele). */
13
- private emClique;
14
- private pendentes;
15
- private instalado;
16
- private readonly original;
17
- constructor(map: L.Map, modoAtual?: ModoPopups);
18
- private container;
19
- /** Fase de captura: roda antes dos tratadores do Leaflet, que abrem o popup dentro do mesmo clique. */
20
- private marcarClique;
21
- get modo(): ModoPopups;
22
- definirModo(modo: ModoPopups): void;
23
- /** Abre o que `fn` abrir, independentemente do modo. Reentrante e sempre devolve o portão ao estado anterior. */
24
- liberar<T>(fn: () => T): T;
25
- destruir(): void;
26
- private aoAbrir;
27
- /** O clique foi barrado: se vier um duplo clique na mesma camada logo em seguida, abre. */
28
- private aguardarDuploClique;
29
- private cancelarPendentes;
30
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * Zoom em passos finos (como CAD/GIS). O padrão do Leaflet (`zoomSnap: 1`) arredonda cada giro da roda para um nível
3
- * inteiro, e um nível dobra a escala: o mapa "pula". Com 0,25 de passo, cada giro da roda anda cerca de meio nível (medido no Chrome/Windows) e as teclas +/- andam 0,5.
4
- * Funções que dependem do zoom (simplificação, clusters, densidade, pré-carga de tiles) aceitam valores fracionários.
5
- */
6
- export declare const OPCOES_ZOOM_FINO: {
7
- readonly zoomSnap: 0.25;
8
- readonly zoomDelta: 0.5;
9
- readonly wheelPxPerZoomLevel: 90;
10
- };
@@ -1,12 +0,0 @@
1
- function r(o, c, e) {
2
- const n = (o ?? "").trim().toLowerCase();
3
- return c.includes(n) ? n : e;
4
- }
5
- function t(o, c) {
6
- const e = (o ?? "").trim().toLowerCase();
7
- return c.includes(e) ? e : null;
8
- }
9
- export {
10
- t as a,
11
- r as e
12
- };
@@ -1 +0,0 @@
1
- "use strict";function r(e,o,c){const n=(e??"").trim().toLowerCase();return o.includes(n)?n:c}function s(e,o){const c=(e??"").trim().toLowerCase();return o.includes(c)?c:null}exports.escolherOpcao=r;exports.escolherOpcaoOpcional=s;