@thibezer/ui-components-kit 2.12.2 → 2.12.4

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 (40) hide show
  1. package/CHANGELOG.md +639 -584
  2. package/README.md +1 -1
  3. package/dist/camadas.cjs +60 -60
  4. package/dist/camadas.js +676 -579
  5. package/dist/canvas.cjs +20 -20
  6. package/dist/canvas.js +950 -940
  7. package/dist/components/ui-camadas/camadas-drag-drop.d.ts +2 -0
  8. package/dist/components/ui-camadas/camadas-hierarquia.d.ts +10 -0
  9. package/dist/components/ui-camadas/camadas-persistencia.d.ts +6 -1
  10. package/dist/components/ui-camadas/camadas-sincronizacao-dom.d.ts +5 -0
  11. package/dist/components/ui-cores/ui-seletor-cor.d.ts +2 -0
  12. package/dist/components/ui-tabela-propriedades/editores-basicos.d.ts +6 -0
  13. package/dist/components/ui-tabela-propriedades/propriedades-gerenciador-valores.d.ts +5 -2
  14. package/dist/components/ui-tabela-propriedades/propriedades-render-arvore.d.ts +2 -0
  15. package/dist/components/ui-tabela-propriedades/tipos.d.ts +6 -0
  16. package/dist/components/ui-tabela-propriedades/ui-tabela-propriedades.d.ts +6 -1
  17. package/dist/cores.cjs +1 -1
  18. package/dist/cores.js +2 -2
  19. package/dist/custom-elements.json +5072 -4890
  20. package/dist/data.cjs +1 -1
  21. package/dist/data.js +39 -38
  22. package/dist/gerencigeo-canvas/layer_pane_ops.d.ts +0 -6
  23. package/dist/gerencigeo-canvas/mapa_core.d.ts +1 -0
  24. package/dist/gerencigeo-canvas/renderers/tile_renderer.d.ts +2 -1
  25. package/dist/gerencigeo-canvas/renderers/wms_renderer.d.ts +2 -1
  26. package/dist/index.cjs +1 -1
  27. package/dist/index.js +100 -98
  28. package/dist/register.cjs +1 -1
  29. package/dist/register.js +3 -3
  30. package/dist/tabela.cjs +1 -1
  31. package/dist/tabela.js +31 -30
  32. package/dist/tipos-elementos.d.ts +3 -3
  33. package/dist/tipos-vue.d.ts +3 -3
  34. package/dist/ui-controle-cores-C_cVXxCn.js +291 -0
  35. package/dist/ui-controle-cores-CuDFS8Y8.cjs +32 -0
  36. package/dist/ui-seletor-cor-DPKqf5wb.cjs +82 -0
  37. package/dist/ui-seletor-cor-FYtRccnK.js +396 -0
  38. package/dist/ui-tabela-propriedades-C5YYnod1.js +3053 -0
  39. package/dist/ui-tabela-propriedades-DWOKznMN.cjs +142 -0
  40. package/package.json +187 -187
@@ -24,6 +24,8 @@ export declare class CamadasDragDropManager {
24
24
  /** Depois de qualquer mudança na ordem/hierarquia de camadas. */
25
25
  private aposReordenarCamadas;
26
26
  private emitirFeicaoMovida;
27
+ /** Camada travada (ou sob grupo travado) não recebe nem perde feições pelo arraste. */
28
+ private trocaEntreCamadasTravada;
27
29
  private arrasteBloqueado;
28
30
  bindDragAndDrop(): void;
29
31
  /**
@@ -18,3 +18,13 @@ export declare function obterIdsSubarvoreCamada(camadas: CamadaItem[], camadaId:
18
18
  * Retorna todas as feições pertencentes à camada e às suas subcamadas descendentes.
19
19
  */
20
20
  export declare function obterFeicoesDoEscopoCamada(camadas: CamadaItem[], feicoes: FeicaoItem[], camadaId: string): FeicaoItem[];
21
+ export interface EstadoHerdadoCamada {
22
+ /** Algum grupo acima está oculto: a camada não aparece no mapa, mesmo com o próprio olho aberto. */
23
+ ocultaPorAncestral: boolean;
24
+ /** Algum grupo acima está travado: a camada e as suas feições não podem ser editadas. */
25
+ travadaPorAncestral: boolean;
26
+ }
27
+ /** Estado que cada camada herda dos ancestrais. Tolera ciclos e pais inexistentes. */
28
+ export declare function calcularEstadoHerdado(camadas: CamadaItem[]): Map<string, EstadoHerdadoCamada>;
29
+ /** Ids das camadas travadas por si mesmas ou por um grupo acima delas. */
30
+ export declare function idsCamadasTravadas(camadas: CamadaItem[]): Set<string>;
@@ -34,7 +34,12 @@ export interface EstadoPersistidoCamadas {
34
34
  */
35
35
  export declare function gerarChaveStorage(chaveProp?: string | null, elementId?: string | null): string;
36
36
  /**
37
- * Lê o estado persistido do localStorage com tolerância a falhas (SSR, restrições de sandbox)
37
+ * Valida o que veio do storage (editado à mão, de outra versão ou corrompido): campos com tipo errado
38
+ * caem para o padrão em vez de derrubar o painel. Algo que nem é objeto vira `null`.
39
+ */
40
+ export declare function normalizarEstadoPersistido(bruto: unknown): EstadoPersistidoCamadas | null;
41
+ /**
42
+ * Lê o estado persistido do localStorage com tolerância a falhas (SSR, restrições de sandbox, conteúdo corrompido)
38
43
  */
39
44
  export declare function carregarEstadoPersistido(storageKey: string): EstadoPersistidoCamadas | null;
40
45
  /**
@@ -1,3 +1,8 @@
1
1
  import { CamadasHostCompleto } from './camadas-host';
2
2
  export declare function sincronizarCamadaAtivaDOM(host: CamadasHostCompleto, shadow: ShadowRoot): void;
3
3
  export declare function sincronizarSelecaoDOM(host: CamadasHostCompleto, shadow: ShadowRoot): void;
4
+ /**
5
+ * Reflete no DOM o estado herdado dos grupos (sem redesenhar a árvore): esmaece o que está sob um
6
+ * grupo oculto e trava os cadeados das feições cuja camada, ou um grupo acima dela, está travada.
7
+ */
8
+ export declare function sincronizarHerancaDOM(host: CamadasHostCompleto, shadow: ShadowRoot): void;
@@ -15,6 +15,8 @@ export type ConfiguracaoSeletorCor = Omit<OpcoesSeletorCor, 'ancora' | 'focar' |
15
15
  export declare class UISeletorCor extends SafeHTMLElement {
16
16
  private raiz;
17
17
  private listeners;
18
+ /** @internal Aberto por `abrirSeletorCor()`: solta os ouvintes de `window` se alguém remover o elemento. */
19
+ aoDesconectar: (() => void) | null;
18
20
  private _titulo;
19
21
  private _duplo;
20
22
  private _alvo;
@@ -2,6 +2,12 @@ import { ItemPropriedade, ContextoEditorPropriedade } from './tipos';
2
2
  export declare function obterCasasDecimais(prop: ItemPropriedade): number | undefined;
3
3
  export declare function obterPassoNumerico(prop: ItemPropriedade, casas?: number): number;
4
4
  export declare function aplicarLimitesNumericos(valor: number, prop: ItemPropriedade): number;
5
+ /**
6
+ * Texto digitado num campo numérico → número final, ou `null` se inválido. Aceita a unidade
7
+ * da propriedade no fim ("25 mm", "90°"), aplica min/max e as casas decimais e remove o ruído
8
+ * de ponto flutuante (0.1 + 0.2 = 0.3).
9
+ */
10
+ export declare function interpretarEntradaNumerica(texto: string, prop: ItemPropriedade): number | null;
5
11
  export declare function criarEditorReadonly(valorAtual: any, obterTextoMisto?: () => string, prop?: ItemPropriedade): HTMLElement;
6
12
  export declare function criarEditorBooleano(categoriaId: string, prop: ItemPropriedade, valorAtual: any, ctx: ContextoEditorPropriedade): HTMLElement;
7
13
  export declare function criarEditorSelecao(categoriaId: string, prop: ItemPropriedade, valorAtual: any, ctx: ContextoEditorPropriedade): HTMLElement;
@@ -25,8 +25,11 @@ export declare class GerenciadorValoresPropriedades {
25
25
  obterValorOriginal(propId: string): any;
26
26
  /** Alteração programática: atualiza o editor na tela; não emite se o valor não mudou. */
27
27
  definirValor(propId: string, novoValor: any, emitirEvento?: boolean): void;
28
- /** Restaura uma propriedade individual ao seu valor original (antes da edição). */
29
- redefinirValor(propId: string, emitirEvento?: boolean): void;
28
+ /**
29
+ * Restaura uma propriedade individual ao seu valor original (antes da edição).
30
+ * Devolve `false` se não havia o que restaurar.
31
+ */
32
+ redefinirValor(propId: string, emitirEvento?: boolean): boolean;
30
33
  /** Alteração feita pelo usuário num editor. Em modo manual só emite no Aplicar. */
31
34
  registrarAlteracao(categoriaId: string, propId: string, novoValor: any): void;
32
35
  aplicar(): void;
@@ -8,6 +8,8 @@ export interface ContextoLinhaPropriedade {
8
8
  isDirty?: boolean;
9
9
  editorCtx: ContextoEditorPropriedade;
10
10
  onAtualizarCampoVisual: (propId: string, novoValor: any) => void;
11
+ /** Restaura o valor original da propriedade (botão ↺ das linhas modificadas). */
12
+ onRedefinir?: (propId: string) => void;
11
13
  }
12
14
  export interface OpcoesRenderArvore {
13
15
  listaContainer: HTMLElement;
@@ -49,6 +49,12 @@ export interface SeletorTipoItem {
49
49
  subtipo?: string;
50
50
  iconeSvg?: string;
51
51
  }
52
+ export interface UIAplicarDetail {
53
+ /** Todos os valores atuais. */
54
+ valores: Record<string, any>;
55
+ /** Só as propriedades que mudaram desde o último carregar/aplicar. */
56
+ alterados: Record<string, any>;
57
+ }
52
58
  export interface UIPropertyChangeDetail {
53
59
  id: string;
54
60
  categoriaId: string;
@@ -63,6 +63,7 @@ export declare class UITabelaPropriedades extends SafeHTMLElement {
63
63
  set textoMisto(texto: string);
64
64
  get tipos(): SeletorTipoItem[];
65
65
  set tipos(novosTipos: SeletorTipoItem[]);
66
+ /** Id do tipo exibido no seletor: sem seleção válida, o seletor mostra (e devolve) o primeiro. */
66
67
  get tipoSelecionado(): string;
67
68
  set tipoSelecionado(idTipo: string);
68
69
  get valores(): Record<string, any>;
@@ -71,7 +72,11 @@ export declare class UITabelaPropriedades extends SafeHTMLElement {
71
72
  get dirty(): boolean;
72
73
  obterValor(propId: string): any;
73
74
  definirValor(propId: string, novoValor: any, emitirEvento?: boolean): void;
74
- redefinirValor(propId: string, emitirEvento?: boolean): void;
75
+ /**
76
+ * Volta uma propriedade ao valor do último carregar/aplicar (o mesmo que o botão ↺ da linha).
77
+ * Fora do modo manual emite `ui-propriedade-alterada`. Devolve `false` se não havia o que restaurar.
78
+ */
79
+ redefinirValor(propId: string, emitirEvento?: boolean): boolean;
75
80
  aplicar(): void;
76
81
  desfazer(): void;
77
82
  expandirTudo(): void;
package/dist/cores.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const r=require("./ui-seletor-cor-C4U2eqxY.cjs"),e=require("./ui-controle-cores-C8um-If9.cjs");exports.PALETA_CORES_PADRAO=r.PALETA_CORES_PADRAO;exports.UISeletorCor=r.UISeletorCor;exports.abrirSeletorCor=r.abrirSeletorCor;exports.coresUnicas=r.coresUnicas;exports.escaparHtml=r.escaparHtml;exports.fecharSeletorCor=r.fecharSeletorCor;exports.normalizarCor=r.normalizarCor;exports.normalizarEspessura=r.normalizarEspessura;exports.normalizarOpacidade=r.normalizarOpacidade;exports.UIControleCores=e.UIControleCores;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const r=require("./ui-seletor-cor-DPKqf5wb.cjs"),e=require("./ui-controle-cores-CuDFS8Y8.cjs");exports.PALETA_CORES_PADRAO=r.PALETA_CORES_PADRAO;exports.UISeletorCor=r.UISeletorCor;exports.abrirSeletorCor=r.abrirSeletorCor;exports.coresUnicas=r.coresUnicas;exports.escaparHtml=r.escaparHtml;exports.fecharSeletorCor=r.fecharSeletorCor;exports.normalizarCor=r.normalizarCor;exports.normalizarEspessura=r.normalizarEspessura;exports.normalizarOpacidade=r.normalizarOpacidade;exports.UIControleCores=e.UIControleCores;
package/dist/cores.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /* empty css */
2
- import { P as s, U as e, a as l, c as t, e as i, f as m, n as C, b as c, d as n } from "./ui-seletor-cor-D2_C6Aor.js";
3
- import { U } from "./ui-controle-cores-B4R6ct4I.js";
2
+ import { P as s, U as e, a as l, c as t, e as i, f as m, n as C, b as c, d as n } from "./ui-seletor-cor-FYtRccnK.js";
3
+ import { U } from "./ui-controle-cores-C_cVXxCn.js";
4
4
  export {
5
5
  s as PALETA_CORES_PADRAO,
6
6
  U as UIControleCores,