@thibezer/ui-components-kit 2.9.0 → 2.10.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 (99) hide show
  1. package/CHANGELOG.md +138 -0
  2. package/README.md +7 -4
  3. package/dist/camadas.cjs +53 -55
  4. package/dist/camadas.js +254 -242
  5. package/dist/campo-texto.cjs +1 -1
  6. package/dist/campo-texto.js +1 -1
  7. package/dist/canvas.cjs +73 -72
  8. package/dist/canvas.js +3212 -2690
  9. package/dist/card.cjs +1 -1
  10. package/dist/card.js +1 -1
  11. package/dist/components/ui-area-texto/area-texto-altura.d.ts +16 -0
  12. package/dist/components/ui-area-texto/area-texto-contador.d.ts +6 -0
  13. package/dist/components/ui-area-texto/area-texto-template.d.ts +2 -0
  14. package/dist/components/ui-area-texto/index.d.ts +3 -0
  15. package/dist/components/ui-area-texto/tipos.d.ts +19 -0
  16. package/dist/components/ui-area-texto/ui-area-texto.d.ts +100 -0
  17. package/dist/components/ui-campo-texto/campo-texto-estados.d.ts +5 -1
  18. package/dist/components/ui-campo-texto/ui-campo-texto.d.ts +1 -0
  19. package/dist/components/ui-canvas-cad/cad-acessibilidade.d.ts +7 -1
  20. package/dist/components/ui-canvas-cad/cad-feicoes-edicao.d.ts +13 -0
  21. package/dist/components/ui-canvas-cad/cad-feicoes-ponteiro.d.ts +8 -2
  22. package/dist/components/ui-canvas-cad/cad-feicoes-teclado.d.ts +19 -0
  23. package/dist/components/ui-canvas-cad/cad-feicoes-tipos.d.ts +1 -1
  24. package/dist/components/ui-canvas-cad/cad-feicoes.d.ts +12 -1
  25. package/dist/components/ui-canvas-cad/cad-ferramentas-barra.d.ts +8 -1
  26. package/dist/components/ui-canvas-cad/cad-recusas.d.ts +6 -0
  27. package/dist/components/ui-canvas-cad/cad-snap.d.ts +2 -0
  28. package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +7 -0
  29. package/dist/components/ui-card/card-interacao.d.ts +17 -0
  30. package/dist/components/ui-card/card-secoes.d.ts +10 -0
  31. package/dist/components/ui-card/ui-card.d.ts +23 -0
  32. package/dist/components/ui-cores/cores-utils.d.ts +2 -0
  33. package/dist/components/ui-cores/tipos.d.ts +9 -2
  34. package/dist/components/ui-cores/ui-controle-cores.d.ts +9 -4
  35. package/dist/components/ui-cores/ui-seletor-cor.d.ts +12 -9
  36. package/dist/components/ui-tabela-propriedades/editores-basicos.d.ts +1 -1
  37. package/dist/components/ui-tabela-propriedades/propriedades-dom-utils.d.ts +5 -0
  38. package/dist/components/ui-tabela-propriedades/propriedades-gerenciador-valores.d.ts +3 -3
  39. package/dist/components/ui-tabela-propriedades/propriedades-valor-misto.d.ts +25 -0
  40. package/dist/components/ui-tabela-propriedades/tipos.d.ts +5 -0
  41. package/dist/components/ui-tabela-propriedades/ui-tabela-propriedades.d.ts +7 -0
  42. package/dist/components/ui-texto/ui-texto.d.ts +16 -0
  43. package/dist/core/alvo-digitavel.d.ts +5 -0
  44. package/dist/core/opcoes.d.ts +7 -0
  45. package/dist/cores.cjs +1 -1
  46. package/dist/cores.js +11 -9
  47. package/dist/custom-elements.json +16677 -13587
  48. package/dist/data.cjs +1 -1
  49. package/dist/data.js +72 -64
  50. package/dist/forms.cjs +1 -1
  51. package/dist/forms.d.ts +4 -0
  52. package/dist/forms.js +15 -12
  53. package/dist/gerencigeo-canvas/canvas_interacao.d.ts +2 -0
  54. package/dist/gerencigeo-canvas/feature_desenho.d.ts +15 -1
  55. package/dist/gerencigeo-canvas/feature_desenho_controle.d.ts +6 -0
  56. package/dist/gerencigeo-canvas/feature_edicao_ops.d.ts +9 -0
  57. package/dist/gerencigeo-canvas/feature_editor_vertices.d.ts +64 -6
  58. package/dist/gerencigeo-canvas/mapa_core.d.ts +4 -0
  59. package/dist/gerencigeo-canvas/popup_residual.d.ts +5 -0
  60. package/dist/index.cjs +1 -1
  61. package/dist/index.d.ts +4 -0
  62. package/dist/index.js +204 -191
  63. package/dist/{motor-CFI84lM2.js → motor-BKT2eStP.js} +3 -3
  64. package/dist/motor.js +1 -1
  65. package/dist/opcoes-CupvWVIm.js +24 -0
  66. package/dist/opcoes-vdAUY5OI.cjs +1 -0
  67. package/dist/register.cjs +1 -1
  68. package/dist/register.js +10 -9
  69. package/dist/tabela.cjs +1 -1
  70. package/dist/tabela.js +66 -58
  71. package/dist/tipos-elementos.d.ts +78 -0
  72. package/dist/tipos-react.d.ts +4 -0
  73. package/dist/tipos-vue.d.ts +76 -0
  74. package/dist/{ui-badge-BWhoGgo9.js → ui-badge-B5J_c5P5.js} +1 -1
  75. package/dist/{ui-badge-SIR81R9l.cjs → ui-badge-DC4y6Dik.cjs} +1 -1
  76. package/dist/{ui-campo-texto-B_OHVGiN.js → ui-campo-texto-19tIrmBK.js} +91 -93
  77. package/dist/ui-campo-texto-CH8mzX61.cjs +16 -0
  78. package/dist/ui-card-0wu4rjEX.cjs +20 -0
  79. package/dist/ui-card-DRtpOo3l.js +143 -0
  80. package/dist/ui-controle-cores-CohlwXJK.cjs +32 -0
  81. package/dist/ui-controle-cores-DMtTUtLk.js +292 -0
  82. package/dist/{ui-linha-BYAX4W6x.cjs → ui-linha-C306zxWG.cjs} +6 -6
  83. package/dist/{ui-linha-aqLlaYi7.js → ui-linha-C_azWkcG.js} +103 -99
  84. package/dist/ui-seletor-cor-D9iI7yew.js +413 -0
  85. package/dist/ui-seletor-cor-Ft06TEUH.cjs +110 -0
  86. package/dist/{ui-switch-DO1R0Ce7.js → ui-switch-BL-x_-SM.js} +460 -173
  87. package/dist/ui-switch-C0i_3QXu.cjs +66 -0
  88. package/dist/ui-tabela-propriedades-B8AwlpqL.cjs +141 -0
  89. package/dist/{ui-tabela-propriedades-DoL4SE0r.js → ui-tabela-propriedades-DuaC4sFX.js} +1295 -1195
  90. package/package.json +1 -1
  91. package/dist/opcoes-CJYLi6kd.js +0 -12
  92. package/dist/opcoes-CkyDxBuQ.cjs +0 -1
  93. package/dist/ui-campo-texto-DauJCde3.cjs +0 -16
  94. package/dist/ui-card-BNYCQ7g-.js +0 -119
  95. package/dist/ui-card-BrjBL-yo.cjs +0 -20
  96. package/dist/ui-controle-cores-DgEza3wF.js +0 -612
  97. package/dist/ui-controle-cores-uY__TgwW.cjs +0 -117
  98. package/dist/ui-switch-D9a8XlVX.cjs +0 -53
  99. package/dist/ui-tabela-propriedades-CjK2gG14.cjs +0 -141
@@ -16,6 +16,11 @@ export declare function atualizarCampoVisual(shadow: ShadowRoot, propId: string,
16
16
  * (`data-externa`) em vez de o select exibir a primeira opção como se fosse o valor real.
17
17
  */
18
18
  export declare function sincronizarSelect(select: HTMLSelectElement, valor: any, corresponde?: (opcao: string, valor: any) => boolean, rotuloExterno?: (valor: any) => string): void;
19
+ /**
20
+ * Exibe o estado misto ("Varia") no select: opção oculta e desabilitada, que o usuário não
21
+ * consegue escolher; qualquer outra opção vira o valor de todos os objetos.
22
+ */
23
+ export declare function marcarSelectMisto(select: HTMLSelectElement, texto: string): void;
19
24
  export declare function focarProximoEditor(shadow: ShadowRoot, atual: HTMLElement): void;
20
25
  export declare function expandirTodasCategorias(shadow: ShadowRoot, categorias: CategoriaPropriedades[]): void;
21
26
  export declare function colapsarTodasCategorias(shadow: ShadowRoot, categorias: CategoriaPropriedades[]): void;
@@ -1,4 +1,6 @@
1
1
  import { CategoriaPropriedades } from './tipos';
2
+ import { valoresIguais } from './propriedades-valor-misto';
3
+ export { valoresIguais };
2
4
  export interface ContextoGerenciadorValores {
3
5
  hostElement: HTMLElement;
4
6
  getCategorias: () => CategoriaPropriedades[];
@@ -7,8 +9,6 @@ export interface ContextoGerenciadorValores {
7
9
  onRenderCategorias: () => void;
8
10
  isModoManual: () => boolean;
9
11
  }
10
- /** Igualdade de valores de propriedade: estrita, com null/undefined equivalentes e NaN igual a NaN. */
11
- export declare function valoresIguais(a: any, b: any): boolean;
12
12
  export declare class GerenciadorValoresPropriedades {
13
13
  private ctx;
14
14
  private valoresOriginais;
@@ -28,7 +28,7 @@ export declare class GerenciadorValoresPropriedades {
28
28
  registrarAlteracao(categoriaId: string, propId: string, novoValor: any): void;
29
29
  aplicar(): void;
30
30
  desfazer(): void;
31
- /** Marca/desmarca a linha e recalcula os botões do rodapé (voltar ao original limpa o estado). */
31
+ /** Marca/desmarca a linha (modificada e mista) e recalcula os botões do rodapé (voltar ao original limpa o estado). */
32
32
  private aposAlterar;
33
33
  private categoriaDe;
34
34
  private emitirAlteracao;
@@ -0,0 +1,25 @@
1
+ import { ContextoEditorPropriedade, ItemPropriedade } from './tipos';
2
+ /**
3
+ * Valor de uma propriedade que difere entre os objetos selecionados. `Symbol.for` mantém a
4
+ * identidade mesmo com duas cópias do pacote carregadas.
5
+ */
6
+ export declare const VALOR_MISTO: unique symbol;
7
+ /** Texto exibido no lugar do valor misto quando a aplicação não define `texto-misto`. */
8
+ export declare const TEXTO_MISTO_PADRAO = "Varia";
9
+ export declare function isValorMisto(valor: unknown): valor is typeof VALOR_MISTO;
10
+ /** Texto do estado misto definido pela aplicação, com fallback para "Varia". */
11
+ export declare function textoMistoDe(ctx: Pick<ContextoEditorPropriedade, 'obterTextoMisto'>): string;
12
+ /** Igualdade de valores de propriedade: estrita, com null/undefined equivalentes e NaN igual a NaN. */
13
+ export declare function valoresIguais(a: any, b: any): boolean;
14
+ /** Valor inicial de um item: `misto: true` tem precedência sobre `valor`. */
15
+ export declare function valorInicialDaPropriedade(prop: ItemPropriedade): any;
16
+ /**
17
+ * Valor comum a todos os itens, ou `VALOR_MISTO` se algum diferir. Lista vazia → `undefined`.
18
+ */
19
+ export declare function valorComum(valores: readonly unknown[]): any;
20
+ /**
21
+ * Combina as propriedades dos objetos selecionados: cada chave recebe o valor comum ou
22
+ * `VALOR_MISTO`. Chave ausente em algum objeto conta como valor diferente.
23
+ * Uso: `painel.valores = combinarValores(formas.map(f => f.propriedades))`.
24
+ */
25
+ export declare function combinarValores(registros: readonly unknown[]): Record<string, any>;
@@ -10,7 +10,10 @@ export interface ItemPropriedade {
10
10
  id: string;
11
11
  rotulo: string;
12
12
  tipo: TipoPropriedade;
13
+ /** Valor atual; `VALOR_MISTO` quando difere entre os objetos selecionados (exibe "Varia"). */
13
14
  valor: any;
15
+ /** Atalho para `valor: VALOR_MISTO`: a propriedade difere entre os objetos selecionados. */
16
+ misto?: boolean;
14
17
  unidade?: string;
15
18
  casasDecimais?: number;
16
19
  opcoes?: OpcaoPropriedade[];
@@ -45,4 +48,6 @@ export interface ContextoEditorPropriedade {
45
48
  registrarAlteracao: (categoriaId: string, propId: string, novoValor: any) => void;
46
49
  focarProximoEditor: (elementoAtual: HTMLElement) => void;
47
50
  despacharEventoAcao: (prop: ItemPropriedade, categoriaId: string) => void;
51
+ /** Texto exibido para valores mistos (atributo `texto-misto`); padrão "Varia". */
52
+ obterTextoMisto?: () => string;
48
53
  }
@@ -11,6 +11,7 @@ export * from './propriedades-painel-controles';
11
11
  export * from './propriedades-dom-utils';
12
12
  export * from './propriedades-flutuante';
13
13
  export * from './propriedades-densidade';
14
+ export * from './propriedades-valor-misto';
14
15
  export declare class UITabelaPropriedades extends SafeHTMLElement {
15
16
  static get observedAttributes(): string[];
16
17
  private shadow;
@@ -39,6 +40,12 @@ export declare class UITabelaPropriedades extends SafeHTMLElement {
39
40
  attributeChangedCallback(name: string, oldVal: string | null, newVal: string | null): void;
40
41
  get categorias(): CategoriaPropriedades[];
41
42
  set categorias(novasCategorias: CategoriaPropriedades[]);
43
+ /**
44
+ * Texto exibido nas propriedades cujo valor difere entre os objetos selecionados
45
+ * (`VALOR_MISTO`). Reflete o atributo `texto-misto`; padrão "Varia".
46
+ */
47
+ get textoMisto(): string;
48
+ set textoMisto(texto: string);
42
49
  get tipos(): SeletorTipoItem[];
43
50
  set tipos(novosTipos: SeletorTipoItem[]);
44
51
  get tipoSelecionado(): string;
@@ -3,6 +3,22 @@ export type VarianteTexto = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'corpo' |
3
3
  export type CorTexto = 'primaria' | 'secundaria' | 'destaque' | 'erro' | 'sucesso' | 'alerta';
4
4
  export type PesoTexto = 'normal' | 'medio' | 'seminegrito' | 'negrito';
5
5
  export type AlinhamentoTexto = 'esquerda' | 'centro' | 'direita' | 'justificado';
6
+ /**
7
+ * Tipografia semântica do kit. Texto longo: `linhas` limita o bloco a N linhas com reticências
8
+ * e o conteúdo quebra palavras muito compridas em vez de estourar o contêiner.
9
+ *
10
+ * @element ui-texto
11
+ *
12
+ * @attr {string} variante - `h1`–`h6`, `corpo` (padrão), `corpo-sm`, `caption`, `codigo`.
13
+ * @attr {string} tag - Tag semântica do elemento interno (somente tags de texto permitidas).
14
+ * @attr {string} cor - `primaria`, `secundaria`, `destaque`, `erro`, `sucesso`, `alerta`.
15
+ * @attr {string} peso - `normal`, `medio`, `seminegrito`, `negrito`.
16
+ * @attr {string} alinhamento - `esquerda`, `centro`, `direita`, `justificado`.
17
+ * @attr {boolean} truncar - Uma linha com reticências.
18
+ * @attr {number} linhas - Limita a N linhas (1–50) com reticências; `truncar` tem prioridade.
19
+ *
20
+ * @csspart base - O elemento de texto interno.
21
+ */
6
22
  export declare class UITexto extends SafeHTMLElement {
7
23
  static get observedAttributes(): string[];
8
24
  private container;
@@ -1 +1,6 @@
1
+ /**
2
+ * O alvo real do evento (atravessando shadow roots) é um botão, link ou outro controle acionável?
3
+ * Serve para atalhos globais de Enter: com o foco num botão, o Enter pertence ao botão.
4
+ */
5
+ export declare function focoEmControleAcionavel(evento: Event): boolean;
1
6
  export declare function focoEmCampoDeTexto(evento?: Event): boolean;
@@ -7,3 +7,10 @@
7
7
  export declare function escolherOpcao<T extends string>(valor: string | null | undefined, permitidas: readonly T[], padrao: T): T;
8
8
  /** Como `escolherOpcao`, mas devolve `null` quando o valor não é reconhecido (opção opcional). */
9
9
  export declare function escolherOpcaoOpcional<T extends string>(valor: string | null | undefined, permitidas: readonly T[]): T | null;
10
+ /**
11
+ * Converte um atributo numérico (hostil por definição) num inteiro dentro de [minimo, maximo].
12
+ * Texto vazio, não numérico, `NaN` ou `Infinity` devolvem `padrao`; valores fora da faixa são limitados.
13
+ */
14
+ export declare function escolherInteiro(valor: string | number | null | undefined, minimo: number, maximo: number, padrao: number): number;
15
+ /** Inteiro >= `minimo` ou `null` quando ausente/inválido (para limites opcionais como `maxlength`). */
16
+ export declare function inteiroOuNulo(valor: string | null | undefined, minimo?: number): number | null;
package/dist/cores.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const r=require("./ui-controle-cores-uY__TgwW.cjs");exports.PALETA_CORES_PADRAO=r.PALETA_CORES_PADRAO;exports.UIControleCores=r.UIControleCores;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.normalizarOpacidade=r.normalizarOpacidade;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const r=require("./ui-seletor-cor-Ft06TEUH.cjs"),e=require("./ui-controle-cores-CohlwXJK.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,13 +1,15 @@
1
1
  /* empty css */
2
- import { P as e, U as s, a as l, b as t, c as C, e as c, f as i, n as m, d as n } from "./ui-controle-cores-DgEza3wF.js";
2
+ import { P as s, U as e, a as l, c as t, e as i, f as m, n as C, b as c, d as n } from "./ui-seletor-cor-D9iI7yew.js";
3
+ import { U } from "./ui-controle-cores-DMtTUtLk.js";
3
4
  export {
4
- e as PALETA_CORES_PADRAO,
5
- s as UIControleCores,
6
- l as UISeletorCor,
7
- t as abrirSeletorCor,
8
- C as coresUnicas,
9
- c as escaparHtml,
10
- i as fecharSeletorCor,
11
- m as normalizarCor,
5
+ s as PALETA_CORES_PADRAO,
6
+ U as UIControleCores,
7
+ e as UISeletorCor,
8
+ l as abrirSeletorCor,
9
+ t as coresUnicas,
10
+ i as escaparHtml,
11
+ m as fecharSeletorCor,
12
+ C as normalizarCor,
13
+ c as normalizarEspessura,
12
14
  n as normalizarOpacidade
13
15
  };