@thibezer/ui-components-kit 1.0.0
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/LICENSE +21 -0
- package/README.md +624 -0
- package/dist/botao.cjs +1 -0
- package/dist/botao.d.ts +8 -0
- package/dist/botao.js +6 -0
- package/dist/camadas.cjs +296 -0
- package/dist/camadas.d.ts +14 -0
- package/dist/camadas.js +1857 -0
- package/dist/campo-texto.cjs +1 -0
- package/dist/campo-texto.d.ts +8 -0
- package/dist/campo-texto.js +11 -0
- package/dist/canvas.cjs +254 -0
- package/dist/canvas.d.ts +8 -0
- package/dist/canvas.js +3082 -0
- package/dist/card.cjs +1 -0
- package/dist/card.d.ts +7 -0
- package/dist/card.js +5 -0
- package/dist/components/ui-alerta/index.d.ts +2 -0
- package/dist/components/ui-alerta/ui-alerta-base.d.ts +23 -0
- package/dist/components/ui-alerta/ui-alerta.d.ts +2 -0
- package/dist/components/ui-alerta/ui-toast.d.ts +34 -0
- package/dist/components/ui-avatar/index.d.ts +1 -0
- package/dist/components/ui-avatar/ui-avatar.d.ts +12 -0
- package/dist/components/ui-badge/index.d.ts +1 -0
- package/dist/components/ui-badge/ui-badge.d.ts +20 -0
- package/dist/components/ui-barra-ferramentas/ferramentas-comum.d.ts +22 -0
- package/dist/components/ui-barra-ferramentas/ferramentas-icones.d.ts +24 -0
- package/dist/components/ui-barra-ferramentas/index.d.ts +4 -0
- package/dist/components/ui-barra-ferramentas/tipos.d.ts +55 -0
- package/dist/components/ui-barra-ferramentas/ui-paleta-ferramentas.d.ts +54 -0
- package/dist/components/ui-barra-ferramentas/ui-ribbon.d.ts +52 -0
- package/dist/components/ui-botao/index.d.ts +1 -0
- package/dist/components/ui-botao/ui-botao.d.ts +26 -0
- package/dist/components/ui-camadas/camadas-arvore-renderer.d.ts +18 -0
- package/dist/components/ui-camadas/camadas-drag-drop.d.ts +18 -0
- package/dist/components/ui-camadas/camadas-eventos-arvore.d.ts +2 -0
- package/dist/components/ui-camadas/camadas-eventos-camadas.d.ts +2 -0
- package/dist/components/ui-camadas/camadas-eventos-rodape.d.ts +2 -0
- package/dist/components/ui-camadas/camadas-host.d.ts +23 -0
- package/dist/components/ui-camadas/camadas-icones.d.ts +23 -0
- package/dist/components/ui-camadas/camadas-mapas-base.d.ts +3 -0
- package/dist/components/ui-camadas/camadas-metricas.d.ts +17 -0
- package/dist/components/ui-camadas/camadas-persistencia.d.ts +65 -0
- package/dist/components/ui-camadas/camadas-resizer.d.ts +16 -0
- package/dist/components/ui-camadas/camadas-rodape.d.ts +2 -0
- package/dist/components/ui-camadas/camadas-selecao.d.ts +24 -0
- package/dist/components/ui-camadas/camadas-sincronizacao-dom.d.ts +3 -0
- package/dist/components/ui-camadas/camadas-teclado.d.ts +3 -0
- package/dist/components/ui-camadas/camadas-utils.d.ts +26 -0
- package/dist/components/ui-camadas/index.d.ts +11 -0
- package/dist/components/ui-camadas/tipos.d.ts +116 -0
- package/dist/components/ui-camadas/ui-camadas.d.ts +112 -0
- package/dist/components/ui-campo-texto/campo-texto-estados.d.ts +12 -0
- package/dist/components/ui-campo-texto/campo-texto-template.d.ts +2 -0
- package/dist/components/ui-campo-texto/index.d.ts +1 -0
- package/dist/components/ui-campo-texto/ui-campo-texto.d.ts +57 -0
- package/dist/components/ui-canvas-cad/cad-atributos-sync.d.ts +13 -0
- package/dist/components/ui-canvas-cad/cad-broadcast.d.ts +19 -0
- package/dist/components/ui-canvas-cad/cad-colecoes-dados.d.ts +46 -0
- package/dist/components/ui-canvas-cad/cad-eventos-canvas.d.ts +26 -0
- package/dist/components/ui-canvas-cad/cad-inicializador.d.ts +19 -0
- package/dist/components/ui-canvas-cad/cad-painel-camadas.d.ts +9 -0
- package/dist/components/ui-canvas-cad/cad-tamanho-observer.d.ts +7 -0
- package/dist/components/ui-canvas-cad/cad-template.d.ts +1 -0
- package/dist/components/ui-canvas-cad/cad-toolbar-painel.d.ts +29 -0
- package/dist/components/ui-canvas-cad/index.d.ts +8 -0
- package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +91 -0
- package/dist/components/ui-card/index.d.ts +1 -0
- package/dist/components/ui-card/ui-card.d.ts +18 -0
- package/dist/components/ui-checkbox/index.d.ts +1 -0
- package/dist/components/ui-checkbox/ui-checkbox.d.ts +36 -0
- package/dist/components/ui-drawer/drawer-acessibilidade.d.ts +16 -0
- package/dist/components/ui-drawer/index.d.ts +1 -0
- package/dist/components/ui-drawer/ui-drawer.d.ts +37 -0
- package/dist/components/ui-icone/index.d.ts +1 -0
- package/dist/components/ui-icone/ui-icone.d.ts +15 -0
- package/dist/components/ui-lista-flutuante/index.d.ts +1 -0
- package/dist/components/ui-lista-flutuante/lista-flutuante-posicionamento.d.ts +15 -0
- package/dist/components/ui-lista-flutuante/lista-flutuante-render.d.ts +9 -0
- package/dist/components/ui-lista-flutuante/lista-flutuante-teclado.d.ts +13 -0
- package/dist/components/ui-lista-flutuante/lista-flutuante-template.d.ts +2 -0
- package/dist/components/ui-lista-flutuante/tipos.d.ts +4 -0
- package/dist/components/ui-lista-flutuante/ui-lista-flutuante.d.ts +63 -0
- package/dist/components/ui-mapa/index.d.ts +3 -0
- package/dist/components/ui-mapa/ui-mapa-linha.d.ts +12 -0
- package/dist/components/ui-mapa/ui-mapa-marcador.d.ts +15 -0
- package/dist/components/ui-mapa/ui-mapa.d.ts +16 -0
- package/dist/components/ui-modal/index.d.ts +2 -0
- package/dist/components/ui-modal/modal-acessibilidade.d.ts +12 -0
- package/dist/components/ui-modal/ui-modal.d.ts +30 -0
- package/dist/components/ui-radio/index.d.ts +1 -0
- package/dist/components/ui-radio/radio-grupo-registry.d.ts +10 -0
- package/dist/components/ui-radio/ui-radio.d.ts +29 -0
- package/dist/components/ui-segmented/index.d.ts +1 -0
- package/dist/components/ui-segmented/segmented-indicador.d.ts +13 -0
- package/dist/components/ui-segmented/segmented-teclado.d.ts +4 -0
- package/dist/components/ui-segmented/segmented-template.d.ts +4 -0
- package/dist/components/ui-segmented/ui-segmented.d.ts +48 -0
- package/dist/components/ui-seletor-mapa-base/index.d.ts +2 -0
- package/dist/components/ui-seletor-mapa-base/tipos.d.ts +22 -0
- package/dist/components/ui-seletor-mapa-base/ui-seletor-mapa-base.d.ts +43 -0
- package/dist/components/ui-skeleton/index.d.ts +1 -0
- package/dist/components/ui-skeleton/ui-skeleton.d.ts +19 -0
- package/dist/components/ui-stat/index.d.ts +1 -0
- package/dist/components/ui-stat/ui-stat.d.ts +30 -0
- package/dist/components/ui-switch/index.d.ts +1 -0
- package/dist/components/ui-switch/ui-switch.d.ts +36 -0
- package/dist/components/ui-tabela/index.d.ts +7 -0
- package/dist/components/ui-tabela/tabela-atributos-sync.d.ts +14 -0
- package/dist/components/ui-tabela/tabela-corpo.d.ts +18 -0
- package/dist/components/ui-tabela/tabela-dom.d.ts +15 -0
- package/dist/components/ui-tabela/tabela-header.d.ts +18 -0
- package/dist/components/ui-tabela/tabela-interacao.d.ts +9 -0
- package/dist/components/ui-tabela/tabela-localizador.d.ts +4 -0
- package/dist/components/ui-tabela/tabela-ordenacao.d.ts +12 -0
- package/dist/components/ui-tabela/tabela-orquestrador-dados.d.ts +18 -0
- package/dist/components/ui-tabela/tabela-redimensionamento.d.ts +28 -0
- package/dist/components/ui-tabela/tabela-remota.d.ts +15 -0
- package/dist/components/ui-tabela/tabela-renderizador.d.ts +29 -0
- package/dist/components/ui-tabela/tabela-selecao.d.ts +24 -0
- package/dist/components/ui-tabela/tipos.d.ts +27 -0
- package/dist/components/ui-tabela/ui-tabela.d.ts +83 -0
- package/dist/components/ui-tabela-propriedades/avaliador-expressao.d.ts +6 -0
- package/dist/components/ui-tabela-propriedades/editores-basicos.d.ts +7 -0
- package/dist/components/ui-tabela-propriedades/editores-cad.d.ts +17 -0
- package/dist/components/ui-tabela-propriedades/index.d.ts +6 -0
- package/dist/components/ui-tabela-propriedades/propriedades-densidade.d.ts +5 -0
- package/dist/components/ui-tabela-propriedades/propriedades-dom-utils.d.ts +6 -0
- package/dist/components/ui-tabela-propriedades/propriedades-editores.d.ts +5 -0
- package/dist/components/ui-tabela-propriedades/propriedades-flutuante.d.ts +7 -0
- package/dist/components/ui-tabela-propriedades/propriedades-gerenciador-valores.d.ts +26 -0
- package/dist/components/ui-tabela-propriedades/propriedades-painel-controles.d.ts +15 -0
- package/dist/components/ui-tabela-propriedades/propriedades-render-arvore.d.ts +24 -0
- package/dist/components/ui-tabela-propriedades/propriedades-seletor-tipo.d.ts +13 -0
- package/dist/components/ui-tabela-propriedades/propriedades-splitter.d.ts +13 -0
- package/dist/components/ui-tabela-propriedades/propriedades-template.d.ts +1 -0
- package/dist/components/ui-tabela-propriedades/tipos.d.ts +48 -0
- package/dist/components/ui-tabela-propriedades/ui-tabela-propriedades.d.ts +66 -0
- package/dist/components/ui-texto/index.d.ts +1 -0
- package/dist/components/ui-texto/ui-texto.d.ts +15 -0
- package/dist/components/ui-tooltip/index.d.ts +1 -0
- package/dist/components/ui-tooltip/ui-tooltip.d.ts +25 -0
- package/dist/core/acessibilidade.d.ts +21 -0
- package/dist/core/form-associated-element.d.ts +33 -0
- package/dist/core/form-validacao.d.ts +34 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/leaflet-loader.d.ts +7 -0
- package/dist/core/leaflet-style.d.ts +7 -0
- package/dist/core/listener-bag.d.ts +21 -0
- package/dist/core/ssr-safe.d.ts +20 -0
- package/dist/core/ui-bus.d.ts +85 -0
- package/dist/core/zero-js-triggers.d.ts +1 -0
- package/dist/core.cjs +1 -0
- package/dist/core.js +22 -0
- package/dist/data.cjs +1 -0
- package/dist/data.d.ts +22 -0
- package/dist/data.js +63 -0
- package/dist/feedback.cjs +1 -0
- package/dist/feedback.d.ts +26 -0
- package/dist/feedback.js +25 -0
- package/dist/form-validacao-BIOXxt-1.js +140 -0
- package/dist/form-validacao-ytRYSF3E.cjs +1 -0
- package/dist/forms.cjs +1 -0
- package/dist/forms.d.ts +22 -0
- package/dist/forms.js +25 -0
- package/dist/gerencigeo-canvas/canvas_destaque.d.ts +13 -0
- package/dist/gerencigeo-canvas/canvas_destaque_marcadores.d.ts +8 -0
- package/dist/gerencigeo-canvas/canvas_interacao.d.ts +56 -0
- package/dist/gerencigeo-canvas/canvas_selecao_box.d.ts +23 -0
- package/dist/gerencigeo-canvas/controller_dados_ops.d.ts +15 -0
- package/dist/gerencigeo-canvas/index.d.ts +17 -0
- package/dist/gerencigeo-canvas/layer_defaults.d.ts +3 -0
- package/dist/gerencigeo-canvas/layer_instance_ops.d.ts +6 -0
- package/dist/gerencigeo-canvas/layer_manager.d.ts +37 -0
- package/dist/gerencigeo-canvas/layer_pane_ops.d.ts +8 -0
- package/dist/gerencigeo-canvas/layer_renderer_factory.d.ts +14 -0
- package/dist/gerencigeo-canvas/layer_state_ops.d.ts +6 -0
- package/dist/gerencigeo-canvas/mapa_config.d.ts +11 -0
- package/dist/gerencigeo-canvas/mapa_controller.d.ts +53 -0
- package/dist/gerencigeo-canvas/mapa_core.d.ts +30 -0
- package/dist/gerencigeo-canvas/mapa_linhas.d.ts +14 -0
- package/dist/gerencigeo-canvas/mapa_marcadores.d.ts +18 -0
- package/dist/gerencigeo-canvas/mapa_pontos_shapes.d.ts +8 -0
- package/dist/gerencigeo-canvas/renderers/grid_renderer.d.ts +9 -0
- package/dist/gerencigeo-canvas/renderers/tile_renderer.d.ts +8 -0
- package/dist/gerencigeo-canvas/renderers/vector_lines_builder.d.ts +4 -0
- package/dist/gerencigeo-canvas/renderers/vector_lines_renderer.d.ts +9 -0
- package/dist/gerencigeo-canvas/renderers/vector_points_renderer.d.ts +11 -0
- package/dist/gerencigeo-canvas/renderers/vector_polygons_renderer.d.ts +9 -0
- package/dist/gerencigeo-canvas/renderers/wms_renderer.d.ts +8 -0
- package/dist/gerencigeo-canvas/sigef_consultor.d.ts +9 -0
- package/dist/gerencigeo-canvas/tile_preloader.d.ts +2 -0
- package/dist/gerencigeo-canvas/types.d.ts +169 -0
- package/dist/gerencigeo-canvas/utils.d.ts +46 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +116 -0
- package/dist/index.js +186 -0
- package/dist/leaflet-Cw6tqYFh.cjs +1 -0
- package/dist/leaflet-DkaFZYc5.js +69 -0
- package/dist/leaflet-loader-94z5VsdY.cjs +2 -0
- package/dist/leaflet-loader-Cjcdgj5R.js +21 -0
- package/dist/listener-bag-D5omxZ9h.cjs +1 -0
- package/dist/listener-bag-DQgv7OON.js +34 -0
- package/dist/mapa.cjs +19 -0
- package/dist/mapa.d.ts +11 -0
- package/dist/mapa.js +264 -0
- package/dist/modal.cjs +1 -0
- package/dist/modal.d.ts +8 -0
- package/dist/modal.js +8 -0
- package/dist/register.cjs +1 -0
- package/dist/register.d.ts +7 -0
- package/dist/register.js +21 -0
- package/dist/seletor-mapa-base.cjs +53 -0
- package/dist/seletor-mapa-base.d.ts +8 -0
- package/dist/seletor-mapa-base.js +275 -0
- package/dist/ssr-safe-5cWfJP-s.js +10 -0
- package/dist/ssr-safe-CiHD1adl.cjs +1 -0
- package/dist/tabela.cjs +1 -0
- package/dist/tabela.d.ts +12 -0
- package/dist/tabela.js +56 -0
- package/dist/tools.cjs +1 -0
- package/dist/tools.d.ts +8 -0
- package/dist/tools.js +30 -0
- package/dist/ui-badge-92yelKls.js +183 -0
- package/dist/ui-badge-B95jSECC.cjs +28 -0
- package/dist/ui-botao-BShEouvi.js +124 -0
- package/dist/ui-botao-DF1yuUUD.cjs +12 -0
- package/dist/ui-campo-texto-BCh5HyCM.cjs +16 -0
- package/dist/ui-campo-texto-B_JF6POq.js +361 -0
- package/dist/ui-card-BJ8SmvVf.js +111 -0
- package/dist/ui-card-Bhm6k91e.cjs +20 -0
- package/dist/ui-kit.css +1 -0
- package/dist/ui-modal-Bi4isGYh.cjs +18 -0
- package/dist/ui-modal-DV-pw2x1.js +194 -0
- package/dist/ui-paleta-ferramentas-B6dJ0O6K.cjs +18 -0
- package/dist/ui-paleta-ferramentas-Bpp4XBVg.js +633 -0
- package/dist/ui-segmented-C8wuycjJ.js +411 -0
- package/dist/ui-segmented-NC5cBXLh.cjs +19 -0
- package/dist/ui-skeleton-B3xQyn0Z.js +396 -0
- package/dist/ui-skeleton-D42oQufF.cjs +33 -0
- package/dist/ui-switch-C6o4yZUF.cjs +53 -0
- package/dist/ui-switch-CO9MoS8x.js +826 -0
- package/dist/ui-tabela-propriedades-7yJ9g7ti.cjs +145 -0
- package/dist/ui-tabela-propriedades-D-XKNVwK.js +2078 -0
- package/dist/ui-toast-CQBqvUm3.cjs +20 -0
- package/dist/ui-toast-CwUmiqyG.js +156 -0
- package/dist/zero-js-triggers-DdESy0tk.js +205 -0
- package/dist/zero-js-triggers-QGD7FOTv.cjs +1 -0
- package/package.json +149 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { TabelaColuna } from './tipos';
|
|
2
|
+
import { ListenerBag } from '../../core/listener-bag';
|
|
3
|
+
export interface ContextoHeaderTabela {
|
|
4
|
+
theadElement: HTMLTableSectionElement | null;
|
|
5
|
+
colgroupElement: HTMLTableColElement | null;
|
|
6
|
+
colunas: TabelaColuna[];
|
|
7
|
+
colunaOrdenada: string | null;
|
|
8
|
+
direcaoOrdenacao: 'asc' | 'desc' | 'original';
|
|
9
|
+
headerListeners: ListenerBag;
|
|
10
|
+
formatWidth: (largura?: string | number) => string;
|
|
11
|
+
getAlignmentClass: (alinhamento?: string) => string;
|
|
12
|
+
getTextAlign: (alinhamento?: string) => string;
|
|
13
|
+
onHeaderClick: (coluna: TabelaColuna) => void;
|
|
14
|
+
onHeaderContextMenu: (e: MouseEvent, coluna: TabelaColuna, colIndex: number, th: HTMLTableCellElement) => void;
|
|
15
|
+
onInitColumnResize: (e: MouseEvent, coluna: TabelaColuna, colIndex: number, th: HTMLTableCellElement, resizer: HTMLDivElement) => void;
|
|
16
|
+
onColumnAutoFit: (coluna: TabelaColuna, th: HTMLTableCellElement, col: HTMLTableColElement) => void;
|
|
17
|
+
}
|
|
18
|
+
export declare function renderizarHeaderTabela(ctx: ContextoHeaderTabela): void;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TabelaColuna } from './tipos';
|
|
2
|
+
export interface ContextoTabelaInteracao {
|
|
3
|
+
host: HTMLElement;
|
|
4
|
+
colgroupElement: HTMLTableColElement | null;
|
|
5
|
+
shadow: ShadowRoot;
|
|
6
|
+
onSetIsResizing: (resizing: boolean) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function executarRedimensionamentoColuna(e: MouseEvent, coluna: TabelaColuna, colIndex: number, thElement: HTMLTableCellElement, resizer: HTMLDivElement, ctx: ContextoTabelaInteracao): (() => void) | null;
|
|
9
|
+
export declare function abrirPopoverRedimensionamento(e: MouseEvent, coluna: TabelaColuna, colIndex: number, thElement: HTMLTableCellElement, ctx: ContextoTabelaInteracao): void;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Localiza o índice de um item pelo ID, chave customizada, predicado funcional ou índice direto.
|
|
3
|
+
*/
|
|
4
|
+
export declare function localizarIndiceItem(dados: Record<string, any>[], idOuIndice: string | number | ((item: any, idx: number) => boolean), chaveId?: string): number;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { UISortDetail } from './tipos';
|
|
2
|
+
/**
|
|
3
|
+
* Alterna ciclicamente a ordenação tri-state:
|
|
4
|
+
* Primeira vez -> 'asc'
|
|
5
|
+
* Segunda vez -> 'desc'
|
|
6
|
+
* Terceira vez -> 'original' (reseta)
|
|
7
|
+
*/
|
|
8
|
+
export declare function alternarDirecaoOrdenacao(colunaAtual: string | null, direcaoAtual: 'asc' | 'desc' | 'original', colunaClicada: string): UISortDetail;
|
|
9
|
+
/**
|
|
10
|
+
* Ordena os dados em memória respeitando valores nulos/undefined, números e strings com collation pt-BR.
|
|
11
|
+
*/
|
|
12
|
+
export declare function aplicarOrdenacaoTabela(dadosOriginais: Record<string, any>[], colunaOrdenada: string | null, direcao: 'asc' | 'desc' | 'original'): Record<string, any>[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { TabelaColuna, UISortDetail } from './tipos';
|
|
2
|
+
export declare class TabelaOrquestradorDados {
|
|
3
|
+
private dadosOriginais;
|
|
4
|
+
private dadosExibicao;
|
|
5
|
+
private colunaOrdenada;
|
|
6
|
+
private direcaoOrdenacao;
|
|
7
|
+
private ultimoFiltro;
|
|
8
|
+
getDadosOriginais(): Record<string, any>[];
|
|
9
|
+
setDadosOriginais(dados: Record<string, any>[]): void;
|
|
10
|
+
getDadosExibicao(): Record<string, any>[];
|
|
11
|
+
getColunaOrdenada(): string | null;
|
|
12
|
+
setColunaOrdenada(id: string | null): void;
|
|
13
|
+
getDirecaoOrdenacao(): 'asc' | 'desc' | 'original';
|
|
14
|
+
setDirecaoOrdenacao(dir: 'asc' | 'desc' | 'original'): void;
|
|
15
|
+
alternarOrdenacaoColuna(coluna: TabelaColuna): UISortDetail | null;
|
|
16
|
+
aplicarOrdenacao(): void;
|
|
17
|
+
filtrar(termo: string): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { TabelaColuna } from './tipos';
|
|
2
|
+
export interface IniciarRedimensionamentoContexto {
|
|
3
|
+
evento: MouseEvent;
|
|
4
|
+
coluna: TabelaColuna;
|
|
5
|
+
colIndex: number;
|
|
6
|
+
thElement: HTMLTableCellElement;
|
|
7
|
+
resizer: HTMLDivElement;
|
|
8
|
+
colgroupElement: HTMLTableColElement | null;
|
|
9
|
+
onResizeStart: () => void;
|
|
10
|
+
onResizeEnd: (larguraFinal: string) => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Gerencia o ciclo de eventos de drag-to-resize de uma coluna da tabela.
|
|
14
|
+
*/
|
|
15
|
+
export declare function iniciarRedimensionamentoColuna(ctx: IniciarRedimensionamentoContexto): () => void;
|
|
16
|
+
export interface ExibirPromptPopoverContexto {
|
|
17
|
+
evento: MouseEvent;
|
|
18
|
+
coluna: TabelaColuna;
|
|
19
|
+
colIndex: number;
|
|
20
|
+
thElement: HTMLTableCellElement;
|
|
21
|
+
colgroupElement: HTMLTableColElement | null;
|
|
22
|
+
shadow: ShadowRoot;
|
|
23
|
+
onResizeEnd: (larguraFinal: string) => void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Exibe o diálogo popover para ajuste numérico preciso da largura da coluna.
|
|
27
|
+
*/
|
|
28
|
+
export declare function exibirPromptPopoverRedimensionamento(ctx: ExibirPromptPopoverContexto): void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gerenciador de requisições remotas para <ui-tabela> (endpoint JSON)
|
|
3
|
+
*/
|
|
4
|
+
export interface ContextoTabelaRemota {
|
|
5
|
+
host: HTMLElement;
|
|
6
|
+
onCarregandoAlterado: (carregando: boolean) => void;
|
|
7
|
+
onDadosRecebidos: (dados: Record<string, any>[]) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare class TabelaRemotaController {
|
|
10
|
+
private ctx;
|
|
11
|
+
private autoFetchController;
|
|
12
|
+
constructor(ctx: ContextoTabelaRemota);
|
|
13
|
+
carregar(endpoint: string): Promise<void>;
|
|
14
|
+
abortar(): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TabelaColuna } from './tipos';
|
|
2
|
+
import { ListenerBag } from '../../core/listener-bag';
|
|
3
|
+
import { EstruturaDOMElementos } from './tabela-dom';
|
|
4
|
+
import { TabelaOrquestradorDados } from './tabela-orquestrador-dados';
|
|
5
|
+
import { TabelaSelecaoController } from './tabela-selecao';
|
|
6
|
+
export interface ContextoOrquestradorRender {
|
|
7
|
+
host: HTMLElement;
|
|
8
|
+
shadow: ShadowRoot;
|
|
9
|
+
theadElement: HTMLTableSectionElement | null;
|
|
10
|
+
colgroupElement: HTMLTableColElement | null;
|
|
11
|
+
tbodyElement: HTMLTableSectionElement | null;
|
|
12
|
+
tableElement: HTMLTableElement | null;
|
|
13
|
+
emptyElement: HTMLDivElement | null;
|
|
14
|
+
containerElement: HTMLDivElement | null;
|
|
15
|
+
colunas: TabelaColuna[];
|
|
16
|
+
dadosController: TabelaOrquestradorDados;
|
|
17
|
+
selecaoController: TabelaSelecaoController;
|
|
18
|
+
headerListeners: ListenerBag;
|
|
19
|
+
chaveId: string;
|
|
20
|
+
virtualizar: boolean;
|
|
21
|
+
rowHeight: number;
|
|
22
|
+
onSetIsResizing: (resizing: boolean) => void;
|
|
23
|
+
onActiveResizeCleanup: (cleanup: (() => void) | null) => void;
|
|
24
|
+
onHeaderClick: (col: TabelaColuna) => void;
|
|
25
|
+
}
|
|
26
|
+
export declare function executarOrquestracaoHeader(ctx: ContextoOrquestradorRender): void;
|
|
27
|
+
export declare function executarOrquestracaoCorpo(ctx: ContextoOrquestradorRender): void;
|
|
28
|
+
export declare function inicializarScrollVirtualizacao(container: HTMLElement, onRenderBody: () => void): (e: Event) => void;
|
|
29
|
+
export declare function orquestrarEstruturaInicial(shadow: ShadowRoot, textoVazio: string, maxHeight: string | null, carregando: boolean): EstruturaDOMElementos;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { UIRowScrollOptions } from './tipos';
|
|
2
|
+
export interface ContextoTabelaSelecao {
|
|
3
|
+
host: HTMLElement;
|
|
4
|
+
tbodyElement: HTMLTableSectionElement | null;
|
|
5
|
+
containerElement: HTMLDivElement | null;
|
|
6
|
+
dadosExibicao: Record<string, any>[];
|
|
7
|
+
chaveId: string;
|
|
8
|
+
getRowHeight: () => number;
|
|
9
|
+
onRenderBody: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare class TabelaSelecaoController {
|
|
12
|
+
private ctx;
|
|
13
|
+
private itemSelecionado;
|
|
14
|
+
private indiceSelecionado;
|
|
15
|
+
constructor(ctx: ContextoTabelaSelecao);
|
|
16
|
+
getItemSelecionado(): Record<string, any> | null;
|
|
17
|
+
setItemSelecionado(item: Record<string, any> | null): void;
|
|
18
|
+
getIndiceSelecionado(): number | null;
|
|
19
|
+
setIndiceSelecionado(idx: number | null): void;
|
|
20
|
+
limparSelecao(): void;
|
|
21
|
+
isItemSelecionado(item: Record<string, any>, index: number): boolean;
|
|
22
|
+
atualizarLinhasSelecionadas(): void;
|
|
23
|
+
rolarPara(idOuIndice: string | number | ((item: any, index: number) => boolean), opcoes?: UIRowScrollOptions): boolean;
|
|
24
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipos e interfaces de configuração para a Tabela Técnica de Alta Densidade (<ui-tabela>).
|
|
3
|
+
*/
|
|
4
|
+
export type DensidadeTabela = 'compacta' | 'normal' | 'relaxada';
|
|
5
|
+
export interface TabelaColuna<T = any> {
|
|
6
|
+
id: string;
|
|
7
|
+
rotulo: string;
|
|
8
|
+
largura?: string | number;
|
|
9
|
+
larguraMinima?: string | number;
|
|
10
|
+
larguraMaxima?: string | number;
|
|
11
|
+
alinhamento?: 'esquerda' | 'centro' | 'direita' | 'left' | 'center' | 'right';
|
|
12
|
+
ordenavel?: boolean;
|
|
13
|
+
tooltip?: string;
|
|
14
|
+
render?: (valor: any, item: T, index: number) => HTMLElement | string;
|
|
15
|
+
}
|
|
16
|
+
export interface UISortDetail {
|
|
17
|
+
idColuna: string | null;
|
|
18
|
+
direcao: 'asc' | 'desc' | 'original';
|
|
19
|
+
}
|
|
20
|
+
export interface UIColumnResizeDetail {
|
|
21
|
+
idColuna: string;
|
|
22
|
+
largura: string;
|
|
23
|
+
}
|
|
24
|
+
export interface UIRowScrollOptions {
|
|
25
|
+
comportamento?: 'smooth' | 'auto';
|
|
26
|
+
selecionar?: boolean;
|
|
27
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { DensidadeTabela, TabelaColuna, UISortDetail, UIColumnResizeDetail, UIRowScrollOptions } from './tipos';
|
|
2
|
+
import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
3
|
+
export type { DensidadeTabela, TabelaColuna, UISortDetail, UIColumnResizeDetail, UIRowScrollOptions };
|
|
4
|
+
export declare class UITabela extends SafeHTMLElement {
|
|
5
|
+
static get observedAttributes(): string[];
|
|
6
|
+
private shadow;
|
|
7
|
+
private _colunas;
|
|
8
|
+
private _textoVazio;
|
|
9
|
+
private _virtualizar;
|
|
10
|
+
private _isResizing;
|
|
11
|
+
private _carregando;
|
|
12
|
+
private _src;
|
|
13
|
+
private _containerElement;
|
|
14
|
+
private _tableElement;
|
|
15
|
+
private _theadElement;
|
|
16
|
+
private _tbodyElement;
|
|
17
|
+
private _colgroupElement;
|
|
18
|
+
private _emptyElement;
|
|
19
|
+
private _loadingElement;
|
|
20
|
+
private _scrollHandler;
|
|
21
|
+
private _activeResizeCleanup;
|
|
22
|
+
private _headerListeners;
|
|
23
|
+
private remotaController;
|
|
24
|
+
private selecaoController;
|
|
25
|
+
private dadosController;
|
|
26
|
+
constructor();
|
|
27
|
+
connectedCallback(): void;
|
|
28
|
+
disconnectedCallback(): void;
|
|
29
|
+
attributeChangedCallback(name: string, _oldVal: string | null, newVal: string | null): void;
|
|
30
|
+
private syncAttributes;
|
|
31
|
+
private obterContextoAtributos;
|
|
32
|
+
get src(): string | null;
|
|
33
|
+
set src(val: string | null);
|
|
34
|
+
get carregando(): boolean;
|
|
35
|
+
set carregando(val: boolean);
|
|
36
|
+
carregarDoEndpoint(url?: string): Promise<void>;
|
|
37
|
+
recarregar(): Promise<void>;
|
|
38
|
+
filtrar(termo: string): void;
|
|
39
|
+
private cleanupEventListeners;
|
|
40
|
+
get colunas(): TabelaColuna[];
|
|
41
|
+
set colunas(val: TabelaColuna[]);
|
|
42
|
+
get dados(): Record<string, any>[];
|
|
43
|
+
set dados(val: Record<string, any>[]);
|
|
44
|
+
get itens(): Record<string, any>[];
|
|
45
|
+
set itens(val: Record<string, any>[]);
|
|
46
|
+
get chaveId(): string;
|
|
47
|
+
set chaveId(val: string);
|
|
48
|
+
get itemSelecionado(): Record<string, any> | null;
|
|
49
|
+
set itemSelecionado(item: Record<string, any> | null);
|
|
50
|
+
get indiceSelecionado(): number | null;
|
|
51
|
+
set indiceSelecionado(idx: number | null);
|
|
52
|
+
limparSelecao(): void;
|
|
53
|
+
get densidade(): DensidadeTabela;
|
|
54
|
+
set densidade(val: DensidadeTabela);
|
|
55
|
+
get virtualizar(): boolean;
|
|
56
|
+
set virtualizar(val: boolean);
|
|
57
|
+
get colunaOrdenada(): string | null;
|
|
58
|
+
set colunaOrdenada(id: string | null);
|
|
59
|
+
get direcaoOrdenacao(): 'asc' | 'desc' | 'original';
|
|
60
|
+
set direcaoOrdenacao(dir: 'asc' | 'desc' | 'original');
|
|
61
|
+
get textoVazio(): string;
|
|
62
|
+
set textoVazio(txt: string);
|
|
63
|
+
private handleHeaderClick;
|
|
64
|
+
private getRowHeight;
|
|
65
|
+
private atualizarContextoSelecao;
|
|
66
|
+
renderTotal(): void;
|
|
67
|
+
private obterContextoRenderizador;
|
|
68
|
+
private renderHeader;
|
|
69
|
+
renderBody(): void;
|
|
70
|
+
rolarPara(idOuIndice: string | number | ((item: any, index: number) => boolean), opcoes?: UIRowScrollOptions): boolean;
|
|
71
|
+
}
|
|
72
|
+
export * from './tabela-ordenacao';
|
|
73
|
+
export * from './tabela-localizador';
|
|
74
|
+
export * from './tabela-redimensionamento';
|
|
75
|
+
export * from './tabela-header';
|
|
76
|
+
export * from './tabela-corpo';
|
|
77
|
+
export * from './tabela-remota';
|
|
78
|
+
export * from './tabela-selecao';
|
|
79
|
+
export * from './tabela-orquestrador-dados';
|
|
80
|
+
export * from './tabela-interacao';
|
|
81
|
+
export * from './tabela-dom';
|
|
82
|
+
export * from './tabela-renderizador';
|
|
83
|
+
export * from './tabela-atributos-sync';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Avaliador de expressões matemáticas para campos numéricos técnicos (AutoCAD / Revit / Blender).
|
|
3
|
+
* Parser seguro de descida recursiva sem eval(), com suporte a +, -, *, /, ^, parênteses,
|
|
4
|
+
* porcentagens, constantes (pi, e) e funções matemáticas (sqrt, abs, round, floor, ceil, sin, cos, tan).
|
|
5
|
+
*/
|
|
6
|
+
export declare function avaliarExpressaoMatematica(expr: string): number | null;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ItemPropriedade, ContextoEditorPropriedade } from './tipos';
|
|
2
|
+
export declare function criarEditorReadonly(valorAtual: any): HTMLElement;
|
|
3
|
+
export declare function criarEditorBooleano(categoriaId: string, prop: ItemPropriedade, valorAtual: any, ctx: ContextoEditorPropriedade): HTMLElement;
|
|
4
|
+
export declare function criarEditorSelecao(categoriaId: string, prop: ItemPropriedade, valorAtual: any, ctx: ContextoEditorPropriedade): HTMLElement;
|
|
5
|
+
export declare function criarEditorAcao(categoriaId: string, prop: ItemPropriedade, ctx: ContextoEditorPropriedade): HTMLElement;
|
|
6
|
+
export declare function criarEditorNumero(categoriaId: string, prop: ItemPropriedade, valorAtual: any, ctx: ContextoEditorPropriedade): HTMLElement;
|
|
7
|
+
export declare function criarEditorTexto(categoriaId: string, prop: ItemPropriedade, valorAtual: any, ctx: ContextoEditorPropriedade): HTMLElement;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ItemPropriedade, ContextoEditorPropriedade } from './tipos';
|
|
2
|
+
/**
|
|
3
|
+
* Editor Tipo de Linha CAD (Linetype com preview SVG em tempo real)
|
|
4
|
+
*/
|
|
5
|
+
export declare function criarEditorLinetype(categoriaId: string, prop: ItemPropriedade, valorAtual: any, ctx: ContextoEditorPropriedade): HTMLElement;
|
|
6
|
+
/**
|
|
7
|
+
* Editor Espessura de Linha CAD (Lineweight com espessura SVG proporcional)
|
|
8
|
+
*/
|
|
9
|
+
export declare function criarEditorLineweight(categoriaId: string, prop: ItemPropriedade, valorAtual: any, ctx: ContextoEditorPropriedade): HTMLElement;
|
|
10
|
+
/**
|
|
11
|
+
* Editor Cor CAD (ByLayer, ByBlock, Cores Indexadas ACI e Hexadecimal)
|
|
12
|
+
*/
|
|
13
|
+
export declare function criarEditorCorCad(categoriaId: string, prop: ItemPropriedade, valorAtual: any, ctx: ContextoEditorPropriedade): HTMLElement;
|
|
14
|
+
/**
|
|
15
|
+
* Editor Cor Padrão (Swatch com Color Picker Nativo)
|
|
16
|
+
*/
|
|
17
|
+
export declare function criarEditorCorSwatch(categoriaId: string, prop: ItemPropriedade, valorAtual: any, ctx: ContextoEditorPropriedade): HTMLElement;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CategoriaPropriedades } from './tipos';
|
|
2
|
+
export declare function focarProximoEditor(shadow: ShadowRoot, atual: HTMLElement): void;
|
|
3
|
+
export declare function atualizarCampoVisual(shadow: ShadowRoot, propId: string, novoValor: any): void;
|
|
4
|
+
export declare function expandirTodasCategorias(shadow: ShadowRoot, categorias: CategoriaPropriedades[]): void;
|
|
5
|
+
export declare function colapsarTodasCategorias(shadow: ShadowRoot, categorias: CategoriaPropriedades[]): void;
|
|
6
|
+
export declare function alternarCategoria(shadow: ShadowRoot, host: HTMLElement, categorias: CategoriaPropriedades[], idCategoria: string): void;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ItemPropriedade, ContextoEditorPropriedade } from './tipos';
|
|
2
|
+
export * from './editores-basicos';
|
|
3
|
+
export * from './editores-cad';
|
|
4
|
+
export type { ContextoEditorPropriedade } from './tipos';
|
|
5
|
+
export declare function criarEditorValor(categoriaId: string, prop: ItemPropriedade, valorAtual: any, ctx: ContextoEditorPropriedade): HTMLElement;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ListenerBag } from '../../core/listener-bag';
|
|
2
|
+
/**
|
|
3
|
+
* Aplica ao host o posicionamento flutuante (fixed) ou o restaura ao fluxo normal.
|
|
4
|
+
* Retorna o novo estado (true = flutuante).
|
|
5
|
+
*/
|
|
6
|
+
export declare function alternarPosicionamentoFlutuante(host: HTMLElement): boolean;
|
|
7
|
+
export declare function conectarArrastoFlutuante(host: HTMLElement, shadow: ShadowRoot, listeners: ListenerBag): void;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CategoriaPropriedades } from './tipos';
|
|
2
|
+
export interface ContextoGerenciadorValores {
|
|
3
|
+
hostElement: HTMLElement;
|
|
4
|
+
getCategorias: () => CategoriaPropriedades[];
|
|
5
|
+
onAtualizarBotoesFooter: (dirty: boolean) => void;
|
|
6
|
+
onAtualizarCampoVisual: (propId: string, novoValor: any) => void;
|
|
7
|
+
onRenderCategorias: () => void;
|
|
8
|
+
isModoManual: () => boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare class GerenciadorValoresPropriedades {
|
|
11
|
+
private ctx;
|
|
12
|
+
private valoresOriginais;
|
|
13
|
+
private valoresAtuais;
|
|
14
|
+
private dirty;
|
|
15
|
+
constructor(ctx: ContextoGerenciadorValores);
|
|
16
|
+
inicializarCategorias(categorias: CategoriaPropriedades[]): void;
|
|
17
|
+
get isDirty(): boolean;
|
|
18
|
+
getValores(): Record<string, any>;
|
|
19
|
+
setValores(novosValores: Record<string, any>): void;
|
|
20
|
+
obterValor(propId: string): any;
|
|
21
|
+
definirValor(propId: string, novoValor: any, emitirEvento?: boolean): void;
|
|
22
|
+
registrarAlteracao(categoriaId: string, propId: string, novoValor: any): void;
|
|
23
|
+
aplicar(): void;
|
|
24
|
+
desfazer(): void;
|
|
25
|
+
private emitirAlteracao;
|
|
26
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ListenerBag } from '../../core/listener-bag';
|
|
2
|
+
export interface ContextoPainelControles {
|
|
3
|
+
shadow: ShadowRoot;
|
|
4
|
+
listeners: ListenerBag;
|
|
5
|
+
host: HTMLElement;
|
|
6
|
+
onToggleExpandirTodas: () => void;
|
|
7
|
+
onFiltrar: (termo: string) => void;
|
|
8
|
+
onAplicar: () => void;
|
|
9
|
+
onDesfazer: () => void;
|
|
10
|
+
onAlternarDensidade?: () => void;
|
|
11
|
+
onAlternarFlutuante?: () => void;
|
|
12
|
+
onAlternarColapsoHorizontal?: () => void;
|
|
13
|
+
}
|
|
14
|
+
export declare function conectarPainelControles(ctx: ContextoPainelControles): void;
|
|
15
|
+
export declare function sincronizarPainelControles(shadow: ShadowRoot, host: HTMLElement): void;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ItemPropriedade, CategoriaPropriedades } from './tipos';
|
|
2
|
+
import { ContextoEditorPropriedade } from './propriedades-editores';
|
|
3
|
+
export interface ContextoLinhaPropriedade {
|
|
4
|
+
valoresAtuais: Record<string, any>;
|
|
5
|
+
valoresOriginais: Record<string, any>;
|
|
6
|
+
isDirty: boolean;
|
|
7
|
+
editorCtx: ContextoEditorPropriedade;
|
|
8
|
+
onAtualizarCampoVisual: (propId: string, novoValor: any) => void;
|
|
9
|
+
}
|
|
10
|
+
export interface OpcoesRenderArvore {
|
|
11
|
+
listaContainer: HTMLElement;
|
|
12
|
+
categorias: CategoriaPropriedades[];
|
|
13
|
+
termoBusca: string;
|
|
14
|
+
onToggleCategoria: (idCategoria: string) => void;
|
|
15
|
+
linhaCtx: ContextoLinhaPropriedade;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Renderiza todas as categorias e suas propriedades filtradas
|
|
19
|
+
*/
|
|
20
|
+
export declare function renderizarCategoriasETree(opcoes: OpcoesRenderArvore): void;
|
|
21
|
+
/**
|
|
22
|
+
* Cria a linha individual de uma propriedade com rótulo, scrubber e editor
|
|
23
|
+
*/
|
|
24
|
+
export declare function criarLinhaPropriedade(categoriaId: string, prop: ItemPropriedade, ctx: ContextoLinhaPropriedade): HTMLDivElement;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SeletorTipoItem } from './tipos';
|
|
2
|
+
export interface ContextoSeletorTipo {
|
|
3
|
+
tipoContainerElement: HTMLElement | null;
|
|
4
|
+
tipos: SeletorTipoItem[];
|
|
5
|
+
tipoSelecionadoId: string;
|
|
6
|
+
estiloVisual: string;
|
|
7
|
+
onSelecionarTipo: (id: string) => void;
|
|
8
|
+
onEditarTipo: (tipo: SeletorTipoItem) => void;
|
|
9
|
+
onQuickSelect: (tipo: SeletorTipoItem) => void;
|
|
10
|
+
onSelectObjects: (tipo: SeletorTipoItem) => void;
|
|
11
|
+
onCalculadora: (tipo: SeletorTipoItem) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function renderizarSeletorTipos(ctx: ContextoSeletorTipo): void;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ListenerBag } from '../../core/listener-bag';
|
|
2
|
+
export interface ContextoSplitterPropriedades {
|
|
3
|
+
splitterElement: HTMLElement | null;
|
|
4
|
+
corpoElement: HTMLElement | null;
|
|
5
|
+
hostElement: HTMLElement;
|
|
6
|
+
splitterListeners: ListenerBag;
|
|
7
|
+
onLarguraAlterada: (larguraPorcentagem: number) => void;
|
|
8
|
+
}
|
|
9
|
+
export interface ControladorSplitterPropriedades {
|
|
10
|
+
init: () => void;
|
|
11
|
+
definirLarguraRotulo: (porcentagem: number) => number;
|
|
12
|
+
}
|
|
13
|
+
export declare function criarControladorSplitter(ctx: ContextoSplitterPropriedades): ControladorSplitterPropriedades;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function criarTemplateTabelaPropriedades(): string;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contratos, tipos e interfaces para a Paleta Técnica de Propriedades (<ui-tabela-propriedades>).
|
|
3
|
+
*/
|
|
4
|
+
export type TipoPropriedade = 'texto' | 'numero' | 'selecao' | 'booleano' | 'cor' | 'cor-cad' | 'linha' | 'linetype' | 'espessura' | 'lineweight' | 'acao' | 'readonly';
|
|
5
|
+
export interface OpcaoPropriedade {
|
|
6
|
+
id: string | number;
|
|
7
|
+
rotulo: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ItemPropriedade {
|
|
10
|
+
id: string;
|
|
11
|
+
rotulo: string;
|
|
12
|
+
tipo: TipoPropriedade;
|
|
13
|
+
valor: any;
|
|
14
|
+
unidade?: string;
|
|
15
|
+
casasDecimais?: number;
|
|
16
|
+
opcoes?: OpcaoPropriedade[];
|
|
17
|
+
placeholder?: string;
|
|
18
|
+
somenteLeitura?: boolean;
|
|
19
|
+
dica?: string;
|
|
20
|
+
rotuloAcao?: string;
|
|
21
|
+
textoAmostra?: string;
|
|
22
|
+
onClickAcao?: (item: ItemPropriedade) => void;
|
|
23
|
+
}
|
|
24
|
+
export interface CategoriaPropriedades {
|
|
25
|
+
id: string;
|
|
26
|
+
titulo: string;
|
|
27
|
+
aberto?: boolean;
|
|
28
|
+
propriedades: ItemPropriedade[];
|
|
29
|
+
}
|
|
30
|
+
export interface SeletorTipoItem {
|
|
31
|
+
id: string;
|
|
32
|
+
rotulo: string;
|
|
33
|
+
subtipo?: string;
|
|
34
|
+
iconeSvg?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface UIPropertyChangeDetail {
|
|
37
|
+
id: string;
|
|
38
|
+
categoriaId: string;
|
|
39
|
+
valor: any;
|
|
40
|
+
valorAnterior: any;
|
|
41
|
+
todosValores: Record<string, any>;
|
|
42
|
+
}
|
|
43
|
+
export interface ContextoEditorPropriedade {
|
|
44
|
+
obterValorAtual: (propId: string) => any;
|
|
45
|
+
registrarAlteracao: (categoriaId: string, propId: string, novoValor: any) => void;
|
|
46
|
+
focarProximoEditor: (elementoAtual: HTMLElement) => void;
|
|
47
|
+
despacharEventoAcao: (prop: ItemPropriedade, categoriaId: string) => void;
|
|
48
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { CategoriaPropriedades, SeletorTipoItem } from './tipos';
|
|
2
|
+
import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
3
|
+
export * from './tipos';
|
|
4
|
+
export { avaliarExpressaoMatematica } from './avaliador-expressao';
|
|
5
|
+
export * from './propriedades-editores';
|
|
6
|
+
export * from './propriedades-seletor-tipo';
|
|
7
|
+
export * from './propriedades-splitter';
|
|
8
|
+
export * from './propriedades-render-arvore';
|
|
9
|
+
export * from './propriedades-gerenciador-valores';
|
|
10
|
+
export * from './propriedades-painel-controles';
|
|
11
|
+
export * from './propriedades-dom-utils';
|
|
12
|
+
export * from './propriedades-flutuante';
|
|
13
|
+
export * from './propriedades-densidade';
|
|
14
|
+
export declare class UITabelaPropriedades extends SafeHTMLElement {
|
|
15
|
+
static get observedAttributes(): string[];
|
|
16
|
+
private shadow;
|
|
17
|
+
private listeners;
|
|
18
|
+
private splitterListeners;
|
|
19
|
+
private controladorSplitter;
|
|
20
|
+
private gerenciadorValores;
|
|
21
|
+
private _categorias;
|
|
22
|
+
private _tipos;
|
|
23
|
+
private _tipoSelecionadoId;
|
|
24
|
+
private _termoBusca;
|
|
25
|
+
private _larguraRotuloPorcentagem;
|
|
26
|
+
get larguraRotuloPorcentagem(): number;
|
|
27
|
+
private tipoContainerElement;
|
|
28
|
+
private corpoElement;
|
|
29
|
+
private btnAplicarElement;
|
|
30
|
+
private btnDesfazerElement;
|
|
31
|
+
private splitterElement;
|
|
32
|
+
constructor();
|
|
33
|
+
connectedCallback(): void;
|
|
34
|
+
disconnectedCallback(): void;
|
|
35
|
+
attributeChangedCallback(name: string, _oldVal: string | null, newVal: string | null): void;
|
|
36
|
+
get categorias(): CategoriaPropriedades[];
|
|
37
|
+
set categorias(novasCategorias: CategoriaPropriedades[]);
|
|
38
|
+
get tipos(): SeletorTipoItem[];
|
|
39
|
+
set tipos(novosTipos: SeletorTipoItem[]);
|
|
40
|
+
get tipoSelecionado(): string;
|
|
41
|
+
set tipoSelecionado(idTipo: string);
|
|
42
|
+
get valores(): Record<string, any>;
|
|
43
|
+
set valores(novosValores: Record<string, any>);
|
|
44
|
+
get isDirty(): boolean;
|
|
45
|
+
get dirty(): boolean;
|
|
46
|
+
obterValor(propId: string): any;
|
|
47
|
+
definirValor(propId: string, novoValor: any, emitirEvento?: boolean): void;
|
|
48
|
+
aplicar(): void;
|
|
49
|
+
desfazer(): void;
|
|
50
|
+
expandirTudo(): void;
|
|
51
|
+
colapsarTudo(): void;
|
|
52
|
+
toggleCategoria(idCategoria: string): void;
|
|
53
|
+
get densidade(): 'padrao' | 'compacta' | 'ultracompacta' | 'relaxada';
|
|
54
|
+
set densidade(val: 'padrao' | 'compacta' | 'ultracompacta' | 'relaxada');
|
|
55
|
+
alternarDensidade(): string;
|
|
56
|
+
get flutuante(): boolean;
|
|
57
|
+
set flutuante(val: boolean);
|
|
58
|
+
get colapsado(): boolean;
|
|
59
|
+
set colapsado(val: boolean);
|
|
60
|
+
alternarFlutuante(): boolean;
|
|
61
|
+
alternarColapsoHorizontal(): boolean;
|
|
62
|
+
private syncState;
|
|
63
|
+
private toggleExpandirTodas;
|
|
64
|
+
private renderSeletorTipos;
|
|
65
|
+
private renderCategorias;
|
|
66
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ui-texto';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
2
|
+
export type VarianteTexto = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'corpo' | 'corpo-sm' | 'caption' | 'codigo';
|
|
3
|
+
export type CorTexto = 'primaria' | 'secundaria' | 'destaque' | 'erro' | 'sucesso' | 'alerta';
|
|
4
|
+
export type PesoTexto = 'normal' | 'medio' | 'seminegrito' | 'negrito';
|
|
5
|
+
export type AlinhamentoTexto = 'esquerda' | 'centro' | 'direita' | 'justificado';
|
|
6
|
+
export declare class UITexto extends SafeHTMLElement {
|
|
7
|
+
static get observedAttributes(): string[];
|
|
8
|
+
private container;
|
|
9
|
+
private shadow;
|
|
10
|
+
constructor();
|
|
11
|
+
connectedCallback(): void;
|
|
12
|
+
attributeChangedCallback(_name: string, _old: string | null, _value: string | null): void;
|
|
13
|
+
private resolveTag;
|
|
14
|
+
private render;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ui-tooltip';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
2
|
+
export declare class UITooltip extends SafeHTMLElement {
|
|
3
|
+
static get observedAttributes(): string[];
|
|
4
|
+
private containerElement;
|
|
5
|
+
private bubbleElement;
|
|
6
|
+
private _posicionamentoAtivo;
|
|
7
|
+
constructor();
|
|
8
|
+
connectedCallback(): void;
|
|
9
|
+
disconnectedCallback(): void;
|
|
10
|
+
attributeChangedCallback(_name: string, _old: string | null, _value: string | null): void;
|
|
11
|
+
get aberto(): boolean;
|
|
12
|
+
set aberto(val: boolean);
|
|
13
|
+
get disabled(): boolean;
|
|
14
|
+
set disabled(val: boolean);
|
|
15
|
+
mostrar(): void;
|
|
16
|
+
ocultar(): void;
|
|
17
|
+
private posicionarBubble;
|
|
18
|
+
private syncState;
|
|
19
|
+
private handleMouseEnter;
|
|
20
|
+
private handleMouseLeave;
|
|
21
|
+
private handleClick;
|
|
22
|
+
private handleClickOutside;
|
|
23
|
+
}
|
|
24
|
+
export declare class UIPopover extends UITooltip {
|
|
25
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gera um identificador único e estável para a vida do elemento.
|
|
3
|
+
* O contador garante unicidade no documento; o sufixo aleatório evita
|
|
4
|
+
* colisões entre múltiplas cópias da biblioteca carregadas na mesma página.
|
|
5
|
+
*/
|
|
6
|
+
export declare function gerarIdUnico(prefixo?: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* Resolve o rótulo fornecido de fora do Shadow DOM:
|
|
9
|
+
* `aria-label` no host, `<label for="id-do-host">` ou `<label>` envolvendo o host.
|
|
10
|
+
* Usado quando o componente não recebe o atributo `label`, para que o controle
|
|
11
|
+
* nativo interno nunca fique sem nome acessível.
|
|
12
|
+
*/
|
|
13
|
+
export declare function obterRotuloExterno(host: HTMLElement, internals?: {
|
|
14
|
+
labels?: NodeList;
|
|
15
|
+
} | null): string;
|
|
16
|
+
/**
|
|
17
|
+
* Indica se um clique no host veio de um `<label>` externo (ativação de rótulo),
|
|
18
|
+
* e não de uma interação dentro do Shadow DOM — cujo evento também é
|
|
19
|
+
* redirecionado (retargeted) para o host.
|
|
20
|
+
*/
|
|
21
|
+
export declare function cliqueVeioDeRotuloExterno(host: HTMLElement, evento: Event): boolean;
|