@thibezer/ui-components-kit 2.12.3 → 2.12.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/dist/camadas.cjs +106 -106
- package/dist/camadas.js +1341 -1023
- package/dist/canvas.cjs +20 -20
- package/dist/canvas.js +950 -940
- package/dist/components/ui-camadas/camadas-arraste-controles.d.ts +2 -1
- package/dist/components/ui-camadas/camadas-atualizacao-incremental.d.ts +24 -0
- package/dist/components/ui-camadas/camadas-colecao.d.ts +3 -1
- package/dist/components/ui-camadas/camadas-drag-drop.d.ts +10 -0
- package/dist/components/ui-camadas/camadas-eventos-arvore.d.ts +5 -0
- package/dist/components/ui-camadas/camadas-eventos-camadas.d.ts +2 -0
- package/dist/components/ui-camadas/camadas-linha-feicao.d.ts +29 -0
- package/dist/components/ui-camadas/camadas-render.d.ts +8 -1
- package/dist/components/ui-camadas/camadas-renomear.d.ts +2 -1
- package/dist/components/ui-camadas/camadas-sincronizacao-dom.d.ts +5 -0
- package/dist/components/ui-camadas/tipos.d.ts +37 -0
- package/dist/components/ui-camadas/ui-camadas.d.ts +11 -2
- package/dist/custom-elements.json +2286 -1510
- package/dist/gerencigeo-canvas/layer_pane_ops.d.ts +0 -6
- package/dist/gerencigeo-canvas/mapa_core.d.ts +1 -0
- package/dist/gerencigeo-canvas/renderers/tile_renderer.d.ts +2 -1
- package/dist/gerencigeo-canvas/renderers/wms_renderer.d.ts +2 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.12.5 — 2026-11-05
|
|
4
|
+
|
|
5
|
+
### `<ui-camadas>`: mutação de feição atualiza só as linhas afetadas
|
|
6
|
+
|
|
7
|
+
Antes, cada `adicionarFeicao`/`atualizarFeicao`/`removerFeicao`/`definirFeicoes` redesenhava o painel inteiro (`innerHTML` da árvore e religação de todos os eventos). Agora o DOM é atualizado de forma cirúrgica, mantendo o contrato síncrono (na volta da chamada o painel já está atualizado):
|
|
8
|
+
|
|
9
|
+
- Só as linhas afetadas são criadas, trocadas ou removidas, na ordem de `host.feicoes`; também são atualizados o chip de contagem da camada e dos ancestrais, o círculo de seleção, o aviso "Exibindo X de Y" (limite de linhas por camada), a linha "Camada vazia" e o rodapé. Foco, rolagem, roving `tabindex` e listeners das linhas existentes ficam intactos.
|
|
10
|
+
- Cai no render completo, como antes, quando não pode garantir o mesmo resultado: busca ativa, renomeação inline aberta, drawer da camada afetada aberto, `layerId` inexistente, ids repetidos ou árvore ainda não desenhada. Dentro de `emLote` nada muda (uma renderização completa ao fim).
|
|
11
|
+
- Novos micro-módulos: `camadas-linha-feicao.ts` (marcação da linha, do chip, do aviso e da linha vazia, compartilhada com o render completo) e `camadas-atualizacao-incremental.ts` (decisão pura `decidirAtualizacao` + aplicação no DOM). Os ligadores de eventos (`conectarEventosFeicoes`, `conectarArrasteControles`, `vincularRenomearInline`, arraste das feições) passaram a aceitar uma raiz, e o estado do arraste HTML5 subiu para o `CamadasDragDropManager` (linhas novas enxergam o arraste iniciado numa linha antiga).
|
|
12
|
+
- Medições e metodologia em `docs/desempenho-feicoes.md`; testes em `ui-camadas.regressao.test.ts`, `camadas-atualizacao-incremental.test.ts` e `tests/feicoes-desempenho.test.ts`. `emLote` continua sendo a forma ideal para cargas grandes.
|
|
13
|
+
|
|
14
|
+
### `<ui-camadas>`: opacidade, miniaturas e grade de mapas base
|
|
15
|
+
|
|
16
|
+
Testes em `ui-camadas.regressao.test.ts`:
|
|
17
|
+
|
|
18
|
+
- **Opacidade fora de [0, 1]:** o drawer mostrava "700%" para `opacity: 7` e "NaN%" para `NaN`; agora exibe o valor limitado a 0–100% (inválido vira 100%), e o slider só emite `ui-camada-opacidade` com valor finito dentro da faixa.
|
|
19
|
+
- **Miniatura de mapa base que não carrega** (offline, CSP, link quebrado) vira o placeholder neutro em vez de um card em branco.
|
|
20
|
+
- **Grade de mapas base** passa a 3 colunas a partir de 260 px e 4 a partir de 340 px de largura (container query), devolvendo altura à árvore de camadas.
|
|
21
|
+
|
|
22
|
+
## 2.12.4 — 2026-11-05
|
|
23
|
+
|
|
24
|
+
Correções do motor do canvas
|
|
25
|
+
|
|
26
|
+
Revisão profunda do motor sobre o Leaflet (testes em `tests/layer-manager-opacidade.regressao.test.ts`):
|
|
27
|
+
|
|
28
|
+
- **Opacidade da camada é só do pane:** o `attachMap` e o `importState` agora a aplicam ao pane (antes camadas de feições com `opacidade < 1` apareciam a 100% até o primeiro `setLayerOpacity`), e `tile`, `wms`, linhas e polígonos não a reaplicam nos objetos (antes ela valia duas vezes).
|
|
29
|
+
- `importState`, `setLayerOpacity` e `setLayerZIndex` rejeitam `NaN`/valores fora da faixa e itens nulos (antes viravam `z-index: NaN` no pane).
|
|
30
|
+
- `MapaCore.init()` repetido fecha o `BroadcastChannel` anterior (vazava um canal por init).
|
|
31
|
+
- `CanvasInteracao.ativar()` repetido solta a ativação anterior (caixa de seleção e ouvintes órfãos).
|
|
32
|
+
- `CanvasLayerManager.destroy()` zera mapa e contexto: `updateContext` pós-destroy não re-renderiza mais num mapa removido.
|
|
33
|
+
- Removido código morto: `layer_defaults.ts`, `layer_state_ops.ts`, `layer_instance_ops.ts` e os helpers sem uso de `layer_pane_ops.ts`.
|
|
34
|
+
|
|
3
35
|
## 2.12.3 — 2026-10-31
|
|
4
36
|
|
|
5
37
|
Junta à 2.12.2 o que estava fora do npm: os complementos do `<ui-tabela-propriedades>` (PR #16) e o restante da revisão do `<ui-camadas>`. Corrige também o CI, que falhava desde a 2.12.0.
|