@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
@@ -2,10 +2,11 @@ var _ = Object.defineProperty;
2
2
  var k = (n, i, t) => i in n ? _(n, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[i] = t;
3
3
  var a = (n, i, t) => k(n, typeof i != "symbol" ? i + "" : i, t);
4
4
  import { L as d } from "./listener-bag-DQgv7OON.js";
5
+ import { a as y } from "./parts-CaoQiCfI.js";
5
6
  import { d as h } from "./ssr-safe-5cWfJP-s.js";
6
- import { F as u } from "./ui-campo-texto-B_JF6POq.js";
7
+ import { F as u, r as w } from "./ui-campo-texto-Uu2dJE_0.js";
7
8
  import { g as m, o as p, c as f } from "./form-validacao-BIOXxt-1.js";
8
- class y {
9
+ class A {
9
10
  constructor(i, t, e) {
10
11
  a(this, "scrollHandler");
11
12
  a(this, "resizeHandler");
@@ -15,19 +16,27 @@ class y {
15
16
  return;
16
17
  }
17
18
  const i = this.button.getBoundingClientRect();
18
- this.content.style.top = `${Math.round(i.bottom + 2)}px`, this.content.style.left = `${Math.round(i.left)}px`, this.content.style.minWidth = `${Math.round(Math.max(i.width, 120))}px`;
19
+ this.content.style.top = `${Math.round(i.bottom + 2)}px`, this.content.style.left = `${Math.round(i.left)}px`, this.content.style.minWidth = `${Math.round(Math.max(i.width, 120))}px`, this.ajustarAoViewport(i);
19
20
  });
20
21
  this.host = i, this.button = t, this.content = e;
21
22
  }
22
23
  isMobileOrBottomSheet() {
23
24
  return typeof window > "u" ? !1 : window.innerWidth <= 640 || this.host.hasAttribute("bottom-sheet") || this.host.hasAttribute("modo-mobile");
24
25
  }
26
+ /** Com a lista já visível (medida real): abre para cima se faltar espaço embaixo e não deixa sair pela lateral. */
27
+ ajustarAoViewport(i) {
28
+ const t = this.content.offsetHeight, e = this.content.offsetWidth;
29
+ if (t <= 0 || typeof window > "u") return;
30
+ const s = 8;
31
+ i.bottom + 2 + t > window.innerHeight - s && i.top - 2 - t >= s && (this.content.style.top = `${Math.round(i.top - 2 - t)}px`), i.left + e > window.innerWidth - s && (this.content.style.left = `${Math.max(s, Math.round(window.innerWidth - s - e))}px`);
32
+ }
25
33
  ativarAcompanhamento(i) {
26
34
  if (this.scrollHandler = i, this.resizeHandler = this.posicionar, window.addEventListener("scroll", this.scrollHandler, { capture: !0, passive: !0 }), window.addEventListener("resize", this.resizeHandler, { passive: !0 }), typeof this.content.showPopover == "function")
27
35
  try {
28
36
  this.content.showPopover();
29
37
  } catch {
30
38
  }
39
+ this.posicionar();
31
40
  }
32
41
  desativarAcompanhamento() {
33
42
  if (this.scrollHandler && (window.removeEventListener("scroll", this.scrollHandler, { capture: !0 }), this.scrollHandler = void 0), this.resizeHandler && (window.removeEventListener("resize", this.resizeHandler), this.resizeHandler = void 0), typeof this.content.hidePopover == "function")
@@ -37,14 +46,17 @@ class y {
37
46
  }
38
47
  }
39
48
  }
40
- class w {
49
+ class E {
41
50
  constructor(i) {
42
51
  a(this, "focusedIndex", -1);
43
52
  this.listElement = i;
44
53
  }
45
54
  focarPrimeiroItem() {
46
55
  const i = Array.from(this.listElement.querySelectorAll(".ui-lista-flutuante__item"));
47
- i.length > 0 && (this.focusedIndex = 0, i[0].focus());
56
+ if (i.length > 0) {
57
+ const t = i.findIndex((e) => e.classList.contains("ui-lista-flutuante__item--selecionado"));
58
+ this.focusedIndex = Math.max(0, t), i[this.focusedIndex].focus();
59
+ }
48
60
  }
49
61
  resetarFoco() {
50
62
  this.focusedIndex = -1;
@@ -54,10 +66,18 @@ class w {
54
66
  t.length !== 0 && (this.focusedIndex += i, this.focusedIndex < 0 && (this.focusedIndex = t.length - 1), this.focusedIndex >= t.length && (this.focusedIndex = 0), t[this.focusedIndex].focus());
55
67
  }
56
68
  tratarKeydownLista(i, t, e, s, r) {
57
- i.key === "ArrowDown" ? (i.preventDefault(), this.moverFoco(1)) : i.key === "ArrowUp" ? (i.preventDefault(), this.moverFoco(-1)) : i.key === "Enter" || i.key === " " ? (i.preventDefault(), this.focusedIndex >= 0 && this.focusedIndex < t.length && e(t[this.focusedIndex])) : i.key === "Escape" && (i.preventDefault(), s(), r.focus());
69
+ if (i.key === "ArrowDown")
70
+ i.preventDefault(), this.moverFoco(1);
71
+ else if (i.key === "ArrowUp")
72
+ i.preventDefault(), this.moverFoco(-1);
73
+ else if (i.key === "Home" || i.key === "End") {
74
+ i.preventDefault();
75
+ const o = i.key === "End";
76
+ this.focusedIndex = o ? -1 : 0, o ? this.moverFoco(-1) : this.moverFoco(0);
77
+ } else i.key === "Tab" ? s() : i.key === "Enter" || i.key === " " ? (i.preventDefault(), this.focusedIndex >= 0 && this.focusedIndex < t.length && e(t[this.focusedIndex])) : i.key === "Escape" && (i.preventDefault(), s(), r.focus());
58
78
  }
59
79
  }
60
- const A = ':host{display:inline-block;position:relative;width:100%;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif)}:host([inline]){width:auto}.ui-lista-flutuante__container{display:flex;flex-direction:column;width:100%;position:relative}.ui-lista-flutuante__label{font-family:var(--ui-fonte-base, "Inter", sans-serif);font-size:var(--ui-tamanho-corpo-sm, 13px);font-weight:var(--ui-peso-medio, 500);color:var(--ui-cor-texto, #e1e1e6);margin-bottom:4px;-webkit-user-select:none;user-select:none;flex-shrink:0}.ui-lista-flutuante__gatilho{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:var(--ui-campo-altura, 100%);min-height:var(--ui-campo-altura, var(--ui-altura-minima, 15px));padding:0 8px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);color:var(--ui-cor-texto, #e1e1e6);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:var(--ui-raio-borda, 6px);font-family:var(--ui-fonte-base, "Inter", sans-serif);font-size:clamp(11px,.85rem,13px);line-height:1;cursor:pointer;box-sizing:border-box;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color .15s ease,background-color .15s ease}.ui-lista-flutuante__gatilho:hover:not(:disabled){border-color:var(--ui-cor-primaria, #00E08A)}.ui-lista-flutuante__gatilho:disabled{opacity:.5;cursor:not-allowed}.ui-lista-flutuante__texto{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.ui-lista-flutuante__seta{font-size:10px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease;color:var(--ui-cor-texto-secundario, #888899);flex-shrink:0;shape-rendering:geometricPrecision}:host([aberta]) .ui-lista-flutuante__seta{transform:rotate(180deg)}.ui-lista-flutuante__backdrop{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:calc(var(--ui-z-popover, 1050) - 1)}:host([aberta]) .ui-lista-flutuante__backdrop{display:block}:host(:not([aberta])) .ui-lista-flutuante__conteudo{display:none!important}:host([aberta]) .ui-lista-flutuante__conteudo{display:block}.ui-lista-flutuante__conteudo{position:fixed;margin:0;padding:4px;list-style:none;background-color:var(--ui-cor-fundo-menu, #18181c);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .14));border-radius:var(--ui-raio-borda, 6px);box-shadow:0 8px 28px #0000008c;max-height:220px;overflow-y:auto;z-index:var(--ui-z-popover, 1050);box-sizing:border-box;inset:auto}.ui-lista-flutuante__sheet-header{display:none;width:100%;margin-bottom:8px}.ui-lista-flutuante__handle{width:36px;height:4px;border-radius:2px;background-color:#ffffff40;margin:2px auto 8px}.ui-lista-flutuante__sheet-title-bar{display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px 6px 8px;border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));margin-bottom:6px}.ui-lista-flutuante__sheet-titulo{font-size:13px;font-weight:600;color:var(--ui-cor-primaria, #00E08A);letter-spacing:.3px;text-transform:uppercase}.ui-lista-flutuante__sheet-close{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s,background-color .15s}.ui-lista-flutuante__sheet-close:hover{color:#fff;background-color:#ffffff14}.ui-lista-flutuante__item{padding:6px 10px;font-family:var(--ui-fonte-base, "Inter", sans-serif);font-size:12px;line-height:1.2;color:var(--ui-cor-texto, #e1e1e6);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .12s ease,color .12s ease;-webkit-user-select:none;user-select:none}.ui-lista-flutuante__item:hover{background-color:var(--ui-cor-hover-menu, rgba(255, 255, 255, .08))}.ui-lista-flutuante__item--selecionado{background-color:#00e08a26;color:var(--ui-cor-primaria, #00E08A);font-weight:600}.ui-lista-flutuante__item--selecionado:after{content:"✓";font-size:11px;color:var(--ui-cor-primaria, #00E08A)}@media (max-width: 640px){.ui-lista-flutuante__gatilho{min-height:max(var(--ui-campo-altura, 38px),38px);font-size:15px}:host([aberta]) .ui-lista-flutuante__backdrop{background-color:#00000059;-webkit-backdrop-filter:none;backdrop-filter:none}.ui-lista-flutuante__conteudo{position:fixed!important;bottom:0!important;top:auto!important;left:0!important;width:100vw!important;max-width:100vw!important;min-width:100vw!important;max-height:70vh!important;max-height:70dvh!important;border-radius:16px 16px 0 0!important;border-bottom:none!important;padding:10px 16px calc(24px + env(safe-area-inset-bottom,0px)) 16px!important;box-shadow:0 -8px 32px #000000b3!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:ui-bottom-sheet-slide .22s cubic-bezier(.4,0,.2,1)}.ui-lista-flutuante__sheet-header{display:flex!important;flex-direction:column!important}.ui-lista-flutuante__sheet-close{min-width:44px;min-height:44px;font-size:18px}.ui-lista-flutuante__item{padding:12px 14px!important;font-size:15px!important;margin-bottom:3px}}:host([bottom-sheet][aberta]) .ui-lista-flutuante__backdrop,:host([modo-mobile][aberta]) .ui-lista-flutuante__backdrop{background-color:#00000059;-webkit-backdrop-filter:none;backdrop-filter:none}:host([bottom-sheet]) .ui-lista-flutuante__conteudo,:host([modo-mobile]) .ui-lista-flutuante__conteudo{position:fixed!important;bottom:0!important;top:auto!important;left:0!important;width:100vw!important;max-width:100vw!important;min-width:100vw!important;max-height:70vh!important;max-height:70dvh!important;border-radius:16px 16px 0 0!important;border-bottom:none!important;padding:10px 16px calc(24px + env(safe-area-inset-bottom,0px)) 16px!important;box-shadow:0 -8px 32px #000000b3!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:ui-bottom-sheet-slide .22s cubic-bezier(.4,0,.2,1)}:host([bottom-sheet]) .ui-lista-flutuante__sheet-header,:host([modo-mobile]) .ui-lista-flutuante__sheet-header{display:flex!important;flex-direction:column!important}:host([bottom-sheet]) .ui-lista-flutuante__sheet-close,:host([modo-mobile]) .ui-lista-flutuante__sheet-close{min-width:44px;min-height:44px;font-size:18px}:host([bottom-sheet]) .ui-lista-flutuante__item,:host([modo-mobile]) .ui-lista-flutuante__item{padding:12px 14px!important;font-size:15px!important;margin-bottom:3px}@keyframes ui-bottom-sheet-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}', E = [
80
+ const S = ':host{display:inline-block;position:relative;width:100%;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif)}:host([inline]){width:auto}.ui-lista-flutuante__container{display:flex;flex-direction:column;width:100%;position:relative}.ui-lista-flutuante__label{font-family:var(--ui-fonte-base, "Inter", sans-serif);font-size:var(--ui-tamanho-corpo-sm, 13px);font-weight:var(--ui-peso-medio, 500);color:var(--ui-cor-texto, #e1e1e6);margin-bottom:4px;-webkit-user-select:none;user-select:none;flex-shrink:0}.ui-lista-flutuante__asterisco{color:var(--ui-cor-texto-erro, #ff5555);margin-left:2px}.ui-lista-flutuante__gatilho{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:var(--ui-campo-altura, 100%);min-height:var(--ui-campo-altura, var(--ui-altura-minima, 15px));padding:0 8px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);color:var(--ui-cor-texto, #e1e1e6);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:var(--ui-raio-borda, 6px);font-family:var(--ui-fonte-base, "Inter", sans-serif);font-size:clamp(11px,.85rem,13px);line-height:1;cursor:pointer;box-sizing:border-box;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color .15s ease,background-color .15s ease}.ui-lista-flutuante__gatilho:hover:not(:disabled){border-color:var(--ui-cor-primaria, #00E08A)}.ui-lista-flutuante__gatilho:disabled{opacity:.5;cursor:not-allowed}.ui-lista-flutuante__texto{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.ui-lista-flutuante__seta{font-size:10px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease;color:var(--ui-cor-texto-secundario, #888899);flex-shrink:0;shape-rendering:geometricPrecision}:host([aberta]) .ui-lista-flutuante__seta{transform:rotate(180deg)}.ui-lista-flutuante__backdrop{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:calc(var(--ui-z-popover, 1050) - 1)}:host([aberta]) .ui-lista-flutuante__backdrop{display:block}:host(:not([aberta])) .ui-lista-flutuante__conteudo{display:none!important}:host([aberta]) .ui-lista-flutuante__conteudo{display:block}.ui-lista-flutuante__conteudo{position:fixed;margin:0;padding:4px;list-style:none;background-color:var(--ui-cor-fundo-menu, #18181c);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .14));border-radius:var(--ui-raio-borda, 6px);box-shadow:var(--ui-sombra-lg, 0 8px 28px rgba(0, 0, 0, .55));max-height:220px;overflow-y:auto;z-index:var(--ui-z-popover, 1050);box-sizing:border-box;inset:auto}.ui-lista-flutuante__sheet-header{display:none;width:100%;margin-bottom:8px}.ui-lista-flutuante__handle{width:36px;height:4px;border-radius:2px;background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 25%,transparent);margin:2px auto 8px}.ui-lista-flutuante__sheet-title-bar{display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px 6px 8px;border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));margin-bottom:6px}.ui-lista-flutuante__sheet-titulo{font-size:13px;font-weight:600;color:var(--ui-cor-primaria, #00E08A);letter-spacing:.3px;text-transform:uppercase}.ui-lista-flutuante__sheet-close{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);font-size:14px;cursor:pointer;padding:4px 8px;border-radius:var(--ui-raio-sm, 4px);display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s,background-color .15s}.ui-lista-flutuante__sheet-close:hover{color:#fff;background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent)}.ui-lista-flutuante__item{padding:6px 10px;font-family:var(--ui-fonte-base, "Inter", sans-serif);font-size:12px;line-height:1.2;color:var(--ui-cor-texto, #e1e1e6);border-radius:var(--ui-raio-sm, 4px);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .12s ease,color .12s ease;-webkit-user-select:none;user-select:none}.ui-lista-flutuante__item:hover{background-color:var(--ui-cor-hover-menu, rgba(255, 255, 255, .08))}.ui-lista-flutuante__item--selecionado{background-color:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 15%,transparent);color:var(--ui-cor-primaria, #00E08A);font-weight:600}.ui-lista-flutuante__item--selecionado:after{content:"✓";font-size:11px;color:var(--ui-cor-primaria, #00E08A)}@media (max-width: 640px){.ui-lista-flutuante__gatilho{min-height:max(var(--ui-campo-altura, 38px),38px);font-size:15px}:host([aberta]) .ui-lista-flutuante__backdrop{background-color:#00000059;-webkit-backdrop-filter:none;backdrop-filter:none}.ui-lista-flutuante__conteudo{position:fixed!important;bottom:0!important;top:auto!important;left:0!important;width:100vw!important;max-width:100vw!important;min-width:100vw!important;max-height:70vh!important;max-height:70dvh!important;border-radius:var(--ui-raio-xl, 16px) var(--ui-raio-xl, 16px) 0 0!important;border-bottom:none!important;padding:10px 16px calc(24px + env(safe-area-inset-bottom,0px)) 16px!important;box-shadow:0 -8px 32px #000000b3!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:ui-bottom-sheet-slide .22s cubic-bezier(.4,0,.2,1)}.ui-lista-flutuante__sheet-header{display:flex!important;flex-direction:column!important}.ui-lista-flutuante__sheet-close{min-width:44px;min-height:44px;font-size:18px}.ui-lista-flutuante__item{padding:12px 14px!important;font-size:15px!important;margin-bottom:3px}}:host([bottom-sheet][aberta]) .ui-lista-flutuante__backdrop,:host([modo-mobile][aberta]) .ui-lista-flutuante__backdrop{background-color:#00000059;-webkit-backdrop-filter:none;backdrop-filter:none}:host([bottom-sheet]) .ui-lista-flutuante__conteudo,:host([modo-mobile]) .ui-lista-flutuante__conteudo{position:fixed!important;bottom:0!important;top:auto!important;left:0!important;width:100vw!important;max-width:100vw!important;min-width:100vw!important;max-height:70vh!important;max-height:70dvh!important;border-radius:var(--ui-raio-xl, 16px) var(--ui-raio-xl, 16px) 0 0!important;border-bottom:none!important;padding:10px 16px calc(24px + env(safe-area-inset-bottom,0px)) 16px!important;box-shadow:0 -8px 32px #000000b3!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:ui-bottom-sheet-slide .22s cubic-bezier(.4,0,.2,1)}:host([bottom-sheet]) .ui-lista-flutuante__sheet-header,:host([modo-mobile]) .ui-lista-flutuante__sheet-header{display:flex!important;flex-direction:column!important}:host([bottom-sheet]) .ui-lista-flutuante__sheet-close,:host([modo-mobile]) .ui-lista-flutuante__sheet-close{min-width:44px;min-height:44px;font-size:18px}:host([bottom-sheet]) .ui-lista-flutuante__item,:host([modo-mobile]) .ui-lista-flutuante__item{padding:12px 14px!important;font-size:15px!important;margin-bottom:3px}@keyframes ui-bottom-sheet-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}', L = [
61
81
  "aberta",
62
82
  "texto-padrao",
63
83
  "value",
@@ -78,17 +98,17 @@ const A = ':host{display:inline-block;position:relative;width:100%;box-sizing:bo
78
98
  "mensagem-validacao",
79
99
  "aria-label"
80
100
  ];
81
- function S() {
101
+ function C() {
82
102
  return `
83
- <style>${A}</style>
103
+ <style>${S}</style>
84
104
  <div class="ui-lista-flutuante__container">
85
- <label class="ui-lista-flutuante__label" style="display: none;"></label>
105
+ <label class="ui-lista-flutuante__label" part="rotulo" style="display: none;"></label>
86
106
  <div class="ui-lista-flutuante__backdrop"></div>
87
- <button class="ui-lista-flutuante__gatilho" aria-haspopup="listbox" aria-expanded="false" type="button">
88
- <span class="ui-lista-flutuante__texto"></span>
89
- <span class="ui-lista-flutuante__seta">▼</span>
107
+ <button class="ui-lista-flutuante__gatilho" part="campo" aria-haspopup="listbox" aria-expanded="false" type="button">
108
+ <span class="ui-lista-flutuante__texto" part="valor"></span>
109
+ <span class="ui-lista-flutuante__seta" part="seta">▼</span>
90
110
  </button>
91
- <div class="ui-lista-flutuante__conteudo" role="listbox" popover="manual">
111
+ <div class="ui-lista-flutuante__conteudo" part="lista" role="listbox" popover="manual">
92
112
  <div class="ui-lista-flutuante__sheet-header">
93
113
  <div class="ui-lista-flutuante__handle"></div>
94
114
  <div class="ui-lista-flutuante__sheet-title-bar">
@@ -104,12 +124,13 @@ function S() {
104
124
  function b(n, i, t) {
105
125
  n.innerHTML = "", i.forEach((e) => {
106
126
  const s = document.createElement("li"), r = String(e.id) === String(t);
107
- s.className = `ui-lista-flutuante__item ${r ? "ui-lista-flutuante__item--selecionado" : ""}`, s.setAttribute("data-id", e.id), s.textContent = e.label, s.role = "option", s.tabIndex = -1, r && s.setAttribute("aria-selected", "true"), n.appendChild(s);
127
+ s.className = `ui-lista-flutuante__item ${r ? "ui-lista-flutuante__item--selecionado" : ""}`, s.setAttribute("data-id", e.id), s.textContent = e.label, s.role = "option", s.tabIndex = -1, s.setAttribute("part", r ? "opcao opcao-selecionada" : "opcao"), r && s.setAttribute("aria-selected", "true"), n.appendChild(s);
108
128
  });
109
129
  }
110
- function L(n, i) {
130
+ function z(n, i) {
111
131
  n.querySelectorAll(".ui-lista-flutuante__item").forEach((e) => {
112
- e.getAttribute("data-id") === String(i) ? (e.classList.add("ui-lista-flutuante__item--selecionado"), e.setAttribute("aria-selected", "true")) : (e.classList.remove("ui-lista-flutuante__item--selecionado"), e.removeAttribute("aria-selected"));
132
+ const s = e.getAttribute("data-id");
133
+ y(e, "opcao-selecionada", s === String(i)), s === String(i) ? (e.classList.add("ui-lista-flutuante__item--selecionado"), e.setAttribute("aria-selected", "true")) : (e.classList.remove("ui-lista-flutuante__item--selecionado"), e.removeAttribute("aria-selected"));
113
134
  });
114
135
  }
115
136
  class g extends u {
@@ -128,6 +149,7 @@ class g extends u {
128
149
  a(this, "_itens", []);
129
150
  a(this, "_value", "");
130
151
  a(this, "_defaultValue", "");
152
+ a(this, "_defaultCapturado", !1);
131
153
  a(this, "observer");
132
154
  a(this, "posicionamento");
133
155
  a(this, "teclado");
@@ -135,7 +157,13 @@ class g extends u {
135
157
  t.stopPropagation(), !this.disabled && (this.hasAttribute("aberta") ? this.fechar() : this.abrir());
136
158
  });
137
159
  a(this, "handleKeyDown", (t) => {
138
- this.disabled || (t.key === "Enter" || t.key === " " || t.key === "ArrowDown") && (t.preventDefault(), this.hasAttribute("aberta") ? this.teclado.focarPrimeiroItem() : this.abrir());
160
+ if (!this.disabled) {
161
+ if (t.key === "Escape" && this.hasAttribute("aberta")) {
162
+ t.preventDefault(), this.fechar();
163
+ return;
164
+ }
165
+ (t.key === "Enter" || t.key === " " || t.key === "ArrowDown" || t.key === "ArrowUp") && (t.preventDefault(), this.hasAttribute("aberta") ? this.teclado.focarPrimeiroItem() : this.abrir());
166
+ }
139
167
  });
140
168
  a(this, "handleListKeyDown", (t) => {
141
169
  this.hasAttribute("aberta") && this.teclado.tratarKeydownLista(
@@ -170,22 +198,22 @@ class g extends u {
170
198
  r && this.selecionarItem(r);
171
199
  });
172
200
  const t = this.attachShadow({ mode: "open" });
173
- t.innerHTML = S(), this.labelElement = t.querySelector(".ui-lista-flutuante__label"), this.button = t.querySelector(".ui-lista-flutuante__gatilho"), this.content = t.querySelector(".ui-lista-flutuante__conteudo"), this.listElement = t.querySelector(".ui-lista-flutuante__lista"), this.textoElement = t.querySelector(".ui-lista-flutuante__texto"), this.backdropElement = t.querySelector(".ui-lista-flutuante__backdrop"), this.sheetTituloElement = t.querySelector(".ui-lista-flutuante__sheet-titulo"), this.sheetCloseButton = t.querySelector(".ui-lista-flutuante__sheet-close");
201
+ t.innerHTML = C(), this.labelElement = t.querySelector(".ui-lista-flutuante__label"), this.button = t.querySelector(".ui-lista-flutuante__gatilho"), this.content = t.querySelector(".ui-lista-flutuante__conteudo"), this.listElement = t.querySelector(".ui-lista-flutuante__lista"), this.textoElement = t.querySelector(".ui-lista-flutuante__texto"), this.backdropElement = t.querySelector(".ui-lista-flutuante__backdrop"), this.sheetTituloElement = t.querySelector(".ui-lista-flutuante__sheet-titulo"), this.sheetCloseButton = t.querySelector(".ui-lista-flutuante__sheet-close");
174
202
  const e = m("ui-select");
175
203
  this.idsAcessibilidade = {
176
204
  label: `${e}-label`,
177
205
  gatilho: `${e}-gatilho`,
178
206
  texto: `${e}-texto`,
179
207
  lista: `${e}-lista`
180
- }, this.labelElement.id = this.idsAcessibilidade.label, this.button.id = this.idsAcessibilidade.gatilho, this.textoElement.id = this.idsAcessibilidade.texto, this.content.id = this.idsAcessibilidade.lista, this.button.setAttribute("aria-controls", this.idsAcessibilidade.lista), this.posicionamento = new y(this, this.button, this.content), this.teclado = new w(this.listElement);
208
+ }, this.labelElement.id = this.idsAcessibilidade.label, this.button.id = this.idsAcessibilidade.gatilho, this.textoElement.id = this.idsAcessibilidade.texto, this.content.id = this.idsAcessibilidade.lista, this.button.setAttribute("aria-controls", this.idsAcessibilidade.lista), this.posicionamento = new A(this, this.button, this.content), this.teclado = new E(this.listElement);
181
209
  }
182
210
  static get observedAttributes() {
183
- return E;
211
+ return L;
184
212
  }
185
213
  connectedCallback() {
186
214
  this.listeners.cleanup(), this.listeners.add(this.button, "click", this.toggleLista), this.listeners.add(this.button, "keydown", this.handleKeyDown), this.listeners.add(this.content, "keydown", this.handleListKeyDown), this.listeners.add(this.backdropElement, "click", this.fechar), this.listeners.add(this.listElement, "click", this.handleListClick), this.listeners.add(this.sheetCloseButton, "click", (t) => {
187
215
  t.stopPropagation(), this.fechar();
188
- }), this.listeners.add(document, "click", this.handleClickFora), this.listeners.add(this.labelElement, "click", this.focarGatilho), this.listeners.add(this, "click", this.handleHostClick), this._defaultValue = this.getAttribute("value") || "", this.carregarItensFilhos(), this.syncState(), this.observer = new MutationObserver(() => this.carregarItensFilhos()), this.observer.observe(this, { childList: !0, subtree: !0 });
216
+ }), this.listeners.add(document, "click", this.handleClickFora), this.listeners.add(this.labelElement, "click", this.focarGatilho), this.listeners.add(this, "click", this.handleHostClick), this._defaultCapturado || (this._defaultValue = this.getAttribute("value") || "", this._defaultCapturado = !0), this.carregarItensFilhos(), this.syncState(), this.observer = new MutationObserver(() => this.carregarItensFilhos()), this.observer.observe(this, { childList: !0, subtree: !0 });
189
217
  }
190
218
  carregarItensFilhos() {
191
219
  const t = Array.from(this.querySelectorAll('option, ui-opcao, [role="option"], [data-opcao], [data-value]:not(input):not(select)'));
@@ -208,7 +236,7 @@ class g extends u {
208
236
  return this._value;
209
237
  }
210
238
  set value(t) {
211
- this._value = t, this.setAttribute("value", t), this.internals.setFormValue(t), this.syncLabel(), L(this.listElement, this._value), this.atualizarValidade();
239
+ this._value = t, this.setAttribute("value", t), this.internals.setFormValue(t), this.syncLabel(), z(this.listElement, this._value), this.atualizarValidade();
212
240
  }
213
241
  get label() {
214
242
  return this.getAttribute("label") || this.getAttribute("rotulo") || "";
@@ -270,7 +298,7 @@ class g extends u {
270
298
  syncLabel() {
271
299
  const t = this.getAttribute("label") || this.getAttribute("rotulo");
272
300
  if (t)
273
- this.required ? this.labelElement.innerHTML = `${t} <span class="ui-lista-flutuante__asterisco" style="color: var(--ui-cor-texto-erro, #ff5555); margin-left: 2px;">*</span>` : this.labelElement.textContent = t, this.labelElement.style.display = "block", this.sheetTituloElement.textContent = t, this.button.setAttribute("aria-labelledby", `${this.idsAcessibilidade.label} ${this.idsAcessibilidade.texto}`), this.content.setAttribute("aria-labelledby", this.idsAcessibilidade.label), this.button.removeAttribute("aria-label"), this.content.removeAttribute("aria-label");
301
+ w(this.labelElement, t, this.required, "ui-lista-flutuante__asterisco"), this.labelElement.style.display = "block", this.sheetTituloElement.textContent = t, this.button.setAttribute("aria-labelledby", `${this.idsAcessibilidade.label} ${this.idsAcessibilidade.texto}`), this.content.setAttribute("aria-labelledby", this.idsAcessibilidade.label), this.button.removeAttribute("aria-label"), this.content.removeAttribute("aria-label");
274
302
  else {
275
303
  this.labelElement.style.display = "none", this.sincronizarRotuloExterno();
276
304
  const s = this.getAttribute("texto-padrao") || this.getAttribute("placeholder") || "Opções";
@@ -295,31 +323,33 @@ class g extends u {
295
323
  t && this.style.setProperty("--ui-campo-altura", isNaN(Number(t)) ? t : `${t}px`), this.hasAttribute("value") && (this._value = this.getAttribute("value") || "", this.internals.setFormValue(this._value)), this.syncLabel(), this.atualizarValidade();
296
324
  }
297
325
  selecionarItem(t) {
298
- this.value = t.id, this.fechar(), this.dispatchEvent(
326
+ var r;
327
+ const e = (r = this.shadowRoot) == null ? void 0 : r.activeElement, s = !!e && this.content.contains(e);
328
+ this.value = t.id, this.fechar(), s && this.button.focus(), this.dispatchEvent(
299
329
  new CustomEvent("ui-selecionar", {
300
330
  detail: t,
301
331
  bubbles: !0,
302
332
  composed: !0
303
333
  })
304
334
  ), this.dispatchEvent(
305
- new Event("change", {
335
+ new Event("input", {
306
336
  bubbles: !0,
307
337
  composed: !0
308
338
  })
309
339
  ), this.dispatchEvent(
310
- new Event("input", {
340
+ new Event("change", {
311
341
  bubbles: !0,
312
342
  composed: !0
313
343
  })
314
344
  );
315
345
  }
316
346
  }
317
- class C extends g {
347
+ class I extends g {
318
348
  }
319
349
  h("ui-lista-flutuante", g);
320
- h("ui-select", C);
321
- const z = ':host{display:inline-flex;align-items:center;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif);vertical-align:middle}.ui-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1;outline:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ui-checkbox--disabled{opacity:.5;cursor:not-allowed!important;pointer-events:none}.ui-checkbox__box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;min-height:16px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16));border-radius:4px;box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;flex-shrink:0}.ui-checkbox:focus-visible .ui-checkbox__box,.ui-checkbox--foco .ui-checkbox__box{border-color:var(--ui-cor-primaria, #00E08A);box-shadow:0 0 0 2px #00e08a40}.ui-checkbox--checked .ui-checkbox__box,.ui-checkbox--indeterminate .ui-checkbox__box{background-color:var(--ui-cor-primaria, #00E08A);border-color:var(--ui-cor-primaria, #00E08A);color:var(--ui-cor-texto-sobre-primaria, #000000)}.ui-checkbox__mark{width:12px;height:12px;display:flex;align-items:center;justify-content:center;transition:transform .15s cubic-bezier(.4,0,.2,1),opacity .15s ease;transform:scale(0);opacity:0}.ui-checkbox--checked .ui-checkbox__mark,.ui-checkbox--indeterminate .ui-checkbox__mark{transform:scale(1);opacity:1}.ui-checkbox__mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;shape-rendering:geometricPrecision}.ui-checkbox__label{display:inline-flex;align-items:center;font-size:clamp(11px,.85rem,14px);color:var(--ui-cor-texto, #e1e1e6);line-height:1}.ui-checkbox--label-esquerda{flex-direction:row-reverse}@media (max-width: 640px){.ui-checkbox{min-height:40px;padding:4px 0}.ui-checkbox__box{width:20px;height:20px;min-width:20px;min-height:20px}.ui-checkbox__mark{width:14px;height:14px}.ui-checkbox__label{font-size:14px}}';
322
- class q extends u {
350
+ h("ui-select", I);
351
+ const q = ':host{display:inline-flex;align-items:center;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif);vertical-align:middle}.ui-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1;outline:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ui-checkbox--disabled{opacity:.5;cursor:not-allowed!important;pointer-events:none}.ui-checkbox__box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;min-height:16px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16));border-radius:var(--ui-raio-sm, 4px);box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;flex-shrink:0}.ui-checkbox:focus-visible .ui-checkbox__box,.ui-checkbox--foco .ui-checkbox__box{border-color:var(--ui-cor-primaria, #00E08A);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 25%,transparent)}.ui-checkbox--checked .ui-checkbox__box,.ui-checkbox--indeterminate .ui-checkbox__box{background-color:var(--ui-cor-primaria, #00E08A);border-color:var(--ui-cor-primaria, #00E08A);color:var(--ui-cor-texto-sobre-primaria, #000000)}.ui-checkbox__mark{width:12px;height:12px;display:flex;align-items:center;justify-content:center;transition:transform .15s cubic-bezier(.4,0,.2,1),opacity .15s ease;transform:scale(0);opacity:0}.ui-checkbox--checked .ui-checkbox__mark,.ui-checkbox--indeterminate .ui-checkbox__mark{transform:scale(1);opacity:1}.ui-checkbox__mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;shape-rendering:geometricPrecision}.ui-checkbox__label{display:inline-flex;align-items:center;font-size:clamp(11px,.85rem,14px);color:var(--ui-cor-texto, #e1e1e6);line-height:1}.ui-checkbox--label-esquerda{flex-direction:row-reverse}@media (max-width: 640px){.ui-checkbox{min-height:40px;padding:4px 0}.ui-checkbox__box{width:20px;height:20px;min-width:20px;min-height:20px}.ui-checkbox__mark{width:14px;height:14px}.ui-checkbox__label{font-size:14px}}';
352
+ class V extends u {
323
353
  constructor() {
324
354
  super();
325
355
  a(this, "containerElement");
@@ -342,12 +372,12 @@ class q extends u {
342
372
  });
343
373
  const t = this.attachShadow({ mode: "open" });
344
374
  t.innerHTML = `
345
- <style>${z}</style>
346
- <div class="ui-checkbox" tabindex="0" role="checkbox" aria-checked="false">
347
- <span class="ui-checkbox__box">
348
- <span class="ui-checkbox__mark"></span>
375
+ <style>${q}</style>
376
+ <div class="ui-checkbox" part="base" tabindex="0" role="checkbox" aria-checked="false">
377
+ <span class="ui-checkbox__box" part="controle">
378
+ <span class="ui-checkbox__mark" part="indicador"></span>
349
379
  </span>
350
- <span class="ui-checkbox__label" style="display: none;"></span>
380
+ <span class="ui-checkbox__label" part="rotulo" style="display: none;"></span>
351
381
  </div>
352
382
  `, this.containerElement = t.querySelector(".ui-checkbox"), this.markElement = t.querySelector(".ui-checkbox__mark"), this.labelElement = t.querySelector(".ui-checkbox__label");
353
383
  }
@@ -473,8 +503,8 @@ class q extends u {
473
503
  typeof t == "string" ? this.marcado = t === (this.getAttribute("value") || "on") : typeof t == "boolean" && (this.marcado = t), this.syncState();
474
504
  }
475
505
  }
476
- h("ui-checkbox", q);
477
- const I = ':host{display:inline-flex;align-items:center;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif);vertical-align:middle}.ui-radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1;outline:none}.ui-radio--disabled{opacity:.5;cursor:not-allowed!important;pointer-events:none}.ui-radio__circle{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;min-height:16px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16));border-radius:50%;box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;flex-shrink:0}.ui-radio:focus-visible .ui-radio__circle,.ui-radio--foco .ui-radio__circle{border-color:var(--ui-cor-primaria, #00E08A);box-shadow:0 0 0 2px #00e08a40}.ui-radio--checked .ui-radio__circle{border-color:var(--ui-cor-primaria, #00E08A)}.ui-radio__dot{width:8px;height:8px;border-radius:50%;background-color:var(--ui-cor-primaria, #00E08A);transition:transform .15s cubic-bezier(.4,0,.2,1),opacity .15s ease;transform:scale(0);opacity:0}.ui-radio--checked .ui-radio__dot{transform:scale(1);opacity:1}.ui-radio__label{display:inline-flex;align-items:center;font-size:clamp(11px,.85rem,14px);color:var(--ui-cor-texto, #e1e1e6);line-height:1}.ui-radio--label-esquerda{flex-direction:row-reverse}';
506
+ h("ui-checkbox", V);
507
+ const D = ':host{display:inline-flex;align-items:center;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif);vertical-align:middle}.ui-radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1;outline:none}.ui-radio--disabled{opacity:.5;cursor:not-allowed!important;pointer-events:none}.ui-radio__circle{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;min-height:16px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16));border-radius:50%;box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;flex-shrink:0}.ui-radio:focus-visible .ui-radio__circle,.ui-radio--foco .ui-radio__circle{border-color:var(--ui-cor-primaria, #00E08A);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 25%,transparent)}.ui-radio--checked .ui-radio__circle{border-color:var(--ui-cor-primaria, #00E08A)}.ui-radio__dot{width:8px;height:8px;border-radius:50%;background-color:var(--ui-cor-primaria, #00E08A);transition:transform .15s cubic-bezier(.4,0,.2,1),opacity .15s ease;transform:scale(0);opacity:0}.ui-radio--checked .ui-radio__dot{transform:scale(1);opacity:1}.ui-radio__label{display:inline-flex;align-items:center;font-size:clamp(11px,.85rem,14px);color:var(--ui-cor-texto, #e1e1e6);line-height:1}.ui-radio--label-esquerda{flex-direction:row-reverse}';
478
508
  class c {
479
509
  static getScopeNode(i) {
480
510
  return i.closest("form") || i.getRootNode() || document;
@@ -524,7 +554,7 @@ class c {
524
554
  }
525
555
  }
526
556
  a(c, "registry", /* @__PURE__ */ new WeakMap());
527
- class V extends u {
557
+ class M extends u {
528
558
  constructor() {
529
559
  super();
530
560
  a(this, "containerElement");
@@ -544,12 +574,12 @@ class V extends u {
544
574
  });
545
575
  const t = this.attachShadow({ mode: "open" });
546
576
  t.innerHTML = `
547
- <style>${I}</style>
548
- <div class="ui-radio" tabindex="0" role="radio" aria-checked="false">
549
- <span class="ui-radio__circle">
550
- <span class="ui-radio__dot"></span>
577
+ <style>${D}</style>
578
+ <div class="ui-radio" part="base" tabindex="0" role="radio" aria-checked="false">
579
+ <span class="ui-radio__circle" part="controle">
580
+ <span class="ui-radio__dot" part="indicador"></span>
551
581
  </span>
552
- <span class="ui-radio__label" style="display: none;"></span>
582
+ <span class="ui-radio__label" part="rotulo" style="display: none;"></span>
553
583
  </div>
554
584
  `, this.containerElement = t.querySelector(".ui-radio"), this.labelElement = t.querySelector(".ui-radio__label");
555
585
  }
@@ -656,8 +686,8 @@ class V extends u {
656
686
  typeof t == "string" ? this.marcado = t === (this.getAttribute("value") || "on") : typeof t == "boolean" && (this.marcado = t), this.syncState();
657
687
  }
658
688
  }
659
- h("ui-radio", V);
660
- const D = ':host{display:inline-flex;align-items:center;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif);vertical-align:middle}.ui-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1;outline:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ui-switch--disabled{opacity:.5;cursor:not-allowed!important;pointer-events:none}.ui-switch__track{display:inline-flex;align-items:center;position:relative;width:36px;height:20px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16));border-radius:999px;box-sizing:border-box;padding:1px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;flex-shrink:0}.ui-switch:focus-visible .ui-switch__track,.ui-switch--foco .ui-switch__track{border-color:var(--ui-cor-primaria, #00E08A);box-shadow:0 0 0 2px #00e08a40}.ui-switch--checked .ui-switch__track{background-color:var(--ui-cor-primaria, #00E08A);border-color:var(--ui-cor-primaria, #00E08A)}.ui-switch__thumb{display:block;width:16px;height:16px;background-color:#fff;border-radius:50%;box-shadow:0 1px 3px #0000004d;transition:transform .2s cubic-bezier(.4,0,.2,1),background-color .2s ease;transform:translate(0)}.ui-switch--checked .ui-switch__thumb{transform:translate(16px);background-color:var(--ui-cor-texto-sobre-primaria, #000000)}.ui-switch--sm .ui-switch__track{width:28px;height:16px;padding:1px}.ui-switch--sm .ui-switch__thumb{width:12px;height:12px}.ui-switch--sm.ui-switch--checked .ui-switch__thumb{transform:translate(12px)}.ui-switch--lg .ui-switch__track{width:44px;height:24px;padding:1px}.ui-switch--lg .ui-switch__thumb{width:20px;height:20px}.ui-switch--lg.ui-switch--checked .ui-switch__thumb{transform:translate(20px)}.ui-switch__label{display:inline-flex;align-items:center;font-size:clamp(11px,.85rem,14px);color:var(--ui-cor-texto, #e1e1e6);line-height:1}.ui-switch--label-esquerda{flex-direction:row-reverse}@media (max-width: 640px){.ui-switch{min-height:40px;padding:4px 0}.ui-switch__label{font-size:14px}}';
689
+ h("ui-radio", M);
690
+ const R = ':host{display:inline-flex;align-items:center;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif);vertical-align:middle}.ui-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1;outline:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ui-switch--disabled{opacity:.5;cursor:not-allowed!important;pointer-events:none}.ui-switch__track{display:inline-flex;align-items:center;position:relative;width:36px;height:20px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16));border-radius:var(--ui-raio-pill, 999px);box-sizing:border-box;padding:1px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;flex-shrink:0}.ui-switch:focus-visible .ui-switch__track,.ui-switch--foco .ui-switch__track{border-color:var(--ui-cor-primaria, #00E08A);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 25%,transparent)}.ui-switch--checked .ui-switch__track{background-color:var(--ui-cor-primaria, #00E08A);border-color:var(--ui-cor-primaria, #00E08A)}.ui-switch__thumb{display:block;width:16px;height:16px;background-color:#fff;border-radius:50%;box-shadow:var(--ui-sombra-sm, 0 1px 3px rgba(0, 0, 0, .3));transition:transform .2s cubic-bezier(.4,0,.2,1),background-color .2s ease;transform:translate(0)}.ui-switch--checked .ui-switch__thumb{transform:translate(16px);background-color:var(--ui-cor-texto-sobre-primaria, #000000)}.ui-switch--sm .ui-switch__track{width:28px;height:16px;padding:1px}.ui-switch--sm .ui-switch__thumb{width:12px;height:12px}.ui-switch--sm.ui-switch--checked .ui-switch__thumb{transform:translate(12px)}.ui-switch--lg .ui-switch__track{width:44px;height:24px;padding:1px}.ui-switch--lg .ui-switch__thumb{width:20px;height:20px}.ui-switch--lg.ui-switch--checked .ui-switch__thumb{transform:translate(20px)}.ui-switch__label{display:inline-flex;align-items:center;font-size:clamp(11px,.85rem,14px);color:var(--ui-cor-texto, #e1e1e6);line-height:1}.ui-switch--label-esquerda{flex-direction:row-reverse}@media (max-width: 640px){.ui-switch{min-height:40px;padding:4px 0}.ui-switch__label{font-size:14px}}';
661
691
  class x extends u {
662
692
  constructor() {
663
693
  super();
@@ -683,12 +713,12 @@ class x extends u {
683
713
  });
684
714
  const t = this.attachShadow({ mode: "open" });
685
715
  t.innerHTML = `
686
- <style>${D}</style>
687
- <div class="ui-switch" tabindex="0" role="switch" aria-checked="false">
688
- <span class="ui-switch__track">
689
- <span class="ui-switch__thumb"></span>
716
+ <style>${R}</style>
717
+ <div class="ui-switch" part="base" tabindex="0" role="switch" aria-checked="false">
718
+ <span class="ui-switch__track" part="controle">
719
+ <span class="ui-switch__thumb" part="indicador"></span>
690
720
  </span>
691
- <span class="ui-switch__label" style="display: none;"></span>
721
+ <span class="ui-switch__label" part="rotulo" style="display: none;"></span>
692
722
  </div>
693
723
  `, this.containerElement = t.querySelector(".ui-switch"), this.labelElement = t.querySelector(".ui-switch__label"), this.labelId = m("ui-switch-label"), this.labelElement.id = this.labelId;
694
724
  }
@@ -805,22 +835,22 @@ class x extends u {
805
835
  typeof t == "string" ? this.ativo = t === (this.getAttribute("value") || "on") : typeof t == "boolean" && (this.ativo = t), this.syncState();
806
836
  }
807
837
  }
808
- class M extends x {
838
+ class F extends x {
809
839
  }
810
840
  h("ui-switch", x);
811
- h("ui-toggle", M);
841
+ h("ui-toggle", F);
812
842
  export {
813
- E as A,
814
- y as L,
843
+ L as A,
844
+ A as L,
815
845
  c as R,
816
- q as U,
817
- w as a,
846
+ V as U,
847
+ E as a,
818
848
  g as b,
819
- V as c,
820
- C as d,
849
+ M as c,
850
+ I as d,
821
851
  x as e,
822
- M as f,
823
- L as g,
824
- S as h,
852
+ F as f,
853
+ z as g,
854
+ C as h,
825
855
  b as r
826
856
  };
@@ -0,0 +1,53 @@
1
+ "use strict";var L=Object.defineProperty;var C=(n,i,t)=>i in n?L(n,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[i]=t;var a=(n,i,t)=>C(n,typeof i!="symbol"?i+"":i,t);const m=require("./listener-bag-D5omxZ9h.cjs"),z=require("./parts-vQa2873h.cjs"),u=require("./ssr-safe-CiHD1adl.cjs"),d=require("./ui-campo-texto-Cnn2UAkS.cjs"),h=require("./form-validacao-ytRYSF3E.cjs");class g{constructor(i,t,e){a(this,"scrollHandler");a(this,"resizeHandler");a(this,"posicionar",()=>{if(this.isMobileOrBottomSheet()){this.content.style.top="",this.content.style.left="",this.content.style.minWidth="";return}const i=this.button.getBoundingClientRect();this.content.style.top=`${Math.round(i.bottom+2)}px`,this.content.style.left=`${Math.round(i.left)}px`,this.content.style.minWidth=`${Math.round(Math.max(i.width,120))}px`,this.ajustarAoViewport(i)});this.host=i,this.button=t,this.content=e}isMobileOrBottomSheet(){return typeof window>"u"?!1:window.innerWidth<=640||this.host.hasAttribute("bottom-sheet")||this.host.hasAttribute("modo-mobile")}ajustarAoViewport(i){const t=this.content.offsetHeight,e=this.content.offsetWidth;if(t<=0||typeof window>"u")return;const s=8;i.bottom+2+t>window.innerHeight-s&&i.top-2-t>=s&&(this.content.style.top=`${Math.round(i.top-2-t)}px`),i.left+e>window.innerWidth-s&&(this.content.style.left=`${Math.max(s,Math.round(window.innerWidth-s-e))}px`)}ativarAcompanhamento(i){if(this.scrollHandler=i,this.resizeHandler=this.posicionar,window.addEventListener("scroll",this.scrollHandler,{capture:!0,passive:!0}),window.addEventListener("resize",this.resizeHandler,{passive:!0}),typeof this.content.showPopover=="function")try{this.content.showPopover()}catch{}this.posicionar()}desativarAcompanhamento(){if(this.scrollHandler&&(window.removeEventListener("scroll",this.scrollHandler,{capture:!0}),this.scrollHandler=void 0),this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=void 0),typeof this.content.hidePopover=="function")try{this.content.hidePopover()}catch{}}}class x{constructor(i){a(this,"focusedIndex",-1);this.listElement=i}focarPrimeiroItem(){const i=Array.from(this.listElement.querySelectorAll(".ui-lista-flutuante__item"));if(i.length>0){const t=i.findIndex(e=>e.classList.contains("ui-lista-flutuante__item--selecionado"));this.focusedIndex=Math.max(0,t),i[this.focusedIndex].focus()}}resetarFoco(){this.focusedIndex=-1}moverFoco(i){const t=Array.from(this.listElement.querySelectorAll(".ui-lista-flutuante__item"));t.length!==0&&(this.focusedIndex+=i,this.focusedIndex<0&&(this.focusedIndex=t.length-1),this.focusedIndex>=t.length&&(this.focusedIndex=0),t[this.focusedIndex].focus())}tratarKeydownLista(i,t,e,s,r){if(i.key==="ArrowDown")i.preventDefault(),this.moverFoco(1);else if(i.key==="ArrowUp")i.preventDefault(),this.moverFoco(-1);else if(i.key==="Home"||i.key==="End"){i.preventDefault();const o=i.key==="End";this.focusedIndex=o?-1:0,o?this.moverFoco(-1):this.moverFoco(0)}else i.key==="Tab"?s():i.key==="Enter"||i.key===" "?(i.preventDefault(),this.focusedIndex>=0&&this.focusedIndex<t.length&&e(t[this.focusedIndex])):i.key==="Escape"&&(i.preventDefault(),s(),r.focus())}}const I=':host{display:inline-block;position:relative;width:100%;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif)}:host([inline]){width:auto}.ui-lista-flutuante__container{display:flex;flex-direction:column;width:100%;position:relative}.ui-lista-flutuante__label{font-family:var(--ui-fonte-base, "Inter", sans-serif);font-size:var(--ui-tamanho-corpo-sm, 13px);font-weight:var(--ui-peso-medio, 500);color:var(--ui-cor-texto, #e1e1e6);margin-bottom:4px;-webkit-user-select:none;user-select:none;flex-shrink:0}.ui-lista-flutuante__asterisco{color:var(--ui-cor-texto-erro, #ff5555);margin-left:2px}.ui-lista-flutuante__gatilho{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:var(--ui-campo-altura, 100%);min-height:var(--ui-campo-altura, var(--ui-altura-minima, 15px));padding:0 8px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);color:var(--ui-cor-texto, #e1e1e6);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:var(--ui-raio-borda, 6px);font-family:var(--ui-fonte-base, "Inter", sans-serif);font-size:clamp(11px,.85rem,13px);line-height:1;cursor:pointer;box-sizing:border-box;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:border-color .15s ease,background-color .15s ease}.ui-lista-flutuante__gatilho:hover:not(:disabled){border-color:var(--ui-cor-primaria, #00E08A)}.ui-lista-flutuante__gatilho:disabled{opacity:.5;cursor:not-allowed}.ui-lista-flutuante__texto{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;text-align:left}.ui-lista-flutuante__seta{font-size:10px;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:transform .2s ease;color:var(--ui-cor-texto-secundario, #888899);flex-shrink:0;shape-rendering:geometricPrecision}:host([aberta]) .ui-lista-flutuante__seta{transform:rotate(180deg)}.ui-lista-flutuante__backdrop{display:none;position:fixed;top:0;left:0;width:100vw;height:100vh;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:calc(var(--ui-z-popover, 1050) - 1)}:host([aberta]) .ui-lista-flutuante__backdrop{display:block}:host(:not([aberta])) .ui-lista-flutuante__conteudo{display:none!important}:host([aberta]) .ui-lista-flutuante__conteudo{display:block}.ui-lista-flutuante__conteudo{position:fixed;margin:0;padding:4px;list-style:none;background-color:var(--ui-cor-fundo-menu, #18181c);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .14));border-radius:var(--ui-raio-borda, 6px);box-shadow:var(--ui-sombra-lg, 0 8px 28px rgba(0, 0, 0, .55));max-height:220px;overflow-y:auto;z-index:var(--ui-z-popover, 1050);box-sizing:border-box;inset:auto}.ui-lista-flutuante__sheet-header{display:none;width:100%;margin-bottom:8px}.ui-lista-flutuante__handle{width:36px;height:4px;border-radius:2px;background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 25%,transparent);margin:2px auto 8px}.ui-lista-flutuante__sheet-title-bar{display:flex;align-items:center;justify-content:space-between;width:100%;padding:4px 6px 8px;border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));margin-bottom:6px}.ui-lista-flutuante__sheet-titulo{font-size:13px;font-weight:600;color:var(--ui-cor-primaria, #00E08A);letter-spacing:.3px;text-transform:uppercase}.ui-lista-flutuante__sheet-close{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);font-size:14px;cursor:pointer;padding:4px 8px;border-radius:var(--ui-raio-sm, 4px);display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .15s,background-color .15s}.ui-lista-flutuante__sheet-close:hover{color:#fff;background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent)}.ui-lista-flutuante__item{padding:6px 10px;font-family:var(--ui-fonte-base, "Inter", sans-serif);font-size:12px;line-height:1.2;color:var(--ui-cor-texto, #e1e1e6);border-radius:var(--ui-raio-sm, 4px);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background-color .12s ease,color .12s ease;-webkit-user-select:none;user-select:none}.ui-lista-flutuante__item:hover{background-color:var(--ui-cor-hover-menu, rgba(255, 255, 255, .08))}.ui-lista-flutuante__item--selecionado{background-color:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 15%,transparent);color:var(--ui-cor-primaria, #00E08A);font-weight:600}.ui-lista-flutuante__item--selecionado:after{content:"✓";font-size:11px;color:var(--ui-cor-primaria, #00E08A)}@media (max-width: 640px){.ui-lista-flutuante__gatilho{min-height:max(var(--ui-campo-altura, 38px),38px);font-size:15px}:host([aberta]) .ui-lista-flutuante__backdrop{background-color:#00000059;-webkit-backdrop-filter:none;backdrop-filter:none}.ui-lista-flutuante__conteudo{position:fixed!important;bottom:0!important;top:auto!important;left:0!important;width:100vw!important;max-width:100vw!important;min-width:100vw!important;max-height:70vh!important;max-height:70dvh!important;border-radius:var(--ui-raio-xl, 16px) var(--ui-raio-xl, 16px) 0 0!important;border-bottom:none!important;padding:10px 16px calc(24px + env(safe-area-inset-bottom,0px)) 16px!important;box-shadow:0 -8px 32px #000000b3!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:ui-bottom-sheet-slide .22s cubic-bezier(.4,0,.2,1)}.ui-lista-flutuante__sheet-header{display:flex!important;flex-direction:column!important}.ui-lista-flutuante__sheet-close{min-width:44px;min-height:44px;font-size:18px}.ui-lista-flutuante__item{padding:12px 14px!important;font-size:15px!important;margin-bottom:3px}}:host([bottom-sheet][aberta]) .ui-lista-flutuante__backdrop,:host([modo-mobile][aberta]) .ui-lista-flutuante__backdrop{background-color:#00000059;-webkit-backdrop-filter:none;backdrop-filter:none}:host([bottom-sheet]) .ui-lista-flutuante__conteudo,:host([modo-mobile]) .ui-lista-flutuante__conteudo{position:fixed!important;bottom:0!important;top:auto!important;left:0!important;width:100vw!important;max-width:100vw!important;min-width:100vw!important;max-height:70vh!important;max-height:70dvh!important;border-radius:var(--ui-raio-xl, 16px) var(--ui-raio-xl, 16px) 0 0!important;border-bottom:none!important;padding:10px 16px calc(24px + env(safe-area-inset-bottom,0px)) 16px!important;box-shadow:0 -8px 32px #000000b3!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;animation:ui-bottom-sheet-slide .22s cubic-bezier(.4,0,.2,1)}:host([bottom-sheet]) .ui-lista-flutuante__sheet-header,:host([modo-mobile]) .ui-lista-flutuante__sheet-header{display:flex!important;flex-direction:column!important}:host([bottom-sheet]) .ui-lista-flutuante__sheet-close,:host([modo-mobile]) .ui-lista-flutuante__sheet-close{min-width:44px;min-height:44px;font-size:18px}:host([bottom-sheet]) .ui-lista-flutuante__item,:host([modo-mobile]) .ui-lista-flutuante__item{padding:12px 14px!important;font-size:15px!important;margin-bottom:3px}@keyframes ui-bottom-sheet-slide{0%{transform:translateY(100%)}to{transform:translateY(0)}}',v=["aberta","texto-padrao","value","disabled","bottom-sheet","modo-mobile","label","rotulo","placeholder","tamanho","size","altura","height","densidade","name","obrigatorio","required","mensagem-validacao","aria-label"];function _(){return`
2
+ <style>${I}</style>
3
+ <div class="ui-lista-flutuante__container">
4
+ <label class="ui-lista-flutuante__label" part="rotulo" style="display: none;"></label>
5
+ <div class="ui-lista-flutuante__backdrop"></div>
6
+ <button class="ui-lista-flutuante__gatilho" part="campo" aria-haspopup="listbox" aria-expanded="false" type="button">
7
+ <span class="ui-lista-flutuante__texto" part="valor"></span>
8
+ <span class="ui-lista-flutuante__seta" part="seta">▼</span>
9
+ </button>
10
+ <div class="ui-lista-flutuante__conteudo" part="lista" role="listbox" popover="manual">
11
+ <div class="ui-lista-flutuante__sheet-header">
12
+ <div class="ui-lista-flutuante__handle"></div>
13
+ <div class="ui-lista-flutuante__sheet-title-bar">
14
+ <span class="ui-lista-flutuante__sheet-titulo">Selecione uma opção</span>
15
+ <button class="ui-lista-flutuante__sheet-close" type="button" aria-label="Fechar">✕</button>
16
+ </div>
17
+ </div>
18
+ <ul class="ui-lista-flutuante__lista" style="margin: 0; padding: 0; list-style: none;"></ul>
19
+ </div>
20
+ </div>
21
+ `}function b(n,i,t){n.innerHTML="",i.forEach(e=>{const s=document.createElement("li"),r=String(e.id)===String(t);s.className=`ui-lista-flutuante__item ${r?"ui-lista-flutuante__item--selecionado":""}`,s.setAttribute("data-id",e.id),s.textContent=e.label,s.role="option",s.tabIndex=-1,s.setAttribute("part",r?"opcao opcao-selecionada":"opcao"),r&&s.setAttribute("aria-selected","true"),n.appendChild(s)})}function k(n,i){n.querySelectorAll(".ui-lista-flutuante__item").forEach(e=>{const s=e.getAttribute("data-id");z.alternarPart(e,"opcao-selecionada",s===String(i)),s===String(i)?(e.classList.add("ui-lista-flutuante__item--selecionado"),e.setAttribute("aria-selected","true")):(e.classList.remove("ui-lista-flutuante__item--selecionado"),e.removeAttribute("aria-selected"))})}class p extends d.FormAssociatedElement{constructor(){super();a(this,"labelElement");a(this,"button");a(this,"content");a(this,"listElement");a(this,"textoElement");a(this,"backdropElement");a(this,"sheetTituloElement");a(this,"sheetCloseButton");a(this,"idsAcessibilidade");a(this,"listeners",new m.ListenerBag);a(this,"_itens",[]);a(this,"_value","");a(this,"_defaultValue","");a(this,"_defaultCapturado",!1);a(this,"observer");a(this,"posicionamento");a(this,"teclado");a(this,"toggleLista",t=>{t.stopPropagation(),!this.disabled&&(this.hasAttribute("aberta")?this.fechar():this.abrir())});a(this,"handleKeyDown",t=>{if(!this.disabled){if(t.key==="Escape"&&this.hasAttribute("aberta")){t.preventDefault(),this.fechar();return}(t.key==="Enter"||t.key===" "||t.key==="ArrowDown"||t.key==="ArrowUp")&&(t.preventDefault(),this.hasAttribute("aberta")?this.teclado.focarPrimeiroItem():this.abrir())}});a(this,"handleListKeyDown",t=>{this.hasAttribute("aberta")&&this.teclado.tratarKeydownLista(t,this._itens,e=>this.selecionarItem(e),this.fechar,this.button)});a(this,"fechar",()=>{this.hasAttribute("aberta")&&(this.removeAttribute("aberta"),this.posicionamento.desativarAcompanhamento(),this.teclado.resetarFoco())});a(this,"handleClickFora",t=>{if(!this.hasAttribute("aberta"))return;const e=t.composedPath();!e.includes(this)&&!e.includes(this.content)&&this.fechar()});a(this,"focarGatilho",()=>{this.disabled||this.button.focus()});a(this,"handleHostClick",t=>{h.cliqueVeioDeRotuloExterno(this,t)&&this.focarGatilho()});a(this,"handleListClick",t=>{var o;t.stopPropagation();const e=(o=t.target)==null?void 0:o.closest("li[data-id]");if(!e)return;const s=e.getAttribute("data-id"),r=this._itens.find(c=>String(c.id)===String(s));r&&this.selecionarItem(r)});const t=this.attachShadow({mode:"open"});t.innerHTML=_(),this.labelElement=t.querySelector(".ui-lista-flutuante__label"),this.button=t.querySelector(".ui-lista-flutuante__gatilho"),this.content=t.querySelector(".ui-lista-flutuante__conteudo"),this.listElement=t.querySelector(".ui-lista-flutuante__lista"),this.textoElement=t.querySelector(".ui-lista-flutuante__texto"),this.backdropElement=t.querySelector(".ui-lista-flutuante__backdrop"),this.sheetTituloElement=t.querySelector(".ui-lista-flutuante__sheet-titulo"),this.sheetCloseButton=t.querySelector(".ui-lista-flutuante__sheet-close");const e=h.gerarIdUnico("ui-select");this.idsAcessibilidade={label:`${e}-label`,gatilho:`${e}-gatilho`,texto:`${e}-texto`,lista:`${e}-lista`},this.labelElement.id=this.idsAcessibilidade.label,this.button.id=this.idsAcessibilidade.gatilho,this.textoElement.id=this.idsAcessibilidade.texto,this.content.id=this.idsAcessibilidade.lista,this.button.setAttribute("aria-controls",this.idsAcessibilidade.lista),this.posicionamento=new g(this,this.button,this.content),this.teclado=new x(this.listElement)}static get observedAttributes(){return v}connectedCallback(){this.listeners.cleanup(),this.listeners.add(this.button,"click",this.toggleLista),this.listeners.add(this.button,"keydown",this.handleKeyDown),this.listeners.add(this.content,"keydown",this.handleListKeyDown),this.listeners.add(this.backdropElement,"click",this.fechar),this.listeners.add(this.listElement,"click",this.handleListClick),this.listeners.add(this.sheetCloseButton,"click",t=>{t.stopPropagation(),this.fechar()}),this.listeners.add(document,"click",this.handleClickFora),this.listeners.add(this.labelElement,"click",this.focarGatilho),this.listeners.add(this,"click",this.handleHostClick),this._defaultCapturado||(this._defaultValue=this.getAttribute("value")||"",this._defaultCapturado=!0),this.carregarItensFilhos(),this.syncState(),this.observer=new MutationObserver(()=>this.carregarItensFilhos()),this.observer.observe(this,{childList:!0,subtree:!0})}carregarItensFilhos(){const t=Array.from(this.querySelectorAll('option, ui-opcao, [role="option"], [data-opcao], [data-value]:not(input):not(select)'));t.length>0&&(this._itens=t.map((e,s)=>{var o;const r=e.getAttribute("value")||e.getAttribute("data-value")||String(s+1);return{id:r,label:((o=e.textContent)==null?void 0:o.trim())||r||`Opção ${s+1}`}}),b(this.listElement,this._itens,this._value),this.syncLabel())}disconnectedCallback(){this.listeners.cleanup(),this.observer&&this.observer.disconnect(),this.fechar()}attributeChangedCallback(t,e,s){t==="aberta"&&this.button.setAttribute("aria-expanded",String(s!==null)),(t==="texto-padrao"||t==="placeholder"||t==="label"||t==="rotulo"||t==="aria-label")&&this.syncLabel(),t==="value"&&s!==this._value&&(this.value=s||""),t==="disabled"&&(this.button.disabled=this.disabled),(t==="altura"||t==="height")&&(s?this.style.setProperty("--ui-campo-altura",isNaN(Number(s))?s:`${s}px`):this.style.removeProperty("--ui-campo-altura"))}get value(){return this._value}set value(t){this._value=t,this.setAttribute("value",t),this.internals.setFormValue(t),this.syncLabel(),k(this.listElement,this._value),this.atualizarValidade()}get label(){return this.getAttribute("label")||this.getAttribute("rotulo")||""}set label(t){t?this.setAttribute("label",t):(this.removeAttribute("label"),this.removeAttribute("rotulo")),this.syncLabel()}get disabled(){return this.hasAttribute("disabled")||this._formDisabled}set disabled(t){t?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.button.disabled=this.disabled}get name(){return this.getAttribute("name")||""}set name(t){this.setAttribute("name",t)}get type(){return"select-one"}atualizarValidade(){if(!this.internals||typeof this.internals.setValidity!="function")return;if(this.disabled){this.internals.setValidity({});return}if(this._customErrorMessage){this.internals.setValidity({customError:!0},this._customErrorMessage,this.button);return}if((this.hasAttribute("obrigatorio")||this.hasAttribute("required"))&&(!this._value||this._value.trim()==="")){const e=this.getAttribute("mensagem-validacao")||"Selecione um item da lista.";this.internals.setValidity({valueMissing:!0},e,this.button);return}this.internals.setValidity({})}formDisabledCallback(t){this._formDisabled=t,this.button.disabled=this.disabled,this.disabled&&this.fechar()}formResetCallback(){this.value=this._defaultValue}formStateRestoreCallback(t,e){typeof t=="string"&&(this.value=t)}get itens(){return this._itens}set itens(t){this._itens=t||[],b(this.listElement,this._itens,this._value),this.syncLabel()}abrir(){this.disabled||this.hasAttribute("aberta")||(this.setAttribute("aberta",""),this.posicionamento.posicionar(),this.posicionamento.ativarAcompanhamento(this.fechar))}syncLabel(){const t=this.getAttribute("label")||this.getAttribute("rotulo");if(t)d.renderizarRotulo(this.labelElement,t,this.required,"ui-lista-flutuante__asterisco"),this.labelElement.style.display="block",this.sheetTituloElement.textContent=t,this.button.setAttribute("aria-labelledby",`${this.idsAcessibilidade.label} ${this.idsAcessibilidade.texto}`),this.content.setAttribute("aria-labelledby",this.idsAcessibilidade.label),this.button.removeAttribute("aria-label"),this.content.removeAttribute("aria-label");else{this.labelElement.style.display="none",this.sincronizarRotuloExterno();const s=this.getAttribute("texto-padrao")||this.getAttribute("placeholder")||"Opções";this.sheetTituloElement.textContent=s}const e=this._itens.find(s=>String(s.id)===String(this._value));if(e)this.textoElement.textContent=e.label;else{const s=this.getAttribute("texto-padrao")||this.getAttribute("placeholder")||"Opções";this.textoElement.textContent=s}}sincronizarRotuloExterno(){this.button.removeAttribute("aria-labelledby"),this.content.removeAttribute("aria-labelledby");const t=h.obterRotuloExterno(this,this.internals);t?(this.button.setAttribute("aria-labelledby",`${this.idsAcessibilidade.gatilho} ${this.idsAcessibilidade.texto}`),this.button.setAttribute("aria-label",t),this.content.setAttribute("aria-label",t)):(this.button.removeAttribute("aria-label"),this.content.removeAttribute("aria-label"))}syncState(){const t=this.getAttribute("altura")||this.getAttribute("height");t&&this.style.setProperty("--ui-campo-altura",isNaN(Number(t))?t:`${t}px`),this.hasAttribute("value")&&(this._value=this.getAttribute("value")||"",this.internals.setFormValue(this._value)),this.syncLabel(),this.atualizarValidade()}selecionarItem(t){var r;const e=(r=this.shadowRoot)==null?void 0:r.activeElement,s=!!e&&this.content.contains(e);this.value=t.id,this.fechar(),s&&this.button.focus(),this.dispatchEvent(new CustomEvent("ui-selecionar",{detail:t,bubbles:!0,composed:!0})),this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}}class y extends p{}u.definirCustomElement("ui-lista-flutuante",p);u.definirCustomElement("ui-select",y);const q=':host{display:inline-flex;align-items:center;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif);vertical-align:middle}.ui-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1;outline:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ui-checkbox--disabled{opacity:.5;cursor:not-allowed!important;pointer-events:none}.ui-checkbox__box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;min-height:16px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16));border-radius:var(--ui-raio-sm, 4px);box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;flex-shrink:0}.ui-checkbox:focus-visible .ui-checkbox__box,.ui-checkbox--foco .ui-checkbox__box{border-color:var(--ui-cor-primaria, #00E08A);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 25%,transparent)}.ui-checkbox--checked .ui-checkbox__box,.ui-checkbox--indeterminate .ui-checkbox__box{background-color:var(--ui-cor-primaria, #00E08A);border-color:var(--ui-cor-primaria, #00E08A);color:var(--ui-cor-texto-sobre-primaria, #000000)}.ui-checkbox__mark{width:12px;height:12px;display:flex;align-items:center;justify-content:center;transition:transform .15s cubic-bezier(.4,0,.2,1),opacity .15s ease;transform:scale(0);opacity:0}.ui-checkbox--checked .ui-checkbox__mark,.ui-checkbox--indeterminate .ui-checkbox__mark{transform:scale(1);opacity:1}.ui-checkbox__mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;shape-rendering:geometricPrecision}.ui-checkbox__label{display:inline-flex;align-items:center;font-size:clamp(11px,.85rem,14px);color:var(--ui-cor-texto, #e1e1e6);line-height:1}.ui-checkbox--label-esquerda{flex-direction:row-reverse}@media (max-width: 640px){.ui-checkbox{min-height:40px;padding:4px 0}.ui-checkbox__box{width:20px;height:20px;min-width:20px;min-height:20px}.ui-checkbox__mark{width:14px;height:14px}.ui-checkbox__label{font-size:14px}}';class E extends d.FormAssociatedElement{constructor(){super();a(this,"containerElement");a(this,"markElement");a(this,"labelElement");a(this,"listeners",new m.ListenerBag);a(this,"_defaultChecked",!1);a(this,"_defaultIndeterminate",!1);a(this,"handleClick",t=>{t.preventDefault(),this.alternar()});a(this,"handleKeyDown",t=>{(t.key===" "||t.key==="Enter")&&(t.preventDefault(),this.alternar())});a(this,"handleFocus",()=>{this.containerElement.classList.add("ui-checkbox--foco")});a(this,"handleBlur",()=>{this.containerElement.classList.remove("ui-checkbox--foco")});const t=this.attachShadow({mode:"open"});t.innerHTML=`
22
+ <style>${q}</style>
23
+ <div class="ui-checkbox" part="base" tabindex="0" role="checkbox" aria-checked="false">
24
+ <span class="ui-checkbox__box" part="controle">
25
+ <span class="ui-checkbox__mark" part="indicador"></span>
26
+ </span>
27
+ <span class="ui-checkbox__label" part="rotulo" style="display: none;"></span>
28
+ </div>
29
+ `,this.containerElement=t.querySelector(".ui-checkbox"),this.markElement=t.querySelector(".ui-checkbox__mark"),this.labelElement=t.querySelector(".ui-checkbox__label")}static get observedAttributes(){return["marcado","checked","indeterminado","indeterminate","disabled","value","label","posicao-label","name","obrigatorio","required","mensagem-validacao"]}connectedCallback(){this.listeners.cleanup(),this.listeners.add(this.containerElement,"click",this.handleClick),this.listeners.add(this.containerElement,"keydown",this.handleKeyDown),this.listeners.add(this.containerElement,"focus",this.handleFocus),this.listeners.add(this.containerElement,"blur",this.handleBlur),this._defaultChecked=this.hasAttribute("marcado")||this.hasAttribute("checked"),this._defaultIndeterminate=this.hasAttribute("indeterminado")||this.hasAttribute("indeterminate"),this.syncState()}disconnectedCallback(){this.listeners.cleanup()}attributeChangedCallback(t,e,s){this.syncState()}get marcado(){return this.hasAttribute("marcado")||this.hasAttribute("checked")}set marcado(t){t?this.setAttribute("marcado",""):(this.removeAttribute("marcado"),this.removeAttribute("checked")),this.syncState()}get checked(){return this.marcado}set checked(t){this.marcado=t}get value(){return this.getAttribute("value")||"on"}set value(t){this.setAttribute("value",t),this.syncState()}get name(){return this.getAttribute("name")||""}set name(t){this.setAttribute("name",t),this.syncState()}get indeterminado(){return this.hasAttribute("indeterminado")||this.hasAttribute("indeterminate")}set indeterminado(t){t?this.setAttribute("indeterminado",""):(this.removeAttribute("indeterminado"),this.removeAttribute("indeterminate")),this.syncState()}get disabled(){return this.hasAttribute("disabled")||this._formDisabled}set disabled(t){t?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.syncState()}get type(){return"checkbox"}atualizarValidade(){if(!this.internals||typeof this.internals.setValidity!="function")return;if(this.disabled){this.internals.setValidity({});return}if(this._customErrorMessage){this.internals.setValidity({customError:!0},this._customErrorMessage,this.containerElement);return}if((this.hasAttribute("obrigatorio")||this.hasAttribute("required"))&&!this.marcado){const e=this.getAttribute("mensagem-validacao")||"Marque esta caixa para continuar.";this.internals.setValidity({valueMissing:!0},e,this.containerElement);return}this.internals.setValidity({})}alternar(){this.disabled||(this.indeterminado?(this.indeterminado=!1,this.marcado=!0):this.marcado=!this.marcado,this.dispatchEvent(new CustomEvent("ui-change",{detail:{marcado:this.marcado,indeterminado:this.indeterminado,value:this.getAttribute("value")||""},bubbles:!0,composed:!0})),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})))}syncState(){const t=this.marcado,e=this.indeterminado,s=this.disabled,r=this.getAttribute("label"),o=this.getAttribute("posicao-label")||"direita";this.containerElement.setAttribute("aria-checked",e?"mixed":String(t)),s?(this.containerElement.classList.add("ui-checkbox--disabled"),this.containerElement.setAttribute("tabindex","-1"),this.containerElement.setAttribute("aria-disabled","true")):(this.containerElement.classList.remove("ui-checkbox--disabled"),this.containerElement.setAttribute("tabindex","0"),this.containerElement.removeAttribute("aria-disabled")),t?this.containerElement.classList.add("ui-checkbox--checked"):this.containerElement.classList.remove("ui-checkbox--checked"),e?this.containerElement.classList.add("ui-checkbox--indeterminate"):this.containerElement.classList.remove("ui-checkbox--indeterminate"),o==="esquerda"?this.containerElement.classList.add("ui-checkbox--label-esquerda"):this.containerElement.classList.remove("ui-checkbox--label-esquerda"),e?this.markElement.innerHTML=`
30
+ <svg viewBox="0 0 24 24">
31
+ <line x1="5" y1="12" x2="19" y2="12"></line>
32
+ </svg>
33
+ `:t?this.markElement.innerHTML=`
34
+ <svg viewBox="0 0 24 24">
35
+ <polyline points="20 6 9 17 4 12"></polyline>
36
+ </svg>
37
+ `:this.markElement.innerHTML="",r?(this.labelElement.textContent=r,this.labelElement.style.display="inline"):this.labelElement.style.display="none",t?this.internals.setFormValue(this.getAttribute("value")||"on"):this.internals.setFormValue(null),this.atualizarValidade()}formResetCallback(){this.marcado=this._defaultChecked,this.indeterminado=this._defaultIndeterminate,this.syncState()}formStateRestoreCallback(t,e){typeof t=="string"?this.marcado=t===(this.getAttribute("value")||"on"):typeof t=="boolean"&&(this.marcado=t),this.syncState()}}u.definirCustomElement("ui-checkbox",E);const V=':host{display:inline-flex;align-items:center;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif);vertical-align:middle}.ui-radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1;outline:none}.ui-radio--disabled{opacity:.5;cursor:not-allowed!important;pointer-events:none}.ui-radio__circle{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;min-width:16px;min-height:16px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16));border-radius:50%;box-sizing:border-box;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;flex-shrink:0}.ui-radio:focus-visible .ui-radio__circle,.ui-radio--foco .ui-radio__circle{border-color:var(--ui-cor-primaria, #00E08A);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 25%,transparent)}.ui-radio--checked .ui-radio__circle{border-color:var(--ui-cor-primaria, #00E08A)}.ui-radio__dot{width:8px;height:8px;border-radius:50%;background-color:var(--ui-cor-primaria, #00E08A);transition:transform .15s cubic-bezier(.4,0,.2,1),opacity .15s ease;transform:scale(0);opacity:0}.ui-radio--checked .ui-radio__dot{transform:scale(1);opacity:1}.ui-radio__label{display:inline-flex;align-items:center;font-size:clamp(11px,.85rem,14px);color:var(--ui-cor-texto, #e1e1e6);line-height:1}.ui-radio--label-esquerda{flex-direction:row-reverse}';class l{static getScopeNode(i){return i.closest("form")||i.getRootNode()||document}static registrar(i){const t=i.name;if(t){const e=this.getScopeNode(i);this.registry.has(e)||this.registry.set(e,new Map);const s=this.registry.get(e);s.has(t)||s.set(t,new Set),s.get(t).add(i)}}static desregistrar(i){const t=i.name;if(t){const e=this.getScopeNode(i),s=this.registry.get(e);if(s&&s.has(t)){const r=s.get(t);r.delete(i),r.size===0&&s.delete(t),s.size===0&&this.registry.delete(e)}}}static obterRadiosDoGrupo(i){const t=i.name;if(!t)return[];const e=this.getScopeNode(i),s=this.registry.get(e);return!s||!s.has(t)?[]:Array.from(s.get(t))}static desmarcarOutros(i){this.obterRadiosDoGrupo(i).forEach(e=>{e!==i&&(e.removeAttribute("marcado"),e.removeAttribute("checked"),e.syncState())})}static tratarNavegacaoTeclado(i,t){if(["ArrowDown","ArrowRight","ArrowUp","ArrowLeft"].includes(i.key)){i.preventDefault();const s=this.obterRadiosDoGrupo(t).filter(c=>!c.disabled);if(s.length<=1)return;const r=s.indexOf(t);let o=r;if(i.key==="ArrowDown"||i.key==="ArrowRight"?o=(r+1)%s.length:(i.key==="ArrowUp"||i.key==="ArrowLeft")&&(o=(r-1+s.length)%s.length),o!==r&&o>=0&&o<s.length){const c=s[o];c.selecionar(),c.focus()}}}}a(l,"registry",new WeakMap);class w extends d.FormAssociatedElement{constructor(){super();a(this,"containerElement");a(this,"labelElement");a(this,"_defaultChecked",!1);a(this,"handleClick",t=>{t.preventDefault(),this.selecionar(),this.containerElement.focus()});a(this,"handleKeyDown",t=>{t.key===" "||t.key==="Enter"?(t.preventDefault(),this.selecionar()):l.tratarNavegacaoTeclado(t,this)});a(this,"handleFocus",()=>{this.containerElement.classList.add("ui-radio--foco")});a(this,"handleBlur",()=>{this.containerElement.classList.remove("ui-radio--foco")});const t=this.attachShadow({mode:"open"});t.innerHTML=`
38
+ <style>${V}</style>
39
+ <div class="ui-radio" part="base" tabindex="0" role="radio" aria-checked="false">
40
+ <span class="ui-radio__circle" part="controle">
41
+ <span class="ui-radio__dot" part="indicador"></span>
42
+ </span>
43
+ <span class="ui-radio__label" part="rotulo" style="display: none;"></span>
44
+ </div>
45
+ `,this.containerElement=t.querySelector(".ui-radio"),this.labelElement=t.querySelector(".ui-radio__label")}static get observedAttributes(){return["marcado","checked","name","nome","disabled","value","label","posicao-label","obrigatorio","required","mensagem-validacao"]}connectedCallback(){this.containerElement.addEventListener("click",this.handleClick),this.containerElement.addEventListener("keydown",this.handleKeyDown),this.containerElement.addEventListener("focus",this.handleFocus),this.containerElement.addEventListener("blur",this.handleBlur),this._defaultChecked=this.hasAttribute("marcado")||this.hasAttribute("checked"),l.registrar(this),this.syncState()}disconnectedCallback(){this.containerElement.removeEventListener("click",this.handleClick),this.containerElement.removeEventListener("keydown",this.handleKeyDown),this.containerElement.removeEventListener("focus",this.handleFocus),this.containerElement.removeEventListener("blur",this.handleBlur),l.desregistrar(this)}attributeChangedCallback(t,e,s){this.syncState()}get marcado(){return this.hasAttribute("marcado")||this.hasAttribute("checked")}set marcado(t){t?this.setAttribute("marcado",""):(this.removeAttribute("marcado"),this.removeAttribute("checked"))}get name(){return this.getAttribute("name")||this.getAttribute("nome")||""}set name(t){l.desregistrar(this),this.setAttribute("name",t),l.registrar(this),this.syncState()}get disabled(){return this.hasAttribute("disabled")||this._formDisabled}set disabled(t){t?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.syncState()}get type(){return"radio"}atualizarValidade(){if(!this.internals||typeof this.internals.setValidity!="function")return;if(this.disabled){this.internals.setValidity({});return}if(this._customErrorMessage){this.internals.setValidity({customError:!0},this._customErrorMessage,this.containerElement);return}const t=l.obterRadiosDoGrupo(this);if((this.required||t.length>0&&t.some(s=>s.required))&&!(this.marcado||t.length>0&&t.some(r=>r.marcado))){const r=this.getAttribute("mensagem-validacao")||"Selecione uma opção.";this.internals.setValidity({valueMissing:!0},r,this.containerElement);return}this.internals.setValidity({})}focus(t){this.containerElement.focus(t)}selecionar(){this.disabled||this.marcado||(l.desmarcarOutros(this),this.marcado=!0,this.dispatchEvent(new CustomEvent("ui-change",{detail:{marcado:!0,name:this.name,value:this.getAttribute("value")||""},bubbles:!0,composed:!0})),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),l.obterRadiosDoGrupo(this).forEach(t=>t.atualizarValidade()))}syncState(){const t=this.marcado,e=this.disabled,s=this.getAttribute("label"),r=this.getAttribute("posicao-label")||"direita";if(this.containerElement.setAttribute("aria-checked",String(t)),e)this.containerElement.classList.add("ui-radio--disabled"),this.containerElement.setAttribute("tabindex","-1"),this.containerElement.setAttribute("aria-disabled","true");else{this.containerElement.classList.remove("ui-radio--disabled"),this.containerElement.removeAttribute("aria-disabled");const o=l.obterRadiosDoGrupo(this);o.length>0?o.some(S=>S.marcado)?this.containerElement.setAttribute("tabindex",t?"0":"-1"):this.containerElement.setAttribute("tabindex",o[0]===this?"0":"-1"):this.containerElement.setAttribute("tabindex","0")}t?this.containerElement.classList.add("ui-radio--checked"):this.containerElement.classList.remove("ui-radio--checked"),r==="esquerda"?this.containerElement.classList.add("ui-radio--label-esquerda"):this.containerElement.classList.remove("ui-radio--label-esquerda"),s?(this.labelElement.textContent=s,this.labelElement.style.display="inline"):this.labelElement.style.display="none",t?this.internals.setFormValue(this.getAttribute("value")||"on"):this.internals.setFormValue(null),this.atualizarValidade()}formResetCallback(){this.marcado=this._defaultChecked,this._defaultChecked?this.internals.setFormValue(this.getAttribute("value")||"on"):this.internals.setFormValue(null),this.atualizarValidade()}formStateRestoreCallback(t,e){typeof t=="string"?this.marcado=t===(this.getAttribute("value")||"on"):typeof t=="boolean"&&(this.marcado=t),this.syncState()}}u.definirCustomElement("ui-radio",w);const D=':host{display:inline-flex;align-items:center;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif);vertical-align:middle}.ui-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;line-height:1;outline:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ui-switch--disabled{opacity:.5;cursor:not-allowed!important;pointer-events:none}.ui-switch__track{display:inline-flex;align-items:center;position:relative;width:36px;height:20px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16));border-radius:var(--ui-raio-pill, 999px);box-sizing:border-box;padding:1px;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;flex-shrink:0}.ui-switch:focus-visible .ui-switch__track,.ui-switch--foco .ui-switch__track{border-color:var(--ui-cor-primaria, #00E08A);box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 25%,transparent)}.ui-switch--checked .ui-switch__track{background-color:var(--ui-cor-primaria, #00E08A);border-color:var(--ui-cor-primaria, #00E08A)}.ui-switch__thumb{display:block;width:16px;height:16px;background-color:#fff;border-radius:50%;box-shadow:var(--ui-sombra-sm, 0 1px 3px rgba(0, 0, 0, .3));transition:transform .2s cubic-bezier(.4,0,.2,1),background-color .2s ease;transform:translate(0)}.ui-switch--checked .ui-switch__thumb{transform:translate(16px);background-color:var(--ui-cor-texto-sobre-primaria, #000000)}.ui-switch--sm .ui-switch__track{width:28px;height:16px;padding:1px}.ui-switch--sm .ui-switch__thumb{width:12px;height:12px}.ui-switch--sm.ui-switch--checked .ui-switch__thumb{transform:translate(12px)}.ui-switch--lg .ui-switch__track{width:44px;height:24px;padding:1px}.ui-switch--lg .ui-switch__thumb{width:20px;height:20px}.ui-switch--lg.ui-switch--checked .ui-switch__thumb{transform:translate(20px)}.ui-switch__label{display:inline-flex;align-items:center;font-size:clamp(11px,.85rem,14px);color:var(--ui-cor-texto, #e1e1e6);line-height:1}.ui-switch--label-esquerda{flex-direction:row-reverse}@media (max-width: 640px){.ui-switch{min-height:40px;padding:4px 0}.ui-switch__label{font-size:14px}}';class f extends d.FormAssociatedElement{constructor(){super();a(this,"containerElement");a(this,"labelElement");a(this,"labelId");a(this,"listeners",new m.ListenerBag);a(this,"_defaultChecked",!1);a(this,"handleClick",t=>{t.preventDefault(),this.alternar()});a(this,"handleHostClick",t=>{h.cliqueVeioDeRotuloExterno(this,t)&&(this.alternar(),this.containerElement.focus())});a(this,"handleKeyDown",t=>{(t.key===" "||t.key==="Enter")&&(t.preventDefault(),this.alternar())});a(this,"handleFocus",()=>{this.containerElement.classList.add("ui-switch--foco")});a(this,"handleBlur",()=>{this.containerElement.classList.remove("ui-switch--foco")});const t=this.attachShadow({mode:"open"});t.innerHTML=`
46
+ <style>${D}</style>
47
+ <div class="ui-switch" part="base" tabindex="0" role="switch" aria-checked="false">
48
+ <span class="ui-switch__track" part="controle">
49
+ <span class="ui-switch__thumb" part="indicador"></span>
50
+ </span>
51
+ <span class="ui-switch__label" part="rotulo" style="display: none;"></span>
52
+ </div>
53
+ `,this.containerElement=t.querySelector(".ui-switch"),this.labelElement=t.querySelector(".ui-switch__label"),this.labelId=h.gerarIdUnico("ui-switch-label"),this.labelElement.id=this.labelId}static get observedAttributes(){return["ativo","ligado","checked","disabled","tamanho","size","label","posicao-label","value","name","obrigatorio","required","mensagem-validacao","aria-label"]}connectedCallback(){this.listeners.cleanup(),this.listeners.add(this.containerElement,"click",this.handleClick),this.listeners.add(this.containerElement,"keydown",this.handleKeyDown),this.listeners.add(this.containerElement,"focus",this.handleFocus),this.listeners.add(this.containerElement,"blur",this.handleBlur),this.listeners.add(this,"click",this.handleHostClick),this._defaultChecked=this.hasAttribute("ativo")||this.hasAttribute("ligado")||this.hasAttribute("checked"),this.syncState()}disconnectedCallback(){this.listeners.cleanup()}attributeChangedCallback(t,e,s){this.syncState()}get ativo(){return this.hasAttribute("ativo")||this.hasAttribute("ligado")||this.hasAttribute("checked")}set ativo(t){t?this.setAttribute("ativo",""):(this.removeAttribute("ativo"),this.removeAttribute("ligado"),this.removeAttribute("checked")),this.syncState()}get checked(){return this.ativo}set checked(t){this.ativo=t}get value(){return this.getAttribute("value")||"on"}set value(t){this.setAttribute("value",t),this.syncState()}get name(){return this.getAttribute("name")||""}set name(t){this.setAttribute("name",t),this.syncState()}get disabled(){return this.hasAttribute("disabled")||this._formDisabled}set disabled(t){t?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.syncState()}get type(){return"checkbox"}atualizarValidade(){if(!this.internals||typeof this.internals.setValidity!="function")return;if(this.disabled){this.internals.setValidity({});return}if(this._customErrorMessage){this.internals.setValidity({customError:!0},this._customErrorMessage,this.containerElement);return}if((this.hasAttribute("obrigatorio")||this.hasAttribute("required"))&&!this.ativo){const e=this.getAttribute("mensagem-validacao")||"Ative este interruptor para continuar.";this.internals.setValidity({valueMissing:!0},e,this.containerElement);return}this.internals.setValidity({})}alternar(){this.disabled||(this.ativo=!this.ativo,this.dispatchEvent(new CustomEvent("ui-change",{detail:{ativo:this.ativo,value:this.getAttribute("value")||""},bubbles:!0,composed:!0})),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})))}syncState(){const t=this.ativo,e=this.disabled,s=this.getAttribute("tamanho")||this.getAttribute("size")||"md",r=this.getAttribute("label"),o=this.getAttribute("posicao-label")||"direita";if(this.containerElement.setAttribute("aria-checked",String(t)),e?(this.containerElement.classList.add("ui-switch--disabled"),this.containerElement.setAttribute("tabindex","-1"),this.containerElement.setAttribute("aria-disabled","true")):(this.containerElement.classList.remove("ui-switch--disabled"),this.containerElement.setAttribute("tabindex","0"),this.containerElement.removeAttribute("aria-disabled")),t?this.containerElement.classList.add("ui-switch--checked"):this.containerElement.classList.remove("ui-switch--checked"),this.containerElement.classList.remove("ui-switch--sm","ui-switch--md","ui-switch--lg"),["sm","md","lg"].includes(s)?this.containerElement.classList.add(`ui-switch--${s}`):this.containerElement.classList.add("ui-switch--md"),o==="esquerda"?this.containerElement.classList.add("ui-switch--label-esquerda"):this.containerElement.classList.remove("ui-switch--label-esquerda"),r)this.labelElement.textContent=r,this.labelElement.style.display="inline",this.containerElement.setAttribute("aria-labelledby",this.labelId),this.containerElement.removeAttribute("aria-label");else{this.labelElement.style.display="none",this.containerElement.removeAttribute("aria-labelledby");const c=h.obterRotuloExterno(this,this.internals);c?this.containerElement.setAttribute("aria-label",c):this.containerElement.removeAttribute("aria-label")}t?this.internals.setFormValue(this.getAttribute("value")||"on"):this.internals.setFormValue(null),this.atualizarValidade()}formResetCallback(){this.ativo=this._defaultChecked,this.syncState()}formStateRestoreCallback(t,e){typeof t=="string"?this.ativo=t===(this.getAttribute("value")||"on"):typeof t=="boolean"&&(this.ativo=t),this.syncState()}}class A extends f{}u.definirCustomElement("ui-switch",f);u.definirCustomElement("ui-toggle",A);exports.ATRIBUTOS_OBSERVADOS_LISTA_FLUTUANTE=v;exports.ListaFlutuantePosicionamento=g;exports.ListaFlutuanteTeclado=x;exports.RadioGrupoRegistry=l;exports.UICheckbox=E;exports.UIListaFlutuante=p;exports.UIRadio=w;exports.UISelect=y;exports.UISwitch=f;exports.UIToggle=A;exports.atualizarEstadoSelecaoLista=k;exports.criarTemplateListaFlutuante=_;exports.renderizarItensLista=b;