@thibezer/ui-components-kit 1.0.0 → 2.1.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 (161) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/LICENSE +21 -21
  3. package/README.md +150 -14
  4. package/dist/botao.cjs +1 -1
  5. package/dist/botao.js +1 -1
  6. package/dist/camadas.cjs +65 -65
  7. package/dist/camadas.js +762 -729
  8. package/dist/campo-texto.cjs +1 -1
  9. package/dist/campo-texto.js +1 -1
  10. package/dist/canvas.cjs +105 -146
  11. package/dist/canvas.js +5132 -1199
  12. package/dist/card.cjs +1 -1
  13. package/dist/card.js +1 -1
  14. package/dist/components/ui-botao/ui-botao.d.ts +15 -0
  15. package/dist/components/ui-camadas/camadas-persistencia.d.ts +4 -0
  16. package/dist/components/ui-camadas/ui-camadas.d.ts +10 -0
  17. package/dist/components/ui-campo-texto/ui-campo-texto.d.ts +5 -0
  18. package/dist/components/ui-canvas-cad/cad-estilos-externos.d.ts +16 -0
  19. package/dist/components/ui-canvas-cad/cad-eventos-canvas.d.ts +4 -0
  20. package/dist/components/ui-canvas-cad/cad-feicoes.d.ts +262 -0
  21. package/dist/components/ui-canvas-cad/cad-ferramentas-barra.d.ts +15 -0
  22. package/dist/components/ui-canvas-cad/cad-snap.d.ts +32 -0
  23. package/dist/components/ui-canvas-cad/cad-toolbar-painel.d.ts +1 -0
  24. package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +143 -0
  25. package/dist/components/ui-lista-flutuante/lista-flutuante-posicionamento.d.ts +2 -0
  26. package/dist/components/ui-lista-flutuante/ui-lista-flutuante.d.ts +1 -0
  27. package/dist/components/ui-modal/modal-pilha.d.ts +3 -0
  28. package/dist/components/ui-modal/ui-modal.d.ts +19 -4
  29. package/dist/components/ui-seletor-mapa-base/ui-seletor-mapa-base.d.ts +3 -0
  30. package/dist/components/ui-tabela/tabela-atributos-sync.d.ts +3 -0
  31. package/dist/components/ui-tabela/tabela-corpo.d.ts +2 -0
  32. package/dist/components/ui-tabela/tabela-localizador.d.ts +8 -1
  33. package/dist/components/ui-tabela/tabela-orquestrador-dados.d.ts +4 -0
  34. package/dist/components/ui-tabela/tabela-renderizador.d.ts +1 -0
  35. package/dist/components/ui-tabela/tabela-selecao.d.ts +21 -6
  36. package/dist/components/ui-tabela/tipos.d.ts +6 -0
  37. package/dist/components/ui-tabela/ui-tabela.d.ts +56 -2
  38. package/dist/components/ui-tabela-propriedades/avaliador-expressao.d.ts +0 -5
  39. package/dist/components/ui-tabela-propriedades/propriedades-dom-utils.d.ts +17 -1
  40. package/dist/components/ui-tabela-propriedades/propriedades-flutuante.d.ts +2 -0
  41. package/dist/components/ui-tabela-propriedades/propriedades-gerenciador-valores.d.ts +10 -1
  42. package/dist/components/ui-tabela-propriedades/propriedades-render-arvore.d.ts +3 -1
  43. package/dist/components/ui-tabela-propriedades/ui-tabela-propriedades.d.ts +5 -1
  44. package/dist/components/ui-tooltip/ui-tooltip.d.ts +15 -0
  45. package/dist/core/alvo-digitavel.d.ts +1 -0
  46. package/dist/core/form-submissao.d.ts +16 -0
  47. package/dist/core/index.d.ts +1 -0
  48. package/dist/core/parts.d.ts +6 -0
  49. package/dist/core/rotulo.d.ts +6 -0
  50. package/dist/core/svg-seguro.d.ts +10 -0
  51. package/dist/core/ui-bus.d.ts +13 -2
  52. package/dist/core.cjs +1 -1
  53. package/dist/core.js +14 -12
  54. package/dist/custom-elements.json +32905 -0
  55. package/dist/data.cjs +1 -1
  56. package/dist/data.js +51 -46
  57. package/dist/feedback.cjs +1 -1
  58. package/dist/feedback.js +3 -3
  59. package/dist/form-submissao-C-SPRKgT.js +61 -0
  60. package/dist/form-submissao-DxKO5MHI.cjs +1 -0
  61. package/dist/forms.cjs +1 -1
  62. package/dist/forms.js +2 -2
  63. package/dist/gerencigeo-canvas/canvas_interacao.d.ts +18 -0
  64. package/dist/gerencigeo-canvas/feature_adapters.d.ts +35 -0
  65. package/dist/gerencigeo-canvas/feature_algoritmos.d.ts +45 -0
  66. package/dist/gerencigeo-canvas/feature_amostra.d.ts +4 -0
  67. package/dist/gerencigeo-canvas/feature_caixa.d.ts +19 -0
  68. package/dist/gerencigeo-canvas/feature_cluster.d.ts +61 -0
  69. package/dist/gerencigeo-canvas/feature_cursores.d.ts +17 -0
  70. package/dist/gerencigeo-canvas/feature_desenho.d.ts +53 -0
  71. package/dist/gerencigeo-canvas/feature_desenho_controle.d.ts +91 -0
  72. package/dist/gerencigeo-canvas/feature_edicao_ops.d.ts +19 -0
  73. package/dist/gerencigeo-canvas/feature_editor_vertices.d.ts +62 -0
  74. package/dist/gerencigeo-canvas/feature_formas.d.ts +7 -0
  75. package/dist/gerencigeo-canvas/feature_hud.d.ts +23 -0
  76. package/dist/gerencigeo-canvas/feature_indice.d.ts +36 -0
  77. package/dist/gerencigeo-canvas/feature_metricas.d.ts +16 -0
  78. package/dist/gerencigeo-canvas/feature_popup.d.ts +31 -0
  79. package/dist/gerencigeo-canvas/feature_selecao.d.ts +38 -0
  80. package/dist/gerencigeo-canvas/feature_simplificacao.d.ts +14 -0
  81. package/dist/gerencigeo-canvas/feature_snap.d.ts +25 -0
  82. package/dist/gerencigeo-canvas/feature_types.d.ts +86 -0
  83. package/dist/gerencigeo-canvas/feature_versoes.d.ts +19 -0
  84. package/dist/gerencigeo-canvas/index.d.ts +21 -0
  85. package/dist/gerencigeo-canvas/layer_hit_test.d.ts +30 -0
  86. package/dist/gerencigeo-canvas/layer_manager.d.ts +11 -3
  87. package/dist/gerencigeo-canvas/layer_pane_ops.d.ts +9 -0
  88. package/dist/gerencigeo-canvas/mapa_controller.d.ts +1 -0
  89. package/dist/gerencigeo-canvas/mapa_pontos_shapes.d.ts +24 -5
  90. package/dist/gerencigeo-canvas/renderers/feicoes_renderer.d.ts +89 -0
  91. package/dist/gerencigeo-canvas/renderers/vector_points_renderer.d.ts +1 -0
  92. package/dist/gerencigeo-canvas/renderers/vector_polygons_renderer.d.ts +2 -2
  93. package/dist/gerencigeo-canvas/types.d.ts +12 -0
  94. package/dist/gerencigeo-canvas/utils.d.ts +3 -1
  95. package/dist/index.cjs +1 -1
  96. package/dist/index.d.ts +2 -2
  97. package/dist/index.js +117 -112
  98. package/dist/leaflet-DcO7uRC-.cjs +1 -0
  99. package/dist/{leaflet-DkaFZYc5.js → leaflet-PPDKB6Dd.js} +37 -37
  100. package/dist/mapa.cjs +4 -4
  101. package/dist/mapa.js +2 -2
  102. package/dist/modal.cjs +1 -1
  103. package/dist/modal.js +1 -1
  104. package/dist/parts-CaoQiCfI.js +7 -0
  105. package/dist/parts-vQa2873h.cjs +1 -0
  106. package/dist/register.cjs +1 -1
  107. package/dist/register.js +12 -12
  108. package/dist/seletor-mapa-base.cjs +16 -16
  109. package/dist/seletor-mapa-base.js +111 -61
  110. package/dist/svg-seguro-BsbNQqpd.js +50 -0
  111. package/dist/svg-seguro-C76iLlAZ.cjs +1 -0
  112. package/dist/tabela.cjs +1 -1
  113. package/dist/tabela.js +41 -36
  114. package/dist/tipos-elementos.d.ts +1232 -0
  115. package/dist/tipos-react.d.ts +113 -0
  116. package/dist/tipos-vue.d.ts +1201 -0
  117. package/dist/tools.cjs +1 -1
  118. package/dist/tools.js +1 -1
  119. package/dist/ui-badge-BxT-sDmV.cjs +28 -0
  120. package/dist/ui-badge-C0eKBI8E.js +183 -0
  121. package/dist/ui-botao-OGJV6Vfk.js +165 -0
  122. package/dist/ui-botao-psS1juof.cjs +12 -0
  123. package/dist/ui-campo-texto-Cnn2UAkS.cjs +16 -0
  124. package/dist/{ui-campo-texto-B_JF6POq.js → ui-campo-texto-Uu2dJE_0.js} +81 -63
  125. package/dist/{ui-card-Bhm6k91e.cjs → ui-card-B86lJXTP.cjs} +7 -7
  126. package/dist/{ui-card-BJ8SmvVf.js → ui-card-C_o5_0cB.js} +14 -14
  127. package/dist/ui-kit.css +1 -1
  128. package/dist/ui-modal-CvGFGh1h.cjs +18 -0
  129. package/dist/ui-modal-DBOtSTbR.js +238 -0
  130. package/dist/{ui-paleta-ferramentas-Bpp4XBVg.js → ui-paleta-ferramentas-CEZYcN4J.js} +18 -27
  131. package/dist/{ui-paleta-ferramentas-B6dJ0O6K.cjs → ui-paleta-ferramentas-Dbj1kBS9.cjs} +6 -6
  132. package/dist/ui-segmented-D6b6zxVs.cjs +19 -0
  133. package/dist/{ui-segmented-C8wuycjJ.js → ui-segmented-wUraId2e.js} +68 -67
  134. package/dist/ui-skeleton-DI4_9WOX.js +428 -0
  135. package/dist/ui-skeleton-elhKIh2B.cjs +33 -0
  136. package/dist/{ui-switch-CO9MoS8x.js → ui-switch-BcOqOkiV.js} +92 -62
  137. package/dist/ui-switch-D7iPKDj-.cjs +53 -0
  138. package/dist/ui-tabela-propriedades-BBr5sqki.cjs +145 -0
  139. package/dist/ui-tabela-propriedades-Boy7I5yW.js +2412 -0
  140. package/dist/{ui-toast-CwUmiqyG.js → ui-toast-Bp_NlM5G.js} +51 -51
  141. package/dist/ui-toast-DGTZKne5.cjs +20 -0
  142. package/dist/zero-js-triggers-C_KrvFOQ.js +244 -0
  143. package/dist/zero-js-triggers-C_gtaojZ.cjs +1 -0
  144. package/package.json +27 -7
  145. package/dist/leaflet-Cw6tqYFh.cjs +0 -1
  146. package/dist/ui-badge-92yelKls.js +0 -183
  147. package/dist/ui-badge-B95jSECC.cjs +0 -28
  148. package/dist/ui-botao-BShEouvi.js +0 -124
  149. package/dist/ui-botao-DF1yuUUD.cjs +0 -12
  150. package/dist/ui-campo-texto-BCh5HyCM.cjs +0 -16
  151. package/dist/ui-modal-Bi4isGYh.cjs +0 -18
  152. package/dist/ui-modal-DV-pw2x1.js +0 -194
  153. package/dist/ui-segmented-NC5cBXLh.cjs +0 -19
  154. package/dist/ui-skeleton-B3xQyn0Z.js +0 -396
  155. package/dist/ui-skeleton-D42oQufF.cjs +0 -33
  156. package/dist/ui-switch-C6o4yZUF.cjs +0 -53
  157. package/dist/ui-tabela-propriedades-7yJ9g7ti.cjs +0 -145
  158. package/dist/ui-tabela-propriedades-D-XKNVwK.js +0 -2078
  159. package/dist/ui-toast-CQBqvUm3.cjs +0 -20
  160. package/dist/zero-js-triggers-DdESy0tk.js +0 -205
  161. package/dist/zero-js-triggers-QGD7FOTv.cjs +0 -1
@@ -1,10 +1,10 @@
1
- var u = Object.defineProperty;
2
- var m = (o, p, e) => p in o ? u(o, p, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[p] = e;
3
- var r = (o, p, e) => m(o, typeof p != "symbol" ? p + "" : p, e);
1
+ var m = Object.defineProperty;
2
+ var d = (o, p, e) => p in o ? m(o, p, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[p] = e;
3
+ var s = (o, p, e) => d(o, typeof p != "symbol" ? p + "" : p, e);
4
4
  /* empty css */
5
- import { d as c, S as d } from "./ssr-safe-5cWfJP-s.js";
6
- import { L as h } from "./listener-bag-DQgv7OON.js";
7
- const f = ':host{display:inline-block;font-family:var(--ui-fonte-principal, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);color:var(--ui-cor-texto, #f1f1f5);box-sizing:border-box;-webkit-user-select:none;user-select:none}:host *,:host *:before,:host *:after{box-sizing:border-box}:host([posicao="bottom-right"]){position:absolute;bottom:16px;right:16px;z-index:var(--ui-z-workspace-hud, 500)}:host([posicao="bottom-left"]){position:absolute;bottom:16px;left:16px;z-index:var(--ui-z-workspace-hud, 500)}:host([posicao="top-right"]){position:absolute;top:16px;right:16px;z-index:var(--ui-z-workspace-hud, 500)}:host([posicao="top-left"]){position:absolute;top:16px;left:16px;z-index:var(--ui-z-workspace-hud, 500)}:host([posicao="inline"]){position:relative;display:inline-flex}.ui-basemap-wrapper{position:relative;display:inline-flex;align-items:center}.ui-basemap-trigger{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px 0 6px;background:var(--ui-cor-fundo-elevado, rgba(18, 18, 24, .88));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:9999px;color:var(--ui-cor-texto, #f1f1f5);cursor:pointer;outline:none;font-size:11.5px;font-weight:500;letter-spacing:.2px;box-shadow:0 4px 14px #00000059,0 1px 3px #0003;transition:all .18s cubic-bezier(.16,1,.3,1)}.ui-basemap-trigger:hover{background:var(--ui-cor-fundo-hover, rgba(28, 28, 36, .95));border-color:var(--ui-cor-primaria, #00E08A);transform:translateY(-1px);box-shadow:0 6px 20px #00000073,0 0 12px #00e08a33}.ui-basemap-trigger:focus-visible{border-color:var(--ui-cor-primaria, #00E08A);box-shadow:0 0 0 2px #00e08a59}.ui-basemap-trigger.active{border-color:var(--ui-cor-primaria, #00E08A);background:var(--ui-cor-fundo-ativo, rgba(22, 26, 32, .95));box-shadow:0 4px 16px #0006,0 0 10px #00e08a40}:host([compacto]) .ui-basemap-trigger,.ui-basemap-trigger.compacto{width:36px;height:36px;padding:0;justify-content:center;border-radius:50%}:host([compacto]) .ui-basemap-label,:host([compacto]) .ui-basemap-chevron,.ui-basemap-trigger.compacto .ui-basemap-label,.ui-basemap-trigger.compacto .ui-basemap-chevron{display:none!important}.ui-basemap-thumb-mini{width:22px;height:22px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1.5px solid var(--ui-cor-borda, rgba(255, 255, 255, .2));box-shadow:0 1px 3px #0006}.ui-basemap-thumb-mini.fallback{display:flex;align-items:center;justify-content:center;background:#ffffff14;color:var(--ui-cor-primaria, #00E08A)}.ui-basemap-thumb-mini.fallback svg{width:13px;height:13px}.ui-basemap-label{white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}.ui-basemap-chevron{display:inline-flex;align-items:center;justify-content:center;color:var(--ui-cor-texto-secundario, #888899);transition:transform .2s cubic-bezier(.16,1,.3,1);margin-left:2px}.ui-basemap-chevron svg{width:12px;height:12px}.ui-basemap-trigger.active .ui-basemap-chevron{transform:rotate(180deg);color:var(--ui-cor-primaria, #00E08A)}.ui-basemap-popover{position:absolute;min-width:210px;max-width:250px;background:var(--ui-cor-fundo-elevado, rgba(16, 16, 22, .95));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:12px;padding:6px;box-shadow:0 12px 32px #0009,0 2px 8px #0000004d;z-index:var(--ui-z-popover, 1050);display:flex;flex-direction:column;gap:3px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px) scale(.97);transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1),visibility .18s}.ui-basemap-wrapper.pos-bottom-right .ui-basemap-popover,.ui-basemap-wrapper.pos-bottom-left .ui-basemap-popover,.ui-basemap-wrapper.pos-bottom .ui-basemap-popover{bottom:calc(100% + 8px);transform:translateY(8px) scale(.97)}.ui-basemap-wrapper.pos-bottom-right .ui-basemap-popover{right:0}.ui-basemap-wrapper.pos-bottom-left .ui-basemap-popover{left:0}.ui-basemap-wrapper.pos-top-right .ui-basemap-popover,.ui-basemap-wrapper.pos-top-left .ui-basemap-popover,.ui-basemap-wrapper.pos-top .ui-basemap-popover{top:calc(100% + 8px);transform:translateY(-8px) scale(.97)}.ui-basemap-wrapper.pos-top-right .ui-basemap-popover{right:0}.ui-basemap-wrapper.pos-top-left .ui-basemap-popover{left:0}.ui-basemap-popover.aberto{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.ui-basemap-popover-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 6px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:2px}.ui-basemap-popover-titulo{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ui-cor-texto-secundario, #888899)}.ui-basemap-popover-badge{font-size:9px;font-weight:600;padding:1px 5px;border-radius:4px;background:#00e08a1f;color:var(--ui-cor-primaria, #00E08A);font-variant-numeric:tabular-nums}.ui-basemap-list{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto;overflow-x:hidden;padding-right:2px}.ui-basemap-list::-webkit-scrollbar{width:4px}.ui-basemap-list::-webkit-scrollbar-track{background:transparent}.ui-basemap-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.ui-basemap-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:7px;background:transparent;border:1px solid transparent;cursor:pointer;transition:all .12s ease;outline:none}.ui-basemap-item:hover{background:#ffffff0f;border-color:#ffffff14}.ui-basemap-item:focus-visible{border-color:var(--ui-cor-primaria, #00E08A);background:#00e08a0f}.ui-basemap-item.active{background:#00e08a1f;border-color:#00e08a59}.ui-basemap-item-preview{width:32px;height:24px;border-radius:4px;object-fit:cover;flex-shrink:0;border:1px solid rgba(255,255,255,.1);box-shadow:0 1px 3px #0000004d}.ui-basemap-item-preview-none{width:32px;height:24px;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--ui-cor-texto-secundario, #888899)}.ui-basemap-item-preview-none svg{width:14px;height:14px}.ui-basemap-item-info{display:flex;flex-direction:column;min-width:0;flex:1}.ui-basemap-item-nome{font-size:11px;font-weight:500;color:var(--ui-cor-texto, #f1f1f5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-basemap-item.active .ui-basemap-item-nome{color:var(--ui-cor-primaria, #00E08A);font-weight:600}.ui-basemap-item-desc{font-size:9.5px;color:var(--ui-cor-texto-secundario, #77778b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-basemap-item-check{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;color:var(--ui-cor-primaria, #00E08A);opacity:0;transform:scale(.6);transition:all .15s cubic-bezier(.16,1,.3,1)}.ui-basemap-item.active .ui-basemap-item-check{opacity:1;transform:scale(1)}.ui-basemap-item-check svg{width:13px;height:13px}:host-context([data-tema="claro"]),:host-context(.light),:host([data-tema="claro"]){--ui-cor-texto: #1a1a1e;--ui-cor-texto-secundario: #666677}:host-context([data-tema="claro"]) .ui-basemap-trigger,:host([data-tema="claro"]) .ui-basemap-trigger{background:#ffffffeb;border-color:#0000001f;color:#1a1a1e;box-shadow:0 4px 14px #0000001a}:host-context([data-tema="claro"]) .ui-basemap-popover,:host([data-tema="claro"]) .ui-basemap-popover{background:#fffffff7;border-color:#0000001f;box-shadow:0 12px 32px #0000002e}:host-context([data-tema="claro"]) .ui-basemap-item:hover,:host([data-tema="claro"]) .ui-basemap-item:hover{background:#0000000a}:host-context([data-tema="claro"]) .ui-basemap-item.active,:host([data-tema="claro"]) .ui-basemap-item.active{background:#00b46e1f;border-color:#00b46e59}', g = [
5
+ import { d as u, S as h } from "./ssr-safe-5cWfJP-s.js";
6
+ import { L as g } from "./listener-bag-DQgv7OON.js";
7
+ const v = ':host{display:inline-block;font-family:var(--ui-fonte-base, "Inter", sans-serif);color:var(--ui-cor-texto, #f1f1f5);box-sizing:border-box;-webkit-user-select:none;user-select:none}:host *,:host *:before,:host *:after{box-sizing:border-box}:host([posicao="bottom-right"]){position:absolute;bottom:16px;right:16px;z-index:var(--ui-z-workspace-hud, 500)}:host([posicao="bottom-left"]){position:absolute;bottom:16px;left:16px;z-index:var(--ui-z-workspace-hud, 500)}:host([posicao="top-right"]){position:absolute;top:16px;right:16px;z-index:var(--ui-z-workspace-hud, 500)}:host([posicao="top-left"]){position:absolute;top:16px;left:16px;z-index:var(--ui-z-workspace-hud, 500)}:host([posicao="inline"]){position:relative;display:inline-flex}.ui-basemap-wrapper{position:relative;display:inline-flex;align-items:center}.ui-basemap-trigger{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px 0 6px;background:var(--ui-cor-fundo-elevado, rgba(18, 18, 24, .88));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:var(--ui-raio-pill, 999px);color:var(--ui-cor-texto, #f1f1f5);cursor:pointer;outline:none;font-size:11.5px;font-weight:500;letter-spacing:.2px;box-shadow:var(--ui-sombra-md, 0 4px 14px rgba(0, 0, 0, .35)),0 1px 3px #0003;transition:all .18s cubic-bezier(.16,1,.3,1)}.ui-basemap-trigger:hover{background:var(--ui-cor-botao-secundario-hover, rgba(28, 28, 36, .95));border-color:var(--ui-cor-primaria, #00E08A);transform:translateY(-1px);box-shadow:var(--ui-sombra-md, 0 6px 20px rgba(0, 0, 0, .45)),0 0 12px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 20%,transparent)}.ui-basemap-trigger:focus-visible{border-color:var(--ui-cor-primaria, #00E08A);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 35%,transparent)}.ui-basemap-trigger.active{border-color:var(--ui-cor-primaria, #00E08A);background:var(--ui-cor-fundo-elevado, rgba(22, 26, 32, .95));box-shadow:var(--ui-sombra-md, 0 4px 16px rgba(0, 0, 0, .4)),0 0 10px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 25%,transparent)}:host([compacto]) .ui-basemap-trigger,.ui-basemap-trigger.compacto{width:36px;height:36px;padding:0;justify-content:center;border-radius:50%}:host([compacto]) .ui-basemap-label,:host([compacto]) .ui-basemap-chevron,.ui-basemap-trigger.compacto .ui-basemap-label,.ui-basemap-trigger.compacto .ui-basemap-chevron{display:none!important}.ui-basemap-thumb-mini{width:22px;height:22px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1.5px solid var(--ui-cor-borda, rgba(255, 255, 255, .2));box-shadow:var(--ui-sombra-sm, 0 1px 3px rgba(0, 0, 0, .4))}.ui-basemap-thumb-mini.fallback{display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);color:var(--ui-cor-primaria, #00E08A)}.ui-basemap-thumb-mini.fallback svg{width:13px;height:13px}.ui-basemap-label{white-space:nowrap;max-width:130px;overflow:hidden;text-overflow:ellipsis}.ui-basemap-chevron{display:inline-flex;align-items:center;justify-content:center;color:var(--ui-cor-texto-secundario, #888899);transition:transform .2s cubic-bezier(.16,1,.3,1);margin-left:2px}.ui-basemap-chevron svg{width:12px;height:12px}.ui-basemap-trigger.active .ui-basemap-chevron{transform:rotate(180deg);color:var(--ui-cor-primaria, #00E08A)}.ui-basemap-popover{position:absolute;min-width:210px;max-width:250px;background:var(--ui-cor-fundo-elevado, rgba(16, 16, 22, .95));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:12px;padding:6px;box-shadow:var(--ui-sombra-lg, 0 12px 32px rgba(0, 0, 0, .6)),0 2px 8px #0000004d;z-index:var(--ui-z-popover, 1050);display:flex;flex-direction:column;gap:3px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px) scale(.97);transition:opacity .18s cubic-bezier(.16,1,.3,1),transform .18s cubic-bezier(.16,1,.3,1),visibility .18s}.ui-basemap-wrapper.pos-bottom-right .ui-basemap-popover,.ui-basemap-wrapper.pos-bottom-left .ui-basemap-popover,.ui-basemap-wrapper.pos-bottom .ui-basemap-popover{bottom:calc(100% + 8px);transform:translateY(8px) scale(.97)}.ui-basemap-wrapper.pos-bottom-right .ui-basemap-popover{right:0}.ui-basemap-wrapper.pos-bottom-left .ui-basemap-popover{left:0}.ui-basemap-wrapper.pos-top-right .ui-basemap-popover,.ui-basemap-wrapper.pos-top-left .ui-basemap-popover,.ui-basemap-wrapper.pos-top .ui-basemap-popover{top:calc(100% + 8px);transform:translateY(-8px) scale(.97)}.ui-basemap-wrapper.pos-top-right .ui-basemap-popover{right:0}.ui-basemap-wrapper.pos-top-left .ui-basemap-popover{left:0}.ui-basemap-popover.aberto{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.ui-basemap-popover-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px 6px;border-bottom:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 6%,transparent);margin-bottom:2px}.ui-basemap-popover-titulo{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--ui-cor-texto-secundario, #888899)}.ui-basemap-popover-badge{font-size:9px;font-weight:600;padding:1px 5px;border-radius:var(--ui-raio-sm, 4px);background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 12%,transparent);color:var(--ui-cor-primaria, #00E08A);font-variant-numeric:tabular-nums}.ui-basemap-list{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto;overflow-x:hidden;padding-right:2px}.ui-basemap-list::-webkit-scrollbar{width:4px}.ui-basemap-list::-webkit-scrollbar-track{background:transparent}.ui-basemap-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 15%,transparent);border-radius:2px}.ui-basemap-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:7px;background:transparent;border:1px solid transparent;cursor:pointer;transition:all .12s ease;outline:none}.ui-basemap-item:hover{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 6%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent)}.ui-basemap-item:focus-visible{border-color:var(--ui-cor-primaria, #00E08A);background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 6%,transparent)}.ui-basemap-item.active{background:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 12%,transparent);border-color:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 35%,transparent)}.ui-basemap-item-preview{width:32px;height:24px;border-radius:var(--ui-raio-sm, 4px);object-fit:cover;flex-shrink:0;border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 10%,transparent);box-shadow:var(--ui-sombra-sm, 0 1px 3px rgba(0, 0, 0, .3))}.ui-basemap-item-preview-none{width:32px;height:24px;border-radius:var(--ui-raio-sm, 4px);flex-shrink:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 4%,transparent);border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);color:var(--ui-cor-texto-secundario, #888899)}.ui-basemap-item-preview-none svg{width:14px;height:14px}.ui-basemap-item-info{display:flex;flex-direction:column;min-width:0;flex:1}.ui-basemap-item-nome{font-size:11px;font-weight:500;color:var(--ui-cor-texto, #f1f1f5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-basemap-item.active .ui-basemap-item-nome{color:var(--ui-cor-primaria, #00E08A);font-weight:600}.ui-basemap-item-desc{font-size:9.5px;color:var(--ui-cor-texto-secundario, #77778b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-basemap-item-check{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;color:var(--ui-cor-primaria, #00E08A);opacity:0;transform:scale(.6);transition:all .15s cubic-bezier(.16,1,.3,1)}.ui-basemap-item.active .ui-basemap-item-check{opacity:1;transform:scale(1)}.ui-basemap-item-check svg{width:13px;height:13px}', x = [
8
8
  {
9
9
  id: "none",
10
10
  nome: "Sem Mapa",
@@ -46,21 +46,21 @@ const f = ':host{display:inline-block;font-family:var(--ui-fonte-principal, "Int
46
46
  descricao: "Mapa escuro de alto contraste para CAD",
47
47
  thumbnailUrl: "https://images.unsplash.com/photo-1518709268805-4e9042af9f23?w=160&auto=format&fit=crop&q=80"
48
48
  }
49
- ], x = `
49
+ ], f = `
50
50
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
51
51
  <circle cx="12" cy="12" r="10"></circle>
52
52
  <line x1="2" y1="12" x2="22" y2="12"></line>
53
53
  <path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path>
54
54
  </svg>
55
- `, v = `
55
+ `, w = `
56
56
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
57
57
  <polyline points="6 9 12 15 18 9"></polyline>
58
58
  </svg>
59
- `, w = `
59
+ `, k = `
60
60
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round">
61
61
  <polyline points="20 6 9 17 4 12"></polyline>
62
62
  </svg>
63
- `, n = `
63
+ `, c = `
64
64
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
65
65
  <rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>
66
66
  <line x1="3" y1="9" x2="21" y2="9"></line>
@@ -69,25 +69,25 @@ const f = ':host{display:inline-block;font-family:var(--ui-fonte-principal, "Int
69
69
  <line x1="15" y1="3" x2="15" y2="21"></line>
70
70
  </svg>
71
71
  `;
72
- class b extends d {
72
+ class b extends h {
73
73
  constructor() {
74
74
  super();
75
- r(this, "shadow");
76
- r(this, "listeners", new h());
77
- r(this, "_mapasBase", [...g]);
78
- r(this, "wrapperEl");
79
- r(this, "triggerBtn");
80
- r(this, "popoverEl");
81
- r(this, "listEl");
82
- r(this, "thumbEl");
83
- r(this, "labelEl");
75
+ s(this, "shadow");
76
+ s(this, "listeners", new g());
77
+ s(this, "_mapasBase", [...x]);
78
+ s(this, "wrapperEl");
79
+ s(this, "triggerBtn");
80
+ s(this, "popoverEl");
81
+ s(this, "listEl");
82
+ s(this, "thumbEl");
83
+ s(this, "labelEl");
84
84
  this.shadow = this.attachShadow({ mode: "open" }), this.shadow.innerHTML = `
85
- <style>${f}</style>
85
+ <style>${v}</style>
86
86
  <div class="ui-basemap-wrapper" id="basemap-wrapper">
87
87
  <button class="ui-basemap-trigger" id="basemap-trigger" type="button" aria-haspopup="listbox" aria-expanded="false" title="Alternar Mapa Base">
88
88
  <span class="ui-basemap-thumb-container" id="thumb-container"></span>
89
89
  <span class="ui-basemap-label" id="basemap-label">Esri Satélite</span>
90
- <span class="ui-basemap-chevron">${v}</span>
90
+ <span class="ui-basemap-chevron">${w}</span>
91
91
  </button>
92
92
 
93
93
  <div class="ui-basemap-popover" id="basemap-popover" role="listbox" aria-label="Selecione o Mapa Base">
@@ -116,16 +116,22 @@ class b extends d {
116
116
  disconnectedCallback() {
117
117
  this.listeners.cleanup();
118
118
  }
119
- attributeChangedCallback(e, t, a) {
120
- if (t !== a)
119
+ attributeChangedCallback(e, i, a) {
120
+ if (i !== a) {
121
121
  if (e === "mapa-base-ativo" || e === "valor")
122
122
  this.atualizarSelecaoVisual(), this.atualizarGatilho();
123
123
  else if (e === "posicao")
124
124
  this.atualizarPosicaoClasses();
125
125
  else if (e === "aberto") {
126
- const i = a !== null && a !== "false";
127
- this.aplicarEstadoAberto(i);
128
- } else e === "compacto" && this.triggerBtn.classList.toggle("compacto", a !== null && a !== "false");
126
+ const t = a !== null && a !== "false";
127
+ this.aplicarEstadoAberto(t);
128
+ } else if (e === "compacto")
129
+ this.triggerBtn.classList.toggle("compacto", a !== null && a !== "false");
130
+ else if (e === "desabilitado") {
131
+ const t = a !== null && a !== "false";
132
+ this.triggerBtn.disabled = t, t && this.fechar();
133
+ }
134
+ }
129
135
  }
130
136
  // --- Getters e Setters de Propriedades ---
131
137
  get mapaBaseAtivo() {
@@ -158,6 +164,12 @@ class b extends d {
158
164
  set compacto(e) {
159
165
  e ? this.setAttribute("compacto", "") : this.removeAttribute("compacto");
160
166
  }
167
+ get desabilitado() {
168
+ return this.hasAttribute("desabilitado") && this.getAttribute("desabilitado") !== "false";
169
+ }
170
+ set desabilitado(e) {
171
+ e ? this.setAttribute("desabilitado", "") : this.removeAttribute("desabilitado");
172
+ }
161
173
  get mapasBase() {
162
174
  return this._mapasBase;
163
175
  }
@@ -166,21 +178,23 @@ class b extends d {
166
178
  }
167
179
  // --- Ações Públicas ---
168
180
  abrir() {
169
- this.aberto = !0;
181
+ this.desabilitado || (this.aberto = !0);
170
182
  }
171
183
  fechar() {
172
184
  this.aberto = !1;
173
185
  }
174
186
  alternar() {
175
- this.aberto = !this.aberto;
187
+ this.aberto ? this.fechar() : this.abrir();
176
188
  }
177
189
  selecionar(e) {
178
190
  if (!e || this.mapaBaseAtivo === e) {
179
191
  this.fechar();
180
192
  return;
181
193
  }
194
+ const i = this._mapasBase.find((t) => t.id === e);
195
+ if (!i) return;
182
196
  this.mapaBaseAtivo = e;
183
- const t = this._mapasBase.find((i) => i.id === e), a = { mapaBaseId: e, item: t };
197
+ const a = { mapaBaseId: e, item: i };
184
198
  this.dispatchEvent(new CustomEvent("ui-mapa-base-alterado", {
185
199
  detail: a,
186
200
  bubbles: !0,
@@ -200,53 +214,86 @@ class b extends d {
200
214
  this.popoverEl.classList.toggle("aberto", e), this.triggerBtn.classList.toggle("active", e), this.triggerBtn.setAttribute("aria-expanded", String(e));
201
215
  }
202
216
  atualizarGatilho() {
203
- const e = this.mapaBaseAtivo, t = this._mapasBase.find((a) => a.id === e) || this._mapasBase[0];
204
- t ? (this.labelEl.textContent = t.nome, this.triggerBtn.title = `Mapa Base: ${t.nome} (${t.descricao || ""})`, t.thumbnailUrl ? this.thumbEl.innerHTML = `<img class="ui-basemap-thumb-mini" src="${l(t.thumbnailUrl)}" alt="${l(t.nome)}" />` : this.thumbEl.innerHTML = `<span class="ui-basemap-thumb-mini fallback">${n}</span>`) : (this.labelEl.textContent = "Mapa Base", this.thumbEl.innerHTML = `<span class="ui-basemap-thumb-mini fallback">${x}</span>`);
217
+ const e = this.mapaBaseAtivo, i = this._mapasBase.find((a) => a.id === e) || this._mapasBase[0];
218
+ i ? (this.labelEl.textContent = i.nome, this.triggerBtn.title = `Mapa Base: ${i.nome} (${i.descricao || ""})`, i.thumbnailUrl ? this.thumbEl.innerHTML = `<img class="ui-basemap-thumb-mini" src="${n(i.thumbnailUrl)}" alt="${n(i.nome)}" referrerpolicy="no-referrer" decoding="async" />` : this.thumbEl.innerHTML = `<span class="ui-basemap-thumb-mini fallback">${c}</span>`) : (this.labelEl.textContent = "Mapa Base", this.thumbEl.innerHTML = `<span class="ui-basemap-thumb-mini fallback">${f}</span>`);
205
219
  }
206
220
  renderizarOpcoes() {
207
221
  const e = this.shadow.getElementById("popover-count");
208
222
  e && (e.textContent = `${this._mapasBase.length} opções`);
209
- const t = this.mapaBaseAtivo;
223
+ const i = this.mapaBaseAtivo;
210
224
  this.listEl.innerHTML = this._mapasBase.map((a) => {
211
- const i = a.id === t, s = a.thumbnailUrl ? `<img class="ui-basemap-item-preview" src="${l(a.thumbnailUrl)}" alt="${l(a.nome)}" loading="lazy" />` : `<div class="ui-basemap-item-preview-none">${n}</div>`;
225
+ const t = a.id === i, r = a.thumbnailUrl ? `<img class="ui-basemap-item-preview" src="${n(a.thumbnailUrl)}" alt="${n(a.nome)}" loading="lazy" referrerpolicy="no-referrer" decoding="async" />` : `<div class="ui-basemap-item-preview-none">${c}</div>`;
212
226
  return `
213
- <div class="ui-basemap-item ${i ? "active" : ""}"
214
- data-id="${l(a.id)}"
227
+ <div class="ui-basemap-item ${t ? "active" : ""}"
228
+ data-id="${n(a.id)}"
215
229
  role="option"
216
- aria-selected="${i}"
230
+ aria-selected="${t}"
217
231
  tabindex="0">
218
- ${s}
232
+ ${r}
219
233
  <div class="ui-basemap-item-info">
220
- <span class="ui-basemap-item-nome">${l(a.nome)}</span>
221
- ${a.descricao ? `<span class="ui-basemap-item-desc">${l(a.descricao)}</span>` : ""}
234
+ <span class="ui-basemap-item-nome">${n(a.nome)}</span>
235
+ ${a.descricao ? `<span class="ui-basemap-item-desc">${n(a.descricao)}</span>` : ""}
222
236
  </div>
223
- <span class="ui-basemap-item-check">${w}</span>
237
+ <span class="ui-basemap-item-check">${k}</span>
224
238
  </div>
225
239
  `;
226
240
  }).join("");
227
241
  }
242
+ focarItem(e) {
243
+ const i = Array.from(this.listEl.querySelectorAll(".ui-basemap-item"));
244
+ if (i.length === 0) return;
245
+ const a = i.indexOf(this.shadow.activeElement);
246
+ let t;
247
+ switch (e) {
248
+ case "ativo":
249
+ t = Math.max(0, i.findIndex((r) => r.classList.contains("active")));
250
+ break;
251
+ case "proximo":
252
+ t = Math.min(i.length - 1, a + 1);
253
+ break;
254
+ case "anterior":
255
+ t = Math.max(0, a - 1);
256
+ break;
257
+ case "primeiro":
258
+ t = 0;
259
+ break;
260
+ default:
261
+ t = i.length - 1;
262
+ }
263
+ i[t].focus();
264
+ }
228
265
  atualizarSelecaoVisual() {
229
266
  const e = this.mapaBaseAtivo;
230
267
  this.listEl.querySelectorAll(".ui-basemap-item").forEach((a) => {
231
- const s = a.getAttribute("data-id") === e;
232
- a.classList.toggle("active", s), a.setAttribute("aria-selected", String(s));
268
+ const r = a.getAttribute("data-id") === e;
269
+ a.classList.toggle("active", r), a.setAttribute("aria-selected", String(r));
233
270
  });
234
271
  }
235
272
  conectarEventos() {
236
273
  this.listeners.add(this.triggerBtn, "click", (a) => {
237
- a.stopPropagation(), this.alternar();
274
+ a.stopPropagation(), this.alternar(), this.aberto && a.detail === 0 && this.focarItem("ativo");
238
275
  }), this.listeners.add(this.listEl, "click", (a) => {
239
- const i = a.target.closest(".ui-basemap-item");
240
- if (!i) return;
241
- const s = i.getAttribute("data-id");
242
- s && this.selecionar(s);
276
+ const t = a.target.closest(".ui-basemap-item");
277
+ if (!t) return;
278
+ const r = t.getAttribute("data-id");
279
+ r && this.selecionar(r);
243
280
  }), this.listeners.add(this.listEl, "keydown", (a) => {
281
+ const t = {
282
+ ArrowDown: "proximo",
283
+ ArrowUp: "anterior",
284
+ Home: "primeiro",
285
+ End: "ultimo"
286
+ };
287
+ if (t[a.key]) {
288
+ a.preventDefault(), this.focarItem(t[a.key]);
289
+ return;
290
+ }
244
291
  if (a.key === "Enter" || a.key === " ") {
245
- const i = a.target.closest(".ui-basemap-item");
246
- if (i) {
292
+ const r = a.target.closest(".ui-basemap-item");
293
+ if (r) {
247
294
  a.preventDefault();
248
- const s = i.getAttribute("data-id");
249
- s && this.selecionar(s);
295
+ const l = r.getAttribute("data-id");
296
+ l && this.selecionar(l);
250
297
  }
251
298
  }
252
299
  });
@@ -254,22 +301,25 @@ class b extends d {
254
301
  if (!this.aberto) return;
255
302
  a.composedPath().includes(this) || this.fechar();
256
303
  };
257
- this.listeners.add(document, "click", e);
258
- const t = (a) => {
304
+ this.listeners.add(document, "click", e), this.listeners.add(this.wrapperEl, "focusout", (a) => {
305
+ const t = a.relatedTarget;
306
+ this.aberto && t && !this.shadow.contains(t) && !this.contains(t) && this.fechar();
307
+ });
308
+ const i = (a) => {
259
309
  a.key === "Escape" && this.aberto && (this.fechar(), this.triggerBtn.focus());
260
310
  };
261
- this.listeners.add(document, "keydown", t);
311
+ this.listeners.add(document, "keydown", i);
262
312
  }
263
313
  }
264
- function l(o) {
314
+ function n(o) {
265
315
  return o ? String(o).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#039;") : "";
266
316
  }
267
- class k extends b {
317
+ class y extends b {
268
318
  }
269
- c("ui-seletor-mapa-base", b);
270
- c("ui-mapa-base", k);
319
+ u("ui-seletor-mapa-base", b);
320
+ u("ui-mapa-base", y);
271
321
  export {
272
- g as MAPAS_BASE_PADRAO,
273
- k as UIMapaBase,
322
+ x as MAPAS_BASE_PADRAO,
323
+ y as UIMapaBase,
274
324
  b as UISeletorMapaBase
275
325
  };
@@ -0,0 +1,50 @@
1
+ const i = /* @__PURE__ */ new Set([
2
+ "svg",
3
+ "g",
4
+ "path",
5
+ "rect",
6
+ "circle",
7
+ "ellipse",
8
+ "line",
9
+ "polyline",
10
+ "polygon",
11
+ "text",
12
+ "tspan",
13
+ "title",
14
+ "desc",
15
+ "defs",
16
+ "symbol",
17
+ "use",
18
+ "lineargradient",
19
+ "radialgradient",
20
+ "stop",
21
+ "clippath",
22
+ "mask"
23
+ ]), a = /^(javascript|data|vbscript):/i, o = /url\s*\(\s*['"]?\s*(?!#)/i;
24
+ function u(t, e) {
25
+ const r = t.toLowerCase();
26
+ if (r.startsWith("on")) return !1;
27
+ const n = e.replace(/[\s\u0000-\u001f]+/g, "");
28
+ return a.test(n) ? !1 : r === "href" || r === "xlink:href" ? n.startsWith("#") : !o.test(e);
29
+ }
30
+ function s(t) {
31
+ Array.from(t.children).forEach((e) => {
32
+ if (!i.has(e.localName.toLowerCase())) {
33
+ e.remove();
34
+ return;
35
+ }
36
+ s(e);
37
+ }), Array.from(t.attributes).forEach((e) => {
38
+ u(e.name, e.value) || t.removeAttribute(e.name);
39
+ });
40
+ }
41
+ function c(t) {
42
+ if (!t || typeof t != "string" || typeof document > "u") return null;
43
+ const e = document.createElement("template");
44
+ e.innerHTML = t.trim();
45
+ const r = e.content.querySelector("svg");
46
+ return r ? (s(r), r) : null;
47
+ }
48
+ export {
49
+ c as h
50
+ };
@@ -0,0 +1 @@
1
+ "use strict";const s=new Set(["svg","g","path","rect","circle","ellipse","line","polyline","polygon","text","tspan","title","desc","defs","symbol","use","lineargradient","radialgradient","stop","clippath","mask"]),a=/^(javascript|data|vbscript):/i,o=/url\s*\(\s*['"]?\s*(?!#)/i;function u(t,e){const r=t.toLowerCase();if(r.startsWith("on"))return!1;const n=e.replace(/[\s\u0000-\u001f]+/g,"");return a.test(n)?!1:r==="href"||r==="xlink:href"?n.startsWith("#"):!o.test(e)}function i(t){Array.from(t.children).forEach(e=>{if(!s.has(e.localName.toLowerCase())){e.remove();return}i(e)}),Array.from(t.attributes).forEach(e=>{u(e.name,e.value)||t.removeAttribute(e.name)})}function c(t){if(!t||typeof t!="string"||typeof document>"u")return null;const e=document.createElement("template");e.innerHTML=t.trim();const r=e.content.querySelector("svg");return r?(i(r),r):null}exports.higienizarSvg=c;
package/dist/tabela.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const r=require("./ui-tabela-propriedades-7yJ9g7ti.cjs");exports.GerenciadorValoresPropriedades=r.GerenciadorValoresPropriedades;exports.TabelaOrquestradorDados=r.TabelaOrquestradorDados;exports.TabelaRemotaController=r.TabelaRemotaController;exports.TabelaSelecaoController=r.TabelaSelecaoController;exports.UITabela=r.UITabela;exports.UITabelaPropriedades=r.UITabelaPropriedades;exports.abrirPopoverRedimensionamento=r.abrirPopoverRedimensionamento;exports.alternarCategoria=r.alternarCategoria;exports.alternarDirecaoOrdenacao=r.alternarDirecaoOrdenacao;exports.alternarPosicionamentoFlutuante=r.alternarPosicionamentoFlutuante;exports.aplicarOrdenacaoTabela=r.aplicarOrdenacaoTabela;exports.atualizarCampoVisual=r.atualizarCampoVisual;exports.avaliarExpressaoMatematica=r.avaliarExpressaoMatematica;exports.colapsarTodasCategorias=r.colapsarTodasCategorias;exports.conectarArrastoFlutuante=r.conectarArrastoFlutuante;exports.conectarPainelControles=r.conectarPainelControles;exports.criarControladorSplitter=r.criarControladorSplitter;exports.criarEditorAcao=r.criarEditorAcao;exports.criarEditorBooleano=r.criarEditorBooleano;exports.criarEditorCorCad=r.criarEditorCorCad;exports.criarEditorCorSwatch=r.criarEditorCorSwatch;exports.criarEditorLinetype=r.criarEditorLinetype;exports.criarEditorLineweight=r.criarEditorLineweight;exports.criarEditorNumero=r.criarEditorNumero;exports.criarEditorReadonly=r.criarEditorReadonly;exports.criarEditorSelecao=r.criarEditorSelecao;exports.criarEditorTexto=r.criarEditorTexto;exports.criarEditorValor=r.criarEditorValor;exports.criarLinhaPropriedade=r.criarLinhaPropriedade;exports.executarOrquestracaoCorpo=r.executarOrquestracaoCorpo;exports.executarOrquestracaoHeader=r.executarOrquestracaoHeader;exports.executarRedimensionamentoColuna=r.executarRedimensionamentoColuna;exports.exibirPromptPopoverRedimensionamento=r.exibirPromptPopoverRedimensionamento;exports.expandirTodasCategorias=r.expandirTodasCategorias;exports.focarProximoEditor=r.focarProximoEditor;exports.formatWidth=r.formatWidth;exports.getAlignmentClass=r.getAlignmentClass;exports.getRowHeight=r.getRowHeight;exports.getTextAlign=r.getTextAlign;exports.inicializarScrollVirtualizacao=r.inicializarScrollVirtualizacao;exports.iniciarRedimensionamentoColuna=r.iniciarRedimensionamentoColuna;exports.localizarIndiceItem=r.localizarIndiceItem;exports.montarEstruturaDOM=r.montarEstruturaDOM;exports.orquestrarEstruturaInicial=r.orquestrarEstruturaInicial;exports.proximaDensidade=r.proximaDensidade;exports.renderizarCategoriasETree=r.renderizarCategoriasETree;exports.renderizarCorpoTabela=r.renderizarCorpoTabela;exports.renderizarHeaderTabela=r.renderizarHeaderTabela;exports.renderizarSeletorTipos=r.renderizarSeletorTipos;exports.sincronizarAtributosTabela=r.sincronizarAtributosTabela;exports.sincronizarPainelControles=r.sincronizarPainelControles;exports.tratarMudancaAtributoTabela=r.tratarMudancaAtributoTabela;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const r=require("./ui-tabela-propriedades-BBr5sqki.cjs");exports.GerenciadorValoresPropriedades=r.GerenciadorValoresPropriedades;exports.TabelaOrquestradorDados=r.TabelaOrquestradorDados;exports.TabelaRemotaController=r.TabelaRemotaController;exports.TabelaSelecaoController=r.TabelaSelecaoController;exports.UITabela=r.UITabela;exports.UITabelaPropriedades=r.UITabelaPropriedades;exports.abrirPopoverRedimensionamento=r.abrirPopoverRedimensionamento;exports.alternarCategoria=r.alternarCategoria;exports.alternarDirecaoOrdenacao=r.alternarDirecaoOrdenacao;exports.alternarPosicionamentoFlutuante=r.alternarPosicionamentoFlutuante;exports.aplicarOrdenacaoTabela=r.aplicarOrdenacaoTabela;exports.atualizarCampoVisual=r.atualizarCampoVisual;exports.avaliarExpressaoMatematica=r.avaliarExpressaoMatematica;exports.buscarLinhaPropriedade=r.buscarLinhaPropriedade;exports.colapsarTodasCategorias=r.colapsarTodasCategorias;exports.conectarArrastoFlutuante=r.conectarArrastoFlutuante;exports.conectarPainelControles=r.conectarPainelControles;exports.criarControladorSplitter=r.criarControladorSplitter;exports.criarEditorAcao=r.criarEditorAcao;exports.criarEditorBooleano=r.criarEditorBooleano;exports.criarEditorCorCad=r.criarEditorCorCad;exports.criarEditorCorSwatch=r.criarEditorCorSwatch;exports.criarEditorLinetype=r.criarEditorLinetype;exports.criarEditorLineweight=r.criarEditorLineweight;exports.criarEditorNumero=r.criarEditorNumero;exports.criarEditorReadonly=r.criarEditorReadonly;exports.criarEditorSelecao=r.criarEditorSelecao;exports.criarEditorTexto=r.criarEditorTexto;exports.criarEditorValor=r.criarEditorValor;exports.criarLinhaPropriedade=r.criarLinhaPropriedade;exports.executarOrquestracaoCorpo=r.executarOrquestracaoCorpo;exports.executarOrquestracaoHeader=r.executarOrquestracaoHeader;exports.executarRedimensionamentoColuna=r.executarRedimensionamentoColuna;exports.exibirPromptPopoverRedimensionamento=r.exibirPromptPopoverRedimensionamento;exports.expandirTodasCategorias=r.expandirTodasCategorias;exports.focarProximoEditor=r.focarProximoEditor;exports.formatWidth=r.formatWidth;exports.getAlignmentClass=r.getAlignmentClass;exports.getRowHeight=r.getRowHeight;exports.getTextAlign=r.getTextAlign;exports.inicializarScrollVirtualizacao=r.inicializarScrollVirtualizacao;exports.iniciarRedimensionamentoColuna=r.iniciarRedimensionamentoColuna;exports.interpretarIndice=r.interpretarIndice;exports.localizarIndiceItem=r.localizarIndiceItem;exports.montarEstruturaDOM=r.montarEstruturaDOM;exports.orquestrarEstruturaInicial=r.orquestrarEstruturaInicial;exports.proximaDensidade=r.proximaDensidade;exports.registrarAtualizadorEditor=r.registrarAtualizadorEditor;exports.renderizarCategoriasETree=r.renderizarCategoriasETree;exports.renderizarCorpoTabela=r.renderizarCorpoTabela;exports.renderizarHeaderTabela=r.renderizarHeaderTabela;exports.renderizarSeletorTipos=r.renderizarSeletorTipos;exports.sincronizarAtributosTabela=r.sincronizarAtributosTabela;exports.sincronizarPainelControles=r.sincronizarPainelControles;exports.sincronizarSelect=r.sincronizarSelect;exports.tratarMudancaAtributoTabela=r.tratarMudancaAtributoTabela;exports.valoresIguais=r.valoresIguais;
package/dist/tabela.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /* empty css */
2
- import { G as o, T as i, a as s, b as t, U as n, c as l, d as c, e as d, f as u, g as m, h as p, i as C, j as E, k as T, l as b, m as g, n as x, o as z, p as P, q as R, r as A, s as O, t as S, u as h, v as I, w as q, x as D, y as V, z as f, A as v, B as w, C as H, D as L, E as M, F as y, H as F, I as U, J as B, K as G, L as N, M as W, N as j, O as k, P as J, Q as K, R as Q, S as X, V as Y, W as Z, X as _, Y as $, Z as aa } from "./ui-tabela-propriedades-D-XKNVwK.js";
2
+ import { G as o, T as i, a as s, b as t, U as n, c as l, d as c, e as d, f as u, g as m, h as p, i as C, j as E, k as T, l as b, m as g, n as z, o as x, p as P, q as A, r as I, s as R, t as S, u as h, v as O, w as q, x as v, y as D, z as L, A as V, B as f, C as w, D as H, E as M, F as y, H as F, I as U, J as B, K as G, L as N, M as W, N as j, O as k, P as J, Q as K, R as Q, S as X, V as Y, W as Z, X as _, Y as $, Z as aa, _ as ra, $ as ea, a0 as oa, a1 as ia, a2 as sa } from "./ui-tabela-propriedades-Boy7I5yW.js";
3
3
  export {
4
4
  o as GerenciadorValoresPropriedades,
5
5
  i as TabelaOrquestradorDados,
@@ -14,43 +14,48 @@ export {
14
14
  p as aplicarOrdenacaoTabela,
15
15
  C as atualizarCampoVisual,
16
16
  E as avaliarExpressaoMatematica,
17
- T as colapsarTodasCategorias,
18
- b as conectarArrastoFlutuante,
19
- g as conectarPainelControles,
17
+ T as buscarLinhaPropriedade,
18
+ b as colapsarTodasCategorias,
19
+ g as conectarArrastoFlutuante,
20
+ z as conectarPainelControles,
20
21
  x as criarControladorSplitter,
21
- z as criarEditorAcao,
22
- P as criarEditorBooleano,
23
- R as criarEditorCorCad,
24
- A as criarEditorCorSwatch,
25
- O as criarEditorLinetype,
26
- S as criarEditorLineweight,
27
- h as criarEditorNumero,
28
- I as criarEditorReadonly,
29
- q as criarEditorSelecao,
22
+ P as criarEditorAcao,
23
+ A as criarEditorBooleano,
24
+ I as criarEditorCorCad,
25
+ R as criarEditorCorSwatch,
26
+ S as criarEditorLinetype,
27
+ h as criarEditorLineweight,
28
+ O as criarEditorNumero,
29
+ q as criarEditorReadonly,
30
+ v as criarEditorSelecao,
30
31
  D as criarEditorTexto,
31
- V as criarEditorValor,
32
- f as criarLinhaPropriedade,
33
- v as executarOrquestracaoCorpo,
32
+ L as criarEditorValor,
33
+ V as criarLinhaPropriedade,
34
+ f as executarOrquestracaoCorpo,
34
35
  w as executarOrquestracaoHeader,
35
36
  H as executarRedimensionamentoColuna,
36
- L as exibirPromptPopoverRedimensionamento,
37
- M as expandirTodasCategorias,
38
- y as focarProximoEditor,
39
- F as formatWidth,
40
- U as getAlignmentClass,
41
- B as getRowHeight,
42
- G as getTextAlign,
43
- N as inicializarScrollVirtualizacao,
44
- W as iniciarRedimensionamentoColuna,
45
- j as localizarIndiceItem,
46
- k as montarEstruturaDOM,
47
- J as orquestrarEstruturaInicial,
48
- K as proximaDensidade,
49
- Q as renderizarCategoriasETree,
50
- X as renderizarCorpoTabela,
51
- Y as renderizarHeaderTabela,
52
- Z as renderizarSeletorTipos,
53
- _ as sincronizarAtributosTabela,
54
- $ as sincronizarPainelControles,
55
- aa as tratarMudancaAtributoTabela
37
+ M as exibirPromptPopoverRedimensionamento,
38
+ y as expandirTodasCategorias,
39
+ F as focarProximoEditor,
40
+ U as formatWidth,
41
+ B as getAlignmentClass,
42
+ G as getRowHeight,
43
+ N as getTextAlign,
44
+ W as inicializarScrollVirtualizacao,
45
+ j as iniciarRedimensionamentoColuna,
46
+ k as interpretarIndice,
47
+ J as localizarIndiceItem,
48
+ K as montarEstruturaDOM,
49
+ Q as orquestrarEstruturaInicial,
50
+ X as proximaDensidade,
51
+ Y as registrarAtualizadorEditor,
52
+ Z as renderizarCategoriasETree,
53
+ _ as renderizarCorpoTabela,
54
+ $ as renderizarHeaderTabela,
55
+ aa as renderizarSeletorTipos,
56
+ ra as sincronizarAtributosTabela,
57
+ ea as sincronizarPainelControles,
58
+ oa as sincronizarSelect,
59
+ ia as tratarMudancaAtributoTabela,
60
+ sa as valoresIguais
56
61
  };