@thibezer/ui-components-kit 2.14.0 → 2.17.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/CHANGELOG.md +63 -9
- package/README.md +4 -2
- package/dist/botao.cjs +1 -1
- package/dist/botao.js +1 -1
- package/dist/camadas.cjs +50 -50
- package/dist/camadas.js +381 -373
- package/dist/campo-texto.cjs +1 -1
- package/dist/campo-texto.js +1 -1
- package/dist/canvas.cjs +24 -24
- package/dist/canvas.js +757 -751
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/components/ui-avatar/ui-avatar.d.ts +7 -0
- package/dist/components/ui-barra-ferramentas/ui-paleta-ferramentas.d.ts +2 -0
- package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +7 -0
- package/dist/components/ui-mapa/ui-mapa.d.ts +1 -0
- package/dist/components/ui-seletor-mapa-base/ui-seletor-mapa-base.d.ts +6 -0
- package/dist/components/ui-skeleton/ui-skeleton.d.ts +9 -0
- package/dist/components/ui-stat/ui-stat.d.ts +12 -0
- package/dist/components/ui-tabela/tabela-corpo.d.ts +5 -0
- package/dist/components/ui-tabela/tabela-foco.d.ts +28 -0
- package/dist/components/ui-tabela/tabela-orquestrador-dados.d.ts +3 -0
- package/dist/components/ui-tabela/tabela-renderizador.d.ts +3 -0
- package/dist/components/ui-tabela/tipos.d.ts +7 -1
- package/dist/components/ui-tabela/ui-tabela.d.ts +6 -1
- package/dist/components/ui-tabela-propriedades/propriedades-dom-utils.d.ts +2 -1
- package/dist/components/ui-tabela-propriedades/propriedades-persistencia.d.ts +63 -0
- package/dist/components/ui-tabela-propriedades/propriedades-render-arvore.d.ts +1 -0
- package/dist/components/ui-tabela-propriedades/tipos.d.ts +16 -0
- package/dist/components/ui-tabela-propriedades/ui-tabela-propriedades.d.ts +40 -1
- package/dist/core/degrade.d.ts +34 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core.cjs +1 -1
- package/dist/core.js +33 -24
- package/dist/cores.cjs +1 -1
- package/dist/cores.js +1 -1
- package/dist/custom-elements.json +20309 -18611
- package/dist/data.cjs +1 -1
- package/dist/data.js +89 -79
- package/dist/degrade-CIxvOTUv.cjs +1 -0
- package/dist/degrade-gDa5sW__.js +119 -0
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +2 -2
- package/dist/forms.cjs +1 -1
- package/dist/forms.js +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +215 -196
- package/dist/mapa.cjs +1 -1
- package/dist/mapa.js +1 -1
- package/dist/modal.cjs +1 -1
- package/dist/modal.js +1 -1
- package/dist/register.cjs +1 -1
- package/dist/register.js +11 -11
- package/dist/seletor-mapa-base.cjs +10 -10
- package/dist/seletor-mapa-base.js +34 -28
- package/dist/tabela.cjs +1 -1
- package/dist/tabela.js +83 -73
- package/dist/tipos-elementos.d.ts +33 -3
- package/dist/tipos-vue.d.ts +30 -3
- package/dist/tools.cjs +1 -1
- package/dist/tools.js +1 -1
- package/dist/ui-badge-1UU8vT-b.js +198 -0
- package/dist/ui-badge-CKKKPdt8.cjs +28 -0
- package/dist/ui-badge-DE58YSBY.cjs +28 -0
- package/dist/ui-badge-KgmI3jOD.js +201 -0
- package/dist/ui-botao-Dz8YvmiA.cjs +12 -0
- package/dist/ui-botao-bU_bf6SU.js +166 -0
- package/dist/ui-botao-xTbH5mpH.cjs +12 -0
- package/dist/ui-botao-zLkcMMyP.js +168 -0
- package/dist/ui-campo-texto-DVU_sWV1.cjs +16 -0
- package/dist/ui-campo-texto-Dliyt9qr.cjs +16 -0
- package/dist/ui-campo-texto-W5M0gNE4.js +377 -0
- package/dist/ui-campo-texto-btevggO3.js +379 -0
- package/dist/ui-card-BYyYxxY1.cjs +20 -0
- package/dist/ui-card-CojoGXaT.js +144 -0
- package/dist/ui-card-DFnRp9bl.js +146 -0
- package/dist/ui-card-DrWVJQKw.cjs +20 -0
- package/dist/ui-controle-cores-Bq_XUrIQ.cjs +32 -0
- package/dist/ui-controle-cores-BtA6yzu3.js +291 -0
- package/dist/ui-kit.css +1 -1
- package/dist/ui-linha-2kY7TNUJ.cjs +38 -0
- package/dist/ui-linha-DAz6DBcl.cjs +38 -0
- package/dist/ui-linha-DkxwMhD-.js +749 -0
- package/dist/ui-linha-KFF86FW5.js +752 -0
- package/dist/ui-modal-4nU-tXjO.cjs +18 -0
- package/dist/ui-modal-BrXzVZ65.js +216 -0
- package/dist/ui-modal-BwB9fksp.js +214 -0
- package/dist/ui-modal-lARKzEVZ.cjs +18 -0
- package/dist/ui-paleta-ferramentas-Bu6JaT0s.js +1245 -0
- package/dist/ui-paleta-ferramentas-D3Jhwt26.cjs +21 -0
- package/dist/ui-skeleton-BLEV6h3k.js +653 -0
- package/dist/ui-skeleton-B_XTaGrX.cjs +52 -0
- package/dist/ui-skeleton-DEHwpDqa.js +648 -0
- package/dist/ui-skeleton-sIphhOSx.cjs +52 -0
- package/dist/ui-switch-BXIDwC-Y.cjs +66 -0
- package/dist/ui-switch-Ctxk-jKS.js +1212 -0
- package/dist/ui-switch-DAIgOhqr.cjs +66 -0
- package/dist/ui-switch-_F8yubdX.js +1203 -0
- package/dist/ui-tabela-propriedades-2bq2nX-b.js +3202 -0
- package/dist/ui-tabela-propriedades-8IAYmk3P.cjs +142 -0
- package/dist/ui-tabela-propriedades-BoYXzP5Z.js +3191 -0
- package/dist/ui-tabela-propriedades-CJyo568n.js +3517 -0
- package/dist/ui-tabela-propriedades-CnfW9DZG.cjs +142 -0
- package/dist/ui-tabela-propriedades-Wa34hfIr.cjs +142 -0
- package/package.json +187 -187
package/dist/card.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const e=require("./ui-card-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const e=require("./ui-card-DrWVJQKw.cjs");exports.UICard=e.UICard;
|
package/dist/card.js
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
2
|
+
/**
|
|
3
|
+
* Avatar de usuário ou entidade com suporte a foto, iniciais automáticas, ícone padrão e status.
|
|
4
|
+
*
|
|
5
|
+
* @csspart base - O círculo/container do avatar.
|
|
6
|
+
* @csspart conteudo - Área interna da imagem ou iniciais.
|
|
7
|
+
* @csspart status - Indicador de presença.
|
|
8
|
+
*/
|
|
2
9
|
export declare class UIAvatar extends SafeHTMLElement {
|
|
3
10
|
static get observedAttributes(): string[];
|
|
4
11
|
private avatarElement;
|
|
@@ -17,6 +17,8 @@ import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
|
17
17
|
* ui-ferramenta { id, item, pai?, ativo?, origem } (cancelável: preventDefault reverte a ação)
|
|
18
18
|
*
|
|
19
19
|
* `valor` pode ser definido antes de `ferramentas`: fica pendente até a ferramenta existir.
|
|
20
|
+
*
|
|
21
|
+
* @csspart base - Contêiner raiz da paleta de ferramentas.
|
|
20
22
|
*/
|
|
21
23
|
export declare class UIPaletaFerramentas extends SafeHTMLElement {
|
|
22
24
|
static get observedAttributes(): string[];
|
|
@@ -13,6 +13,13 @@ import { OpcoesCamadaFeicoes, OpcoesLote, LoteFeicoes, ResultadoLote, ResultadoF
|
|
|
13
13
|
import { EstiloFeicao, Feicao } from '../../gerencigeo-canvas/feature_types';
|
|
14
14
|
import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
15
15
|
import { EstilosExternos } from './cad-estilos-externos';
|
|
16
|
+
/**
|
|
17
|
+
* Viewport georreferenciada CAD/GIS com suporte a feições, snap, camadas e medição.
|
|
18
|
+
*
|
|
19
|
+
* @csspart base - Contêiner raiz interno do canvas CAD.
|
|
20
|
+
* @csspart viewport - Área onde o mapa e os renderizadores canvas/Leaflet são montados.
|
|
21
|
+
* @csspart camadas - Painel flutuante retrátil de gerenciamento de camadas.
|
|
22
|
+
*/
|
|
16
23
|
export declare class UICanvasCAD extends SafeHTMLElement {
|
|
17
24
|
static get observedAttributes(): string[];
|
|
18
25
|
private shadow;
|
|
@@ -9,6 +9,7 @@ import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
|
9
9
|
* @attr {string} camadas - Camadas base separadas por vírgula (`osm`, `satelite`, `topografia`, `ruas`).
|
|
10
10
|
* @attr {string} aria-label - Nome acessível da região do mapa (padrão: "Mapa").
|
|
11
11
|
* @fires ui-mapa-pronto - O mapa foi criado (`detail.map`); é emitido de novo se o elemento for reconectado.
|
|
12
|
+
* @csspart base - Contêiner interno do mapa Leaflet.
|
|
12
13
|
*/
|
|
13
14
|
export declare class UIMapa extends SafeHTMLElement {
|
|
14
15
|
static get observedAttributes(): string[];
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
2
2
|
import { MapaBaseItem, PosicaoSeletorMapaBase } from './tipos';
|
|
3
3
|
export declare const MAPAS_BASE_PADRAO: MapaBaseItem[];
|
|
4
|
+
/**
|
|
5
|
+
* Seletor discreto/flutuante para alternar mapas base.
|
|
6
|
+
*
|
|
7
|
+
* @csspart base - Botão gatilho que exibe o mapa base ativo.
|
|
8
|
+
* @csspart lista - Popover com as opções de mapas base disponíveis.
|
|
9
|
+
*/
|
|
4
10
|
export declare class UISeletorMapaBase extends SafeHTMLElement {
|
|
5
11
|
static get observedAttributes(): string[];
|
|
6
12
|
private shadow;
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
2
2
|
export type VarianteSkeleton = 'texto' | 'circular' | 'retangular' | 'card';
|
|
3
3
|
export type AnimacaoSkeleton = 'shimmer' | 'pulso' | 'nenhum';
|
|
4
|
+
/**
|
|
5
|
+
* Placeholder estrutural animado (Skeleton Loader) para estados de carregamento.
|
|
6
|
+
*
|
|
7
|
+
* @csspart base - Elemento ou contêiner principal do esqueleto.
|
|
8
|
+
* @csspart midia - Bloco de mídia na variante `card`.
|
|
9
|
+
* @csspart avatar - Bloco circular na variante `card`.
|
|
10
|
+
* @csspart titulo - Bloco de título na variante `card`.
|
|
11
|
+
* @csspart linha - Cada linha individual de texto.
|
|
12
|
+
*/
|
|
4
13
|
export declare class UISkeleton extends SafeHTMLElement {
|
|
5
14
|
static get observedAttributes(): string[];
|
|
6
15
|
private rootElement;
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
2
2
|
export type TendenciaStat = 'alta' | 'positivo' | 'baixa' | 'negativo' | 'neutro';
|
|
3
|
+
/**
|
|
4
|
+
* Cartão de métrica / KPI com tendência e slot para gráfico ou ação.
|
|
5
|
+
*
|
|
6
|
+
* @csspart base - Contêiner principal do indicador.
|
|
7
|
+
* @csspart cabecalho - Linha de título e ícone.
|
|
8
|
+
* @csspart rotulo - Rótulo da métrica.
|
|
9
|
+
* @csspart conteudo - Bloco do valor e variação.
|
|
10
|
+
* @csspart valor - Valor em destaque.
|
|
11
|
+
* @csspart indicador - Selo de variação/tendência.
|
|
12
|
+
* @csspart rodape - Rodapé descritivo ou slot auxiliar.
|
|
13
|
+
* @csspart descricao - Texto auxiliar do rodapé.
|
|
14
|
+
*/
|
|
3
15
|
export declare class UIStat extends SafeHTMLElement {
|
|
4
16
|
static get observedAttributes(): string[];
|
|
5
17
|
private statElement;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TabelaColuna } from './tipos';
|
|
2
|
+
export type ModoRenderCorpo = 'completo' | 'rolagem';
|
|
2
3
|
export interface ContextoCorpoTabela {
|
|
3
4
|
tbodyElement: HTMLTableSectionElement | null;
|
|
4
5
|
tableElement: HTMLTableElement | null;
|
|
@@ -15,6 +16,10 @@ export interface ContextoCorpoTabela {
|
|
|
15
16
|
filtroAtivo?: boolean;
|
|
16
17
|
textoVazio?: string;
|
|
17
18
|
textoSemResultados?: string;
|
|
19
|
+
/** `completo` recria as linhas; `rolagem` preserva as que seguem na janela virtual. */
|
|
20
|
+
modo?: ModoRenderCorpo;
|
|
21
|
+
/** Posição do item em `dados` (4º argumento do `render`); sem ela vale a posição exibida. */
|
|
22
|
+
indiceOriginal?: (item: Record<string, any>) => number;
|
|
18
23
|
isItemSelecionado: (item: Record<string, any>, index: number) => boolean;
|
|
19
24
|
onLinhaClique: (item: Record<string, any>, index: number) => void;
|
|
20
25
|
formatWidth: (largura?: string | number) => string;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Foco dentro das células da <ui-tabela>.
|
|
3
|
+
* Responsabilidade única: guardar qual controle de qual linha tinha o foco antes de recriar o corpo e
|
|
4
|
+
* devolvê-lo ao controle equivalente depois (a linha é achada pelo objeto, pelo `data-id` ou pela posição).
|
|
5
|
+
*/
|
|
6
|
+
/** Controle focado dentro de uma célula (não a própria linha). */
|
|
7
|
+
export interface FocoCelula {
|
|
8
|
+
item: Record<string, any> | undefined;
|
|
9
|
+
dataId: string | null;
|
|
10
|
+
indiceLinha: number;
|
|
11
|
+
indiceColuna: number;
|
|
12
|
+
/** Posição do elemento entre os descendentes da célula (a mesma estrutura é recriada pelo `render`). */
|
|
13
|
+
ordinal: number;
|
|
14
|
+
selecaoInicio: number | null;
|
|
15
|
+
selecaoFim: number | null;
|
|
16
|
+
/** Valor que o usuário digitou/marcou e ainda não foi gravado nos dados (undefined = sem edição pendente). */
|
|
17
|
+
digitado?: string | boolean;
|
|
18
|
+
/** Valor com que o controle foi renderizado: serve para saber se os dados mudaram por baixo da edição. */
|
|
19
|
+
valorInicial?: string | boolean;
|
|
20
|
+
}
|
|
21
|
+
/** Quem renderizou cada linha: permite achar o item de uma `<tr>` depois que o corpo é reconstruído. */
|
|
22
|
+
export declare const itemDaLinha: WeakMap<Element, Record<string, any>>;
|
|
23
|
+
/** Guarda o valor inicial dos campos nativos da célula recém-renderizada. */
|
|
24
|
+
export declare function registrarValoresRenderizados(celula: Element): void;
|
|
25
|
+
/** Registra o controle focado dentro do corpo, ou `null` se o foco está fora das células. */
|
|
26
|
+
export declare function capturarFocoCelula(tbody: HTMLTableSectionElement): FocoCelula | null;
|
|
27
|
+
/** Devolve o foco ao controle equivalente após recriar o corpo. Sem equivalente, não faz nada. */
|
|
28
|
+
export declare function restaurarFocoCelula(tbody: HTMLTableSectionElement, foco: FocoCelula | null): void;
|
|
@@ -4,6 +4,7 @@ export declare function normalizarTexto(t: string): string;
|
|
|
4
4
|
export declare class TabelaOrquestradorDados {
|
|
5
5
|
private dadosOriginais;
|
|
6
6
|
private dadosExibicao;
|
|
7
|
+
private indicePorItem;
|
|
7
8
|
private colunaOrdenada;
|
|
8
9
|
private direcaoOrdenacao;
|
|
9
10
|
private ultimoFiltro;
|
|
@@ -19,6 +20,8 @@ export declare class TabelaOrquestradorDados {
|
|
|
19
20
|
setColunasFiltro(ids: string[]): void;
|
|
20
21
|
getDadosOriginais(): Record<string, any>[];
|
|
21
22
|
setDadosOriginais(dados: Record<string, any>[]): void;
|
|
23
|
+
/** Posição do item em `dados` (-1 se não pertence). Índice por objeto montado sob demanda, uma vez por troca de dados. */
|
|
24
|
+
indiceOriginal(item: Record<string, any>): number;
|
|
22
25
|
getDadosExibicao(): Record<string, any>[];
|
|
23
26
|
getColunaOrdenada(): string | null;
|
|
24
27
|
setColunaOrdenada(id: string | null): void;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TabelaColuna } from './tipos';
|
|
2
|
+
import { ModoRenderCorpo } from './tabela-corpo';
|
|
2
3
|
import { ListenerBag } from '../../core/listener-bag';
|
|
3
4
|
import { EstruturaDOMElementos } from './tabela-dom';
|
|
4
5
|
import { TabelaOrquestradorDados } from './tabela-orquestrador-dados';
|
|
@@ -20,6 +21,8 @@ export interface ContextoOrquestradorRender {
|
|
|
20
21
|
virtualizar: boolean;
|
|
21
22
|
rowHeight: number;
|
|
22
23
|
indiceAtivo: number | null;
|
|
24
|
+
/** `rolagem` preserva as linhas que seguem visíveis na janela virtual (padrão: `completo`). */
|
|
25
|
+
modoCorpo?: ModoRenderCorpo;
|
|
23
26
|
textoVazio?: string;
|
|
24
27
|
textoSemResultados?: string;
|
|
25
28
|
onSetIsResizing: (resizing: boolean) => void;
|
|
@@ -17,7 +17,13 @@ export interface TabelaColuna<T = any> {
|
|
|
17
17
|
comparador?: (a: any, b: any, itemA: T, itemB: T) => number;
|
|
18
18
|
/** Texto pesquisável da célula (o filtro padrão olha o valor bruto); útil quando `render` formata o valor. */
|
|
19
19
|
textoFiltro?: (valor: any, item: T) => string;
|
|
20
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Conteúdo da célula: `HTMLElement` (botão, checkbox, campo...) ou texto (nunca HTML).
|
|
22
|
+
* `index` é a posição **exibida** (muda ao ordenar e filtrar); `indiceDados` é a posição do item em `dados`
|
|
23
|
+
* (estável). Para editar ou remover, prefira `item` ou `indiceDados` a `index`.
|
|
24
|
+
* Na rolagem com virtualização, linhas que continuam visíveis não são renderizadas de novo.
|
|
25
|
+
*/
|
|
26
|
+
render?: (valor: any, item: T, index: number, indiceDados: number) => HTMLElement | string;
|
|
21
27
|
}
|
|
22
28
|
export interface UISortDetail {
|
|
23
29
|
idColuna: string | null;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DensidadeTabela, TabelaColuna, TabelaFetcher, UISortDetail, UIColumnResizeDetail, UIRowScrollOptions, UISelecaoRemovidaDetail, UIFetchErroDetail } from './tipos';
|
|
2
|
+
import { ModoRenderCorpo } from './tabela-corpo';
|
|
2
3
|
import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
3
4
|
export type { DensidadeTabela, TabelaColuna, TabelaFetcher, UISortDetail, UIColumnResizeDetail, UIRowScrollOptions, UISelecaoRemovidaDetail, UIFetchErroDetail };
|
|
4
5
|
export declare class UITabela extends SafeHTMLElement {
|
|
@@ -119,7 +120,11 @@ export declare class UITabela extends SafeHTMLElement {
|
|
|
119
120
|
private handleTecladoCorpo;
|
|
120
121
|
private obterContextoRenderizador;
|
|
121
122
|
private renderHeader;
|
|
122
|
-
|
|
123
|
+
/**
|
|
124
|
+
* Renderiza o corpo. `completo` (padrão) recria as linhas e roda o `render` das colunas de novo;
|
|
125
|
+
* `rolagem` só ajusta a janela virtual e mantém as linhas que continuam visíveis (foco e texto digitado intactos).
|
|
126
|
+
*/
|
|
127
|
+
renderBody(modo?: ModoRenderCorpo): void;
|
|
123
128
|
/**
|
|
124
129
|
* Rola até um item e opcionalmente o seleciona. Aceita ID (pela `chave-id`, depois `id`, `_id`,
|
|
125
130
|
* `codigo`, `key`), predicado ou índice. Um número é procurado primeiro como ID; use
|
|
@@ -24,6 +24,7 @@ export declare function marcarSelectMisto(select: HTMLSelectElement, texto: stri
|
|
|
24
24
|
export declare function focarProximoEditor(shadow: ShadowRoot, atual: HTMLElement): void;
|
|
25
25
|
export declare function focarEditorAnterior(shadow: ShadowRoot, atual: HTMLElement): void;
|
|
26
26
|
export declare function focarPrimeiroEditor(shadow: ShadowRoot): void;
|
|
27
|
+
export declare function sincronizarDomCategorias(shadow: ShadowRoot, categorias: CategoriaPropriedades[], obterCategoriaAberta: (cat: CategoriaPropriedades) => boolean): void;
|
|
27
28
|
export declare function expandirTodasCategorias(shadow: ShadowRoot, categorias: CategoriaPropriedades[]): void;
|
|
28
29
|
export declare function colapsarTodasCategorias(shadow: ShadowRoot, categorias: CategoriaPropriedades[]): void;
|
|
29
|
-
export declare function alternarCategoria(shadow: ShadowRoot, host: HTMLElement, categorias: CategoriaPropriedades[], idCategoria: string):
|
|
30
|
+
export declare function alternarCategoria(shadow: ShadowRoot, host: HTMLElement, categorias: CategoriaPropriedades[], idCategoria: string, estadoAtualOverride?: boolean): boolean | undefined;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { CategoriaPropriedades, EstadoPersistidoPropriedades, UICategoriasEstadoDetail } from './tipos';
|
|
2
|
+
export interface ContextoLembrancaPropriedades {
|
|
3
|
+
persistir: boolean;
|
|
4
|
+
conectado: boolean;
|
|
5
|
+
storageKey: string | null;
|
|
6
|
+
id: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Gera a chave determinística usada no localStorage para uma instância do painel.
|
|
10
|
+
*/
|
|
11
|
+
export declare function gerarChaveStoragePropriedades(storageKey?: string | null, elementId?: string | null): string;
|
|
12
|
+
/**
|
|
13
|
+
* Valida e sanitiza o JSON vindo do storage campo a campo.
|
|
14
|
+
* Entradas inválidas ou com poluição de protótipo são descartadas sem lançar exceção.
|
|
15
|
+
*/
|
|
16
|
+
export declare function normalizarEstadoPersistidoPropriedades(bruto: unknown): EstadoPersistidoPropriedades | null;
|
|
17
|
+
/**
|
|
18
|
+
* Lê o estado persistido do localStorage de forma segura em SSR e ambientes restritos.
|
|
19
|
+
*/
|
|
20
|
+
export declare function carregarEstadoPropriedades(storageKey: string): EstadoPersistidoPropriedades | null;
|
|
21
|
+
/**
|
|
22
|
+
* Grava o estado persistido no localStorage com proteção contra cota excedida e restrições de sandbox.
|
|
23
|
+
*/
|
|
24
|
+
export declare function salvarEstadoPropriedades(storageKey: string, estado: EstadoPersistidoPropriedades): void;
|
|
25
|
+
/**
|
|
26
|
+
* Remove o estado persistido no localStorage sem falhar em ambientes restritos.
|
|
27
|
+
*/
|
|
28
|
+
export declare function limparEstadoPropriedades(storageKey: string): void;
|
|
29
|
+
/** Extrai o identificador normalizado de uma categoria ou devolve `null` se inválido. */
|
|
30
|
+
export declare function idDaCategoria(cat: unknown): string | null;
|
|
31
|
+
/** Estado padrão declarado pelo objeto `CategoriaPropriedades` (`true` quando omitido). */
|
|
32
|
+
export declare function abertoPadraoDaCategoria(cat: CategoriaPropriedades): boolean;
|
|
33
|
+
/** Atualiza `aberto` (e `aberta`, se existir) no objeto da categoria sem quebrar objetos congelados. */
|
|
34
|
+
export declare function sincronizarCampoAberto(cat: CategoriaPropriedades, aberto: boolean): void;
|
|
35
|
+
/**
|
|
36
|
+
* Gerencia o estado lembrado de abertura/fechamento das categorias em memória e no localStorage.
|
|
37
|
+
*/
|
|
38
|
+
export declare class LembrancaCategoriasPropriedades {
|
|
39
|
+
private readonly getContexto;
|
|
40
|
+
private preferencias;
|
|
41
|
+
private origensAberto;
|
|
42
|
+
private ultimaChaveCarregada;
|
|
43
|
+
constructor(getContexto: () => ContextoLembrancaPropriedades);
|
|
44
|
+
chaveAtual(): string;
|
|
45
|
+
/** Carrega preferências do storage. Quando `substituirExistentes` é falso, preserva alterações feitas antes da conexão. */
|
|
46
|
+
carregarDoStorage(substituirExistentes?: boolean): boolean;
|
|
47
|
+
/** Recarrega o estado se `id` ou `storage-key` tiver mudado após a conexão. */
|
|
48
|
+
sincronizarSeChaveMudou(): boolean;
|
|
49
|
+
/** Registra os padrões originais enviados pela aplicação para permitir restauração via `limpar()`. */
|
|
50
|
+
registrarOrigens(categorias: CategoriaPropriedades[]): void;
|
|
51
|
+
/** Aplica sobre os objetos mutáveis de `categorias` as preferências lembradas para cada `id`. */
|
|
52
|
+
aplicarEmCategorias(categorias: CategoriaPropriedades[]): void;
|
|
53
|
+
/** Restaura nos objetos mutáveis os valores iniciais enviados pela aplicação. */
|
|
54
|
+
restaurarOrigensEmCategorias(categorias: CategoriaPropriedades[]): void;
|
|
55
|
+
/** Estado efetivo da categoria considerando preferência lembrada e padrão da própria categoria. */
|
|
56
|
+
estaAberta(cat: CategoriaPropriedades): boolean;
|
|
57
|
+
registrar(idCategoria: string, aberto: boolean, persistirAgora?: boolean): void;
|
|
58
|
+
registrarVarias(entradas: Iterable<[string, boolean]>, persistirAgora?: boolean): void;
|
|
59
|
+
salvar(): void;
|
|
60
|
+
limpar(categoriasAtuais?: CategoriaPropriedades[]): void;
|
|
61
|
+
obterEstado(categoriasAtuais: CategoriaPropriedades[]): Record<string, boolean>;
|
|
62
|
+
montarDetalheEvento(categoriasAtuais: CategoriaPropriedades[]): UICategoriasEstadoDetail;
|
|
63
|
+
}
|
|
@@ -16,6 +16,7 @@ export interface OpcoesRenderArvore {
|
|
|
16
16
|
categorias: CategoriaPropriedades[];
|
|
17
17
|
termoBusca: string;
|
|
18
18
|
onToggleCategoria: (idCategoria: string) => void;
|
|
19
|
+
obterCategoriaAberta?: (categoria: CategoriaPropriedades) => boolean;
|
|
19
20
|
linhaCtx: ContextoLinhaPropriedade;
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
@@ -71,3 +71,19 @@ export interface ContextoEditorPropriedade {
|
|
|
71
71
|
/** Texto exibido para valores mistos (atributo `texto-misto`); padrão "Varia". */
|
|
72
72
|
obterTextoMisto?: () => string;
|
|
73
73
|
}
|
|
74
|
+
export interface EstadoPersistidoPropriedades {
|
|
75
|
+
versao: number;
|
|
76
|
+
/** Mapa `categoriaId -> aberto` das preferências de expansão salvas. */
|
|
77
|
+
categorias: Record<string, boolean>;
|
|
78
|
+
ultimaAtualizacao?: number;
|
|
79
|
+
}
|
|
80
|
+
export interface UICategoriasEstadoDetail {
|
|
81
|
+
/** Mapa `categoriaId -> aberto` das categorias atuais e lembradas. */
|
|
82
|
+
estado: Record<string, boolean>;
|
|
83
|
+
abertas: string[];
|
|
84
|
+
fechadas: string[];
|
|
85
|
+
}
|
|
86
|
+
export interface DefinirEstadoCategoriasOpcoes {
|
|
87
|
+
persistir?: boolean;
|
|
88
|
+
emitirEvento?: boolean;
|
|
89
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CategoriaPropriedades, SeletorTipoItem } from './tipos';
|
|
1
|
+
import { CategoriaPropriedades, SeletorTipoItem, DefinirEstadoCategoriasOpcoes } from './tipos';
|
|
2
2
|
import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
3
3
|
export * from './tipos';
|
|
4
4
|
export { avaliarExpressaoMatematica } from './avaliador-expressao';
|
|
@@ -9,16 +9,20 @@ export * from './propriedades-render-arvore';
|
|
|
9
9
|
export * from './propriedades-gerenciador-valores';
|
|
10
10
|
export * from './propriedades-painel-controles';
|
|
11
11
|
export * from './propriedades-dom-utils';
|
|
12
|
+
export * from './propriedades-persistencia';
|
|
12
13
|
export * from './propriedades-flutuante';
|
|
13
14
|
export * from './propriedades-densidade';
|
|
14
15
|
export * from './propriedades-valor-misto';
|
|
15
16
|
export declare class UITabelaPropriedades extends SafeHTMLElement {
|
|
17
|
+
private static instanciasChavePadrao;
|
|
16
18
|
static get observedAttributes(): string[];
|
|
17
19
|
private shadow;
|
|
18
20
|
private listeners;
|
|
19
21
|
private splitterListeners;
|
|
20
22
|
private controladorSplitter;
|
|
21
23
|
private gerenciadorValores;
|
|
24
|
+
private _conectado;
|
|
25
|
+
private readonly lembranca;
|
|
22
26
|
private _categorias;
|
|
23
27
|
private _tipos;
|
|
24
28
|
private _tipoSelecionadoId;
|
|
@@ -53,6 +57,18 @@ export declare class UITabelaPropriedades extends SafeHTMLElement {
|
|
|
53
57
|
set larguraRotulo(pct: number);
|
|
54
58
|
get fechavel(): boolean;
|
|
55
59
|
set fechavel(val: boolean);
|
|
60
|
+
/**
|
|
61
|
+
* Habilita a persistência das abas/categorias abertas no `localStorage`.
|
|
62
|
+
* Ativo por padrão (`true`); defina `persistir="false"` para manter apenas em memória.
|
|
63
|
+
*/
|
|
64
|
+
get persistir(): boolean;
|
|
65
|
+
set persistir(val: boolean);
|
|
66
|
+
/**
|
|
67
|
+
* Chave customizada de armazenamento no `localStorage` (`storage-key`).
|
|
68
|
+
* Quando omitida, usa o atributo `id` do componente ou `'default'`.
|
|
69
|
+
*/
|
|
70
|
+
get storageKey(): string | null;
|
|
71
|
+
set storageKey(val: string | null);
|
|
56
72
|
get categorias(): CategoriaPropriedades[];
|
|
57
73
|
set categorias(novasCategorias: CategoriaPropriedades[]);
|
|
58
74
|
/**
|
|
@@ -82,6 +98,26 @@ export declare class UITabelaPropriedades extends SafeHTMLElement {
|
|
|
82
98
|
expandirTudo(): void;
|
|
83
99
|
colapsarTudo(): void;
|
|
84
100
|
toggleCategoria(idCategoria: string): void;
|
|
101
|
+
/**
|
|
102
|
+
* Retorna a chave completa de armazenamento utilizada por esta instância no `localStorage`.
|
|
103
|
+
*/
|
|
104
|
+
obterChaveStorageAtual(): string;
|
|
105
|
+
/**
|
|
106
|
+
* Retorna um mapa `{ categoriaId: aberto }` refletindo as abas atualmente lembradas e visíveis.
|
|
107
|
+
*/
|
|
108
|
+
obterEstadoCategorias(): Record<string, boolean>;
|
|
109
|
+
/**
|
|
110
|
+
* Define programaticamente o estado aberto/fechado de um conjunto de categorias.
|
|
111
|
+
*/
|
|
112
|
+
definirEstadoCategorias(estado: Record<string, boolean>, opcoes?: DefinirEstadoCategoriasOpcoes): void;
|
|
113
|
+
/**
|
|
114
|
+
* Remove as preferências lembradas em memória e no `localStorage`, restaurando o padrão das categorias.
|
|
115
|
+
*/
|
|
116
|
+
limparEstadoCategorias(): void;
|
|
117
|
+
/**
|
|
118
|
+
* Alias compatível com `<ui-camadas>` para limpar a memória persistida das categorias.
|
|
119
|
+
*/
|
|
120
|
+
limparLembranca(): void;
|
|
85
121
|
get densidade(): 'padrao' | 'compacta' | 'ultracompacta' | 'relaxada';
|
|
86
122
|
set densidade(val: 'padrao' | 'compacta' | 'ultracompacta' | 'relaxada');
|
|
87
123
|
alternarDensidade(): string;
|
|
@@ -93,6 +129,9 @@ export declare class UITabelaPropriedades extends SafeHTMLElement {
|
|
|
93
129
|
alternarColapsoHorizontal(): boolean;
|
|
94
130
|
private syncState;
|
|
95
131
|
private toggleExpandirTodas;
|
|
132
|
+
private atualizarRegistroChavePadrao;
|
|
133
|
+
private atualizarVisaoCategorias;
|
|
134
|
+
private emitirEstadoCategorias;
|
|
96
135
|
private renderSeletorTipos;
|
|
97
136
|
private renderCategorias;
|
|
98
137
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilitários puros (Camada L1) para resolução e sanitização de degradês internos.
|
|
3
|
+
* Não depende de DOM no nível de módulo (100% SSR-safe).
|
|
4
|
+
*/
|
|
5
|
+
/** Atributos aceitos nos hosts de Web Components para ativar/customizar degradê interno. */
|
|
6
|
+
export declare const ATRIBUTOS_DEGRADE: readonly ["degrade", "gradiente", "gradient"];
|
|
7
|
+
/** Classes utilitárias contextuais aceitas para ativação de degradê. */
|
|
8
|
+
export declare const CLASSES_DEGRADE: readonly ["degrade", "ui-degrade", "gradiente", "ui-gradiente"];
|
|
9
|
+
/** Mapa de presets semânticos de degradê para tokens do sistema de design ($L_0$). */
|
|
10
|
+
export declare const PRESETS_DEGRADE: Readonly<Record<string, string>>;
|
|
11
|
+
/** Verifica se o nome de atributo pertence aos aliases de degradê. */
|
|
12
|
+
export declare function ehAtributoDegrade(nome: string): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Valida e normaliza uma expressão CSS de degradê contra XSS, CSS injection e sintaxe quebrada.
|
|
15
|
+
* Aceita gradientes CSS nativos (lineares, radiais, cônicos, repetidos e em camadas) ou `var(--token)`.
|
|
16
|
+
*/
|
|
17
|
+
export declare function gradienteSeguro(valor: string): string | null;
|
|
18
|
+
export interface ResultadoDegrade {
|
|
19
|
+
/** Indica se o componente deve entrar no modo visual de degradê. */
|
|
20
|
+
ativo: boolean;
|
|
21
|
+
/** Token CSS ou gradiente explícito quando especificado; `null` para modo booleano padrão. */
|
|
22
|
+
explicito: string | null;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Resolve o valor bruto dos atributos `degrade` / `gradiente` / `gradient` em estado e valor CSS seguro.
|
|
26
|
+
*/
|
|
27
|
+
export declare function resolverDegrade(valor: string | null | undefined, presetPadrao?: string): ResultadoDegrade;
|
|
28
|
+
/** Lê o primeiro atributo de degradê presente no host (`degrade`, `gradiente` ou `gradient`). */
|
|
29
|
+
export declare function obterValorAtributoDegrade(host: Element): string | null;
|
|
30
|
+
/**
|
|
31
|
+
* Sincroniza o estado interno de degradê entre atributos do host e o elemento-alvo no Shadow DOM.
|
|
32
|
+
* Retorna `true` quando algum modo de degradê (atributo ou classe utilitária no host) está ativo.
|
|
33
|
+
*/
|
|
34
|
+
export declare function aplicarDegradeNoElemento(host: Element, alvoInterno: HTMLElement | null, presetExplicitoPadrao?: string): boolean;
|
package/dist/core/index.d.ts
CHANGED
package/dist/core.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./ui-bus-XqBLlTYQ.cjs"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./ui-bus-XqBLlTYQ.cjs"),t=require("./zero-js-triggers-CgM9IIQB.cjs"),u=require("./listener-bag-D5omxZ9h.cjs"),i=require("./leaflet-loader-94z5VsdY.cjs"),o=require("./ssr-safe-CiHD1adl.cjs"),l=require("./form-validacao-DIeyQVH5.cjs"),a=require("./acessibilidade-CSzX-DkG.cjs"),e=require("./altura-controle-ukMRPckR.cjs"),s=require("./svg-seguro-J2RM1Ssf.cjs"),r=require("./degrade-CIxvOTUv.cjs");typeof document<"u"&&t.initZeroJSTriggers();exports.UIBus=n.UIBus;exports.initZeroJSTriggers=t.initZeroJSTriggers;exports.ListenerBag=u.ListenerBag;exports.carregarLeaflet=i.carregarLeaflet;exports.obterLeafletSincrono=i.obterLeafletSincrono;exports.SafeHTMLElement=o.SafeHTMLElement;exports.definirCustomElement=o.definirCustomElement;exports.isBrowser=o.isBrowser;exports.aplicarValidadeInternals=l.aplicarValidadeInternals;exports.validarRestricoesCampoTexto=l.validarRestricoesCampoTexto;exports.cliqueVeioDeRotuloExterno=a.cliqueVeioDeRotuloExterno;exports.gerarIdUnico=a.gerarIdUnico;exports.obterRotuloExterno=a.obterRotuloExterno;exports.TAMANHOS_CONTROLE=e.TAMANHOS_CONTROLE;exports.VARIAVEL_ALTURA_CONTROLE=e.VARIAVEL_ALTURA_CONTROLE;exports.alturaDoTamanho=e.alturaDoTamanho;exports.aplicarAlturaControle=e.aplicarAlturaControle;exports.lerEntradaAltura=e.lerEntradaAltura;exports.normalizarAltura=e.normalizarAltura;exports.normalizarTamanhoControle=e.normalizarTamanhoControle;exports.resolverAlturaControle=e.resolverAlturaControle;exports.higienizarSvg=s.higienizarSvg;exports.ATRIBUTOS_DEGRADE=r.ATRIBUTOS_DEGRADE;exports.CLASSES_DEGRADE=r.CLASSES_DEGRADE;exports.PRESETS_DEGRADE=r.PRESETS_DEGRADE;exports.aplicarDegradeNoElemento=r.aplicarDegradeNoElemento;exports.ehAtributoDegrade=r.ehAtributoDegrade;exports.gradienteSeguro=r.gradienteSeguro;exports.obterValorAtributoDegrade=r.obterValorAtributoDegrade;exports.resolverDegrade=r.resolverDegrade;
|
package/dist/core.js
CHANGED
|
@@ -1,34 +1,43 @@
|
|
|
1
1
|
import { U as t } from "./ui-bus-CUd99VJi.js";
|
|
2
|
-
import { i as
|
|
2
|
+
import { i as a } from "./zero-js-triggers-CJT988bR.js";
|
|
3
3
|
import { L as i } from "./listener-bag-DQgv7OON.js";
|
|
4
4
|
import { c as n, o as m } from "./leaflet-loader-Cjcdgj5R.js";
|
|
5
|
-
import { S as
|
|
6
|
-
import { a as
|
|
7
|
-
import { c as
|
|
8
|
-
import { T as R, V as
|
|
9
|
-
import { h as
|
|
10
|
-
|
|
5
|
+
import { S as E, d as f, i as p } from "./ssr-safe-5cWfJP-s.js";
|
|
6
|
+
import { a as g, v as u } from "./form-validacao-BlQFxUVj.js";
|
|
7
|
+
import { c as S, g as T, o as c } from "./acessibilidade-CUlSXc2X.js";
|
|
8
|
+
import { T as R, V as L, a as C, b, l as O, n as V, c as _, r as h } from "./altura-controle-vxQiXG4q.js";
|
|
9
|
+
import { h as I } from "./svg-seguro-ChVJ2L2z.js";
|
|
10
|
+
import { A as B, C as N, P as z, a as G, e as H, g as M, o as P, r as q } from "./degrade-gDa5sW__.js";
|
|
11
|
+
typeof document < "u" && a();
|
|
11
12
|
export {
|
|
13
|
+
B as ATRIBUTOS_DEGRADE,
|
|
14
|
+
N as CLASSES_DEGRADE,
|
|
12
15
|
i as ListenerBag,
|
|
13
|
-
|
|
16
|
+
z as PRESETS_DEGRADE,
|
|
17
|
+
E as SafeHTMLElement,
|
|
14
18
|
R as TAMANHOS_CONTROLE,
|
|
15
19
|
t as UIBus,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
L as VARIAVEL_ALTURA_CONTROLE,
|
|
21
|
+
C as alturaDoTamanho,
|
|
22
|
+
b as aplicarAlturaControle,
|
|
23
|
+
G as aplicarDegradeNoElemento,
|
|
24
|
+
g as aplicarValidadeInternals,
|
|
20
25
|
n as carregarLeaflet,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
S as cliqueVeioDeRotuloExterno,
|
|
27
|
+
f as definirCustomElement,
|
|
28
|
+
H as ehAtributoDegrade,
|
|
29
|
+
T as gerarIdUnico,
|
|
30
|
+
M as gradienteSeguro,
|
|
31
|
+
I as higienizarSvg,
|
|
32
|
+
a as initZeroJSTriggers,
|
|
33
|
+
p as isBrowser,
|
|
34
|
+
O as lerEntradaAltura,
|
|
35
|
+
V as normalizarAltura,
|
|
36
|
+
_ as normalizarTamanhoControle,
|
|
30
37
|
m as obterLeafletSincrono,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
38
|
+
c as obterRotuloExterno,
|
|
39
|
+
P as obterValorAtributoDegrade,
|
|
40
|
+
h as resolverAlturaControle,
|
|
41
|
+
q as resolverDegrade,
|
|
42
|
+
u as validarRestricoesCampoTexto
|
|
34
43
|
};
|
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-DPKqf5wb.cjs"),e=require("./ui-controle-cores-
|
|
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-Bq_XUrIQ.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
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-
|
|
3
|
+
import { U } from "./ui-controle-cores-BtA6yzu3.js";
|
|
4
4
|
export {
|
|
5
5
|
s as PALETA_CORES_PADRAO,
|
|
6
6
|
U as UIControleCores,
|