@thibezer/ui-components-kit 2.1.0 → 2.2.1

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 (37) hide show
  1. package/CHANGELOG.md +32 -1
  2. package/README.md +760 -760
  3. package/dist/botao.cjs +1 -1
  4. package/dist/botao.js +1 -1
  5. package/dist/camadas.cjs +175 -142
  6. package/dist/camadas.js +1338 -1055
  7. package/dist/canvas.cjs +61 -61
  8. package/dist/canvas.js +1411 -1075
  9. package/dist/components/ui-barra-ferramentas/tipos.d.ts +2 -2
  10. package/dist/components/ui-barra-ferramentas/ui-paleta-ferramentas.d.ts +2 -2
  11. package/dist/components/ui-camadas/camadas-adapters.d.ts +45 -0
  12. package/dist/components/ui-camadas/camadas-arvore-renderer.d.ts +10 -1
  13. package/dist/components/ui-camadas/camadas-drag-drop.d.ts +4 -0
  14. package/dist/components/ui-camadas/camadas-metricas.d.ts +8 -1
  15. package/dist/components/ui-camadas/camadas-persistencia.d.ts +1 -0
  16. package/dist/components/ui-camadas/camadas-rodape.d.ts +5 -0
  17. package/dist/components/ui-camadas/index.d.ts +1 -0
  18. package/dist/components/ui-camadas/tipos.d.ts +8 -0
  19. package/dist/components/ui-camadas/ui-camadas.d.ts +1 -0
  20. package/dist/custom-elements.json +7652 -7325
  21. package/dist/gerencigeo-canvas/curva_leaflet.d.ts +21 -0
  22. package/dist/gerencigeo-canvas/feature_curvas.d.ts +43 -0
  23. package/dist/gerencigeo-canvas/feature_desenho.d.ts +5 -3
  24. package/dist/gerencigeo-canvas/feature_edicao_ops.d.ts +28 -1
  25. package/dist/gerencigeo-canvas/feature_editor_vertices.d.ts +18 -0
  26. package/dist/gerencigeo-canvas/feature_simplificacao.d.ts +1 -0
  27. package/dist/gerencigeo-canvas/feature_types.d.ts +16 -1
  28. package/dist/gerencigeo-canvas/utils.d.ts +1 -1
  29. package/dist/index.cjs +1 -1
  30. package/dist/index.js +80 -74
  31. package/dist/register.cjs +1 -1
  32. package/dist/register.js +1 -1
  33. package/dist/tipos-elementos.d.ts +9 -3
  34. package/dist/tipos-vue.d.ts +9 -3
  35. package/dist/{ui-botao-psS1juof.cjs → ui-botao-BOOnP8ds.cjs} +1 -1
  36. package/dist/{ui-botao-OGJV6Vfk.js → ui-botao-DfqSivHl.js} +1 -1
  37. package/package.json +169 -169
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Tipos compartilhados pelos componentes de barra de ferramentas:
3
- * - <ui-ribbon> → abas + grupos (estilo AutoCAD / Word / Excel)
4
- * - <ui-paleta-ferramentas> → paleta com flyouts (estilo Illustrator / Photoshop)
3
+ * - <ui-ribbon> → barra contextual com abas e grupos
4
+ * - <ui-paleta-ferramentas> → paleta de ferramentas com flyouts expansíveis
5
5
  */
6
6
  /**
7
7
  * - `botao` ação pontual (Desfazer, Colar…). Padrão no ribbon.
@@ -1,13 +1,13 @@
1
1
  import { FerramentaItem } from './tipos';
2
2
  import { SafeHTMLElement } from '../../core/ssr-safe';
3
3
  /**
4
- * <ui-paleta-ferramentas> — paleta de ferramentas (estilo Illustrator / Photoshop).
4
+ * <ui-paleta-ferramentas> — paleta de ferramentas gráficas com grupos expansíveis.
5
5
  *
6
6
  * - Itens com `filhos` viram um grupo: mostra a última ferramenta usada e abre um flyout
7
7
  * com clique longo, botão direito ou seta (→ na vertical, ↓ na horizontal).
8
8
  * - Ferramentas (`tipo` padrão) são exclusivas; `toggle` liga/desliga; `botao` só dispara ação.
9
9
  * - Com o atributo `atalhos`, a tecla `atalho` do item ativa a ferramenta; teclas repetidas
10
- * entre itens percorrem o grupo (como Shift+letra no Photoshop).
10
+ * entre itens percorrem o grupo.
11
11
  *
12
12
  * Atributos: valor, orientacao (vertical|horizontal), colunas (1|2), tamanho (sm|md|lg), atalhos
13
13
  * Propriedades: ferramentas, valor
@@ -0,0 +1,45 @@
1
+ import { CamadaItem, FeicaoItem } from './tipos';
2
+ import { CanvasLayerDef, CanvasLayerCategory, CanvasLayerType } from '../../gerencigeo-canvas/types';
3
+ /**
4
+ * Converte uma definição de camada do Canvas CAD (CanvasLayerDef)
5
+ * para o modelo de camada do painel <ui-camadas> (CamadaItem)
6
+ */
7
+ export declare function converterCanvasLayerParaCamadaItem(layer: Partial<CanvasLayerDef> & {
8
+ id: string;
9
+ }): CamadaItem;
10
+ /**
11
+ * Converte um item de camada do painel <ui-camadas> (CamadaItem)
12
+ * para o modelo interno de camada do Canvas CAD (CanvasLayerDef)
13
+ */
14
+ export declare function converterCamadaItemParaCanvasLayer(item: CamadaItem, categoriaPadrao?: CanvasLayerCategory, tipoPadrao?: CanvasLayerType): CanvasLayerDef;
15
+ /**
16
+ * Converte uma feição genérica do Canvas/GeoJSON para FeicaoItem do <ui-camadas>
17
+ */
18
+ export declare function converterFeicaoParaItem(feicao: {
19
+ id: string;
20
+ nome?: string;
21
+ name?: string;
22
+ layerId?: string;
23
+ camadaId?: string;
24
+ tipo?: string;
25
+ type?: string;
26
+ geometria?: {
27
+ tipo?: string;
28
+ type?: string;
29
+ coordenadas?: unknown;
30
+ coordinates?: unknown;
31
+ };
32
+ coordinates?: unknown;
33
+ cor?: string;
34
+ color?: string;
35
+ visivel?: boolean;
36
+ visible?: boolean;
37
+ bloqueada?: boolean;
38
+ locked?: boolean;
39
+ status?: string;
40
+ categoria?: string;
41
+ category?: string;
42
+ propriedades?: Record<string, unknown>;
43
+ properties?: Record<string, unknown>;
44
+ [key: string]: unknown;
45
+ }, camadaIdFallback?: string): FeicaoItem;
@@ -14,5 +14,14 @@ export interface ParametrosRenderArvore {
14
14
  mostrarBotaoColapsar?: boolean;
15
15
  }
16
16
  export { escapeHtml };
17
- export declare function renderizarThumbGeometria(tipo: string | undefined, cor: string): string;
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[];
18
27
  export declare function renderizarArvoreCamadas(params: ParametrosRenderArvore): string;
@@ -15,4 +15,8 @@ export declare class CamadasDragDropManager {
15
15
  bindAll(): void;
16
16
  bindInlineRename(): void;
17
17
  bindDragAndDrop(): void;
18
+ /**
19
+ * Suporte a arraste por toque e ponteiro no handle (.ui-col-drag) para tablets e mobile
20
+ */
21
+ bindTouchDragAndDrop(): void;
18
22
  }
@@ -8,7 +8,14 @@ export declare function calcularDistanciaPontos(p1: [number, number], p2: [numbe
8
8
  */
9
9
  export declare function calcularComprimentoLinha(coords: unknown): number;
10
10
  /**
11
- * Calcula a área de um anel poligonal em m² usando fórmula esférica
11
+ * Calcula a área de um único anel fechado de coordenadas em m² usando fórmula esférica
12
+ */
13
+ export declare function calcularAreaAnelSimples(coords: unknown): number;
14
+ /**
15
+ * Calcula a área de um polígono em m² com suporte a:
16
+ * - Anel simples: [ [lat,lon], [lat,lon], ... ]
17
+ * - Polygon GeoJSON com furos (anel exterior menos furos): [ [exterior], [furo1], [furo2] ]
18
+ * - MultiPolygon GeoJSON: [ [ [exterior], [furo] ], [ [exterior] ] ]
12
19
  */
13
20
  export declare function calcularAreaPoligono(coords: unknown): number;
14
21
  /**
@@ -5,6 +5,7 @@ export interface CamadaPropsPersistidas {
5
5
  locked?: boolean;
6
6
  opacity?: number;
7
7
  color?: string;
8
+ parentId?: string | null;
8
9
  }
9
10
  export interface CamadaOverridePersistido extends CamadaPropsPersistidas {
10
11
  /**
@@ -1,2 +1,7 @@
1
1
  import { CamadaItem, FeicaoItem } from './tipos';
2
+ /**
3
+ * Formata opções de camadas para o select de mover, preservando
4
+ * a hierarquia visual com recuo e ícones de pasta
5
+ */
6
+ export declare function formatarOpcoesCamadasHierarquicas(camadas: CamadaItem[]): string;
2
7
  export declare function renderizarRodapeAcoes(camadas: CamadaItem[], feicoes: FeicaoItem[], selecionadasIds: Set<string>): string;
@@ -9,3 +9,4 @@ export * from './camadas-persistencia';
9
9
  export * from './camadas-host';
10
10
  export * from './camadas-selecao';
11
11
  export * from './ui-camadas';
12
+ export * from './camadas-adapters';
@@ -37,6 +37,9 @@ export interface CamadaItem {
37
37
  order?: number;
38
38
  count?: number;
39
39
  description?: string;
40
+ parentId?: string | null;
41
+ children?: CamadaItem[];
42
+ isGroup?: boolean;
40
43
  [key: string]: unknown;
41
44
  }
42
45
  export interface MapaBaseItem {
@@ -86,6 +89,11 @@ export interface DetalheEventoRenomearCamada {
86
89
  camadaId: string;
87
90
  novoNome: string;
88
91
  }
92
+ export interface DetalheEventoMoverHierarquiaCamada {
93
+ camadaId: string;
94
+ novoParentId: string | null;
95
+ camada?: CamadaItem;
96
+ }
89
97
  export interface DetalheEventoFeicao {
90
98
  feicaoId: string;
91
99
  feicao?: FeicaoItem;
@@ -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;