@thibezer/ui-components-kit 2.6.1 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/CHANGELOG.md +265 -204
  2. package/README.md +815 -791
  3. package/dist/acessibilidade-CSzX-DkG.cjs +1 -0
  4. package/dist/acessibilidade-CUlSXc2X.js +38 -0
  5. package/dist/altura-controle-ukMRPckR.cjs +1 -0
  6. package/dist/altura-controle-vxQiXG4q.js +62 -0
  7. package/dist/botao.cjs +1 -1
  8. package/dist/botao.js +1 -1
  9. package/dist/camadas.cjs +94 -94
  10. package/dist/camadas.js +1218 -1124
  11. package/dist/campo-texto.cjs +1 -1
  12. package/dist/campo-texto.js +1 -1
  13. package/dist/canvas.cjs +66 -65
  14. package/dist/canvas.js +3769 -3389
  15. package/dist/card.cjs +1 -1
  16. package/dist/card.js +1 -1
  17. package/dist/components/ui-alerta/ui-toast.d.ts +4 -15
  18. package/dist/components/ui-avatar/ui-avatar.d.ts +11 -0
  19. package/dist/components/ui-badge/ui-badge.d.ts +2 -0
  20. package/dist/components/ui-barra-ferramentas/paleta-atalhos.d.ts +16 -0
  21. package/dist/components/ui-barra-ferramentas/paleta-pressao-longa.d.ts +24 -0
  22. package/dist/components/ui-barra-ferramentas/ribbon-render.d.ts +14 -0
  23. package/dist/components/ui-barra-ferramentas/ribbon-teclado.d.ts +17 -0
  24. package/dist/components/ui-barra-ferramentas/ui-paleta-ferramentas.d.ts +1 -7
  25. package/dist/components/ui-barra-ferramentas/ui-ribbon.d.ts +0 -1
  26. package/dist/components/ui-camadas/camadas-arraste-controles.d.ts +2 -0
  27. package/dist/components/ui-camadas/camadas-arvore-renderer.d.ts +4 -11
  28. package/dist/components/ui-camadas/camadas-colecao.d.ts +27 -0
  29. package/dist/components/ui-camadas/camadas-drag-drop.d.ts +13 -1
  30. package/dist/components/ui-camadas/camadas-drop-ops.d.ts +31 -0
  31. package/dist/components/ui-camadas/camadas-hierarquia.d.ts +10 -0
  32. package/dist/components/ui-camadas/camadas-lembranca.d.ts +34 -0
  33. package/dist/components/ui-camadas/camadas-render.d.ts +14 -0
  34. package/dist/components/ui-camadas/camadas-renomear.d.ts +12 -0
  35. package/dist/components/ui-camadas/camadas-selecao-api.d.ts +17 -0
  36. package/dist/components/ui-camadas/camadas-thumb.d.ts +1 -0
  37. package/dist/components/ui-camadas/ui-camadas.d.ts +3 -5
  38. package/dist/components/ui-canvas-cad/cad-acessibilidade.d.ts +15 -0
  39. package/dist/components/ui-canvas-cad/cad-atributos-sync.d.ts +2 -1
  40. package/dist/components/ui-canvas-cad/cad-broadcast.d.ts +1 -1
  41. package/dist/components/ui-canvas-cad/cad-evento-coordenadas.d.ts +22 -0
  42. package/dist/components/ui-canvas-cad/cad-eventos-canvas.d.ts +3 -8
  43. package/dist/components/ui-canvas-cad/cad-feicoes-camera.d.ts +26 -0
  44. package/dist/components/ui-canvas-cad/cad-feicoes-consulta.d.ts +21 -0
  45. package/dist/components/ui-canvas-cad/cad-feicoes-dados.d.ts +39 -0
  46. package/dist/components/ui-canvas-cad/cad-feicoes-desenho.d.ts +68 -0
  47. package/dist/components/ui-canvas-cad/cad-feicoes-edicao.d.ts +37 -0
  48. package/dist/components/ui-canvas-cad/cad-feicoes-operacoes.d.ts +48 -0
  49. package/dist/components/ui-canvas-cad/cad-feicoes-ponteiro.d.ts +24 -0
  50. package/dist/components/ui-canvas-cad/cad-feicoes-selecao-regiao.d.ts +22 -0
  51. package/dist/components/ui-canvas-cad/cad-feicoes-tipos.d.ts +53 -0
  52. package/dist/components/ui-canvas-cad/cad-feicoes-versoes.d.ts +33 -0
  53. package/dist/components/ui-canvas-cad/cad-feicoes.d.ts +26 -106
  54. package/dist/components/ui-canvas-cad/cad-inicializador.d.ts +3 -1
  55. package/dist/components/ui-canvas-cad/cad-leaflet-adaptador.d.ts +5 -0
  56. package/dist/components/ui-canvas-cad/cad-selecao-pontos.d.ts +5 -0
  57. package/dist/components/ui-canvas-cad/tipos.d.ts +37 -0
  58. package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +4 -1
  59. package/dist/components/ui-checkbox/ui-checkbox.d.ts +4 -1
  60. package/dist/components/ui-linha/index.d.ts +1 -0
  61. package/dist/components/ui-linha/ui-linha.d.ts +48 -0
  62. package/dist/components/ui-mapa/mapa-atributos.d.ts +14 -0
  63. package/dist/components/ui-mapa/mapa-basemaps.d.ts +7 -0
  64. package/dist/components/ui-mapa/mapa-icones.d.ts +4 -0
  65. package/dist/components/ui-mapa/mapa-leaflet.d.ts +5 -0
  66. package/dist/components/ui-mapa/mapa-vinculo-pai.d.ts +22 -0
  67. package/dist/components/ui-mapa/tipos.d.ts +13 -0
  68. package/dist/components/ui-mapa/ui-mapa-linha.d.ts +12 -5
  69. package/dist/components/ui-mapa/ui-mapa-marcador.d.ts +15 -6
  70. package/dist/components/ui-mapa/ui-mapa.d.ts +14 -1
  71. package/dist/components/ui-modal/modal-acessibilidade.d.ts +5 -5
  72. package/dist/components/ui-modal/modal-foco.d.ts +28 -0
  73. package/dist/components/ui-modal/ui-modal.d.ts +1 -11
  74. package/dist/components/ui-radio/radio-grupo-registry.d.ts +10 -0
  75. package/dist/components/ui-radio/ui-radio.d.ts +9 -2
  76. package/dist/components/ui-skeleton/ui-skeleton.d.ts +9 -0
  77. package/dist/components/ui-switch/ui-switch.d.ts +3 -1
  78. package/dist/components/ui-tabela/tabela-estados.d.ts +16 -0
  79. package/dist/components/ui-tabela/tabela-rolagem.d.ts +44 -0
  80. package/dist/components/ui-tabela/tabela-teclado.d.ts +16 -0
  81. package/dist/components/ui-tabela/ui-tabela.d.ts +1 -19
  82. package/dist/components/ui-tooltip/tooltip-popover.d.ts +7 -0
  83. package/dist/components/ui-tooltip/tooltip-posicionamento.d.ts +29 -0
  84. package/dist/components/ui-tooltip/ui-tooltip.d.ts +24 -1
  85. package/dist/core/altura-controle.d.ts +34 -0
  86. package/dist/core/index.d.ts +1 -0
  87. package/dist/core/opcoes.d.ts +9 -0
  88. package/dist/core/rotulo-controle.d.ts +13 -0
  89. package/dist/core/tipos-toast.d.ts +16 -0
  90. package/dist/core/ui-bus.d.ts +9 -1
  91. package/dist/core.cjs +1 -1
  92. package/dist/core.js +29 -19
  93. package/dist/custom-elements.json +20984 -15700
  94. package/dist/data.cjs +1 -1
  95. package/dist/data.js +2 -2
  96. package/dist/feedback.cjs +1 -1
  97. package/dist/feedback.js +21 -21
  98. package/dist/form-validacao-BlQFxUVj.js +104 -0
  99. package/dist/form-validacao-DIeyQVH5.cjs +1 -0
  100. package/dist/forms.cjs +1 -1
  101. package/dist/forms.js +2 -2
  102. package/dist/index.cjs +1 -1
  103. package/dist/index.d.ts +3 -0
  104. package/dist/index.js +178 -177
  105. package/dist/mapa.cjs +11 -16
  106. package/dist/mapa.js +242 -170
  107. package/dist/modal.cjs +1 -1
  108. package/dist/modal.js +1 -1
  109. package/dist/opcoes-CJYLi6kd.js +12 -0
  110. package/dist/opcoes-CkyDxBuQ.cjs +1 -0
  111. package/dist/register.cjs +1 -1
  112. package/dist/register.js +13 -14
  113. package/dist/tabela.cjs +1 -1
  114. package/dist/tabela.js +1 -1
  115. package/dist/tipos-elementos.d.ts +33 -3
  116. package/dist/tipos-react.d.ts +2 -0
  117. package/dist/tipos-vue.d.ts +32 -3
  118. package/dist/tools.cjs +1 -1
  119. package/dist/tools.js +1 -1
  120. package/dist/ui-badge-BWhoGgo9.js +197 -0
  121. package/dist/ui-badge-SIR81R9l.cjs +28 -0
  122. package/dist/ui-botao-D24oXySA.cjs +12 -0
  123. package/dist/ui-botao-Dsj08jjw.js +165 -0
  124. package/dist/{zero-js-triggers-C_KrvFOQ.js → ui-bus-CUd99VJi.js} +36 -103
  125. package/dist/ui-bus-XqBLlTYQ.cjs +1 -0
  126. package/dist/{ui-campo-texto-Uu2dJE_0.js → ui-campo-texto-B_OHVGiN.js} +51 -51
  127. package/dist/ui-campo-texto-DauJCde3.cjs +16 -0
  128. package/dist/{ui-card-C_o5_0cB.js → ui-card-BNYCQ7g-.js} +50 -42
  129. package/dist/ui-card-BrjBL-yo.cjs +20 -0
  130. package/dist/ui-kit.css +1 -1
  131. package/dist/ui-linha-C6HBnsaw.cjs +19 -0
  132. package/dist/{ui-segmented-wUraId2e.js → ui-linha-nCDh2wPm.js} +200 -105
  133. package/dist/{ui-modal-DBOtSTbR.js → ui-modal-BkYvNP0G.js} +116 -140
  134. package/dist/ui-modal-CUNbpbZ1.cjs +18 -0
  135. package/dist/{ui-paleta-ferramentas-DNN5i6nL.js → ui-paleta-ferramentas-Ksh6gMW3.js} +359 -329
  136. package/dist/{ui-paleta-ferramentas-Ccmo-rB5.cjs → ui-paleta-ferramentas-bDLPbiGA.cjs} +7 -7
  137. package/dist/ui-skeleton-B2Rgrv8o.js +648 -0
  138. package/dist/ui-skeleton-DiOxTBZK.cjs +52 -0
  139. package/dist/ui-switch-D9a8XlVX.cjs +53 -0
  140. package/dist/{ui-switch-BcOqOkiV.js → ui-switch-DO1R0Ce7.js} +187 -128
  141. package/dist/{ui-tabela-propriedades-BokvDD3b.js → ui-tabela-propriedades-D9Echt2X.js} +845 -826
  142. package/dist/{ui-tabela-propriedades-BecPqC-e.cjs → ui-tabela-propriedades-DzZlyNZ_.cjs} +10 -10
  143. package/dist/zero-js-triggers-CJT988bR.js +83 -0
  144. package/dist/zero-js-triggers-CgM9IIQB.cjs +1 -0
  145. package/package.json +9 -2
  146. package/dist/form-validacao-BIOXxt-1.js +0 -140
  147. package/dist/form-validacao-ytRYSF3E.cjs +0 -1
  148. package/dist/ui-badge-BxT-sDmV.cjs +0 -28
  149. package/dist/ui-badge-C0eKBI8E.js +0 -183
  150. package/dist/ui-botao-BOOnP8ds.cjs +0 -12
  151. package/dist/ui-botao-DfqSivHl.js +0 -165
  152. package/dist/ui-campo-texto-Cnn2UAkS.cjs +0 -16
  153. package/dist/ui-card-B86lJXTP.cjs +0 -20
  154. package/dist/ui-modal-CvGFGh1h.cjs +0 -18
  155. package/dist/ui-segmented-D6b6zxVs.cjs +0 -19
  156. package/dist/ui-skeleton-DI4_9WOX.js +0 -428
  157. package/dist/ui-skeleton-elhKIh2B.cjs +0 -33
  158. package/dist/ui-switch-D7iPKDj-.cjs +0 -53
  159. package/dist/ui-toast-Bp_NlM5G.js +0 -156
  160. package/dist/ui-toast-DGTZKne5.cjs +0 -20
  161. package/dist/zero-js-triggers-C_gtaojZ.cjs +0 -1
@@ -1,53 +0,0 @@
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;
@@ -1,156 +0,0 @@
1
- var d = Object.defineProperty;
2
- var p = (i, a, t) => a in i ? d(i, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[a] = t;
3
- var r = (i, a, t) => p(i, typeof a != "symbol" ? a + "" : a, t);
4
- import { L as h } from "./listener-bag-DQgv7OON.js";
5
- import { d as c, S as b } from "./ssr-safe-5cWfJP-s.js";
6
- const f = ':host{display:block;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif)}.ui-alerta{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:var(--ui-raio-borda, 8px);border:1px solid transparent;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);color:var(--ui-cor-texto, #e1e1e6);box-sizing:border-box;position:relative;transition:opacity .2s ease,transform .2s ease;line-height:1.4}.ui-alerta__icone{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;line-height:1}.ui-alerta__icone svg,.ui-alerta__icone ::slotted(svg),.ui-alerta__icone ::slotted(ui-icone){shape-rendering:geometricPrecision}.ui-alerta__conteudo{flex:1}.ui-alerta__titulo{font-size:14px;font-weight:600;margin:0 0 2px;line-height:1.2}.ui-alerta__mensagem{font-size:13px;margin:0;opacity:.9}.ui-alerta__close{background:transparent;border:none;color:currentColor;opacity:.7;font-size:14px;cursor:pointer;padding:2px 6px;border-radius:var(--ui-raio-sm, 4px);line-height:1;flex-shrink:0;margin-top:-2px;margin-right:-4px;transition:opacity .15s ease,background-color .15s ease}.ui-alerta__close:hover{opacity:1;background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 15%,transparent)}.ui-alerta--sucesso{background-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 12%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 30%,transparent);color:var(--ui-cor-texto-sucesso, #00E08A)}.ui-alerta--sucesso .ui-alerta__mensagem{color:var(--ui-cor-texto, #e1e1e6)}.ui-alerta--erro{background-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 12%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 30%,transparent);color:var(--ui-cor-texto-erro, #ff5555)}.ui-alerta--erro .ui-alerta__mensagem{color:var(--ui-cor-texto, #e1e1e6)}.ui-alerta--alerta{background-color:color-mix(in srgb,var(--ui-cor-texto-alerta, #ffb86c) 12%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-alerta, #ffb86c) 30%,transparent);color:var(--ui-cor-texto-alerta, #ffb86c)}.ui-alerta--alerta .ui-alerta__mensagem{color:var(--ui-cor-texto, #e1e1e6)}.ui-alerta--info{background-color:color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 12%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 30%,transparent);color:var(--ui-cor-texto-info, #33b5ff)}.ui-alerta--info .ui-alerta__mensagem{color:var(--ui-cor-texto, #e1e1e6)}.ui-alerta__acoes{display:flex;align-items:center;flex-shrink:0;margin-left:4px}.ui-alerta__botao-acao{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 16%,transparent);color:inherit;font-family:inherit;font-size:12px;font-weight:600;padding:4px 10px;border-radius:5px;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.ui-alerta__botao-acao:hover{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 18%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 30%,transparent)}.ui-alerta__botao-acao:active{transform:scale(.96)}.ui-alerta__botao-acao:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ui-cor-fundo, #0b0b0d),0 0 0 4px var(--ui-cor-primaria, #00E08A)}.ui-alerta__botao-acao--primario{background:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 15%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 35%,transparent);color:var(--ui-cor-primaria, #00E08A)}.ui-alerta__botao-acao--primario:hover{background:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 25%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 50%,transparent)}.ui-alerta__botao-acao--destrutivo{background:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 15%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 35%,transparent);color:var(--ui-cor-texto-erro, #ff5555)}.ui-alerta__botao-acao--destrutivo:hover{background:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 25%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 50%,transparent)}:host(ui-toast){display:block;width:100%;box-sizing:border-box;pointer-events:auto;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s ease}.ui-toast__banner{box-shadow:var(--ui-sombra-lg, 0 10px 30px rgba(0, 0, 0, .3)),0 0 0 1px var(--ui-cor-borda, rgba(255, 255, 255, .1));animation:ui-toast-slide .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.ui-toast__banner.ui-alerta--sucesso{background-color:color-mix(in srgb,color-mix(in srgb,var(--ui-cor-fundo-elevado, #1a1a1e) 88%,var(--ui-cor-texto-sucesso, #00E08A) 12%) 60%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 40%,transparent)}.ui-toast__banner.ui-alerta--erro{background-color:color-mix(in srgb,color-mix(in srgb,var(--ui-cor-fundo-elevado, #1a1a1e) 88%,var(--ui-cor-texto-erro, #ff5555) 12%) 60%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 40%,transparent)}.ui-toast__banner.ui-alerta--alerta{background-color:color-mix(in srgb,color-mix(in srgb,var(--ui-cor-fundo-elevado, #1a1a1e) 88%,var(--ui-cor-texto-alerta, #ffb86c) 12%) 60%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-alerta, #ffb86c) 40%,transparent)}.ui-toast__banner.ui-alerta--info{background-color:color-mix(in srgb,color-mix(in srgb,var(--ui-cor-fundo-elevado, #1a1a1e) 88%,var(--ui-cor-texto-info, #33b5ff) 12%) 60%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 40%,transparent)}.ui-toast__progresso{position:absolute;bottom:0;left:0;right:0;height:2px;background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);overflow:hidden}.ui-toast__progresso-barra{width:100%;height:100%;background:currentColor;opacity:.7;transform-origin:left;animation:ui-toast-timer linear forwards}:host(ui-toast:hover) .ui-toast__progresso-barra,:host(ui-toast:focus-within) .ui-toast__progresso-barra{animation-play-state:paused}@keyframes ui-toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes ui-toast-slide{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@starting-style{:host(ui-toast){opacity:0;transform:translateY(12px) scale(.96)}}', l = {
7
- sucesso: '<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>',
8
- erro: '<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>',
9
- alerta: '<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',
10
- info: '<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>'
11
- };
12
- class u extends b {
13
- constructor() {
14
- super();
15
- r(this, "alertaElement");
16
- r(this, "iconeElement");
17
- r(this, "tituloElement");
18
- r(this, "mensagemElement");
19
- r(this, "mensagemTextoElement");
20
- r(this, "closeElement");
21
- r(this, "acoesElement");
22
- r(this, "botaoAcaoElement");
23
- r(this, "progressoContainer");
24
- r(this, "progressoBarra");
25
- r(this, "listeners", new h());
26
- const t = this.attachShadow({ mode: "open" });
27
- t.innerHTML = `
28
- <style>${f}</style>
29
- <div class="ui-alerta" part="base" role="alert">
30
- <span class="ui-alerta__icone" part="icone"></span>
31
- <div class="ui-alerta__conteudo" part="conteudo">
32
- <h4 class="ui-alerta__titulo" part="titulo" style="display: none;"></h4>
33
- <p class="ui-alerta__mensagem" part="mensagem">
34
- <span class="ui-alerta__mensagem-texto" style="display: none;"></span>
35
- <slot></slot>
36
- </p>
37
- </div>
38
- <div class="ui-alerta__acoes" style="display: none;">
39
- <button type="button" class="ui-alerta__botao-acao" part="acao"></button>
40
- </div>
41
- <button class="ui-alerta__close" part="fechar" type="button" aria-label="Fechar alerta" style="display: none;" title="Fechar">✕</button>
42
- <div class="ui-toast__progresso" part="progresso" style="display: none;">
43
- <div class="ui-toast__progresso-barra"></div>
44
- </div>
45
- </div>
46
- `, this.alertaElement = t.querySelector(".ui-alerta"), this.iconeElement = t.querySelector(".ui-alerta__icone"), this.tituloElement = t.querySelector(".ui-alerta__titulo"), this.mensagemElement = t.querySelector(".ui-alerta__mensagem"), this.mensagemTextoElement = t.querySelector(".ui-alerta__mensagem-texto"), this.closeElement = t.querySelector(".ui-alerta__close"), this.acoesElement = t.querySelector(".ui-alerta__acoes"), this.botaoAcaoElement = t.querySelector(".ui-alerta__botao-acao"), this.progressoContainer = t.querySelector(".ui-toast__progresso"), this.progressoBarra = t.querySelector(".ui-toast__progresso-barra");
47
- }
48
- static get observedAttributes() {
49
- return [
50
- "tipo",
51
- "variante",
52
- "variant",
53
- "titulo",
54
- "title",
55
- "mensagem",
56
- "fechavel",
57
- "dismissible"
58
- ];
59
- }
60
- connectedCallback() {
61
- this.listeners.cleanup(), this.listeners.add(this.closeElement, "click", () => this.fechar()), this.syncState();
62
- }
63
- disconnectedCallback() {
64
- this.listeners.cleanup();
65
- }
66
- attributeChangedCallback(t, o, e) {
67
- this.syncState();
68
- }
69
- fechar() {
70
- this.dispatchEvent(
71
- new CustomEvent("ui-fechar", {
72
- bubbles: !0,
73
- composed: !0
74
- })
75
- ), this.remove();
76
- }
77
- syncState() {
78
- const t = this.getAttribute("tipo") || this.getAttribute("variante") || this.getAttribute("variant") || "info", o = this.getAttribute("titulo") || this.getAttribute("title"), e = this.getAttribute("mensagem"), s = this.hasAttribute("fechavel") || this.hasAttribute("dismissible");
79
- this.alertaElement.className = `ui-alerta ui-alerta--${t}`;
80
- const m = l[t] || l.info;
81
- this.iconeElement.innerHTML = m, o ? (this.tituloElement.textContent = o, this.tituloElement.style.display = "block") : (this.tituloElement.style.display = "none", this.tituloElement.textContent = ""), e ? (this.mensagemTextoElement.textContent = e, this.mensagemTextoElement.style.display = "inline") : (this.mensagemTextoElement.style.display = "none", this.mensagemTextoElement.textContent = ""), s ? this.closeElement.style.display = "block" : this.closeElement.style.display = "none";
82
- }
83
- }
84
- c("ui-alerta", u);
85
- class n extends u {
86
- constructor() {
87
- super(...arguments);
88
- r(this, "timerId", null);
89
- r(this, "tempoRestante", 4e3);
90
- r(this, "inicioTimestamp", 0);
91
- r(this, "isPausado", !1);
92
- r(this, "acaoConfig");
93
- r(this, "containerRef", null);
94
- r(this, "handleAcaoClick", (t) => {
95
- var o, e, s;
96
- t.stopPropagation(), (o = this.acaoConfig) != null && o.onClick && this.acaoConfig.onClick(t), this.dispatchEvent(
97
- new CustomEvent("ui-toast-acao", {
98
- detail: {
99
- rotulo: (e = this.acaoConfig) == null ? void 0 : e.rotulo,
100
- tipo: (s = this.acaoConfig) == null ? void 0 : s.tipo
101
- },
102
- bubbles: !0,
103
- composed: !0
104
- })
105
- ), this.fechar();
106
- });
107
- r(this, "pausarTimer", () => {
108
- if (this.isPausado || this.tempoRestante <= 0) return;
109
- this.isPausado = !0, this.timerId && (clearTimeout(this.timerId), this.timerId = null);
110
- const t = Date.now() - this.inicioTimestamp;
111
- this.tempoRestante = Math.max(0, this.tempoRestante - t), this.progressoBarra.style.animationPlayState = "paused";
112
- });
113
- r(this, "retomarTimer", () => {
114
- !this.isPausado || this.tempoRestante <= 0 || (this.isPausado = !1, this.progressoBarra.style.animationPlayState = "running", this.iniciarTimer(Math.max(this.tempoRestante, 300)));
115
- });
116
- }
117
- configurarAcao(t) {
118
- this.acaoConfig = t, this.botaoAcaoElement.textContent = t.rotulo, this.acoesElement.style.display = "flex";
119
- const o = t.tipo || "primario";
120
- this.botaoAcaoElement.className = `ui-alerta__botao-acao ui-alerta__botao-acao--${o}`;
121
- }
122
- connectedCallback() {
123
- super.connectedCallback(), this.containerRef = this.parentElement, this.alertaElement.classList.add("ui-toast__banner"), this.acaoConfig && this.listeners.add(this.botaoAcaoElement, "click", this.handleAcaoClick);
124
- const t = this.getAttribute("duracao") || this.getAttribute("duration") || "4000", o = parseInt(t, 10);
125
- this.tempoRestante = isNaN(o) ? 4e3 : o, this.tempoRestante > 0 ? (this.progressoContainer.style.display = "block", this.progressoBarra.style.animationDuration = `${this.tempoRestante}ms`, this.getAttribute("pausar-no-hover") !== "false" && (this.listeners.add(this, "mouseenter", this.pausarTimer), this.listeners.add(this, "mouseleave", this.retomarTimer), this.listeners.add(this, "focusin", this.pausarTimer), this.listeners.add(this, "focusout", this.retomarTimer)), this.iniciarTimer(this.tempoRestante)) : this.progressoContainer.style.display = "none";
126
- }
127
- fechar() {
128
- const t = this.parentElement || this.containerRef;
129
- super.fechar(), t && t.id.startsWith("ui-toast-container-") && t.children.length === 0 && t.remove();
130
- }
131
- disconnectedCallback() {
132
- super.disconnectedCallback(), this.timerId && (clearTimeout(this.timerId), this.timerId = null), this.containerRef && this.containerRef.id.startsWith("ui-toast-container-") && this.containerRef.children.length === 0 && (this.containerRef.remove(), this.containerRef = null);
133
- }
134
- iniciarTimer(t) {
135
- this.timerId && clearTimeout(this.timerId), this.inicioTimestamp = Date.now(), this.timerId = setTimeout(() => {
136
- this.fechar();
137
- }, t);
138
- }
139
- static obterContainer(t) {
140
- const o = `ui-toast-container-${t}`;
141
- let e = document.getElementById(o);
142
- return e || (e = document.createElement("div"), e.id = o, e.style.position = "fixed", e.style.setProperty("z-index", "var(--ui-z-toast, 1100)"), e.style.display = "flex", e.style.gap = "10px", e.style.maxWidth = "400px", e.style.width = "calc(100vw - 32px)", e.style.pointerEvents = "none", e.style.boxSizing = "border-box", e.style.transition = "all 0.2s ease", t === "top-right" ? (e.style.top = "20px", e.style.right = "20px", e.style.flexDirection = "column") : t === "top-left" ? (e.style.top = "20px", e.style.left = "20px", e.style.flexDirection = "column") : t === "bottom-left" ? (e.style.bottom = "20px", e.style.left = "20px", e.style.flexDirection = "column-reverse") : t === "top-center" ? (e.style.top = "20px", e.style.left = "50%", e.style.transform = "translateX(-50%)", e.style.flexDirection = "column") : t === "bottom-center" ? (e.style.bottom = "20px", e.style.left = "50%", e.style.transform = "translateX(-50%)", e.style.flexDirection = "column-reverse") : (e.style.bottom = "20px", e.style.right = "20px", e.style.flexDirection = "column-reverse"), document.body.appendChild(e)), e;
143
- }
144
- // Utilitário estático para disparo imperativo de Toasts de qualquer lugar no código
145
- static notificar(t) {
146
- if (typeof document > "u") return null;
147
- const o = t.posicao || "bottom-right", e = document.createElement("ui-toast");
148
- return t.tipo && e.setAttribute("tipo", t.tipo), t.titulo && e.setAttribute("titulo", t.titulo), t.mensagem && e.setAttribute("mensagem", t.mensagem), t.duracao !== void 0 && e.setAttribute("duracao", String(t.duracao)), t.pausarNoHover === !1 && e.setAttribute("pausar-no-hover", "false"), e.setAttribute("posicao", o), t.fechavel !== !1 && e.setAttribute("fechavel", ""), t.acao && e.configurarAcao(t.acao), n.obterContainer(o).appendChild(e), e;
149
- }
150
- }
151
- c("ui-toast", n);
152
- export {
153
- l as I,
154
- u as U,
155
- n as a
156
- };
@@ -1,20 +0,0 @@
1
- "use strict";var d=Object.defineProperty;var p=(i,a,t)=>a in i?d(i,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[a]=t;var r=(i,a,t)=>p(i,typeof a!="symbol"?a+"":a,t);const h=require("./listener-bag-D5omxZ9h.cjs"),c=require("./ssr-safe-CiHD1adl.cjs"),b=':host{display:block;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif)}.ui-alerta{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:var(--ui-raio-borda, 8px);border:1px solid transparent;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);color:var(--ui-cor-texto, #e1e1e6);box-sizing:border-box;position:relative;transition:opacity .2s ease,transform .2s ease;line-height:1.4}.ui-alerta__icone{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;line-height:1}.ui-alerta__icone svg,.ui-alerta__icone ::slotted(svg),.ui-alerta__icone ::slotted(ui-icone){shape-rendering:geometricPrecision}.ui-alerta__conteudo{flex:1}.ui-alerta__titulo{font-size:14px;font-weight:600;margin:0 0 2px;line-height:1.2}.ui-alerta__mensagem{font-size:13px;margin:0;opacity:.9}.ui-alerta__close{background:transparent;border:none;color:currentColor;opacity:.7;font-size:14px;cursor:pointer;padding:2px 6px;border-radius:var(--ui-raio-sm, 4px);line-height:1;flex-shrink:0;margin-top:-2px;margin-right:-4px;transition:opacity .15s ease,background-color .15s ease}.ui-alerta__close:hover{opacity:1;background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 15%,transparent)}.ui-alerta--sucesso{background-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 12%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 30%,transparent);color:var(--ui-cor-texto-sucesso, #00E08A)}.ui-alerta--sucesso .ui-alerta__mensagem{color:var(--ui-cor-texto, #e1e1e6)}.ui-alerta--erro{background-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 12%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 30%,transparent);color:var(--ui-cor-texto-erro, #ff5555)}.ui-alerta--erro .ui-alerta__mensagem{color:var(--ui-cor-texto, #e1e1e6)}.ui-alerta--alerta{background-color:color-mix(in srgb,var(--ui-cor-texto-alerta, #ffb86c) 12%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-alerta, #ffb86c) 30%,transparent);color:var(--ui-cor-texto-alerta, #ffb86c)}.ui-alerta--alerta .ui-alerta__mensagem{color:var(--ui-cor-texto, #e1e1e6)}.ui-alerta--info{background-color:color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 12%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 30%,transparent);color:var(--ui-cor-texto-info, #33b5ff)}.ui-alerta--info .ui-alerta__mensagem{color:var(--ui-cor-texto, #e1e1e6)}.ui-alerta__acoes{display:flex;align-items:center;flex-shrink:0;margin-left:4px}.ui-alerta__botao-acao{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 16%,transparent);color:inherit;font-family:inherit;font-size:12px;font-weight:600;padding:4px 10px;border-radius:5px;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.ui-alerta__botao-acao:hover{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 18%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 30%,transparent)}.ui-alerta__botao-acao:active{transform:scale(.96)}.ui-alerta__botao-acao:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ui-cor-fundo, #0b0b0d),0 0 0 4px var(--ui-cor-primaria, #00E08A)}.ui-alerta__botao-acao--primario{background:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 15%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 35%,transparent);color:var(--ui-cor-primaria, #00E08A)}.ui-alerta__botao-acao--primario:hover{background:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 25%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 50%,transparent)}.ui-alerta__botao-acao--destrutivo{background:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 15%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 35%,transparent);color:var(--ui-cor-texto-erro, #ff5555)}.ui-alerta__botao-acao--destrutivo:hover{background:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 25%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 50%,transparent)}:host(ui-toast){display:block;width:100%;box-sizing:border-box;pointer-events:auto;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s ease}.ui-toast__banner{box-shadow:var(--ui-sombra-lg, 0 10px 30px rgba(0, 0, 0, .3)),0 0 0 1px var(--ui-cor-borda, rgba(255, 255, 255, .1));animation:ui-toast-slide .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.ui-toast__banner.ui-alerta--sucesso{background-color:color-mix(in srgb,color-mix(in srgb,var(--ui-cor-fundo-elevado, #1a1a1e) 88%,var(--ui-cor-texto-sucesso, #00E08A) 12%) 60%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 40%,transparent)}.ui-toast__banner.ui-alerta--erro{background-color:color-mix(in srgb,color-mix(in srgb,var(--ui-cor-fundo-elevado, #1a1a1e) 88%,var(--ui-cor-texto-erro, #ff5555) 12%) 60%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 40%,transparent)}.ui-toast__banner.ui-alerta--alerta{background-color:color-mix(in srgb,color-mix(in srgb,var(--ui-cor-fundo-elevado, #1a1a1e) 88%,var(--ui-cor-texto-alerta, #ffb86c) 12%) 60%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-alerta, #ffb86c) 40%,transparent)}.ui-toast__banner.ui-alerta--info{background-color:color-mix(in srgb,color-mix(in srgb,var(--ui-cor-fundo-elevado, #1a1a1e) 88%,var(--ui-cor-texto-info, #33b5ff) 12%) 60%,transparent);border-color:color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 40%,transparent)}.ui-toast__progresso{position:absolute;bottom:0;left:0;right:0;height:2px;background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);overflow:hidden}.ui-toast__progresso-barra{width:100%;height:100%;background:currentColor;opacity:.7;transform-origin:left;animation:ui-toast-timer linear forwards}:host(ui-toast:hover) .ui-toast__progresso-barra,:host(ui-toast:focus-within) .ui-toast__progresso-barra{animation-play-state:paused}@keyframes ui-toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes ui-toast-slide{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@starting-style{:host(ui-toast){opacity:0;transform:translateY(12px) scale(.96)}}',l={sucesso:'<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>',erro:'<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>',alerta:'<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',info:'<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>'};class u extends c.SafeHTMLElement{constructor(){super();r(this,"alertaElement");r(this,"iconeElement");r(this,"tituloElement");r(this,"mensagemElement");r(this,"mensagemTextoElement");r(this,"closeElement");r(this,"acoesElement");r(this,"botaoAcaoElement");r(this,"progressoContainer");r(this,"progressoBarra");r(this,"listeners",new h.ListenerBag);const t=this.attachShadow({mode:"open"});t.innerHTML=`
2
- <style>${b}</style>
3
- <div class="ui-alerta" part="base" role="alert">
4
- <span class="ui-alerta__icone" part="icone"></span>
5
- <div class="ui-alerta__conteudo" part="conteudo">
6
- <h4 class="ui-alerta__titulo" part="titulo" style="display: none;"></h4>
7
- <p class="ui-alerta__mensagem" part="mensagem">
8
- <span class="ui-alerta__mensagem-texto" style="display: none;"></span>
9
- <slot></slot>
10
- </p>
11
- </div>
12
- <div class="ui-alerta__acoes" style="display: none;">
13
- <button type="button" class="ui-alerta__botao-acao" part="acao"></button>
14
- </div>
15
- <button class="ui-alerta__close" part="fechar" type="button" aria-label="Fechar alerta" style="display: none;" title="Fechar">✕</button>
16
- <div class="ui-toast__progresso" part="progresso" style="display: none;">
17
- <div class="ui-toast__progresso-barra"></div>
18
- </div>
19
- </div>
20
- `,this.alertaElement=t.querySelector(".ui-alerta"),this.iconeElement=t.querySelector(".ui-alerta__icone"),this.tituloElement=t.querySelector(".ui-alerta__titulo"),this.mensagemElement=t.querySelector(".ui-alerta__mensagem"),this.mensagemTextoElement=t.querySelector(".ui-alerta__mensagem-texto"),this.closeElement=t.querySelector(".ui-alerta__close"),this.acoesElement=t.querySelector(".ui-alerta__acoes"),this.botaoAcaoElement=t.querySelector(".ui-alerta__botao-acao"),this.progressoContainer=t.querySelector(".ui-toast__progresso"),this.progressoBarra=t.querySelector(".ui-toast__progresso-barra")}static get observedAttributes(){return["tipo","variante","variant","titulo","title","mensagem","fechavel","dismissible"]}connectedCallback(){this.listeners.cleanup(),this.listeners.add(this.closeElement,"click",()=>this.fechar()),this.syncState()}disconnectedCallback(){this.listeners.cleanup()}attributeChangedCallback(t,o,e){this.syncState()}fechar(){this.dispatchEvent(new CustomEvent("ui-fechar",{bubbles:!0,composed:!0})),this.remove()}syncState(){const t=this.getAttribute("tipo")||this.getAttribute("variante")||this.getAttribute("variant")||"info",o=this.getAttribute("titulo")||this.getAttribute("title"),e=this.getAttribute("mensagem"),s=this.hasAttribute("fechavel")||this.hasAttribute("dismissible");this.alertaElement.className=`ui-alerta ui-alerta--${t}`;const m=l[t]||l.info;this.iconeElement.innerHTML=m,o?(this.tituloElement.textContent=o,this.tituloElement.style.display="block"):(this.tituloElement.style.display="none",this.tituloElement.textContent=""),e?(this.mensagemTextoElement.textContent=e,this.mensagemTextoElement.style.display="inline"):(this.mensagemTextoElement.style.display="none",this.mensagemTextoElement.textContent=""),s?this.closeElement.style.display="block":this.closeElement.style.display="none"}}c.definirCustomElement("ui-alerta",u);class n extends u{constructor(){super(...arguments);r(this,"timerId",null);r(this,"tempoRestante",4e3);r(this,"inicioTimestamp",0);r(this,"isPausado",!1);r(this,"acaoConfig");r(this,"containerRef",null);r(this,"handleAcaoClick",t=>{var o,e,s;t.stopPropagation(),(o=this.acaoConfig)!=null&&o.onClick&&this.acaoConfig.onClick(t),this.dispatchEvent(new CustomEvent("ui-toast-acao",{detail:{rotulo:(e=this.acaoConfig)==null?void 0:e.rotulo,tipo:(s=this.acaoConfig)==null?void 0:s.tipo},bubbles:!0,composed:!0})),this.fechar()});r(this,"pausarTimer",()=>{if(this.isPausado||this.tempoRestante<=0)return;this.isPausado=!0,this.timerId&&(clearTimeout(this.timerId),this.timerId=null);const t=Date.now()-this.inicioTimestamp;this.tempoRestante=Math.max(0,this.tempoRestante-t),this.progressoBarra.style.animationPlayState="paused"});r(this,"retomarTimer",()=>{!this.isPausado||this.tempoRestante<=0||(this.isPausado=!1,this.progressoBarra.style.animationPlayState="running",this.iniciarTimer(Math.max(this.tempoRestante,300)))})}configurarAcao(t){this.acaoConfig=t,this.botaoAcaoElement.textContent=t.rotulo,this.acoesElement.style.display="flex";const o=t.tipo||"primario";this.botaoAcaoElement.className=`ui-alerta__botao-acao ui-alerta__botao-acao--${o}`}connectedCallback(){super.connectedCallback(),this.containerRef=this.parentElement,this.alertaElement.classList.add("ui-toast__banner"),this.acaoConfig&&this.listeners.add(this.botaoAcaoElement,"click",this.handleAcaoClick);const t=this.getAttribute("duracao")||this.getAttribute("duration")||"4000",o=parseInt(t,10);this.tempoRestante=isNaN(o)?4e3:o,this.tempoRestante>0?(this.progressoContainer.style.display="block",this.progressoBarra.style.animationDuration=`${this.tempoRestante}ms`,this.getAttribute("pausar-no-hover")!=="false"&&(this.listeners.add(this,"mouseenter",this.pausarTimer),this.listeners.add(this,"mouseleave",this.retomarTimer),this.listeners.add(this,"focusin",this.pausarTimer),this.listeners.add(this,"focusout",this.retomarTimer)),this.iniciarTimer(this.tempoRestante)):this.progressoContainer.style.display="none"}fechar(){const t=this.parentElement||this.containerRef;super.fechar(),t&&t.id.startsWith("ui-toast-container-")&&t.children.length===0&&t.remove()}disconnectedCallback(){super.disconnectedCallback(),this.timerId&&(clearTimeout(this.timerId),this.timerId=null),this.containerRef&&this.containerRef.id.startsWith("ui-toast-container-")&&this.containerRef.children.length===0&&(this.containerRef.remove(),this.containerRef=null)}iniciarTimer(t){this.timerId&&clearTimeout(this.timerId),this.inicioTimestamp=Date.now(),this.timerId=setTimeout(()=>{this.fechar()},t)}static obterContainer(t){const o=`ui-toast-container-${t}`;let e=document.getElementById(o);return e||(e=document.createElement("div"),e.id=o,e.style.position="fixed",e.style.setProperty("z-index","var(--ui-z-toast, 1100)"),e.style.display="flex",e.style.gap="10px",e.style.maxWidth="400px",e.style.width="calc(100vw - 32px)",e.style.pointerEvents="none",e.style.boxSizing="border-box",e.style.transition="all 0.2s ease",t==="top-right"?(e.style.top="20px",e.style.right="20px",e.style.flexDirection="column"):t==="top-left"?(e.style.top="20px",e.style.left="20px",e.style.flexDirection="column"):t==="bottom-left"?(e.style.bottom="20px",e.style.left="20px",e.style.flexDirection="column-reverse"):t==="top-center"?(e.style.top="20px",e.style.left="50%",e.style.transform="translateX(-50%)",e.style.flexDirection="column"):t==="bottom-center"?(e.style.bottom="20px",e.style.left="50%",e.style.transform="translateX(-50%)",e.style.flexDirection="column-reverse"):(e.style.bottom="20px",e.style.right="20px",e.style.flexDirection="column-reverse"),document.body.appendChild(e)),e}static notificar(t){if(typeof document>"u")return null;const o=t.posicao||"bottom-right",e=document.createElement("ui-toast");return t.tipo&&e.setAttribute("tipo",t.tipo),t.titulo&&e.setAttribute("titulo",t.titulo),t.mensagem&&e.setAttribute("mensagem",t.mensagem),t.duracao!==void 0&&e.setAttribute("duracao",String(t.duracao)),t.pausarNoHover===!1&&e.setAttribute("pausar-no-hover","false"),e.setAttribute("posicao",o),t.fechavel!==!1&&e.setAttribute("fechavel",""),t.acao&&e.configurarAcao(t.acao),n.obterContainer(o).appendChild(e),e}}c.definirCustomElement("ui-toast",n);exports.ICONES_ALERTA=l;exports.UIAlerta=u;exports.UIToast=n;
@@ -1 +0,0 @@
1
- "use strict";var v=Object.defineProperty;var E=(o,e,t)=>e in o?v(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var m=(o,e,t)=>E(o,typeof e!="symbol"?e+"":e,t);const A=require("./ui-toast-DGTZKne5.cjs");class I{constructor(){m(this,"listeners",new Map);m(this,"_observandoSistema",!1);this.observarTemaDoSistema()}on(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),()=>this.off(e,t)}once(e,t){const r=u=>{this.off(e,r),t(u)};this.on(e,r)}off(e,t){const r=this.listeners.get(e);r&&(r.delete(t),r.size===0&&this.listeners.delete(e))}emit(e,t){const r=this.listeners.get(e);r&&r.forEach(u=>{try{u(t)}catch(f){console.error(`[UIBus] Erro ao executar ouvinte do evento "${e}":`,f)}}),typeof window<"u"&&window.dispatchEvent(new CustomEvent(`uibus:${e}`,{detail:t,bubbles:!0,composed:!0}))}abrirModal(e){if(typeof document>"u")return!1;const t=document.getElementById(e);return t&&typeof t.abrir=="function"?(t.abrir(),this.emit("modal:aberto",{id:e}),!0):t?(t.setAttribute("aberto",""),this.emit("modal:aberto",{id:e}),!0):(console.warn(`[UIBus] Modal com ID "${e}" não encontrado no DOM.`),!1)}fecharModal(e){if(typeof document>"u")return!1;if(e){const t=document.getElementById(e);return t&&typeof t.fechar=="function"?(t.fechar(),t.hasAttribute("aberto")||t.hasAttribute("open")?!1:(this.emit("modal:fechado",{id:e}),!0)):t?(t.removeAttribute("aberto"),t.removeAttribute("open"),this.emit("modal:fechado",{id:e}),!0):!1}else return document.querySelectorAll("ui-modal[aberto], ui-modal[open], ui-dialog[aberto], ui-dialog[open]").forEach(r=>{typeof r.fechar=="function"?r.fechar():(r.removeAttribute("aberto"),r.removeAttribute("open"))}),this.emit("modal:fechado-todos"),!0}abrirDrawer(e){if(typeof document>"u")return!1;const t=document.getElementById(e);return t&&typeof t.abrir=="function"?(t.abrir(),this.emit("drawer:aberto",{id:e}),!0):t?(t.setAttribute("aberto",""),this.emit("drawer:aberto",{id:e}),!0):(console.warn(`[UIBus] Drawer com ID "${e}" não encontrado no DOM.`),!1)}fecharDrawer(e){if(typeof document>"u")return!1;if(e){const t=document.getElementById(e);return t&&typeof t.fechar=="function"?(t.fechar(),this.emit("drawer:fechado",{id:e}),!0):t?(t.removeAttribute("aberto"),t.removeAttribute("open"),this.emit("drawer:fechado",{id:e}),!0):!1}else return document.querySelectorAll("ui-drawer[aberto], ui-drawer[open], ui-sheet[aberto], ui-sheet[open]").forEach(r=>{typeof r.fechar=="function"?r.fechar():(r.removeAttribute("aberto"),r.removeAttribute("open"))}),this.emit("drawer:fechado-todos"),!0}notificar(e){typeof e=="string"?A.UIToast.notificar({mensagem:e,tipo:"info"}):A.UIToast.notificar(e)}async copiar(e,t){if(typeof navigator>"u"||!navigator.clipboard)return!1;try{return await navigator.clipboard.writeText(e),t!==void 0&&this.notificar({tipo:"sucesso",mensagem:t||"Copiado para a área de transferência!"}),this.emit("clipboard:copiado",{texto:e}),!0}catch(r){return console.error("[UIBus] Falha ao copiar texto:",r),this.notificar({tipo:"erro",mensagem:"Não foi possível copiar o texto."}),!1}}definirDensidade(e){let t=34;typeof e=="number"?t=Math.max(15,e):e==="compacta"?t=26:e==="relaxada"?t=42:t=34,!(typeof document>"u")&&(document.documentElement.style.setProperty("--ui-altura-minima",`${t}px`),document.documentElement.style.setProperty("--ui-campo-altura",`${t}px`),document.documentElement.setAttribute("data-ui-densidade",typeof e=="string"?e:"custom"),this.emit("densidade:alterada",{densidade:e,alturaPx:t}))}obterTema(){if(typeof document>"u")return"escuro";const e=w(document.documentElement);return e||(T()?"claro":"escuro")}definirTema(e){if(typeof document>"u")return e==="claro"?"claro":"escuro";const t=document.documentElement;if(e==="auto")t.removeAttribute("data-tema"),t.removeAttribute("data-theme"),t.classList.remove("dark","light");else{const u=e||(this.obterTema()==="escuro"?"claro":"escuro");t.setAttribute("data-tema",u),t.classList.toggle("dark",u==="escuro"),t.classList.toggle("light",u==="claro")}const r=this.obterTema();return this.emit("tema:alterado",{tema:r}),r}observarTemaDoSistema(){var e,t;this._observandoSistema||typeof window>"u"||typeof window.matchMedia!="function"||(this._observandoSistema=!0,(t=(e=window.matchMedia("(prefers-color-scheme: light)")).addEventListener)==null||t.call(e,"change",()=>{w(document.documentElement)||this.emit("tema:alterado",{tema:this.obterTema()})}))}}function w(o){const e=o.getAttribute("data-tema")||o.getAttribute("data-theme");return e==="escuro"||e==="dark"?"escuro":e==="claro"||e==="light"?"claro":o.classList.contains("dark")?"escuro":o.classList.contains("light")?"claro":null}function T(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: light)").matches}const n=new I;let y=!1;function S(o){if(o.hasAttribute("disabled")||o.hasAttribute("carregando")||o.getAttribute("aria-disabled")==="true"||o.localName.startsWith("ui-")&&o.hasAttribute("loading"))return!0;try{return o.matches(":disabled")}catch{return!1}}function x(){y||typeof document>"u"||(y=!0,document.addEventListener("click",o=>{const e=o.composedPath?o.composedPath():[o.target],t="[target-modal], [modal-alvo], [dismiss-modal], [fechar-modal], [target-drawer], [drawer-alvo], [dismiss-drawer], [fechar-drawer], [toast-sucesso], [toast-erro], [toast-alerta], [toast-info], [copiar-texto], [alternar-tema], [definir-densidade], [limpar-form]";let r=null;for(const i of e)if(i instanceof HTMLElement&&i.matches(t)){r=i;break}if(!r||S(r))return;const u=r.getAttribute("target-modal")||r.getAttribute("modal-alvo");if(u&&n.abrirModal(u),r.hasAttribute("dismiss-modal")||r.hasAttribute("fechar-modal")){const i=r.getAttribute("dismiss-modal")||r.getAttribute("fechar-modal");if(i&&i!=="")n.fecharModal(i);else{let s=null;for(const a of e)if(a instanceof HTMLElement&&(a.matches("ui-modal, ui-dialog")||a.tagName==="UI-MODAL"||a.tagName==="UI-DIALOG")){s=a;break}s&&(typeof s.fechar=="function"?s.fechar():(s.removeAttribute("aberto"),s.removeAttribute("open")))}}const f=r.getAttribute("target-drawer")||r.getAttribute("drawer-alvo");if(f&&n.abrirDrawer(f),r.hasAttribute("dismiss-drawer")||r.hasAttribute("fechar-drawer")){const i=r.getAttribute("dismiss-drawer")||r.getAttribute("fechar-drawer");if(i&&i!=="")n.fecharDrawer(i);else{let s=null;for(const a of e)if(a instanceof HTMLElement&&(a.matches("ui-drawer, ui-sheet, ui-painel-lateral, ui-gaveta")||a.tagName.startsWith("UI-DRAWER")||a.tagName.startsWith("UI-SHEET"))){s=a;break}s&&(typeof s.fechar=="function"?s.fechar():(s.removeAttribute("aberto"),s.removeAttribute("open")))}}const d=r.getAttribute("toast-sucesso");d&&n.notificar({tipo:"sucesso",mensagem:d});const l=r.getAttribute("toast-erro");l&&n.notificar({tipo:"erro",mensagem:l});const h=r.getAttribute("toast-alerta");h&&n.notificar({tipo:"alerta",mensagem:h});const b=r.getAttribute("toast-info");b&&n.notificar({tipo:"info",mensagem:b});const c=r.getAttribute("copiar-texto");if(c!==null){let i=c;if(c.startsWith("#")||c.startsWith(".")||c.match(/^[a-zA-Z0-9_-]+$/))try{let a=null;c.startsWith("#")||c.startsWith(".")?a=document.querySelector(c):a=document.getElementById(c)||document.querySelector(`#${c}`),a&&(i=a.value!==void 0&&a.value!==null?a.value:a.textContent||"")}catch{}const s=r.getAttribute("copiar-mensagem")||"Copiado com sucesso!";n.copiar(i,s)}r.hasAttribute("alternar-tema")&&n.definirTema();const p=r.getAttribute("definir-densidade");p&&n.definirDensidade(p);const g=r.getAttribute("limpar-form");if(g){const i=document.getElementById(g);i&&typeof i.reset=="function"&&(i.reset(),n.notificar({tipo:"info",mensagem:"Formulário limpo."}))}}))}exports.UIBus=n;exports.initZeroJSTriggers=x;