@thibezer/ui-components-kit 2.8.2 → 2.9.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.
Files changed (218) hide show
  1. package/CHANGELOG.md +146 -0
  2. package/README.md +32 -8
  3. package/dist/acessibilidade-CSzX-DkG.cjs +1 -0
  4. package/dist/acessibilidade-CUlSXc2X.js +38 -0
  5. package/dist/altura-controle-ukMRPckR.cjs +1 -0
  6. package/dist/altura-controle-vxQiXG4q.js +62 -0
  7. package/dist/botao.cjs +1 -1
  8. package/dist/botao.js +1 -1
  9. package/dist/camadas.cjs +114 -110
  10. package/dist/camadas.js +1343 -1177
  11. package/dist/campo-texto.cjs +1 -1
  12. package/dist/campo-texto.js +1 -1
  13. package/dist/canvas.cjs +86 -85
  14. package/dist/canvas.js +5437 -4304
  15. package/dist/card.cjs +1 -1
  16. package/dist/card.js +1 -1
  17. package/dist/components/ui-avatar/ui-avatar.d.ts +11 -0
  18. package/dist/components/ui-badge/ui-badge.d.ts +2 -0
  19. package/dist/components/ui-barra-ferramentas/ferramentas-comum.d.ts +3 -1
  20. package/dist/components/ui-barra-ferramentas/paleta-atalhos.d.ts +23 -0
  21. package/dist/components/ui-barra-ferramentas/paleta-pressao-longa.d.ts +24 -0
  22. package/dist/components/ui-barra-ferramentas/ribbon-render.d.ts +22 -0
  23. package/dist/components/ui-barra-ferramentas/ribbon-teclado.d.ts +24 -0
  24. package/dist/components/ui-barra-ferramentas/ui-paleta-ferramentas.d.ts +3 -7
  25. package/dist/components/ui-barra-ferramentas/ui-ribbon.d.ts +0 -1
  26. package/dist/components/ui-camadas/camadas-arraste-controles.d.ts +2 -0
  27. package/dist/components/ui-camadas/camadas-arvore-renderer.d.ts +4 -11
  28. package/dist/components/ui-camadas/camadas-colecao.d.ts +27 -0
  29. package/dist/components/ui-camadas/camadas-drag-drop.d.ts +13 -1
  30. package/dist/components/ui-camadas/camadas-drop-ops.d.ts +31 -0
  31. package/dist/components/ui-camadas/camadas-hierarquia.d.ts +10 -0
  32. package/dist/components/ui-camadas/camadas-host.d.ts +1 -0
  33. package/dist/components/ui-camadas/camadas-lembranca.d.ts +34 -0
  34. package/dist/components/ui-camadas/camadas-mapas-base.d.ts +3 -1
  35. package/dist/components/ui-camadas/camadas-render.d.ts +15 -0
  36. package/dist/components/ui-camadas/camadas-renomear.d.ts +12 -0
  37. package/dist/components/ui-camadas/camadas-selecao-api.d.ts +17 -0
  38. package/dist/components/ui-camadas/camadas-selecao.d.ts +12 -0
  39. package/dist/components/ui-camadas/camadas-thumb.d.ts +1 -0
  40. package/dist/components/ui-camadas/ui-camadas.d.ts +8 -5
  41. package/dist/components/ui-canvas-cad/cad-acessibilidade.d.ts +15 -0
  42. package/dist/components/ui-canvas-cad/cad-atributos-sync.d.ts +2 -1
  43. package/dist/components/ui-canvas-cad/cad-broadcast.d.ts +1 -1
  44. package/dist/components/ui-canvas-cad/cad-evento-coordenadas.d.ts +22 -0
  45. package/dist/components/ui-canvas-cad/cad-eventos-canvas.d.ts +3 -8
  46. package/dist/components/ui-canvas-cad/cad-feicoes-camera.d.ts +26 -0
  47. package/dist/components/ui-canvas-cad/cad-feicoes-consulta.d.ts +21 -0
  48. package/dist/components/ui-canvas-cad/cad-feicoes-dados.d.ts +39 -0
  49. package/dist/components/ui-canvas-cad/cad-feicoes-desenho.d.ts +68 -0
  50. package/dist/components/ui-canvas-cad/cad-feicoes-edicao.d.ts +37 -0
  51. package/dist/components/ui-canvas-cad/cad-feicoes-operacoes.d.ts +48 -0
  52. package/dist/components/ui-canvas-cad/cad-feicoes-ponteiro.d.ts +28 -0
  53. package/dist/components/ui-canvas-cad/cad-feicoes-selecao-regiao.d.ts +22 -0
  54. package/dist/components/ui-canvas-cad/cad-feicoes-tipos.d.ts +53 -0
  55. package/dist/components/ui-canvas-cad/cad-feicoes-versoes.d.ts +33 -0
  56. package/dist/components/ui-canvas-cad/cad-feicoes.d.ts +39 -106
  57. package/dist/components/ui-canvas-cad/cad-inicializador.d.ts +3 -1
  58. package/dist/components/ui-canvas-cad/cad-leaflet-adaptador.d.ts +5 -0
  59. package/dist/components/ui-canvas-cad/cad-selecao-pontos.d.ts +5 -0
  60. package/dist/components/ui-canvas-cad/tipos.d.ts +37 -0
  61. package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +30 -1
  62. package/dist/components/ui-checkbox/ui-checkbox.d.ts +4 -1
  63. package/dist/components/ui-cores/tipos.d.ts +2 -0
  64. package/dist/components/ui-cores/ui-controle-cores.d.ts +8 -3
  65. package/dist/components/ui-cores/ui-seletor-cor.d.ts +3 -1
  66. package/dist/components/ui-linha/index.d.ts +1 -0
  67. package/dist/components/ui-linha/ui-linha.d.ts +48 -0
  68. package/dist/components/ui-mapa/mapa-atributos.d.ts +14 -0
  69. package/dist/components/ui-mapa/mapa-basemaps.d.ts +7 -0
  70. package/dist/components/ui-mapa/mapa-icones.d.ts +4 -0
  71. package/dist/components/ui-mapa/mapa-leaflet.d.ts +5 -0
  72. package/dist/components/ui-mapa/mapa-vinculo-pai.d.ts +22 -0
  73. package/dist/components/ui-mapa/tipos.d.ts +13 -0
  74. package/dist/components/ui-mapa/ui-mapa-linha.d.ts +12 -5
  75. package/dist/components/ui-mapa/ui-mapa-marcador.d.ts +15 -6
  76. package/dist/components/ui-mapa/ui-mapa.d.ts +14 -1
  77. package/dist/components/ui-modal/modal-acessibilidade.d.ts +5 -5
  78. package/dist/components/ui-modal/modal-foco.d.ts +28 -0
  79. package/dist/components/ui-modal/ui-modal.d.ts +1 -11
  80. package/dist/components/ui-radio/radio-grupo-registry.d.ts +10 -0
  81. package/dist/components/ui-radio/ui-radio.d.ts +9 -2
  82. package/dist/components/ui-skeleton/ui-skeleton.d.ts +9 -0
  83. package/dist/components/ui-switch/ui-switch.d.ts +3 -1
  84. package/dist/components/ui-tabela/tabela-estados.d.ts +16 -0
  85. package/dist/components/ui-tabela/tabela-rolagem.d.ts +44 -0
  86. package/dist/components/ui-tabela/tabela-teclado.d.ts +16 -0
  87. package/dist/components/ui-tabela/ui-tabela.d.ts +1 -19
  88. package/dist/components/ui-tooltip/tooltip-popover.d.ts +7 -0
  89. package/dist/components/ui-tooltip/tooltip-posicionamento.d.ts +29 -0
  90. package/dist/components/ui-tooltip/ui-tooltip.d.ts +24 -1
  91. package/dist/core/altura-controle.d.ts +34 -0
  92. package/dist/core/index.d.ts +1 -0
  93. package/dist/core/opcoes.d.ts +9 -0
  94. package/dist/core/rotulo-controle.d.ts +13 -0
  95. package/dist/core.cjs +1 -1
  96. package/dist/core.js +28 -18
  97. package/dist/cores.cjs +1 -1
  98. package/dist/cores.js +1 -1
  99. package/dist/custom-elements.json +22088 -16390
  100. package/dist/data.cjs +1 -1
  101. package/dist/data.js +2 -2
  102. package/dist/feedback.cjs +1 -1
  103. package/dist/feedback.js +2 -2
  104. package/dist/form-validacao-BlQFxUVj.js +104 -0
  105. package/dist/form-validacao-DIeyQVH5.cjs +1 -0
  106. package/dist/forms.cjs +1 -1
  107. package/dist/forms.js +2 -2
  108. package/dist/gerencigeo-canvas/canvas_interacao.d.ts +0 -1
  109. package/dist/gerencigeo-canvas/curva_leaflet.d.ts +2 -2
  110. package/dist/gerencigeo-canvas/feature_curvas.d.ts +3 -1
  111. package/dist/gerencigeo-canvas/feature_lod.d.ts +38 -0
  112. package/dist/gerencigeo-canvas/feature_popup.d.ts +2 -0
  113. package/dist/gerencigeo-canvas/feature_simplificacao.d.ts +16 -8
  114. package/dist/gerencigeo-canvas/index.d.ts +7 -0
  115. package/dist/gerencigeo-canvas/layer_hit_test.d.ts +22 -0
  116. package/dist/gerencigeo-canvas/layer_manager.d.ts +5 -0
  117. package/dist/gerencigeo-canvas/mapa_core.d.ts +6 -0
  118. package/dist/gerencigeo-canvas/motor/dados-camada.d.ts +39 -0
  119. package/dist/gerencigeo-canvas/motor/estilo.d.ts +28 -0
  120. package/dist/gerencigeo-canvas/motor/geometria-px.d.ts +27 -0
  121. package/dist/gerencigeo-canvas/motor/index.d.ts +5 -0
  122. package/dist/gerencigeo-canvas/motor/motor-formas.d.ts +107 -0
  123. package/dist/gerencigeo-canvas/motor/tipos.d.ts +100 -0
  124. package/dist/gerencigeo-canvas/popup_gate.d.ts +30 -0
  125. package/dist/gerencigeo-canvas/renderers/canvas_formas_leaflet.d.ts +87 -0
  126. package/dist/gerencigeo-canvas/renderers/feicoes_canvas_renderer.d.ts +58 -0
  127. package/dist/gerencigeo-canvas/renderers/feicoes_despachante.d.ts +31 -0
  128. package/dist/gerencigeo-canvas/renderers/feicoes_renderer.d.ts +48 -9
  129. package/dist/gerencigeo-canvas/renderers/marcadores_feicoes.d.ts +11 -0
  130. package/dist/gerencigeo-canvas/renderers/marcas_lod_layer.d.ts +19 -0
  131. package/dist/gerencigeo-canvas/renderers/renderizador_feicoes_tipos.d.ts +44 -0
  132. package/dist/gerencigeo-canvas/renderers/renderizador_formas.d.ts +95 -0
  133. package/dist/gerencigeo-canvas/renderers/selecao_visual.d.ts +6 -0
  134. package/dist/gerencigeo-canvas/types.d.ts +2 -0
  135. package/dist/gerencigeo-canvas/zoom_opcoes.d.ts +10 -0
  136. package/dist/index.cjs +1 -1
  137. package/dist/index.d.ts +3 -0
  138. package/dist/index.js +179 -176
  139. package/dist/mapa.cjs +11 -16
  140. package/dist/mapa.js +242 -170
  141. package/dist/modal.cjs +1 -1
  142. package/dist/modal.js +1 -1
  143. package/dist/motor-BB6tB6U-.cjs +1 -0
  144. package/dist/motor-CFI84lM2.js +1301 -0
  145. package/dist/motor.cjs +1 -0
  146. package/dist/motor.d.ts +7 -0
  147. package/dist/motor.js +52 -0
  148. package/dist/opcoes-CJYLi6kd.js +12 -0
  149. package/dist/opcoes-CkyDxBuQ.cjs +1 -0
  150. package/dist/register.cjs +1 -1
  151. package/dist/register.js +11 -11
  152. package/dist/tabela.cjs +1 -1
  153. package/dist/tabela.js +1 -1
  154. package/dist/tipos-elementos.d.ts +49 -8
  155. package/dist/tipos-react.d.ts +2 -0
  156. package/dist/tipos-vue.d.ts +45 -8
  157. package/dist/tools.cjs +1 -1
  158. package/dist/tools.js +1 -1
  159. package/dist/ui-badge-BWhoGgo9.js +197 -0
  160. package/dist/ui-badge-SIR81R9l.cjs +28 -0
  161. package/dist/ui-botao-D24oXySA.cjs +12 -0
  162. package/dist/ui-botao-Dsj08jjw.js +165 -0
  163. package/dist/{ui-campo-texto-Uu2dJE_0.js → ui-campo-texto-B_OHVGiN.js} +51 -51
  164. package/dist/ui-campo-texto-DauJCde3.cjs +16 -0
  165. package/dist/{ui-card-C_o5_0cB.js → ui-card-BNYCQ7g-.js} +50 -42
  166. package/dist/ui-card-BrjBL-yo.cjs +20 -0
  167. package/dist/ui-controle-cores-DgEza3wF.js +612 -0
  168. package/dist/ui-controle-cores-uY__TgwW.cjs +117 -0
  169. package/dist/ui-kit.css +1 -1
  170. package/dist/ui-linha-BYAX4W6x.cjs +19 -0
  171. package/dist/{ui-segmented-DyF5YLsV.js → ui-linha-aqLlaYi7.js} +209 -114
  172. package/dist/{ui-modal-DBOtSTbR.js → ui-modal-BkYvNP0G.js} +116 -140
  173. package/dist/ui-modal-CUNbpbZ1.cjs +18 -0
  174. package/dist/{ui-paleta-ferramentas-DbwdWVtT.js → ui-paleta-ferramentas-BXXrI1Y7.js} +491 -431
  175. package/dist/ui-paleta-ferramentas-CsPMTY0G.cjs +21 -0
  176. package/dist/{ui-skeleton-W9uwIceA.js → ui-skeleton-B2Rgrv8o.js} +254 -191
  177. package/dist/{ui-skeleton-SPYqku8P.cjs → ui-skeleton-DiOxTBZK.cjs} +10 -10
  178. package/dist/ui-switch-D9a8XlVX.cjs +53 -0
  179. package/dist/{ui-switch-BcOqOkiV.js → ui-switch-DO1R0Ce7.js} +187 -128
  180. package/dist/{ui-tabela-propriedades-C-PeuW1i.cjs → ui-tabela-propriedades-CjK2gG14.cjs} +10 -10
  181. package/dist/{ui-tabela-propriedades-BokvDD3b.js → ui-tabela-propriedades-DoL4SE0r.js} +845 -826
  182. package/package.json +8 -3
  183. package/dist/form-validacao-BIOXxt-1.js +0 -140
  184. package/dist/form-validacao-ytRYSF3E.cjs +0 -1
  185. package/dist/svg-seguro-BsbNQqpd.js +0 -50
  186. package/dist/svg-seguro-C76iLlAZ.cjs +0 -1
  187. package/dist/ui-badge-BxT-sDmV.cjs +0 -28
  188. package/dist/ui-badge-C0eKBI8E.js +0 -183
  189. package/dist/ui-botao-BOOnP8ds.cjs +0 -12
  190. package/dist/ui-botao-DfqSivHl.js +0 -165
  191. package/dist/ui-botao-OGJV6Vfk.js +0 -165
  192. package/dist/ui-botao-psS1juof.cjs +0 -12
  193. package/dist/ui-campo-texto-Cnn2UAkS.cjs +0 -16
  194. package/dist/ui-card-B86lJXTP.cjs +0 -20
  195. package/dist/ui-controle-cores-BS0WYPdi.js +0 -572
  196. package/dist/ui-controle-cores-Er6ZcQ7U.cjs +0 -111
  197. package/dist/ui-modal-CvGFGh1h.cjs +0 -18
  198. package/dist/ui-paleta-ferramentas-CEZYcN4J.js +0 -624
  199. package/dist/ui-paleta-ferramentas-CU4icLl0.js +0 -1171
  200. package/dist/ui-paleta-ferramentas-Ccmo-rB5.cjs +0 -21
  201. package/dist/ui-paleta-ferramentas-DLwZHIDv.cjs +0 -21
  202. package/dist/ui-paleta-ferramentas-DNN5i6nL.js +0 -860
  203. package/dist/ui-paleta-ferramentas-Dbj1kBS9.cjs +0 -18
  204. package/dist/ui-paleta-ferramentas-bvqxj1Yd.cjs +0 -21
  205. package/dist/ui-segmented-D6b6zxVs.cjs +0 -19
  206. package/dist/ui-segmented-rn9RxRGM.cjs +0 -19
  207. package/dist/ui-segmented-wUraId2e.js +0 -412
  208. package/dist/ui-skeleton-DI4_9WOX.js +0 -428
  209. package/dist/ui-skeleton-elhKIh2B.cjs +0 -33
  210. package/dist/ui-switch-D7iPKDj-.cjs +0 -53
  211. package/dist/ui-tabela-propriedades-BBr5sqki.cjs +0 -145
  212. package/dist/ui-tabela-propriedades-BecPqC-e.cjs +0 -141
  213. package/dist/ui-tabela-propriedades-Boy7I5yW.js +0 -2412
  214. package/dist/ui-tabela-propriedades-Df9ajC6M.js +0 -2648
  215. package/dist/ui-toast-Bp_NlM5G.js +0 -156
  216. package/dist/ui-toast-DGTZKne5.cjs +0 -20
  217. package/dist/zero-js-triggers-C_KrvFOQ.js +0 -244
  218. package/dist/zero-js-triggers-C_gtaojZ.cjs +0 -1
@@ -31,8 +31,7 @@ export declare class UITabela extends SafeHTMLElement {
31
31
  private _indiceAtivo;
32
32
  /** Altura real das linhas medida no DOM; null = usa a estimativa da densidade. */
33
33
  private _alturaLinhaMedida;
34
- /** Cancela a correção pendente de uma rolagem suave anterior. */
35
- private _cancelarCorrecaoRolagem;
34
+ private rolagem;
36
35
  private remotaController;
37
36
  private selecaoController;
38
37
  private dadosController;
@@ -118,23 +117,6 @@ export declare class UITabela extends SafeHTMLElement {
118
117
  * Enter/Espaço selecionam a linha (mesmo caminho do clique, emite `ui-linha-clique`).
119
118
  */
120
119
  private handleTecladoCorpo;
121
- private linhasPorPagina;
122
- /** Foca a linha, renderizando a janela virtual se necessário, e a mantém visível abaixo do cabeçalho fixo. */
123
- private focarLinha;
124
- /**
125
- * Quanto o container precisa rolar para a linha ficar inteira na área útil: abaixo do cabeçalho
126
- * fixo e acima da barra de rolagem horizontal. 0 = já visível. Linha maior que a área alinha pelo topo.
127
- */
128
- private deslocamentoAteLinha;
129
- /** Rola só o container da tabela (nunca a página, ao contrário de `scrollIntoView`). */
130
- private rolarContainer;
131
- /**
132
- * Posiciona a linha exibida `indice` na área visível.
133
- * Fora da janela virtual, rola até a posição estimada, renderiza a janela e corrige pela posição
134
- * real da linha. No modo suave a correção ocorre ao fim da animação (`scrollend`, com timeout de
135
- * segurança para navegadores sem o evento ou quando não há rolagem a fazer).
136
- */
137
- private posicionarLinha;
138
120
  private obterContextoRenderizador;
139
121
  private renderHeader;
140
122
  renderBody(): void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Adaptador da Popover API para o balão do <ui-tooltip>.
3
+ * Responsabilidade única: abrir/fechar o balão na camada superior (top layer) quando o navegador suporta
4
+ * `popover`, sem casts soltos e sem engolir erros inesperados.
5
+ */
6
+ export declare function mostrarPopover(el: HTMLElement): void;
7
+ export declare function ocultarPopover(el: HTMLElement): void;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Posicionamento do balão do <ui-tooltip>.
3
+ * Responsabilidade única: normalizar o lado pedido e calcular `top`/`left` (em px, relativos à janela) do balão,
4
+ * mantendo-o dentro da tela. Funções puras, sem acesso ao DOM.
5
+ */
6
+ export type PosicaoTooltip = 'topo' | 'baixo' | 'esquerda' | 'direita';
7
+ export interface Retangulo {
8
+ top: number;
9
+ left: number;
10
+ right: number;
11
+ bottom: number;
12
+ width: number;
13
+ height: number;
14
+ }
15
+ export interface Viewport {
16
+ largura: number;
17
+ altura: number;
18
+ }
19
+ /** Distância entre o gatilho e o balão (seta + folga). */
20
+ export declare const DESLOCAMENTO_PX = 8;
21
+ /** Margem mínima até a borda da janela. */
22
+ export declare const MARGEM_TELA_PX = 8;
23
+ /** Aceita português e inglês, ignora caixa e espaços; qualquer outra coisa vira `topo`. */
24
+ export declare function normalizarPosicao(bruto: string | null | undefined): PosicaoTooltip;
25
+ /** Posição do balão em torno do gatilho, limitada à janela (balão maior que a janela fica na margem). */
26
+ export declare function calcularPosicaoBalao(gatilho: Retangulo, balao: Pick<Retangulo, 'width' | 'height'>, posicao: PosicaoTooltip, viewport: Viewport): {
27
+ top: number;
28
+ left: number;
29
+ };
@@ -1,10 +1,28 @@
1
1
  import { SafeHTMLElement } from '../../core/ssr-safe';
2
+ /**
3
+ * Dica contextual (e popover) ao redor de um gatilho.
4
+ *
5
+ * @attr {string} texto - Texto do balão (alias `text`); também vira `aria-description` do gatilho.
6
+ * @attr {'topo'|'baixo'|'esquerda'|'direita'} posicao - Lado do balão (alias `position`, aceita top/bottom/left/right).
7
+ * @attr {'hover'|'clique'} gatilho - Como abre (alias `trigger`); em telas de toque o toque sempre alterna.
8
+ * @attr {boolean} aberto - Balão visível (alias `open`).
9
+ * @attr {boolean} disabled - Desativa o tooltip; fecha se estiver aberto.
10
+ * @slot - Elemento gatilho.
11
+ * @slot conteudo - Conteúdo rico do balão.
12
+ * @csspart balao - O balão.
13
+ * @csspart texto - O texto do balão.
14
+ * @csspart seta - A seta do balão.
15
+ */
2
16
  export declare class UITooltip extends SafeHTMLElement {
3
17
  static get observedAttributes(): string[];
4
18
  private containerElement;
5
19
  private bubbleElement;
6
- private _posicionamentoAtivo;
20
+ /** Ouvintes do host: valem enquanto o elemento está conectado. */
21
+ private ouvintesHost;
22
+ /** Ouvintes globais (documento/janela): valem só enquanto o balão está aberto. */
23
+ private ouvintesAberto;
7
24
  private _timerOcultar;
25
+ private _quadro;
8
26
  /** Gatilho que recebeu `aria-description` deste tooltip (para remover depois). */
9
27
  private _gatilhoDescrito;
10
28
  constructor();
@@ -17,8 +35,12 @@ export declare class UITooltip extends SafeHTMLElement {
17
35
  set disabled(val: boolean);
18
36
  mostrar(): void;
19
37
  ocultar(): void;
38
+ private lerGatilho;
20
39
  private posicionarBubble;
40
+ private cancelarQuadro;
21
41
  private syncState;
42
+ private abrirBalao;
43
+ private fecharBalao;
22
44
  private handleMouseEnter;
23
45
  private handleMouseLeave;
24
46
  private cancelarOcultar;
@@ -33,6 +55,7 @@ export declare class UITooltip extends SafeHTMLElement {
33
55
  */
34
56
  private sincronizarDescricao;
35
57
  private removerDescricao;
58
+ /** O clique do gatilho continua chegando aos ancestrais: o "clicar fora" já ignora cliques dentro do host. */
36
59
  private handleClick;
37
60
  private handleClickOutside;
38
61
  }
@@ -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;
@@ -5,4 +5,5 @@ export * from './leaflet-loader';
5
5
  export * from './ssr-safe';
6
6
  export * from './form-validacao';
7
7
  export * from './acessibilidade';
8
+ export * from './altura-controle';
8
9
  export * from './svg-seguro';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Escolha segura de opções vindas de atributos HTML.
3
+ * Responsabilidade única: transformar texto de atributo (hostil por definição) num valor de um conjunto
4
+ * conhecido, para que nunca vire nome de classe CSS arbitrário nem estado inesperado.
5
+ */
6
+ /** Devolve `valor` (sem espaços, em minúsculas) se estiver em `permitidas`; senão `padrao`. */
7
+ export declare function escolherOpcao<T extends string>(valor: string | null | undefined, permitidas: readonly T[], padrao: T): T;
8
+ /** Como `escolherOpcao`, mas devolve `null` quando o valor não é reconhecido (opção opcional). */
9
+ export declare function escolherOpcaoOpcional<T extends string>(valor: string | null | undefined, permitidas: readonly T[]): T | null;
@@ -0,0 +1,13 @@
1
+ export interface OpcoesRotuloControle {
2
+ host: HTMLElement;
3
+ internals?: {
4
+ labels?: NodeList;
5
+ } | null;
6
+ /** Elemento interno com o papel (switch/checkbox/radio) que recebe o nome acessível. */
7
+ controle: HTMLElement;
8
+ /** Elemento interno que exibe o texto do rótulo; precisa ter `id`. */
9
+ rotulo: HTMLElement;
10
+ /** Valor do atributo `label` (texto puro, nunca HTML). */
11
+ texto: string | null;
12
+ }
13
+ export declare function sincronizarRotuloControle({ host, internals, controle, rotulo, texto }: OpcoesRotuloControle): void;
package/dist/core.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./ui-bus-XqBLlTYQ.cjs"),i=require("./zero-js-triggers-CgM9IIQB.cjs"),a=require("./listener-bag-D5omxZ9h.cjs"),o=require("./leaflet-loader-94z5VsdY.cjs"),r=require("./ssr-safe-CiHD1adl.cjs"),e=require("./form-validacao-ytRYSF3E.cjs"),n=require("./svg-seguro-J2RM1Ssf.cjs");typeof document<"u"&&i.initZeroJSTriggers();exports.UIBus=t.UIBus;exports.initZeroJSTriggers=i.initZeroJSTriggers;exports.ListenerBag=a.ListenerBag;exports.carregarLeaflet=o.carregarLeaflet;exports.obterLeafletSincrono=o.obterLeafletSincrono;exports.SafeHTMLElement=r.SafeHTMLElement;exports.definirCustomElement=r.definirCustomElement;exports.isBrowser=r.isBrowser;exports.aplicarValidadeInternals=e.aplicarValidadeInternals;exports.cliqueVeioDeRotuloExterno=e.cliqueVeioDeRotuloExterno;exports.gerarIdUnico=e.gerarIdUnico;exports.obterRotuloExterno=e.obterRotuloExterno;exports.validarRestricoesCampoTexto=e.validarRestricoesCampoTexto;exports.higienizarSvg=n.higienizarSvg;
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-J2RM1Ssf.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,24 +1,34 @@
1
1
  import { U as t } from "./ui-bus-CUd99VJi.js";
2
- import { i as e } from "./zero-js-triggers-CJT988bR.js";
3
- import { L as s } from "./listener-bag-DQgv7OON.js";
4
- import { c as f, o as m } from "./leaflet-loader-Cjcdgj5R.js";
5
- import { S as p, d as x, i as c } from "./ssr-safe-5cWfJP-s.js";
6
- import { a as g, c as u, g as L, o as S, v as E } from "./form-validacao-BIOXxt-1.js";
7
- import { h as B } from "./svg-seguro-ChVJ2L2z.js";
8
- typeof document < "u" && e();
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-ChVJ2L2z.js";
10
+ typeof document < "u" && r();
9
11
  export {
10
- s as ListenerBag,
12
+ i as ListenerBag,
11
13
  p as SafeHTMLElement,
14
+ R as TAMANHOS_CONTROLE,
12
15
  t as UIBus,
13
- g as aplicarValidadeInternals,
14
- f as carregarLeaflet,
15
- u as cliqueVeioDeRotuloExterno,
16
- x as definirCustomElement,
17
- L as gerarIdUnico,
18
- B as higienizarSvg,
19
- e as initZeroJSTriggers,
20
- c as isBrowser,
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,
21
30
  m as obterLeafletSincrono,
22
- S as obterRotuloExterno,
23
- E as validarRestricoesCampoTexto
31
+ E as obterRotuloExterno,
32
+ U as resolverAlturaControle,
33
+ A as validarRestricoesCampoTexto
24
34
  };
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-Er6ZcQ7U.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-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;
package/dist/cores.js CHANGED
@@ -1,5 +1,5 @@
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-BS0WYPdi.js";
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";
3
3
  export {
4
4
  e as PALETA_CORES_PADRAO,
5
5
  s as UIControleCores,