@thibezer/ui-components-kit 2.7.0 → 2.8.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 +265 -253
- package/README.md +815 -791
- package/dist/altura-controle-ukMRPckR.cjs +1 -0
- package/dist/altura-controle-vxQiXG4q.js +62 -0
- package/dist/botao.cjs +1 -1
- package/dist/botao.js +1 -1
- package/dist/campo-texto.cjs +1 -1
- package/dist/campo-texto.js +1 -1
- package/dist/components/ui-linha/index.d.ts +1 -0
- package/dist/components/ui-linha/ui-linha.d.ts +48 -0
- package/dist/core/altura-controle.d.ts +34 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core.cjs +1 -1
- package/dist/core.js +29 -20
- package/dist/custom-elements.json +13437 -12980
- package/dist/data.cjs +1 -1
- package/dist/data.js +1 -1
- package/dist/forms.cjs +1 -1
- package/dist/forms.js +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +179 -178
- package/dist/register.cjs +1 -1
- package/dist/register.js +5 -5
- package/dist/tipos-elementos.d.ts +25 -0
- package/dist/tipos-react.d.ts +2 -0
- package/dist/tipos-vue.d.ts +24 -0
- package/dist/{ui-badge-ChiiiO1r.js → ui-badge-BWhoGgo9.js} +4 -4
- package/dist/{ui-badge-DUCxyAG6.cjs → ui-badge-SIR81R9l.cjs} +3 -3
- package/dist/ui-botao-D24oXySA.cjs +12 -0
- package/dist/ui-botao-Dsj08jjw.js +165 -0
- package/dist/{ui-campo-texto-Uu2dJE_0.js → ui-campo-texto-B_OHVGiN.js} +51 -51
- package/dist/ui-campo-texto-DauJCde3.cjs +16 -0
- package/dist/ui-kit.css +1 -1
- package/dist/ui-linha-C6HBnsaw.cjs +19 -0
- package/dist/{ui-segmented-kbO1BLVs.js → ui-linha-nCDh2wPm.js} +162 -94
- package/dist/{ui-switch-BX6U5Ykm.cjs → ui-switch-D9a8XlVX.cjs} +9 -9
- package/dist/{ui-switch-DO5jR0hy.js → ui-switch-DO1R0Ce7.js} +55 -55
- package/package.json +2 -2
- package/dist/form-validacao-BIOXxt-1.js +0 -140
- package/dist/form-validacao-ytRYSF3E.cjs +0 -1
- package/dist/ui-badge-BxT-sDmV.cjs +0 -28
- package/dist/ui-badge-C0eKBI8E.js +0 -183
- package/dist/ui-botao-BOOnP8ds.cjs +0 -12
- package/dist/ui-botao-DfqSivHl.js +0 -165
- package/dist/ui-campo-texto-CHTfMO-H.cjs +0 -16
- package/dist/ui-campo-texto-Cnn2UAkS.cjs +0 -16
- package/dist/ui-campo-texto-gum_jDdI.js +0 -380
- package/dist/ui-card-B86lJXTP.cjs +0 -20
- package/dist/ui-card-C_o5_0cB.js +0 -111
- package/dist/ui-controle-cores-BS0WYPdi.js +0 -572
- package/dist/ui-controle-cores-Er6ZcQ7U.cjs +0 -111
- package/dist/ui-modal-CvGFGh1h.cjs +0 -18
- package/dist/ui-modal-DBOtSTbR.js +0 -238
- package/dist/ui-paleta-ferramentas-Ccmo-rB5.cjs +0 -21
- package/dist/ui-paleta-ferramentas-DNN5i6nL.js +0 -860
- package/dist/ui-segmented-BOaGRQw4.cjs +0 -19
- package/dist/ui-segmented-D6b6zxVs.cjs +0 -19
- package/dist/ui-segmented-wUraId2e.js +0 -412
- package/dist/ui-skeleton-BilwGdOm.js +0 -634
- package/dist/ui-skeleton-SPYqku8P.cjs +0 -52
- package/dist/ui-skeleton-W9uwIceA.js +0 -585
- package/dist/ui-skeleton-gZrJipCC.cjs +0 -52
- package/dist/ui-switch-BcOqOkiV.js +0 -856
- package/dist/ui-switch-D7iPKDj-.cjs +0 -53
- package/dist/ui-tabela-propriedades-BecPqC-e.cjs +0 -141
- package/dist/ui-tabela-propriedades-BokvDD3b.js +0 -2648
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const d=["sm","md","lg"],e="--ui-campo-altura";const u={sm:"sm",compacta:"sm",compacto:"sm",md:"md",padrao:"md",padrão:"md",normal:"md",lg:"lg",relaxada:"lg",relaxado:"lg",conforto:"lg"},T={sm:"var(--ui-altura-sm, 26px)",md:"var(--ui-altura-md, 34px)",lg:"var(--ui-altura-lg, 42px)"};function A(t){const r=(t??"").trim().toLowerCase();return Object.prototype.hasOwnProperty.call(u,r)?u[r]:null}function m(t){const r=A(t);return r?T[r]:null}function i(t){if(t==null)return null;const r=String(t).trim().toLowerCase(),n=/^(\d+(?:\.\d+)?|\.\d+)(px|rem|em)?$/.exec(r);if(!n)return null;const a=Number(n[1]);if(!Number.isFinite(a)||a<=0)return null;const l=n[2]??"px";return l==="px"?`${Math.min(200,Math.max(15,a))}px`:`${Math.min(12.5,a)}${l}`}function s(t){return i(t.altura)??m(t.tamanho)}function c(t){return{altura:t.getAttribute("altura")??t.getAttribute("height"),tamanho:t.getAttribute("tamanho")??t.getAttribute("size")??t.getAttribute("densidade")}}const o=new WeakSet;function _(t){try{const r=s(c(t));r?(t.style.setProperty(e,r),o.add(t)):o.has(t)&&(t.style.removeProperty(e),o.delete(t))}catch{}}exports.TAMANHOS_CONTROLE=d;exports.VARIAVEL_ALTURA_CONTROLE=e;exports.alturaDoTamanho=m;exports.aplicarAlturaControle=_;exports.lerEntradaAltura=c;exports.normalizarAltura=i;exports.normalizarTamanhoControle=A;exports.resolverAlturaControle=s;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
const p = ["sm", "md", "lg"], u = "--ui-campo-altura";
|
|
2
|
+
const s = {
|
|
3
|
+
sm: "sm",
|
|
4
|
+
compacta: "sm",
|
|
5
|
+
compacto: "sm",
|
|
6
|
+
md: "md",
|
|
7
|
+
padrao: "md",
|
|
8
|
+
padrão: "md",
|
|
9
|
+
normal: "md",
|
|
10
|
+
lg: "lg",
|
|
11
|
+
relaxada: "lg",
|
|
12
|
+
relaxado: "lg",
|
|
13
|
+
conforto: "lg"
|
|
14
|
+
}, l = {
|
|
15
|
+
sm: "var(--ui-altura-sm, 26px)",
|
|
16
|
+
md: "var(--ui-altura-md, 34px)",
|
|
17
|
+
lg: "var(--ui-altura-lg, 42px)"
|
|
18
|
+
};
|
|
19
|
+
function m(t) {
|
|
20
|
+
const a = (t ?? "").trim().toLowerCase();
|
|
21
|
+
return Object.prototype.hasOwnProperty.call(s, a) ? s[a] : null;
|
|
22
|
+
}
|
|
23
|
+
function i(t) {
|
|
24
|
+
const a = m(t);
|
|
25
|
+
return a ? l[a] : null;
|
|
26
|
+
}
|
|
27
|
+
function c(t) {
|
|
28
|
+
if (t == null) return null;
|
|
29
|
+
const a = String(t).trim().toLowerCase(), n = /^(\d+(?:\.\d+)?|\.\d+)(px|rem|em)?$/.exec(a);
|
|
30
|
+
if (!n) return null;
|
|
31
|
+
const r = Number(n[1]);
|
|
32
|
+
if (!Number.isFinite(r) || r <= 0) return null;
|
|
33
|
+
const e = n[2] ?? "px";
|
|
34
|
+
return e === "px" ? `${Math.min(200, Math.max(15, r))}px` : `${Math.min(12.5, r)}${e}`;
|
|
35
|
+
}
|
|
36
|
+
function A(t) {
|
|
37
|
+
return c(t.altura) ?? i(t.tamanho);
|
|
38
|
+
}
|
|
39
|
+
function d(t) {
|
|
40
|
+
return {
|
|
41
|
+
altura: t.getAttribute("altura") ?? t.getAttribute("height"),
|
|
42
|
+
tamanho: t.getAttribute("tamanho") ?? t.getAttribute("size") ?? t.getAttribute("densidade")
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
const o = /* @__PURE__ */ new WeakSet();
|
|
46
|
+
function _(t) {
|
|
47
|
+
try {
|
|
48
|
+
const a = A(d(t));
|
|
49
|
+
a ? (t.style.setProperty(u, a), o.add(t)) : o.has(t) && (t.style.removeProperty(u), o.delete(t));
|
|
50
|
+
} catch {
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export {
|
|
54
|
+
p as T,
|
|
55
|
+
u as V,
|
|
56
|
+
i as a,
|
|
57
|
+
_ as b,
|
|
58
|
+
m as c,
|
|
59
|
+
d as l,
|
|
60
|
+
c as n,
|
|
61
|
+
A as r
|
|
62
|
+
};
|
package/dist/botao.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const o=require("./ui-botao-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const o=require("./ui-botao-D24oXySA.cjs");exports.UIBotao=o.UIBotao;exports.UIBotaoPrimario=o.UIBotaoPrimario;
|
package/dist/botao.js
CHANGED
package/dist/campo-texto.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const e=require("./ui-campo-texto-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const e=require("./ui-campo-texto-DauJCde3.cjs");exports.ATRIBUTOS_OBSERVADOS_CAMPO_TEXTO=e.ATRIBUTOS_OBSERVADOS_CAMPO_TEXTO;exports.UICampoTexto=e.UICampoTexto;exports.UIInput=e.UIInput;exports.criarTemplateCampoTexto=e.criarTemplateCampoTexto;exports.sincronizarFeedbackErro=e.sincronizarFeedbackErro;exports.sincronizarIconeSenha=e.sincronizarIconeSenha;exports.sincronizarLabelEPlaceholder=e.sincronizarLabelEPlaceholder;
|
package/dist/campo-texto.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* empty css */
|
|
2
|
-
import { A as e, U as s, a as n, c, s as i, b as T, d as p } from "./ui-campo-texto-
|
|
2
|
+
import { A as e, U as s, a as n, c, s as i, b as T, d as p } from "./ui-campo-texto-B_OHVGiN.js";
|
|
3
3
|
export {
|
|
4
4
|
e as ATRIBUTOS_OBSERVADOS_CAMPO_TEXTO,
|
|
5
5
|
s as UICampoTexto,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ui-linha';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { SafeHTMLElement } from '../../core/ssr-safe';
|
|
2
|
+
export type AlinhamentoLinha = 'inicio' | 'centro' | 'fim' | 'esticar';
|
|
3
|
+
export type JustificacaoLinha = 'inicio' | 'centro' | 'fim' | 'entre' | 'ao-redor';
|
|
4
|
+
export type EspacoLinha = 'nenhum' | 'xs' | 'sm' | 'md' | 'lg';
|
|
5
|
+
/**
|
|
6
|
+
* Contêiner de controles na mesma linha: um único lugar define altura, alinhamento, espaço e quebra, e todos os
|
|
7
|
+
* filhos (`ui-botao`, `ui-campo-texto`, `ui-lista-flutuante`, `ui-segmented`, `ui-badge[controle]`...) se alinham sozinhos.
|
|
8
|
+
*
|
|
9
|
+
* A altura segue o contrato `--ui-campo-altura` (ver `core/altura-controle.ts`): `tamanho`/`altura` aqui valem para
|
|
10
|
+
* todos os filhos; um filho com `tamanho`/`altura` próprio vence só ele.
|
|
11
|
+
*
|
|
12
|
+
* @element ui-linha
|
|
13
|
+
*
|
|
14
|
+
* @attr {string} tamanho - Altura dos controles filhos: `sm` (26px), `md` (34px), `lg` (42px); aceita também `compacta`, `padrao`, `relaxada`.
|
|
15
|
+
* @attr {string} densidade - Sinônimo de `tamanho`.
|
|
16
|
+
* @attr {string} altura - Altura explícita dos controles filhos (px, rem ou em); vence `tamanho`.
|
|
17
|
+
* @attr {string} alinhar - Alinhamento vertical: `centro` (padrão), `inicio`, `fim`, `esticar`.
|
|
18
|
+
* @attr {string} justificar - Distribuição horizontal: `inicio` (padrão), `centro`, `fim`, `entre`, `ao-redor`.
|
|
19
|
+
* @attr {string} espaco - Espaço entre os filhos: `nenhum`, `xs`, `sm` (padrão), `md`, `lg`.
|
|
20
|
+
* @attr {boolean} sem-quebra - Não quebra para a linha de baixo (por padrão a linha quebra).
|
|
21
|
+
* @attr {boolean} inline - Ocupa só a largura do conteúdo (`inline-flex`).
|
|
22
|
+
*
|
|
23
|
+
* @slot - Os controles da linha. Qualquer filho com o atributo `expandir` ocupa o espaço restante.
|
|
24
|
+
*
|
|
25
|
+
* @cssprop --ui-linha-espaco - Espaço entre os filhos (substitui `espaco`).
|
|
26
|
+
* @cssprop --ui-linha-campo-base - Largura-base de campos e listas antes de quebrar (padrão `12rem`).
|
|
27
|
+
* @cssprop --ui-campo-altura - Altura dos controles filhos (definida por `tamanho`/`altura`).
|
|
28
|
+
*/
|
|
29
|
+
export declare class UILinha extends SafeHTMLElement {
|
|
30
|
+
static get observedAttributes(): string[];
|
|
31
|
+
constructor();
|
|
32
|
+
connectedCallback(): void;
|
|
33
|
+
attributeChangedCallback(_name: string, old: string | null, value: string | null): void;
|
|
34
|
+
private lerTexto;
|
|
35
|
+
private definirTexto;
|
|
36
|
+
get tamanho(): string | null;
|
|
37
|
+
set tamanho(v: string | null);
|
|
38
|
+
get altura(): string | null;
|
|
39
|
+
set altura(v: string | number | null);
|
|
40
|
+
get alinhar(): AlinhamentoLinha | null;
|
|
41
|
+
set alinhar(v: AlinhamentoLinha | null);
|
|
42
|
+
get justificar(): JustificacaoLinha | null;
|
|
43
|
+
set justificar(v: JustificacaoLinha | null);
|
|
44
|
+
get espaco(): EspacoLinha | null;
|
|
45
|
+
set espaco(v: EspacoLinha | null);
|
|
46
|
+
get semQuebra(): boolean;
|
|
47
|
+
set semQuebra(v: boolean);
|
|
48
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Altura única dos controles (botão, campo, lista, segmented, ui-linha).
|
|
3
|
+
* Responsabilidade única: transformar os atributos `altura` / `tamanho` / `densidade` (hostis por definição)
|
|
4
|
+
* no valor da variável CSS `--ui-campo-altura`, o contrato que todos os controles de uma mesma linha leem.
|
|
5
|
+
*
|
|
6
|
+
* Precedência: `altura` explícita > `tamanho`/`size`/`densidade` > herdado do contêiner (`ui-linha`, CSS do consumidor)
|
|
7
|
+
* > token global (`--ui-altura-md`).
|
|
8
|
+
*/
|
|
9
|
+
export declare const TAMANHOS_CONTROLE: readonly ["sm", "md", "lg"];
|
|
10
|
+
export type TamanhoControle = (typeof TAMANHOS_CONTROLE)[number];
|
|
11
|
+
/** Nome da variável CSS lida por todos os controles. */
|
|
12
|
+
export declare const VARIAVEL_ALTURA_CONTROLE = "--ui-campo-altura";
|
|
13
|
+
/** Reconhece `sm|md|lg` e os sinônimos de densidade (`compacta`, `padrao`, `relaxada`...). `null` se desconhecido. */
|
|
14
|
+
export declare function normalizarTamanhoControle(valor: string | null | undefined): TamanhoControle | null;
|
|
15
|
+
/** Valor CSS do tamanho nomeado, ou `null` quando o nome não é reconhecido. */
|
|
16
|
+
export declare function alturaDoTamanho(valor: string | null | undefined): string | null;
|
|
17
|
+
/**
|
|
18
|
+
* Altura explícita: número (px) ou número com unidade `px|rem|em`.
|
|
19
|
+
* Valores fora de [15px, 200px] são limitados; lixo (`NaN`, negativo, `calc(`, `;`) devolve `null`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function normalizarAltura(valor: string | number | null | undefined): string | null;
|
|
22
|
+
export interface EntradaAlturaControle {
|
|
23
|
+
altura?: string | null;
|
|
24
|
+
tamanho?: string | null;
|
|
25
|
+
}
|
|
26
|
+
/** Aplica a precedência `altura` > `tamanho`. `null` = nada a declarar (herda do contêiner/token). */
|
|
27
|
+
export declare function resolverAlturaControle(entrada: EntradaAlturaControle): string | null;
|
|
28
|
+
/** Lê os atributos (PT e EN) de um elemento no formato esperado por `resolverAlturaControle`. */
|
|
29
|
+
export declare function lerEntradaAltura(el: Element): EntradaAlturaControle;
|
|
30
|
+
/**
|
|
31
|
+
* Sincroniza `--ui-campo-altura` inline do elemento com seus atributos. Sem atributo válido, remove o que
|
|
32
|
+
* escrevemos (preservando uma variável inline do próprio consumidor) e o elemento herda do contêiner/token.
|
|
33
|
+
*/
|
|
34
|
+
export declare function aplicarAlturaControle(el: HTMLElement): void;
|
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
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./ui-bus-XqBLlTYQ.cjs"),a=require("./zero-js-triggers-CgM9IIQB.cjs"),l=require("./listener-bag-D5omxZ9h.cjs"),t=require("./leaflet-loader-94z5VsdY.cjs"),r=require("./ssr-safe-CiHD1adl.cjs"),i=require("./form-validacao-DIeyQVH5.cjs"),o=require("./acessibilidade-CSzX-DkG.cjs"),e=require("./altura-controle-ukMRPckR.cjs"),s=require("./svg-seguro-C76iLlAZ.cjs");typeof document<"u"&&a.initZeroJSTriggers();exports.UIBus=n.UIBus;exports.initZeroJSTriggers=a.initZeroJSTriggers;exports.ListenerBag=l.ListenerBag;exports.carregarLeaflet=t.carregarLeaflet;exports.obterLeafletSincrono=t.obterLeafletSincrono;exports.SafeHTMLElement=r.SafeHTMLElement;exports.definirCustomElement=r.definirCustomElement;exports.isBrowser=r.isBrowser;exports.aplicarValidadeInternals=i.aplicarValidadeInternals;exports.validarRestricoesCampoTexto=i.validarRestricoesCampoTexto;exports.cliqueVeioDeRotuloExterno=o.cliqueVeioDeRotuloExterno;exports.gerarIdUnico=o.gerarIdUnico;exports.obterRotuloExterno=o.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;
|
package/dist/core.js
CHANGED
|
@@ -1,25 +1,34 @@
|
|
|
1
1
|
import { U as t } from "./ui-bus-CUd99VJi.js";
|
|
2
|
-
import { i as
|
|
3
|
-
import { L as
|
|
4
|
-
import { c as
|
|
5
|
-
import { S as
|
|
6
|
-
import { a as
|
|
7
|
-
import { c as
|
|
8
|
-
import { h as I } from "./
|
|
9
|
-
|
|
2
|
+
import { i as r } from "./zero-js-triggers-CJT988bR.js";
|
|
3
|
+
import { L as i } from "./listener-bag-DQgv7OON.js";
|
|
4
|
+
import { c as n, o as m } from "./leaflet-loader-Cjcdgj5R.js";
|
|
5
|
+
import { S as p, d as u, i as x } from "./ssr-safe-5cWfJP-s.js";
|
|
6
|
+
import { a as d, v as A } from "./form-validacao-BlQFxUVj.js";
|
|
7
|
+
import { c as L, g, o as E } from "./acessibilidade-CUlSXc2X.js";
|
|
8
|
+
import { T as R, V as S, a as O, b as V, l as h, n as v, c as I, r as U } from "./altura-controle-vxQiXG4q.js";
|
|
9
|
+
import { h as z } from "./svg-seguro-BsbNQqpd.js";
|
|
10
|
+
typeof document < "u" && r();
|
|
10
11
|
export {
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
i as ListenerBag,
|
|
13
|
+
p as SafeHTMLElement,
|
|
14
|
+
R as TAMANHOS_CONTROLE,
|
|
13
15
|
t as UIBus,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
S as VARIAVEL_ALTURA_CONTROLE,
|
|
17
|
+
O as alturaDoTamanho,
|
|
18
|
+
V as aplicarAlturaControle,
|
|
19
|
+
d as aplicarValidadeInternals,
|
|
20
|
+
n as carregarLeaflet,
|
|
21
|
+
L as cliqueVeioDeRotuloExterno,
|
|
22
|
+
u as definirCustomElement,
|
|
23
|
+
g as gerarIdUnico,
|
|
24
|
+
z as higienizarSvg,
|
|
25
|
+
r as initZeroJSTriggers,
|
|
26
|
+
x as isBrowser,
|
|
27
|
+
h as lerEntradaAltura,
|
|
28
|
+
v as normalizarAltura,
|
|
29
|
+
I as normalizarTamanhoControle,
|
|
22
30
|
m as obterLeafletSincrono,
|
|
23
|
-
|
|
24
|
-
|
|
31
|
+
E as obterRotuloExterno,
|
|
32
|
+
U as resolverAlturaControle,
|
|
33
|
+
A as validarRestricoesCampoTexto
|
|
25
34
|
};
|