@thibezer/ui-components-kit 2.6.0 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +73 -0
- package/README.md +2 -2
- package/dist/acessibilidade-CSzX-DkG.cjs +1 -0
- package/dist/acessibilidade-CUlSXc2X.js +38 -0
- package/dist/camadas.cjs +94 -94
- package/dist/camadas.js +1218 -1124
- package/dist/campo-texto.cjs +1 -1
- package/dist/campo-texto.js +1 -1
- package/dist/canvas.cjs +66 -65
- package/dist/canvas.js +3769 -3389
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/components/ui-alerta/ui-toast.d.ts +4 -15
- package/dist/components/ui-avatar/ui-avatar.d.ts +11 -0
- package/dist/components/ui-badge/ui-badge.d.ts +2 -0
- package/dist/components/ui-barra-ferramentas/paleta-atalhos.d.ts +16 -0
- package/dist/components/ui-barra-ferramentas/paleta-pressao-longa.d.ts +24 -0
- package/dist/components/ui-barra-ferramentas/ribbon-render.d.ts +14 -0
- package/dist/components/ui-barra-ferramentas/ribbon-teclado.d.ts +17 -0
- package/dist/components/ui-barra-ferramentas/ui-paleta-ferramentas.d.ts +1 -7
- package/dist/components/ui-barra-ferramentas/ui-ribbon.d.ts +0 -1
- package/dist/components/ui-camadas/camadas-arraste-controles.d.ts +2 -0
- package/dist/components/ui-camadas/camadas-arvore-renderer.d.ts +4 -11
- package/dist/components/ui-camadas/camadas-colecao.d.ts +27 -0
- package/dist/components/ui-camadas/camadas-drag-drop.d.ts +13 -1
- package/dist/components/ui-camadas/camadas-drop-ops.d.ts +31 -0
- package/dist/components/ui-camadas/camadas-hierarquia.d.ts +10 -0
- package/dist/components/ui-camadas/camadas-lembranca.d.ts +34 -0
- package/dist/components/ui-camadas/camadas-render.d.ts +14 -0
- package/dist/components/ui-camadas/camadas-renomear.d.ts +12 -0
- package/dist/components/ui-camadas/camadas-selecao-api.d.ts +17 -0
- package/dist/components/ui-camadas/camadas-thumb.d.ts +1 -0
- package/dist/components/ui-camadas/ui-camadas.d.ts +3 -5
- package/dist/components/ui-canvas-cad/cad-acessibilidade.d.ts +15 -0
- package/dist/components/ui-canvas-cad/cad-atributos-sync.d.ts +2 -1
- package/dist/components/ui-canvas-cad/cad-broadcast.d.ts +1 -1
- package/dist/components/ui-canvas-cad/cad-evento-coordenadas.d.ts +22 -0
- package/dist/components/ui-canvas-cad/cad-eventos-canvas.d.ts +3 -8
- package/dist/components/ui-canvas-cad/cad-feicoes-camera.d.ts +26 -0
- package/dist/components/ui-canvas-cad/cad-feicoes-consulta.d.ts +21 -0
- package/dist/components/ui-canvas-cad/cad-feicoes-dados.d.ts +39 -0
- package/dist/components/ui-canvas-cad/cad-feicoes-desenho.d.ts +68 -0
- package/dist/components/ui-canvas-cad/cad-feicoes-edicao.d.ts +37 -0
- package/dist/components/ui-canvas-cad/cad-feicoes-operacoes.d.ts +48 -0
- package/dist/components/ui-canvas-cad/cad-feicoes-ponteiro.d.ts +24 -0
- package/dist/components/ui-canvas-cad/cad-feicoes-selecao-regiao.d.ts +22 -0
- package/dist/components/ui-canvas-cad/cad-feicoes-tipos.d.ts +53 -0
- package/dist/components/ui-canvas-cad/cad-feicoes-versoes.d.ts +33 -0
- package/dist/components/ui-canvas-cad/cad-feicoes.d.ts +26 -106
- package/dist/components/ui-canvas-cad/cad-inicializador.d.ts +3 -1
- package/dist/components/ui-canvas-cad/cad-leaflet-adaptador.d.ts +5 -0
- package/dist/components/ui-canvas-cad/cad-selecao-pontos.d.ts +5 -0
- package/dist/components/ui-canvas-cad/tipos.d.ts +37 -0
- package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +4 -1
- package/dist/components/ui-checkbox/ui-checkbox.d.ts +4 -1
- package/dist/components/ui-cores/tipos.d.ts +2 -0
- package/dist/components/ui-cores/ui-controle-cores.d.ts +8 -3
- package/dist/components/ui-cores/ui-seletor-cor.d.ts +3 -1
- package/dist/components/ui-mapa/mapa-atributos.d.ts +14 -0
- package/dist/components/ui-mapa/mapa-basemaps.d.ts +7 -0
- package/dist/components/ui-mapa/mapa-icones.d.ts +4 -0
- package/dist/components/ui-mapa/mapa-leaflet.d.ts +5 -0
- package/dist/components/ui-mapa/mapa-vinculo-pai.d.ts +22 -0
- package/dist/components/ui-mapa/tipos.d.ts +13 -0
- package/dist/components/ui-mapa/ui-mapa-linha.d.ts +12 -5
- package/dist/components/ui-mapa/ui-mapa-marcador.d.ts +15 -6
- package/dist/components/ui-mapa/ui-mapa.d.ts +14 -1
- package/dist/components/ui-modal/modal-acessibilidade.d.ts +5 -5
- package/dist/components/ui-modal/modal-foco.d.ts +28 -0
- package/dist/components/ui-modal/ui-modal.d.ts +1 -11
- package/dist/components/ui-radio/radio-grupo-registry.d.ts +10 -0
- package/dist/components/ui-radio/ui-radio.d.ts +9 -2
- package/dist/components/ui-skeleton/ui-skeleton.d.ts +9 -0
- package/dist/components/ui-switch/ui-switch.d.ts +3 -1
- package/dist/components/ui-tabela/tabela-estados.d.ts +16 -0
- package/dist/components/ui-tabela/tabela-rolagem.d.ts +44 -0
- package/dist/components/ui-tabela/tabela-teclado.d.ts +16 -0
- package/dist/components/ui-tabela/ui-tabela.d.ts +1 -19
- package/dist/components/ui-tooltip/tooltip-popover.d.ts +7 -0
- package/dist/components/ui-tooltip/tooltip-posicionamento.d.ts +29 -0
- package/dist/components/ui-tooltip/ui-tooltip.d.ts +24 -1
- package/dist/core/opcoes.d.ts +9 -0
- package/dist/core/rotulo-controle.d.ts +13 -0
- package/dist/core/tipos-toast.d.ts +16 -0
- package/dist/core/ui-bus.d.ts +9 -1
- package/dist/core.cjs +1 -1
- package/dist/core.js +12 -11
- package/dist/cores.cjs +1 -1
- package/dist/cores.js +1 -1
- package/dist/custom-elements.json +19799 -14940
- package/dist/data.cjs +1 -1
- package/dist/data.js +2 -2
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +21 -21
- package/dist/form-validacao-BlQFxUVj.js +104 -0
- package/dist/form-validacao-DIeyQVH5.cjs +1 -0
- package/dist/forms.cjs +1 -1
- package/dist/forms.js +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.js +46 -46
- package/dist/mapa.cjs +11 -16
- package/dist/mapa.js +242 -170
- package/dist/modal.cjs +1 -1
- package/dist/modal.js +1 -1
- package/dist/opcoes-CJYLi6kd.js +12 -0
- package/dist/opcoes-CkyDxBuQ.cjs +1 -0
- package/dist/register.cjs +1 -1
- package/dist/register.js +13 -14
- package/dist/tabela.cjs +1 -1
- package/dist/tabela.js +1 -1
- package/dist/tipos-elementos.d.ts +9 -3
- package/dist/tipos-vue.d.ts +9 -3
- package/dist/tools.cjs +1 -1
- package/dist/tools.js +1 -1
- package/dist/ui-badge-ChiiiO1r.js +197 -0
- package/dist/ui-badge-DUCxyAG6.cjs +28 -0
- package/dist/{zero-js-triggers-C_KrvFOQ.js → ui-bus-CUd99VJi.js} +36 -103
- package/dist/ui-bus-XqBLlTYQ.cjs +1 -0
- package/dist/ui-campo-texto-CHTfMO-H.cjs +16 -0
- package/dist/ui-campo-texto-gum_jDdI.js +380 -0
- package/dist/ui-card-BNYCQ7g-.js +119 -0
- package/dist/ui-card-BrjBL-yo.cjs +20 -0
- package/dist/ui-controle-cores-DgEza3wF.js +612 -0
- package/dist/ui-controle-cores-uY__TgwW.cjs +117 -0
- package/dist/ui-modal-BkYvNP0G.js +214 -0
- package/dist/ui-modal-CUNbpbZ1.cjs +18 -0
- package/dist/ui-paleta-ferramentas-Ksh6gMW3.js +890 -0
- package/dist/ui-paleta-ferramentas-bDLPbiGA.cjs +21 -0
- package/dist/ui-segmented-BOaGRQw4.cjs +19 -0
- package/dist/ui-segmented-kbO1BLVs.js +439 -0
- package/dist/ui-skeleton-B2Rgrv8o.js +648 -0
- package/dist/ui-skeleton-BilwGdOm.js +634 -0
- package/dist/ui-skeleton-DiOxTBZK.cjs +52 -0
- package/dist/ui-skeleton-SPYqku8P.cjs +52 -0
- package/dist/ui-skeleton-W9uwIceA.js +585 -0
- package/dist/ui-skeleton-gZrJipCC.cjs +52 -0
- package/dist/ui-switch-BX6U5Ykm.cjs +53 -0
- package/dist/ui-switch-DO5jR0hy.js +915 -0
- package/dist/ui-tabela-propriedades-D9Echt2X.js +2667 -0
- package/dist/ui-tabela-propriedades-DzZlyNZ_.cjs +141 -0
- package/dist/zero-js-triggers-CJT988bR.js +83 -0
- package/dist/zero-js-triggers-CgM9IIQB.cjs +1 -0
- package/package.json +10 -3
- package/dist/ui-botao-OGJV6Vfk.js +0 -165
- package/dist/ui-botao-psS1juof.cjs +0 -12
- package/dist/ui-paleta-ferramentas-CEZYcN4J.js +0 -624
- package/dist/ui-paleta-ferramentas-Dbj1kBS9.cjs +0 -18
- package/dist/ui-skeleton-DI4_9WOX.js +0 -428
- package/dist/ui-skeleton-elhKIh2B.cjs +0 -33
- package/dist/ui-tabela-propriedades-BBr5sqki.cjs +0 -145
- package/dist/ui-tabela-propriedades-Boy7I5yW.js +0 -2412
- package/dist/ui-toast-Bp_NlM5G.js +0 -156
- package/dist/ui-toast-DGTZKne5.cjs +0 -20
- package/dist/zero-js-triggers-C_gtaojZ.cjs +0 -1
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";var M=Object.defineProperty;var D=(n,l,t)=>l in n?M(n,l,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[l]=t;var s=(n,l,t)=>D(n,typeof l!="symbol"?l+"":l,t);const $=require("./listener-bag-D5omxZ9h.cjs"),d=require("./ssr-safe-CiHD1adl.cjs"),O=':host{display:block;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif)}.ui-drawer__backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:calc(var(--ui-z-drawer, 700) - 1);opacity:0;pointer-events:none;transition:opacity .25s ease}:host([aberto]) .ui-drawer__backdrop,:host([open]) .ui-drawer__backdrop{opacity:1;pointer-events:auto}.ui-drawer__painel{position:fixed;z-index:var(--ui-z-drawer, 700);background-color:var(--ui-cor-fundo-card, #18181c);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));box-shadow:var(--ui-sombra-lg, 0 16px 40px rgba(0, 0, 0, .7));display:flex;flex-direction:column;opacity:0;visibility:hidden;pointer-events:none;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .2s ease,visibility .2s ease;box-sizing:border-box;color:var(--ui-cor-texto, #e1e1e6)}:host(:not([posicao])) .ui-drawer__painel,:host([posicao="direita"]) .ui-drawer__painel,:host([position="right"]) .ui-drawer__painel{top:0;right:0;bottom:0;width:var(--ui-drawer-largura, 480px);max-width:92vw;height:100vh;transform:translate(100%);border-left:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16))}:host([aberto]:not([posicao])) .ui-drawer__painel,:host([open]:not([posicao])) .ui-drawer__painel,:host([aberto][posicao="direita"]) .ui-drawer__painel,:host([open][posicao="direita"]) .ui-drawer__painel,:host([aberto][position="right"]) .ui-drawer__painel,:host([open][position="right"]) .ui-drawer__painel{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto}:host([posicao="esquerda"]) .ui-drawer__painel,:host([position="left"]) .ui-drawer__painel{top:0;left:0;bottom:0;width:var(--ui-drawer-largura, 480px);max-width:92vw;height:100vh;transform:translate(-100%);border-right:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16))}:host([aberto][posicao="esquerda"]) .ui-drawer__painel,:host([open][posicao="esquerda"]) .ui-drawer__painel,:host([aberto][position="left"]) .ui-drawer__painel,:host([open][position="left"]) .ui-drawer__painel{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto}:host([posicao="baixo"]) .ui-drawer__painel,:host([position="bottom"]) .ui-drawer__painel{bottom:0;left:0;right:0;width:100vw;max-height:85vh;transform:translateY(100%);border-top:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16));border-top-left-radius:14px;border-top-right-radius:14px}:host([aberto][posicao="baixo"]) .ui-drawer__painel,:host([open][posicao="baixo"]) .ui-drawer__painel,:host([aberto][position="bottom"]) .ui-drawer__painel,:host([open][position="bottom"]) .ui-drawer__painel{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}:host([posicao="cima"]) .ui-drawer__painel,:host([position="top"]) .ui-drawer__painel{top:0;left:0;right:0;width:100vw;max-height:85vh;transform:translateY(-100%);border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16));border-bottom-left-radius:14px;border-bottom-right-radius:14px}:host([aberto][posicao="cima"]) .ui-drawer__painel,:host([open][posicao="cima"]) .ui-drawer__painel,:host([aberto][position="top"]) .ui-drawer__painel,:host([open][position="top"]) .ui-drawer__painel{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}.ui-drawer__header{padding:16px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));flex-shrink:0}.ui-drawer__titulo-container{display:flex;flex-direction:column;gap:2px}.ui-drawer__titulo{margin:0;font-size:16px;font-weight:600;color:var(--ui-cor-texto, #ffffff)}.ui-drawer__descricao{margin:0;font-size:13px;color:var(--ui-cor-texto-secundario, #888899)}.ui-drawer__close{background:transparent;border:none;color:var(--ui-cor-texto-secundario, #888899);font-size:16px;cursor:pointer;padding:6px;border-radius:6px;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .15s ease,background-color .15s ease}.ui-drawer__close svg,.ui-drawer__close ::slotted(svg){shape-rendering:geometricPrecision}.ui-drawer__close:hover{color:var(--ui-cor-texto, #ffffff);background-color:var(--ui-cor-hover-menu, rgba(255, 255, 255, .08))}.ui-drawer__close:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ui-cor-primaria, #00E08A)}.ui-drawer__body{padding:20px;overflow-y:auto;flex:1;box-sizing:border-box}.ui-drawer__footer{padding:14px 20px;border-top:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));display:flex;align-items:center;justify-content:flex-end;gap:10px;background-color:var(--ui-cor-fundo-recuado, rgba(0, 0, 0, .15));flex-shrink:0}@starting-style{:host([aberto]:not([posicao])) .ui-drawer__painel,:host([open]:not([posicao])) .ui-drawer__painel,:host([aberto][posicao="direita"]) .ui-drawer__painel,:host([open][posicao="direita"]) .ui-drawer__painel{transform:translate(100%);opacity:0}:host([aberto][posicao="esquerda"]) .ui-drawer__painel,:host([open][posicao="esquerda"]) .ui-drawer__painel{transform:translate(-100%);opacity:0}:host([aberto][posicao="baixo"]) .ui-drawer__painel,:host([open][posicao="baixo"]) .ui-drawer__painel{transform:translateY(100%);opacity:0}:host([aberto]) .ui-drawer__backdrop,:host([open]) .ui-drawer__backdrop{opacity:0}}',_='a[href], button, input, textarea, select, details, [tabindex]:not([tabindex="-1"]), ui-campo-texto, ui-botao, ui-botao-primario, ui-checkbox, ui-switch, ui-lista-flutuante, ui-radio, ui-select, ui-segmented';function v(n,l){let t=Array.from(n.querySelectorAll(_));t=t.filter(i=>{try{return window.getComputedStyle(i).display!=="none"}catch{return!0}});const e=n.querySelectorAll("slot"),o=[];return e.forEach(i=>{i.assignedElements({flatten:!0}).forEach(a=>{a instanceof HTMLElement&&(a.matches(_)&&o.push(a),o.push(...Array.from(a.querySelectorAll(_))))})}),[...t,...o].filter(i=>!i.hasAttribute("disabled")&&i.getAttribute("aria-hidden")!=="true")}function A(n){if(typeof document>"u")return!0;const l=Array.from(document.querySelectorAll("ui-drawer[aberto], ui-drawer[open], ui-sheet[aberto], ui-sheet[open]"));return l[l.length-1]===n}function C(n,l,t,e){if(l.length===0){n.preventDefault();return}const o=l[0],i=l[l.length-1],r=t.getRootNode(),a=r==null?void 0:r.activeElement;n.shiftKey?(a===o||!t.contains(a)&&!e.contains(a))&&(n.preventDefault(),i.focus()):(a===i||!t.contains(a)&&!e.contains(a))&&(n.preventDefault(),o.focus())}function S(){if(typeof document>"u")return;document.querySelectorAll("ui-modal[aberto], ui-modal[open], ui-dialog[aberto], ui-dialog[open], ui-drawer[aberto], ui-drawer[open], ui-sheet[aberto], ui-sheet[open]").length>0?document.body.style.overflow="hidden":document.body.style.overflow=""}class p extends d.SafeHTMLElement{constructor(){super();s(this,"backdropElement");s(this,"painelElement");s(this,"tituloElement");s(this,"descricaoElement");s(this,"closeElement");s(this,"listeners",new $.ListenerBag);s(this,"_elementoGatilho",null);s(this,"_focables",[]);s(this,"handleSlotChange",()=>{this.syncState()});s(this,"handleBackdropClick",t=>{t.stopPropagation(),this.hasAttribute("estatico")||this.hasAttribute("static")||this.fechar()});s(this,"handleCloseClick",t=>{t.stopPropagation(),this.fechar()});s(this,"handleKeyDown",t=>{this.aberto&&A(this)&&(t.key==="Escape"?this.hasAttribute("estatico")||this.hasAttribute("static")||(this.fechar(),t.stopImmediatePropagation()):t.key==="Tab"&&(this._focables=v(this.shadowRoot),C(t,this._focables,this,this.shadowRoot)))});const t=this.attachShadow({mode:"open"});t.innerHTML=`
|
|
2
|
-
<style>${O}</style>
|
|
3
|
-
<div class="ui-drawer__backdrop" part="fundo"></div>
|
|
4
|
-
<aside class="ui-drawer__painel" part="painel" role="dialog" aria-modal="true" tabindex="-1">
|
|
5
|
-
<div class="ui-drawer__header" part="cabecalho">
|
|
6
|
-
<div class="ui-drawer__titulo-container">
|
|
7
|
-
<h3 class="ui-drawer__titulo" part="titulo"></h3>
|
|
8
|
-
<p class="ui-drawer__descricao" part="descricao" style="display: none;"></p>
|
|
9
|
-
</div>
|
|
10
|
-
<button type="button" class="ui-drawer__close" part="fechar" aria-label="Fechar painel lateral" title="Fechar">✕</button>
|
|
11
|
-
</div>
|
|
12
|
-
<div class="ui-drawer__body" part="corpo">
|
|
13
|
-
<slot></slot>
|
|
14
|
-
</div>
|
|
15
|
-
<div class="ui-drawer__footer" part="rodape">
|
|
16
|
-
<slot name="rodape"></slot>
|
|
17
|
-
<slot name="footer"></slot>
|
|
18
|
-
</div>
|
|
19
|
-
</aside>
|
|
20
|
-
`,this.backdropElement=t.querySelector(".ui-drawer__backdrop"),this.painelElement=t.querySelector(".ui-drawer__painel"),this.tituloElement=t.querySelector(".ui-drawer__titulo"),this.descricaoElement=t.querySelector(".ui-drawer__descricao"),this.closeElement=t.querySelector(".ui-drawer__close")}static get observedAttributes(){return["aberto","open","posicao","position","titulo","title","descricao","description","largura","width","estatico","static"]}connectedCallback(){this.listeners.cleanup(),this.listeners.add(this.backdropElement,"click",this.handleBackdropClick),this.listeners.add(this.closeElement,"click",this.handleCloseClick),this.listeners.add(window,"keydown",this.handleKeyDown),this.shadowRoot.querySelectorAll("slot").forEach(e=>{this.listeners.add(e,"slotchange",this.handleSlotChange)}),this.syncState()}disconnectedCallback(){this.listeners.cleanup(),p.atualizarScrollLock()}attributeChangedCallback(t,e,o){(t==="aberto"||t==="open")&&o!==null&&(document.activeElement&&document.activeElement!==document.body&&(this._elementoGatilho=document.activeElement),setTimeout(()=>{this._focables=v(this.shadowRoot),this._focables.length>0?this._focables[0].focus():this.painelElement.focus()},0)),this.syncState()}get aberto(){return this.hasAttribute("aberto")||this.hasAttribute("open")}set aberto(t){t?this.setAttribute("aberto",""):(this.removeAttribute("aberto"),this.removeAttribute("open")),this.syncState()}get posicao(){const t=(this.getAttribute("posicao")||this.getAttribute("position")||"direita").toLowerCase();return t==="esquerda"||t==="left"?"esquerda":t==="baixo"||t==="bottom"?"baixo":t==="cima"||t==="top"?"cima":"direita"}set posicao(t){this.setAttribute("posicao",t)}abrir(){this.aberto||(document.activeElement&&document.activeElement!==document.body&&(this._elementoGatilho=document.activeElement),this.aberto=!0,this.dispatchEvent(new CustomEvent("ui-abrir",{bubbles:!0,composed:!0})),setTimeout(()=>{this._focables=v(this.shadowRoot),this._focables.length>0?this._focables[0].focus():this.painelElement.focus()},0))}fechar(){this.aberto&&(this.aberto=!1,this.dispatchEvent(new CustomEvent("ui-fechar",{bubbles:!0,composed:!0})),this._elementoGatilho&&(this._elementoGatilho.focus(),this._elementoGatilho=null))}alternar(){this.aberto?this.fechar():this.abrir()}syncState(){var a,c;const t=this.aberto,e=this.getAttribute("titulo")||this.getAttribute("title")||"",o=this.getAttribute("descricao")||this.getAttribute("description")||"",i=this.getAttribute("largura")||this.getAttribute("width"),r=(a=this.shadowRoot)==null?void 0:a.querySelector(".ui-drawer__footer");if(this.painelElement.setAttribute("aria-hidden",String(!t)),e?(this.tituloElement.textContent=e,this.tituloElement.style.display="block"):this.tituloElement.style.display="none",o?(this.descricaoElement.textContent=o,this.descricaoElement.style.display="block"):this.descricaoElement.style.display="none",i?this.style.setProperty("--ui-drawer-largura",isNaN(Number(i))?i:`${i}px`):this.style.removeProperty("--ui-drawer-largura"),r){const u=Array.from(((c=this.shadowRoot)==null?void 0:c.querySelectorAll('slot[name="rodape"], slot[name="footer"]'))||[]).some(b=>b.assignedNodes({flatten:!0}).some(f=>f.nodeType===Node.ELEMENT_NODE||f.textContent&&f.textContent.trim()!==""))||this.querySelector('[slot="rodape"], [slot="footer"]')!==null;r.style.display=u?"flex":"none"}p.atualizarScrollLock()}static atualizarScrollLock(){S()}}class L extends p{}class q extends p{}class N extends p{}d.definirCustomElement("ui-drawer",p);d.definirCustomElement("ui-sheet",L);d.definirCustomElement("ui-painel-lateral",q);d.definirCustomElement("ui-gaveta",N);const P=":host{display:inline-flex;position:relative;align-items:center;justify-content:center;vertical-align:middle;box-sizing:border-box;--ui-tooltip-texto-distancia: 260px;--ui-tooltip-seta-espaco: 70px}.ui-tooltip__bubble{position:fixed;z-index:var(--ui-z-tooltip, 1200);padding:6px 10px;border-radius:6px;font-size:11px;font-weight:500;background-color:var(--ui-cor-fundo-elevado, #1e1e24);color:var(--ui-cor-texto, #e1e1e6);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16));box-shadow:var(--ui-sombra-md, 0 4px 16px rgba(0, 0, 0, .5));white-space:normal;max-width:var(--ui-tooltip-texto-distancia, 260px);width:max-content;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility .15s ease;line-height:1.35;box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0}.ui-tooltip__bubble[popover]{margin:0;border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .16));background-color:var(--ui-cor-fundo-elevado, #1e1e24);color:var(--ui-cor-texto, #e1e1e6);padding:6px 10px;overflow:visible;max-width:var(--ui-tooltip-texto-distancia, 260px);width:max-content;white-space:normal}.ui-tooltip__texto{display:inline-block;max-width:100%}.ui-tooltip__arrow{position:absolute;width:0;height:0;border-style:solid}.ui-tooltip--topo .ui-tooltip__arrow{bottom:-5px;left:50%;transform:translate(-50%);border-width:5px 5px 0 5px;border-color:var(--ui-cor-fundo-elevado, #1e1e24) transparent transparent transparent}.ui-tooltip--baixo .ui-tooltip__arrow{top:-5px;left:50%;transform:translate(-50%);border-width:0 5px 5px 5px;border-color:transparent transparent var(--ui-cor-fundo-elevado, #1e1e24) transparent}.ui-tooltip--esquerda .ui-tooltip__arrow{right:-5px;top:50%;transform:translateY(-50%);border-width:5px 0 5px 5px;border-color:transparent transparent transparent var(--ui-cor-fundo-elevado, #1e1e24)}.ui-tooltip--direita .ui-tooltip__arrow{left:-5px;top:50%;transform:translateY(-50%);border-width:5px 5px 5px 0;border-color:transparent var(--ui-cor-fundo-elevado, #1e1e24) transparent transparent}.ui-tooltip--visivel .ui-tooltip__bubble{opacity:1;visibility:visible;pointer-events:auto;transform:scale(1)}@starting-style{.ui-tooltip--visivel .ui-tooltip__bubble,.ui-tooltip__bubble:popover-open{opacity:0;transform:scale(.94)}}",I=120;class x extends d.SafeHTMLElement{constructor(){super();s(this,"containerElement");s(this,"bubbleElement");s(this,"_posicionamentoAtivo",!1);s(this,"_timerOcultar",null);s(this,"_gatilhoDescrito",null);s(this,"posicionarBubble",()=>{if(!this.aberto)return;const t=this.getBoundingClientRect(),e=this.bubbleElement.getBoundingClientRect(),o=this.getAttribute("posicao")||this.getAttribute("position")||"topo";let i="topo";["topo","top"].includes(o)?i="topo":["baixo","bottom"].includes(o)?i="baixo":["esquerda","left"].includes(o)?i="esquerda":["direita","right"].includes(o)&&(i="direita");let r=0,a=0;const c=8;i==="topo"?(r=t.top-e.height-c,a=t.left+t.width/2-e.width/2):i==="baixo"?(r=t.bottom+c,a=t.left+t.width/2-e.width/2):i==="esquerda"?(r=t.top+t.height/2-e.height/2,a=t.left-e.width-c):i==="direita"&&(r=t.top+t.height/2-e.height/2,a=t.right+c),a=Math.max(8,Math.min(a,window.innerWidth-e.width-8)),r=Math.max(8,Math.min(r,window.innerHeight-e.height-8)),this.bubbleElement.style.top=`${Math.round(r)}px`,this.bubbleElement.style.left=`${Math.round(a)}px`});s(this,"handleMouseEnter",()=>{const t=this.getAttribute("gatilho")||this.getAttribute("trigger")||"hover";(t==="hover"||t==="passar-mouse")&&(this.cancelarOcultar(),this.mostrar())});s(this,"handleMouseLeave",()=>{const t=this.getAttribute("gatilho")||this.getAttribute("trigger")||"hover";(t==="hover"||t==="passar-mouse")&&(this.cancelarOcultar(),this._timerOcultar=setTimeout(()=>{this._timerOcultar=null,this.ocultar()},I))});s(this,"handleEscape",t=>{t.key!=="Escape"||!this.aberto||(t.stopPropagation(),this.cancelarOcultar(),this.ocultar())});s(this,"handleClick",t=>{const e=this.getAttribute("gatilho")||this.getAttribute("trigger")||"hover",o=window.matchMedia("(pointer: coarse)").matches;(e==="clique"||e==="click"||o)&&(t.stopPropagation(),this.aberto=!this.aberto)});s(this,"handleClickOutside",t=>{t.composedPath().includes(this)||this.ocultar()});const t=this.attachShadow({mode:"open"});t.innerHTML=`
|
|
21
|
-
<style>${P}</style>
|
|
22
|
-
<div class="ui-tooltip ui-tooltip--topo">
|
|
23
|
-
<slot></slot>
|
|
24
|
-
<div class="ui-tooltip__bubble" part="balao" role="tooltip" popover="manual">
|
|
25
|
-
<span class="ui-tooltip__texto" part="texto"></span>
|
|
26
|
-
<slot name="conteudo"></slot>
|
|
27
|
-
<span class="ui-tooltip__arrow" part="seta"></span>
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
`,this.containerElement=t.querySelector(".ui-tooltip"),this.bubbleElement=t.querySelector(".ui-tooltip__bubble"),t.querySelectorAll("slot").forEach(e=>e.addEventListener("slotchange",()=>this.sincronizarDescricao()))}static get observedAttributes(){return["texto","text","posicao","position","gatilho","trigger","aberto","open","disabled"]}connectedCallback(){this.addEventListener("mouseenter",this.handleMouseEnter),this.addEventListener("mouseleave",this.handleMouseLeave),this.addEventListener("focusin",this.handleMouseEnter),this.addEventListener("focusout",this.handleMouseLeave),this.addEventListener("click",this.handleClick),this.syncState()}disconnectedCallback(){this.removeEventListener("mouseenter",this.handleMouseEnter),this.removeEventListener("mouseleave",this.handleMouseLeave),this.removeEventListener("focusin",this.handleMouseEnter),this.removeEventListener("focusout",this.handleMouseLeave),this.removeEventListener("click",this.handleClick),document.removeEventListener("click",this.handleClickOutside),document.removeEventListener("keydown",this.handleEscape,!0),this.cancelarOcultar(),this.removerDescricao(),this._posicionamentoAtivo&&(this._posicionamentoAtivo=!1,window.removeEventListener("scroll",this.posicionarBubble,{capture:!0}),window.removeEventListener("resize",this.posicionarBubble)),this.ocultar()}attributeChangedCallback(t,e,o){this.syncState()}get aberto(){return this.hasAttribute("aberto")||this.hasAttribute("open")}set aberto(t){t?this.setAttribute("aberto",""):(this.removeAttribute("aberto"),this.removeAttribute("open")),this.syncState()}get disabled(){return this.hasAttribute("disabled")}set disabled(t){t?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this.syncState()}mostrar(){this.disabled||(this.aberto=!0)}ocultar(){this.aberto=!1}syncState(){var a;const t=this.aberto,e=this.getAttribute("posicao")||this.getAttribute("position")||"topo",o=this.getAttribute("texto")||this.getAttribute("text")||"",i=(a=this.shadowRoot)==null?void 0:a.querySelector(".ui-tooltip__texto");let r="topo";if(["topo","top"].includes(e)?r="topo":["baixo","bottom"].includes(e)?r="baixo":["esquerda","left"].includes(e)?r="esquerda":["direita","right"].includes(e)&&(r="direita"),this.containerElement.className=`ui-tooltip ui-tooltip--${r}`,i&&(o?(i.textContent=o,i.style.display="inline"):i.style.display="none"),this.sincronizarDescricao(),t){if(document.addEventListener("click",this.handleClickOutside),document.addEventListener("keydown",this.handleEscape,!0),typeof this.bubbleElement.showPopover=="function")try{this.bubbleElement.showPopover()}catch{}this.containerElement.classList.add("ui-tooltip--visivel"),requestAnimationFrame(()=>{this.posicionarBubble()}),this._posicionamentoAtivo||(this._posicionamentoAtivo=!0,window.addEventListener("scroll",this.posicionarBubble,{capture:!0,passive:!0}),window.addEventListener("resize",this.posicionarBubble,{passive:!0}))}else{if(document.removeEventListener("click",this.handleClickOutside),document.removeEventListener("keydown",this.handleEscape,!0),typeof this.bubbleElement.hidePopover=="function")try{this.bubbleElement.hidePopover()}catch{}this.containerElement.classList.remove("ui-tooltip--visivel"),this._posicionamentoAtivo&&(this._posicionamentoAtivo=!1,window.removeEventListener("scroll",this.posicionarBubble,{capture:!0}),window.removeEventListener("resize",this.posicionarBubble))}}cancelarOcultar(){this._timerOcultar&&(clearTimeout(this._timerOcultar),this._timerOcultar=null)}sincronizarDescricao(){var i;if(!this.isConnected){this.removerDescricao();return}const t=Array.from(this.children).find(r=>!r.hasAttribute("slot")),e=(this.getAttribute("texto")||this.getAttribute("text")||((i=this.querySelector('[slot="conteudo"]'))==null?void 0:i.textContent)||"").replace(/\s+/g," ").trim();this._gatilhoDescrito&&this._gatilhoDescrito!==t&&this.removerDescricao(),!(!t||this._gatilhoDescrito!==t&&(t.hasAttribute("aria-describedby")||t.hasAttribute("aria-description")))&&(e&&!this.disabled?(t.setAttribute("aria-description",e),this._gatilhoDescrito=t):this.removerDescricao())}removerDescricao(){var t;(t=this._gatilhoDescrito)==null||t.removeAttribute("aria-description"),this._gatilhoDescrito=null}}class z extends x{}d.definirCustomElement("ui-tooltip",x);d.definirCustomElement("ui-popover",z);const R=":host{display:block;box-sizing:border-box}:host([inline]){display:inline-block}.ui-skeleton{background:var(--ui-cor-fundo-elevado, #1e1e24);background-image:linear-gradient(90deg,#fff0,color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 7%,transparent),#fff0);background-size:200% 100%;background-repeat:no-repeat;border-radius:var(--ui-raio-borda, 6px);position:relative;overflow:hidden;box-sizing:border-box;animation:ui-skeleton-shimmer 1.6s ease-in-out infinite}@keyframes ui-skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ui-skeleton--pulso{background-image:none;animation:ui-skeleton-pulse 1.8s ease-in-out infinite}@keyframes ui-skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.ui-skeleton--estatico{animation:none;background-image:none}.ui-skeleton--texto{height:1.1em;border-radius:var(--ui-raio-sm, 4px)}.ui-skeleton--circular{border-radius:50%!important;aspect-ratio:1;width:var(--ui-skeleton-largura, 40px);height:var(--ui-skeleton-altura, 40px)}.ui-skeleton--retangular{border-radius:var(--ui-raio-borda, 6px);min-height:20px}.ui-skeleton__linhas{display:flex;flex-direction:column;gap:8px;width:100%}.ui-skeleton__linhas .ui-skeleton{width:100%}.ui-skeleton__linhas .ui-skeleton:last-child:not(:first-child){width:65%}.ui-skeleton--card{display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--ui-raio-borda, 10px);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));background:var(--ui-cor-fundo-card, #18181c);animation:none}.ui-skeleton__card-media{width:100%;height:120px;border-radius:6px}.ui-skeleton__card-header{display:flex;align-items:center;gap:10px}.ui-skeleton__card-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0}.ui-skeleton__card-title{width:50%;height:16px}@media (prefers-reduced-motion: reduce){.ui-skeleton{animation:none!important;background-image:none!important;opacity:.7}}";class w extends d.SafeHTMLElement{constructor(){super();s(this,"rootElement");const t=this.attachShadow({mode:"open"});t.innerHTML=`
|
|
31
|
-
<style>${R}</style>
|
|
32
|
-
<div class="ui-skeleton-container" role="status" aria-label="Carregando..."></div>
|
|
33
|
-
`,this.rootElement=t.querySelector(".ui-skeleton-container")}static get observedAttributes(){return["variante","variant","largura","width","altura","height","raio","radius","linhas","lines","count","animado","animated"]}connectedCallback(){this.hasAttribute("aria-hidden")||this.setAttribute("aria-hidden","true"),this.syncState()}attributeChangedCallback(t,e,o){this.syncState()}get variante(){const t=(this.getAttribute("variante")||this.getAttribute("variant")||"texto").toLowerCase();return t==="circulo"||t==="circular"?"circular":t==="retangulo"||t==="retangular"?"retangular":t==="card"?"card":"texto"}set variante(t){this.setAttribute("variante",t)}get animado(){const t=(this.getAttribute("animado")||this.getAttribute("animated")||"shimmer").toLowerCase();return t==="pulse"||t==="pulso"?"pulso":t==="none"||t==="nenhum"||t==="estatico"?"nenhum":"shimmer"}set animado(t){this.setAttribute("animado",t)}get linhas(){const t=parseInt(this.getAttribute("linhas")||this.getAttribute("lines")||this.getAttribute("count")||"1",10);return isNaN(t)||t<1?1:t}set linhas(t){this.setAttribute("linhas",String(t))}syncState(){const t=this.variante,e=this.animado,o=this.getAttribute("largura")||this.getAttribute("width"),i=this.getAttribute("altura")||this.getAttribute("height"),r=this.getAttribute("raio")||this.getAttribute("radius"),a=this.linhas;this.rootElement.innerHTML="";const c=e==="pulso"?"ui-skeleton--pulso":e==="nenhum"?"ui-skeleton--estatico":"";if(t==="card"){const u=document.createElement("div");u.className="ui-skeleton ui-skeleton--card";const b=document.createElement("div");b.className=`ui-skeleton ui-skeleton__card-media ${c}`;const h=document.createElement("div");h.className="ui-skeleton__card-header";const f=document.createElement("div");f.className=`ui-skeleton ui-skeleton__card-avatar ${c}`;const y=document.createElement("div");y.className=`ui-skeleton ui-skeleton__card-title ${c}`,h.appendChild(f),h.appendChild(y);const g=document.createElement("div");g.className="ui-skeleton__linhas";for(let E=0;E<2;E++){const k=document.createElement("div");k.className=`ui-skeleton ui-skeleton--texto ${c}`,g.appendChild(k)}u.appendChild(b),u.appendChild(h),u.appendChild(g),this.rootElement.appendChild(u);return}if(a>1&&t==="texto"){const u=document.createElement("div");u.className="ui-skeleton__linhas";for(let b=0;b<a;b++){const h=document.createElement("div");h.className=`ui-skeleton ui-skeleton--texto ${c}`,i&&(h.style.height=isNaN(Number(i))?i:`${i}px`),r&&(h.style.borderRadius=isNaN(Number(r))?r:`${r}px`),u.appendChild(h)}o&&(u.style.width=isNaN(Number(o))?o:`${o}px`),this.rootElement.appendChild(u);return}const m=document.createElement("div");m.className=`ui-skeleton ui-skeleton--${t} ${c}`.trim(),o&&(m.style.width=isNaN(Number(o))?o:`${o}px`),i&&(m.style.height=isNaN(Number(i))?i:`${i}px`),r&&(m.style.borderRadius=isNaN(Number(r))?r:`${r}px`),this.rootElement.appendChild(m)}}class T extends w{}d.definirCustomElement("ui-skeleton",w);d.definirCustomElement("ui-esqueleto",T);exports.UIDrawer=p;exports.UIEsqueleto=T;exports.UIGaveta=N;exports.UIPainelLateral=q;exports.UIPopover=z;exports.UISheet=L;exports.UISkeleton=w;exports.UITooltip=x;exports.atualizarScrollLockDrawer=S;exports.gerenciarTabTrap=C;exports.isTopMostDrawer=A;exports.obterElementosFocaveis=v;
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
"use strict";var qe=Object.defineProperty;var Ve=(t,i,e)=>i in t?qe(t,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[i]=e;var m=(t,i,e)=>Ve(t,typeof i!="symbol"?i+"":i,e);const T=require("./listener-bag-D5omxZ9h.cjs"),je=require("./parts-vQa2873h.cjs"),D=require("./ssr-safe-CiHD1adl.cjs"),$e=require("./svg-seguro-C76iLlAZ.cjs");class Y{constructor(i){m(this,"autoFetchController",null);this.ctx=i}async carregar(i){if(!i)return;this.autoFetchController&&(this.autoFetchController.abort(),this.autoFetchController=null);const e=new AbortController;this.autoFetchController=e,this.ctx.onCarregandoAlterado(!0),this.ctx.host.dispatchEvent(new CustomEvent("ui-fetch-start",{bubbles:!0,composed:!0,detail:{url:i}}));try{const o=await fetch(i,{signal:e.signal});if(!o.ok)throw new Error(`HTTP ${o.status}: ${o.statusText}`);const r=await o.json(),a=Array.isArray(r)?r:r.dados||r.items||r.data||r.rows||[];this.autoFetchController===e&&(this.ctx.onDadosRecebidos(a),this.ctx.onCarregandoAlterado(!1),this.autoFetchController=null,this.ctx.host.dispatchEvent(new CustomEvent("ui-fetch-sucesso",{bubbles:!0,composed:!0,detail:{url:i,total:a.length,dados:a}})))}catch(o){if(o.name==="AbortError")return;this.autoFetchController===e&&(this.ctx.onCarregandoAlterado(!1),this.autoFetchController=null,console.error("[ui-tabela] Erro ao carregar dados remotos:",o),this.ctx.host.dispatchEvent(new CustomEvent("ui-fetch-erro",{bubbles:!0,composed:!0,detail:{url:i,erro:o.message||String(o)}})))}}abortar(){this.autoFetchController&&(this.autoFetchController.abort(),this.autoFetchController=null)}}const We=["id","_id","codigo","key"];function Ue(t,i){return t!=null&&(t===i||String(t)===String(i))}function I(t,i){let e=-1;return typeof t=="number"&&Number.isInteger(t)?e=t:typeof t=="string"&&/^\d+$/.test(t.trim())&&(e=parseInt(t.trim(),10)),e>=0&&e<i?e:-1}function G(t,i,e="id",o=!1){if(!t||t.length===0)return-1;if(typeof i=="function")return t.findIndex(i);if(o)return I(i,t.length);const r=[e,...We.filter(a=>a!==e)];for(const a of r){const n=t.findIndex(s=>!!s&&typeof s=="object"&&Ue(s[a],i));if(n!==-1)return n}return I(i,t.length)}class K{constructor(i){m(this,"itemSelecionado",null);m(this,"indiceSelecionado",null);this.ctx=i}indiceDoItem(i,e){const o=this.ctx.getChaveId();return i.findIndex(r=>r===e||e[o]!==void 0&&(r==null?void 0:r[o])!==void 0&&String(r[o])===String(e[o]))}getItemSelecionado(){return this.itemSelecionado}setItemSelecionado(i){this.itemSelecionado=i;const e=i?this.indiceDoItem(this.ctx.getDadosExibicao(),i):-1;this.indiceSelecionado=e>=0?e:null,this.atualizarLinhasSelecionadas()}getIndiceSelecionado(){return this.indiceSelecionado}setIndiceSelecionado(i){const e=this.ctx.getDadosExibicao(),o=i!==null&&i>=0&&i<e.length;this.indiceSelecionado=o?i:null,this.itemSelecionado=o?e[i]:null,this.atualizarLinhasSelecionadas()}reconciliar(){const i=this.itemSelecionado;if(!i){this.indiceSelecionado=null;return}const e=this.ctx.getDadosExibicao(),o=this.indiceDoItem(e,i);if(o>=0){this.itemSelecionado=e[o],this.indiceSelecionado=o;return}this.indiceSelecionado=null;const r=this.ctx.getDadosOriginais(),a=this.indiceDoItem(r,i);if(a>=0){this.itemSelecionado=r[a];return}this.itemSelecionado=null,this.ctx.host.dispatchEvent(new CustomEvent("ui-selecao-removida",{bubbles:!0,composed:!0,detail:{item:i}}))}limparSelecao(){this.itemSelecionado=null,this.indiceSelecionado=null,this.atualizarLinhasSelecionadas()}isItemSelecionado(i,e){if(this.itemSelecionado){if(this.itemSelecionado===i)return!0;const o=this.ctx.getChaveId();if(i[o]!==void 0&&this.itemSelecionado[o]!==void 0)return String(i[o])===String(this.itemSelecionado[o]);if(i.id!==void 0&&this.itemSelecionado.id!==void 0)return String(i.id)===String(this.itemSelecionado.id)}return this.indiceSelecionado!==null&&this.indiceSelecionado===e}atualizarLinhasSelecionadas(){const i=this.ctx.getTbody();if(!i)return;const e=this.ctx.getDadosExibicao();i.querySelectorAll("tr:not(.ui-tabela__virtual-spacer)").forEach(r=>{const a=r.getAttribute("data-index"),n=a!==null?parseInt(a,10):-1,s=n>=0?e[n]:null,d=s?this.isItemSelecionado(s,n):!1;r.classList.toggle("ui-tabela__tr--selecionada",d),je.alternarPart(r,"linha-selecionada",d),d?(r.setAttribute("data-selecionada","true"),r.setAttribute("aria-current","true")):(r.removeAttribute("data-selecionada"),r.removeAttribute("aria-current"))})}rolarPara(i,e){const o=this.ctx.getDadosExibicao(),r=G(o,i,this.ctx.getChaveId(),(e==null?void 0:e.porIndice)===!0);if(r===-1)return!1;if(e!=null&&e.selecionar){const a=o[r];this.itemSelecionado=a,this.indiceSelecionado=r,this.atualizarLinhasSelecionadas(),this.ctx.onLinhaAtiva(r),this.ctx.host.dispatchEvent(new CustomEvent("ui-linha-selecionada",{bubbles:!0,composed:!0,detail:{item:a,indice:r}}))}return this.ctx.onRolarParaIndice(r,(e==null?void 0:e.comportamento)||"smooth")}}function Q(t,i,e){return t!==e?{idColuna:e,direcao:"asc"}:i==="asc"?{idColuna:e,direcao:"desc"}:i==="desc"?{idColuna:null,direcao:"original"}:{idColuna:e,direcao:"asc"}}function Z(t,i,e){if(!i||e==="original")return[...t];const o=e==="asc"?1:-1;return[...t].sort((r,a)=>{const n=r[i],s=a[i];return n===s?0:n==null?1*o:s==null?-1*o:typeof n=="number"&&typeof s=="number"?(n-s)*o:String(n).localeCompare(String(s),"pt-BR",{numeric:!0,sensitivity:"base"})*o})}class J{constructor(){m(this,"dadosOriginais",[]);m(this,"dadosExibicao",[]);m(this,"colunaOrdenada",null);m(this,"direcaoOrdenacao","original");m(this,"ultimoFiltro","");m(this,"colunasFiltro",[])}setColunasFiltro(i){this.colunasFiltro=i,this.ultimoFiltro&&this.aplicarOrdenacao()}getDadosOriginais(){return this.dadosOriginais}setDadosOriginais(i){this.dadosOriginais=Array.isArray(i)?[...i]:[],this.aplicarOrdenacao()}getDadosExibicao(){return this.dadosExibicao}getColunaOrdenada(){return this.colunaOrdenada}setColunaOrdenada(i){this.colunaOrdenada=i,i?this.direcaoOrdenacao==="original"&&(this.direcaoOrdenacao="asc"):this.direcaoOrdenacao="original",this.aplicarOrdenacao()}getDirecaoOrdenacao(){return this.direcaoOrdenacao}setDirecaoOrdenacao(i){this.direcaoOrdenacao=i||"original",this.direcaoOrdenacao==="original"&&(this.colunaOrdenada=null),this.aplicarOrdenacao()}alternarOrdenacaoColuna(i){if(!i.ordenavel)return null;const e=Q(this.colunaOrdenada,this.direcaoOrdenacao,i.id);return this.colunaOrdenada=e.idColuna,this.direcaoOrdenacao=e.direcao,this.aplicarOrdenacao(),e}aplicarOrdenacao(){const i=Z(this.dadosOriginais,this.colunaOrdenada,this.direcaoOrdenacao),e=this.ultimoFiltro;this.dadosExibicao=e?i.filter(o=>(this.colunasFiltro.length>0?this.colunasFiltro.map(a=>o[a]):Object.values(o)).some(a=>a!=null&&(typeof a!="object"||a instanceof Date)&&String(a).toLowerCase().includes(e))):i}filtrar(i){this.ultimoFiltro=(i||"").trim().toLowerCase(),this.aplicarOrdenacao()}}const Xe=':host{display:block;width:100%;box-sizing:border-box;font-family:inherit;color:var(--ui-cor-texto, #e1e1e6);position:relative}.ui-tabela-container{width:100%;max-width:100%;max-height:var(--ui-tabela-max-height, 500px);overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y;border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:var(--ui-raio-borda, 6px);background-color:var(--ui-cor-superficie, #141417);box-sizing:border-box;position:relative}.ui-tabela{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:14px}.ui-tabela thead{position:sticky;top:0;z-index:10;background-color:var(--ui-cor-fundo-elevado, #1a1a1e)}.ui-tabela th{position:sticky;top:0;z-index:10;padding:10px 16px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);color:var(--ui-cor-texto, #e1e1e6);font-weight:600;border-bottom:2px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));white-space:nowrap;-webkit-user-select:none;user-select:none;box-sizing:border-box}.ui-tabela__resizer{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:20;transition:background-color .15s ease}.ui-tabela__resizer:hover,.ui-tabela__resizer--ativo{background-color:var(--ui-cor-primaria, #00E08A)}:host([densidade="compacta"]) th,:host([densidade="compacta"]) td,:host([density="compact"]) th,:host([density="compact"]) td{padding:4px 8px}:host([densidade="normal"]) th,:host([densidade="normal"]) td,:host([density="normal"]) th,:host([density="normal"]) td{padding:10px 16px}:host([densidade="relaxada"]) th,:host([densidade="relaxada"]) td,:host([density="relaxed"]) th,:host([density="relaxed"]) td{padding:16px 20px}:host([altura-linha]) td,:host([row-height]) td{height:var(--ui-tabela-altura-linha);box-sizing:border-box;padding-top:0;padding-bottom:0;overflow:hidden;white-space:nowrap}.ui-tabela__header-content{display:inline-flex;align-items:center;vertical-align:middle;width:100%;box-sizing:border-box}.ui-tabela__header-text{margin-right:90px;display:inline-flex;align-items:center}.ui-tabela__sort-icon,.ui-tabela__header-icon{width:70px;min-width:70px;max-width:70px;display:inline-flex;justify-content:center;align-items:center;transition:transform .2s ease,opacity .2s ease}.ui-tabela th.ui-tabela__th--ordenavel{cursor:pointer}.ui-tabela th.ui-tabela__th--ordenavel:hover{background-color:var(--ui-cor-hover-menu, rgba(255, 255, 255, .08))}.ui-tabela__ordenar{all:unset;display:flex;width:100%;box-sizing:border-box;cursor:pointer;font:inherit;color:inherit;text-align:inherit}.ui-tabela__ordenar:focus-visible{outline:2px solid var(--ui-cor-primaria, #00E08A);outline-offset:2px;border-radius:var(--ui-raio-sm, 4px)}.ui-tabela tbody tr:focus{outline:none}.ui-tabela tbody tr:focus-visible{outline:2px solid var(--ui-cor-primaria, #00E08A);outline-offset:-2px}.ui-tabela__sort-arrow{display:inline-block;width:12px;height:12px;vertical-align:middle;shape-rendering:geometricPrecision;transition:transform .2s ease,fill .2s ease;fill:var(--ui-cor-primaria, #00E08A)}.ui-tabela__sort-arrow--desc{transform:rotate(180deg)}.ui-tabela__sort-arrow--inativo{opacity:.3;fill:var(--ui-cor-texto-secundario, #888899)}.ui-tabela td{padding:10px 16px;border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .06));white-space:nowrap;vertical-align:middle;color:var(--ui-cor-texto, #e1e1e6);box-sizing:border-box}.ui-tabela__cell-content{display:inline-flex;align-items:center;vertical-align:middle}.ui-tabela__cell-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.ui-tabela--alinhar-esquerda{text-align:left}.ui-tabela--alinhar-esquerda .ui-tabela__header-content,.ui-tabela--alinhar-esquerda .ui-tabela__cell-content{justify-content:flex-start}.ui-tabela--alinhar-centro{text-align:center}.ui-tabela--alinhar-centro .ui-tabela__header-content,.ui-tabela--alinhar-centro .ui-tabela__cell-content{justify-content:center}.ui-tabela--alinhar-direita{text-align:right}.ui-tabela--alinhar-direita .ui-tabela__header-content,.ui-tabela--alinhar-direita .ui-tabela__cell-content{justify-content:flex-end}.ui-tabela tbody tr.ui-tabela__tr--par{background-color:var(--ui-cor-fundo-card, rgba(255, 255, 255, .02))}.ui-tabela tbody tr:hover{background-color:var(--ui-cor-hover-menu, rgba(255, 255, 255, .08))}.ui-tabela tbody tr.ui-tabela__tr--selecionada,.ui-tabela tbody tr[data-selecionada=true]{background-color:var(--ui-cor-linha-selecionada, color-mix(in srgb, var(--ui-cor-primaria, #00E08A) 14%, transparent));box-shadow:inset 3px 0 0 var(--ui-cor-primaria, #00E08A)}.ui-tabela tbody tr.ui-tabela__tr--selecionada:hover,.ui-tabela tbody tr[data-selecionada=true]:hover{background-color:var(--ui-cor-linha-selecionada-hover, color-mix(in srgb, var(--ui-cor-primaria, #00E08A) 22%, transparent))}.ui-tabela__virtual-spacer td{padding:0!important;border:none!important;height:inherit;background:transparent!important}.ui-tabela__empty{padding:48px 24px;text-align:center;border:2px dashed var(--ui-cor-borda, rgba(255, 255, 255, .2));border-radius:var(--ui-raio-borda, 6px);margin:16px;color:var(--ui-cor-texto-secundario, #888899);background-color:var(--ui-cor-fundo, #0b0b0d);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-sizing:border-box}.ui-tabela__empty-icon{width:32px;height:32px;opacity:.5;fill:currentColor}.ui-tabela__empty-text{font-size:14px;font-weight:500;color:var(--ui-cor-texto-secundario, #888899)}.ui-tabela__loading{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0b0b0db3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:50;color:var(--ui-cor-primaria, #00E08A);font-size:14px}.ui-tabela__spinner{width:32px;height:32px;border:3px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 15%,transparent);border-top-color:var(--ui-cor-primaria, #00E08A);border-radius:50%;animation:ui-tabela-spin .8s linear infinite}@keyframes ui-tabela-spin{to{transform:rotate(360deg)}}.ui-tabela__context-menu{position:absolute;z-index:var(--ui-z-popover, 1050);background-color:var(--ui-cor-fundo-elevado, #1a1a1e);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .2));border-radius:var(--ui-raio-borda, 6px);box-shadow:var(--ui-sombra-md, 0 4px 20px rgba(0, 0, 0, .6));padding:6px;display:flex;flex-direction:column;gap:4px;min-width:200px;font-size:13px;color:var(--ui-cor-texto, #e1e1e6)}.ui-tabela__context-item{padding:8px 12px;border-radius:var(--ui-raio-sm, 4px);cursor:pointer;color:var(--ui-cor-texto, #e1e1e6);display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background-color .15s ease}.ui-tabela__context-item:hover{background-color:var(--ui-cor-hover-menu, rgba(255, 255, 255, .08));color:var(--ui-cor-primaria, #00E08A)}.ui-tabela__prompt-dialog{border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .2));border-radius:var(--ui-raio-borda, 6px);background-color:var(--ui-cor-fundo-elevado, #1a1a1e);color:var(--ui-cor-texto, #e1e1e6);padding:12px;box-shadow:var(--ui-sombra-lg, 0 8px 32px rgba(0, 0, 0, .8));font-family:inherit;font-size:14px}.ui-tabela__prompt-dialog::backdrop{background:#0000004d}.ui-tabela__prompt-title{margin-bottom:8px;font-weight:500}.ui-tabela__prompt-dialog input{width:100%;padding:6px 8px;border-radius:var(--ui-raio-sm, 4px);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .2));background:var(--ui-cor-superficie, #141417);color:var(--ui-cor-texto, #e1e1e6);margin-bottom:12px;box-sizing:border-box}.ui-tabela__prompt-actions{display:flex;justify-content:flex-end;gap:8px}.ui-tabela__prompt-actions button{background:var(--ui-cor-borda, rgba(255, 255, 255, .12));color:var(--ui-cor-texto, #e1e1e6);border:none;padding:6px 12px;border-radius:var(--ui-raio-sm, 4px);cursor:pointer}.ui-tabela__prompt-actions button:last-child{background:var(--ui-cor-primaria, #00E08A);color:#000;font-weight:600}@media (max-width: 640px){.ui-tabela th{padding:8px 10px;font-size:12px}.ui-tabela td{padding:8px 10px;font-size:13px}.ui-tabela__header-text{margin-right:16px}.ui-tabela__sort-icon,.ui-tabela__header-icon{width:24px;min-width:24px;max-width:24px}.ui-tabela__resizer{width:14px}}';function H(t){return t==null||t===""?"":typeof t=="number"?`${t}px`:t}function F(t){return t==="centro"||t==="center"?"ui-tabela--alinhar-centro":t==="direita"||t==="right"?"ui-tabela--alinhar-direita":"ui-tabela--alinhar-esquerda"}function q(t){return t==="centro"||t==="center"?"center":t==="direita"||t==="right"?"right":"left"}function N(t){return t==="compacta"?30:t==="relaxada"?56:42}function ee(t,i,e,o){t.innerHTML=`<style>${Xe}</style>`;const r=document.createElement("div");r.className="ui-tabela-container",r.setAttribute("part","base"),e&&(r.style.maxHeight=e);const a=document.createElement("div");a.className="ui-tabela__empty",a.setAttribute("part","vazio"),a.style.display="none";const n=document.createElement("div");n.innerHTML=`
|
|
2
|
-
<svg class="ui-tabela__empty-icon" viewBox="0 0 24 24">
|
|
3
|
-
<path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14zM7 10h2v7H7zm4-3h2v10h-2zm4 6h2v4h-2z"/>
|
|
4
|
-
</svg>`;const s=document.createElement("span");s.className="ui-tabela__empty-text",s.textContent=i,a.appendChild(n),a.appendChild(s);const d=document.createElement("table");d.className="ui-tabela",d.setAttribute("part","tabela");const u=document.createElement("colgroup"),l=document.createElement("thead"),p=document.createElement("tbody");d.appendChild(u),d.appendChild(l),d.appendChild(p),r.appendChild(a),r.appendChild(d);const c=document.createElement("div");return c.className="ui-tabela__loading",c.setAttribute("part","carregando"),c.style.display=o?"flex":"none",c.innerHTML=`
|
|
5
|
-
<div class="ui-tabela__spinner"></div>
|
|
6
|
-
<span>Carregando dados...</span>
|
|
7
|
-
`,r.appendChild(c),t.appendChild(r),{containerElement:r,tableElement:d,theadElement:l,tbodyElement:p,colgroupElement:u,emptyElement:a,loadingElement:c}}function te(t){var a,n;if(!t.theadElement||!t.colgroupElement)return;t.headerListeners.cleanup();const e=t.theadElement.getRootNode().activeElement,o=e&&t.theadElement.contains(e)?((a=e.closest("th"))==null?void 0:a.getAttribute("data-coluna"))??null:null;t.theadElement.innerHTML="",t.colgroupElement.innerHTML="";const r=document.createElement("tr");if(t.colunas.forEach((s,d)=>{const u=document.createElement("col");s.largura!==void 0&&(u.style.width=t.formatWidth(s.largura)),t.colgroupElement.appendChild(u);const l=document.createElement("th"),p=t.getAlignmentClass(s.alinhamento);if(l.className=p,l.setAttribute("part","celula-cabecalho"),l.scope="col",l.setAttribute("data-coluna",s.id),l.style.textAlign=t.getTextAlign(s.alinhamento),s.largura!==void 0&&(l.style.width=t.formatWidth(s.largura)),s.larguraMinima!==void 0&&(l.style.minWidth=t.formatWidth(s.larguraMinima)),s.larguraMaxima!==void 0){const v=t.formatWidth(s.larguraMaxima);l.style.maxWidth=v,l.style.overflow="hidden",l.style.textOverflow="ellipsis",l.style.whiteSpace="nowrap"}s.tooltip&&(l.title=s.tooltip);const c=!!s.ordenavel&&t.colunaOrdenada===s.id&&t.direcaoOrdenacao!=="original",h=c&&t.direcaoOrdenacao==="desc";if(s.ordenavel){l.classList.add("ui-tabela__th--ordenavel");const v=()=>t.onHeaderClick(s);t.headerListeners.add(l,"click",v),c&&l.setAttribute("aria-sort",h?"descending":"ascending")}const b=v=>t.onHeaderContextMenu(v,s,d,l);t.headerListeners.add(l,"contextmenu",b);const x=document.createElement("div");x.className="ui-tabela__header-content";const g=document.createElement("span");g.className="ui-tabela__header-text",g.textContent=s.rotulo,x.appendChild(g);const f=document.createElement("span");if(f.className="ui-tabela__sort-icon",s.ordenavel){const v=c?"":"ui-tabela__sort-arrow--inativo",A=h?"ui-tabela__sort-arrow--desc":"";f.setAttribute("aria-hidden","true"),f.innerHTML=`
|
|
8
|
-
<svg class="ui-tabela__sort-arrow ${v} ${A}" viewBox="0 0 24 24">
|
|
9
|
-
<path d="M7 14l5-5 5 5H7z"/>
|
|
10
|
-
</svg>
|
|
11
|
-
`}if(x.appendChild(f),s.ordenavel){const v=document.createElement("button");v.type="button",v.className="ui-tabela__ordenar",v.setAttribute("part","ordenar"),v.appendChild(x),l.appendChild(v)}else l.appendChild(x);const _=document.createElement("div");_.className="ui-tabela__resizer",_.title="Arrastar para redimensionar largura (duplo-clique para auto-ajuste)";const E=v=>t.onInitColumnResize(v,s,d,l,_);t.headerListeners.add(_,"mousedown",E);const w=v=>{v.stopPropagation(),t.onColumnAutoFit(s,l,u)};t.headerListeners.add(_,"dblclick",w),l.appendChild(_),r.appendChild(l)}),t.theadElement.appendChild(r),o!==null){const s=Array.from(r.children).find(d=>d.getAttribute("data-coluna")===o);(n=s==null?void 0:s.querySelector(".ui-tabela__ordenar"))==null||n.focus()}}function ie(t){if(!t.tbodyElement||!t.tableElement||!t.emptyElement||!t.containerElement)return;if(!t.dadosExibicao||t.dadosExibicao.length===0){t.emptyElement.style.display="flex",t.tableElement.style.display="none";return}t.emptyElement.style.display="none",t.tableElement.style.display="table";const i=t.dadosExibicao.length,e=t.rowHeight,o=t.virtualizar&&i>30;let r=0,a=i;if(o){const c=t.containerElement.scrollTop,h=t.containerElement.clientHeight||400,b=5;r=Math.max(0,Math.floor(c/e)-b),a=Math.min(i,Math.ceil((c+h)/e)+b)}const s=t.tbodyElement.getRootNode().activeElement,d=s&&s.parentElement===t.tbodyElement?s.getAttribute("data-index"):null,u=t.indiceAtivo??null,l=u!==null&&u>=r&&u<a?u:r;t.tbodyElement.innerHTML="";const p=document.createDocumentFragment();if(o&&r>0){const c=document.createElement("tr");c.className="ui-tabela__virtual-spacer",c.style.height=`${r*e}px`;const h=document.createElement("td");h.colSpan=t.colunas.length||1,c.appendChild(h),p.appendChild(c)}for(let c=r;c<a;c++){const h=t.dadosExibicao[c],b=document.createElement("tr");b.setAttribute("data-index",String(c)),b.setAttribute("part","linha"),b.tabIndex=c===l?0:-1,c%2===1&&b.classList.add("ui-tabela__tr--par");const x=t.chaveId;h[x]!==void 0?b.setAttribute("data-id",String(h[x])):h.id!==void 0?b.setAttribute("data-id",String(h.id)):h._id!==void 0&&b.setAttribute("data-id",String(h._id)),t.isItemSelecionado(h,c)&&(b.classList.add("ui-tabela__tr--selecionada"),b.setAttribute("part","linha linha-selecionada"),b.setAttribute("aria-current","true"),b.setAttribute("data-selecionada","true")),b.addEventListener("click",g=>{const f=g.target;f&&f.closest("button, input, select, textarea, a, [data-prevent-select]")||t.onLinhaClique(h,c)}),t.colunas.forEach(g=>{const f=document.createElement("td"),_=t.getAlignmentClass(g.alinhamento);if(f.className=_,f.setAttribute("part","celula"),f.style.textAlign=t.getTextAlign(g.alinhamento),g.larguraMaxima!==void 0){const v=t.formatWidth(g.larguraMaxima);f.style.maxWidth=v,f.style.overflow="hidden",f.style.textOverflow="ellipsis",f.style.whiteSpace="nowrap"}const E=document.createElement("div");E.className="ui-tabela__cell-content",g.larguraMaxima!==void 0&&E.classList.add("ui-tabela__cell-truncate");const w=h[g.id];if(typeof g.render=="function"){const v=g.render(w,h,c);v instanceof Node?E.appendChild(v):E.textContent=String(v??"")}else if(w instanceof Node)E.appendChild(w);else{const v=w!=null?String(w):"";E.textContent=v,g.larguraMaxima!==void 0&&!g.tooltip&&(f.title=v)}f.appendChild(E),b.appendChild(f)}),p.appendChild(b)}if(o&&a<i){const c=document.createElement("tr");c.className="ui-tabela__virtual-spacer",c.style.height=`${(i-a)*e}px`;const h=document.createElement("td");h.colSpan=t.colunas.length||1,c.appendChild(h),p.appendChild(c)}if(t.tbodyElement.appendChild(p),d!==null){const c=t.tbodyElement.querySelector(`tr[data-index="${d}"]`);c==null||c.focus({preventScroll:!0})}}function re(t){const{evento:i,coluna:e,colIndex:o,thElement:r,resizer:a,colgroupElement:n,onResizeStart:s,onResizeEnd:d}=t;i.stopPropagation(),i.preventDefault(),s(),a.classList.add("ui-tabela__resizer--ativo");const u=i.pageX,l=r.offsetWidth,p=n==null?void 0:n.children[o],c=x=>{const g=x.pageX-u;let f=l+g;if(e.larguraMinima!==void 0){const _=typeof e.larguraMinima=="number"?e.larguraMinima:parseInt(e.larguraMinima,10);isNaN(_)||(f=Math.max(_,f))}else f=Math.max(60,f);if(e.larguraMaxima!==void 0){const _=typeof e.larguraMaxima=="number"?e.larguraMaxima:parseInt(e.larguraMaxima,10);isNaN(_)||(f=Math.min(_,f))}e.largura=`${f}px`,r.style.width=`${f}px`,p&&(p.style.width=`${f}px`)},h=()=>{b(),d(String(e.largura))},b=()=>{a.classList.remove("ui-tabela__resizer--ativo"),window.removeEventListener("mousemove",c),window.removeEventListener("mouseup",h)};return window.addEventListener("mousemove",c),window.addEventListener("mouseup",h),b}function oe(t){const{evento:i,coluna:e,colIndex:o,thElement:r,colgroupElement:a,shadow:n,onResizeEnd:s}=t,d=document.createElement("dialog");d.className="ui-tabela__prompt-dialog",d.style.position="fixed",d.style.left=`${i.clientX}px`,d.style.top=`${i.clientY}px`;const u=document.createElement("div");u.className="ui-tabela__prompt-title",u.textContent=`Largura para "${e.rotulo}" (px ou auto):`;const l=document.createElement("input");l.type="text";const p=e.largura?String(e.largura).replace("px",""):"auto";l.value=p;const c=document.createElement("div");c.className="ui-tabela__prompt-actions";const h=document.createElement("button");h.textContent="Aplicar";const b=document.createElement("button");b.textContent="Cancelar",c.appendChild(b),c.appendChild(h),d.appendChild(u),d.appendChild(l),d.appendChild(c),n.appendChild(d),d.showModal();const x=()=>{const f=l.value.trim().toLowerCase();if(f===""||f==="auto")e.largura=void 0,r.style.width="",a!=null&&a.children[o]&&(a.children[o].style.width="");else{const _=parseInt(f,10);!isNaN(_)&&_>20&&(e.largura=`${_}px`,r.style.width=`${_}px`,a!=null&&a.children[o]&&(a.children[o].style.width=`${_}px`))}d.close(),d.remove(),s(e.largura?String(e.largura):"auto")};h.addEventListener("click",g=>{g.stopPropagation(),x()}),b.addEventListener("click",g=>{g.stopPropagation(),d.close(),d.remove()}),l.addEventListener("keydown",g=>{g.key==="Enter"?(g.preventDefault(),x()):g.key==="Escape"&&(g.preventDefault(),d.close(),d.remove())}),setTimeout(()=>l.focus(),10)}function ae(t,i,e,o,r,a){return re({evento:t,coluna:i,colIndex:e,thElement:o,resizer:r,colgroupElement:a.colgroupElement,onResizeStart:()=>a.onSetIsResizing(!0),onResizeEnd:n=>{setTimeout(()=>a.onSetIsResizing(!1),50),a.host.dispatchEvent(new CustomEvent("ui-column-resize",{detail:{idColuna:i.id,largura:n},bubbles:!0,composed:!0}))}})}function ne(t,i,e,o,r){t.preventDefault(),t.stopPropagation(),oe({evento:t,coluna:i,colIndex:e,thElement:o,colgroupElement:r.colgroupElement,shadow:r.shadow,onResizeEnd:a=>{r.host.dispatchEvent(new CustomEvent("ui-column-resize",{detail:{idColuna:i.id,largura:a},bubbles:!0,composed:!0}))}})}function se(t){te({theadElement:t.theadElement,colgroupElement:t.colgroupElement,colunas:t.colunas,colunaOrdenada:t.dadosController.getColunaOrdenada(),direcaoOrdenacao:t.dadosController.getDirecaoOrdenacao(),headerListeners:t.headerListeners,formatWidth:H,getAlignmentClass:F,getTextAlign:q,onHeaderClick:i=>t.onHeaderClick(i),onHeaderContextMenu:(i,e,o,r)=>{ne(i,e,o,r,{host:t.host,colgroupElement:t.colgroupElement,shadow:t.shadow,onSetIsResizing:t.onSetIsResizing})},onInitColumnResize:(i,e,o,r,a)=>{const n=ae(i,e,o,r,a,{host:t.host,colgroupElement:t.colgroupElement,shadow:t.shadow,onSetIsResizing:t.onSetIsResizing});t.onActiveResizeCleanup(n)},onColumnAutoFit:(i,e,o)=>{i.largura=void 0,e.style.width="",o.style.width="",t.host.dispatchEvent(new CustomEvent("ui-column-resize",{bubbles:!0,composed:!0,detail:{idColuna:i.id,largura:"auto"}}))}})}function le(t){ie({tbodyElement:t.tbodyElement,tableElement:t.tableElement,emptyElement:t.emptyElement,containerElement:t.containerElement,dadosExibicao:t.dadosController.getDadosExibicao(),colunas:t.colunas,chaveId:t.chaveId,virtualizar:t.virtualizar,rowHeight:t.rowHeight,indiceAtivo:t.indiceAtivo,isItemSelecionado:(i,e)=>t.selecaoController.isItemSelecionado(i,e),onLinhaClique:(i,e)=>{t.selecaoController.setItemSelecionado(i),t.host.dispatchEvent(new CustomEvent("ui-linha-clique",{bubbles:!0,composed:!0,detail:{item:i,indice:e}}))},formatWidth:H,getAlignmentClass:F,getTextAlign:q})}function de(t,i){let e=!1;const o=()=>{e||(window.requestAnimationFrame(()=>{i(),e=!1}),e=!0)};return t.addEventListener("scroll",o),o}function ce(t,i,e,o){return ee(t,i,e,o)}function V(t){const i=t.host.getAttribute("texto-vazio")||t.host.getAttribute("empty-text");i&&t.onTextoVazioAlterado(i);const e=t.host.getAttribute("virtualizar")||t.host.getAttribute("virtualize");e!==null&&t.onVirtualizarAlterado(e!=="false"),t.onSrcLido(t.host.getAttribute("src"));const o=t.host.hasAttribute("carregando")||t.host.hasAttribute("loading");t.onCarregandoAlterado(o),t.loadingElement&&(t.loadingElement.style.display=o?"flex":"none")}function ue(t,i,e){if(V(e),t==="src"){i&&e.host.isConnected&&e.onCarregarSrc(i);return}if(t==="max-height"&&e.containerElement){e.containerElement.style.maxHeight=i||"";return}if((t==="texto-vazio"||t==="empty-text")&&e.emptyElement){const o=e.emptyElement.querySelector(".ui-tabela__empty-text");o&&i&&(o.textContent=i),e.onRenderBody();return}if(t==="carregando"||t==="loading"){e.loadingElement&&(e.loadingElement.style.display=i!==null?"flex":"none");return}if(t==="densidade"||t==="density"){e.onRenderBody();return}e.onRenderTotal()}class pe extends D.SafeHTMLElement{constructor(){super();m(this,"shadow");m(this,"_colunas",[]);m(this,"_textoVazio","Nenhum registro encontrado");m(this,"_virtualizar",!0);m(this,"_isResizing",!1);m(this,"_carregando",!1);m(this,"_src",null);m(this,"_containerElement",null);m(this,"_tableElement",null);m(this,"_theadElement",null);m(this,"_tbodyElement",null);m(this,"_colgroupElement",null);m(this,"_emptyElement",null);m(this,"_loadingElement",null);m(this,"_scrollHandler",null);m(this,"_activeResizeCleanup",null);m(this,"_headerListeners",new T.ListenerBag);m(this,"_corpoListeners",new T.ListenerBag);m(this,"_indiceAtivo",null);m(this,"_alturaLinhaMedida",null);m(this,"_cancelarCorrecaoRolagem",null);m(this,"remotaController");m(this,"selecaoController");m(this,"dadosController",new J);m(this,"handleFocoLinha",e=>{const o=e.target;o.parentElement!==this._tbodyElement||!o.hasAttribute("data-index")||this.definirLinhaAtiva(Number(o.getAttribute("data-index")))});m(this,"handleTecladoCorpo",e=>{const o=e.target;if(o.parentElement!==this._tbodyElement||!o.hasAttribute("data-index"))return;const r=Number(o.getAttribute("data-index")),a=this.dadosController.getDadosExibicao().length-1;let n;switch(e.key){case"ArrowDown":n=Math.min(a,r+1);break;case"ArrowUp":n=Math.max(0,r-1);break;case"Home":n=0;break;case"End":n=a;break;case"PageDown":n=Math.min(a,r+this.linhasPorPagina());break;case"PageUp":n=Math.max(0,r-this.linhasPorPagina());break;case"Enter":case" ":e.preventDefault(),o.click();return;default:return}e.preventDefault(),this.focarLinha(n)});this.shadow=this.attachShadow({mode:"open"}),this.remotaController=new Y({host:this,onCarregandoAlterado:e=>{this.carregando=e},onDadosRecebidos:e=>{this.dados=e}}),this.selecaoController=new K({host:this,getTbody:()=>this._tbodyElement,getDadosExibicao:()=>this.dadosController.getDadosExibicao(),getDadosOriginais:()=>this.dadosController.getDadosOriginais(),getChaveId:()=>this.chaveId,onRolarParaIndice:(e,o)=>this.posicionarLinha(e,o),onLinhaAtiva:e=>this.definirLinhaAtiva(e)})}static get observedAttributes(){return["texto-vazio","empty-text","max-height","densidade","density","altura-linha","row-height","virtualizar","virtualize","src","carregando","loading","chave-id","id-key","aria-label"]}connectedCallback(){this.syncAttributes(),this.alturaLinha&&this.style.setProperty("--ui-tabela-altura-linha",`${this.alturaLinha}px`),!this.hasAttribute("densidade")&&!this.hasAttribute("density")&&this.setAttribute("densidade","normal"),this.renderTotal(),this._src&&this.remotaController.carregar(this._src)}disconnectedCallback(){this.cleanupEventListeners()}attributeChangedCallback(e,o,r){(e==="densidade"||e==="density"||e==="altura-linha"||e==="row-height")&&(this._alturaLinhaMedida=null),(e==="altura-linha"||e==="row-height")&&this.aplicarAlturaLinha(),(e==="chave-id"||e==="id-key")&&this.atualizarContextoSelecao(),ue(e,r,this.obterContextoAtributos()),this.sincronizarAria()}sincronizarAria(){if(!this._tableElement)return;const e=this.getAttribute("aria-label");e?this._tableElement.setAttribute("aria-label",e):this._tableElement.removeAttribute("aria-label"),this._tableElement.setAttribute("aria-busy",String(this._carregando))}syncAttributes(){V(this.obterContextoAtributos())}obterContextoAtributos(){return{host:this,containerElement:this._containerElement,emptyElement:this._emptyElement,loadingElement:this._loadingElement,onTextoVazioAlterado:e=>{this._textoVazio=e},onVirtualizarAlterado:e=>{this._virtualizar=e},onSrcLido:e=>{this._src=e},onCarregarSrc:e=>{this.remotaController.carregar(e)},onCarregandoAlterado:e=>{this._carregando=e},onRenderBody:()=>this.renderBody(),onRenderTotal:()=>this.renderTotal()}}get src(){return this._src}set src(e){this._src=e,e?this.setAttribute("src",e):this.removeAttribute("src")}get carregando(){return this._carregando}set carregando(e){this._carregando=!!e,this._carregando?this.setAttribute("carregando",""):(this.removeAttribute("carregando"),this.removeAttribute("loading")),this._loadingElement&&(this._loadingElement.style.display=this._carregando?"flex":"none"),this.sincronizarAria()}async carregarDoEndpoint(e){await this.remotaController.carregar(e||this._src||"")}async recarregar(){this._src?await this.remotaController.carregar(this._src):(this.dadosController.aplicarOrdenacao(),this.atualizarContextoSelecao(),this.renderBody())}filtrar(e){this.dadosController.filtrar(e),this.atualizarContextoSelecao(),this.renderBody()}cleanupEventListeners(){var e;this._containerElement&&this._scrollHandler&&(this._containerElement.removeEventListener("scroll",this._scrollHandler),this._scrollHandler=null),this._activeResizeCleanup&&(this._activeResizeCleanup(),this._activeResizeCleanup=null),(e=this._cancelarCorrecaoRolagem)==null||e.call(this),this.remotaController.abortar(),this._headerListeners.cleanup(),this._corpoListeners.cleanup()}get colunas(){return this._colunas}set colunas(e){this._colunas=Array.isArray(e)?e:[],this.dadosController.setColunasFiltro(this._colunas.map(o=>o.id)),this._alturaLinhaMedida=null,this.renderTotal()}get dados(){return this.dadosController.getDadosOriginais()}set dados(e){this.dadosController.setDadosOriginais(e),this.atualizarContextoSelecao(),this.renderBody()}get itens(){return this.dados}set itens(e){this.dados=e}get chaveId(){return this.getAttribute("chave-id")||this.getAttribute("id-key")||"id"}set chaveId(e){e?this.setAttribute("chave-id",e):(this.removeAttribute("chave-id"),this.removeAttribute("id-key")),this.atualizarContextoSelecao()}get itemSelecionado(){return this.selecaoController.getItemSelecionado()}set itemSelecionado(e){this.selecaoController.setItemSelecionado(e)}get indiceSelecionado(){return this.selecaoController.getIndiceSelecionado()}set indiceSelecionado(e){this.selecaoController.setIndiceSelecionado(e)}limparSelecao(){this.selecaoController.limparSelecao()}get densidade(){const e=this.getAttribute("densidade")||this.getAttribute("density");return e==="compacta"||e==="compact"?"compacta":e==="relaxada"||e==="relaxed"?"relaxada":"normal"}set densidade(e){e?this.setAttribute("densidade",e):(this.removeAttribute("densidade"),this.removeAttribute("density")),this.renderBody()}get virtualizar(){return this._virtualizar}set virtualizar(e){this._virtualizar=!!e,e?this.setAttribute("virtualizar","true"):this.removeAttribute("virtualizar"),this.renderTotal()}get colunaOrdenada(){return this.dadosController.getColunaOrdenada()}set colunaOrdenada(e){this.dadosController.setColunaOrdenada(e),this.atualizarContextoSelecao(),this.renderHeader(),this.renderBody()}get direcaoOrdenacao(){return this.dadosController.getDirecaoOrdenacao()}set direcaoOrdenacao(e){this.dadosController.setDirecaoOrdenacao(e),this.atualizarContextoSelecao(),this.renderHeader(),this.renderBody()}get textoVazio(){return this._textoVazio}set textoVazio(e){this._textoVazio=e||"Nenhum registro encontrado",this.renderTotal()}handleHeaderClick(e){if(!e.ordenavel||this._isResizing)return;const o=this.dadosController.alternarOrdenacaoColuna(e);o&&(this.atualizarContextoSelecao(),this.renderHeader(),this.renderBody(),this.dispatchEvent(new CustomEvent("ui-sort",{detail:o,bubbles:!0,composed:!0})))}get alturaLinha(){const e=this.getAttribute("altura-linha")??this.getAttribute("row-height"),o=e===null?NaN:parseFloat(e);return Number.isFinite(o)&&o>0?o:null}set alturaLinha(e){e&&e>0?this.setAttribute("altura-linha",String(e)):(this.removeAttribute("altura-linha"),this.removeAttribute("row-height"))}aplicarAlturaLinha(){const e=this.alturaLinha;e?this.style.setProperty("--ui-tabela-altura-linha",`${e}px`):this.style.removeProperty("--ui-tabela-altura-linha"),this.renderBody()}getRowHeight(){return this.alturaLinha??this._alturaLinhaMedida??N(this.densidade)}medirAlturaLinha(){if(this._alturaLinhaMedida!==null||!this._tbodyElement)return;const e=this._tbodyElement.querySelectorAll("tr[data-index]");if(e.length===0)return;let o=0;e.forEach(a=>{o+=a.getBoundingClientRect().height});const r=o/e.length;r<=0||(this._alturaLinhaMedida=r,Math.abs(r-N(this.densidade))>.5&&this.renderBody())}atualizarContextoSelecao(){this.selecaoController.reconciliar(),this._indiceAtivo=this.selecaoController.getIndiceSelecionado()}renderTotal(){if(this.shadow){if(this._containerElement){if(this._containerElement.style.maxHeight=this.getAttribute("max-height")||"",this._emptyElement){const e=this._emptyElement.querySelector(".ui-tabela__empty-text");e&&(e.textContent=this._textoVazio)}}else{this.cleanupEventListeners();const e=ce(this.shadow,this._textoVazio,this.getAttribute("max-height"),this._carregando);this._containerElement=e.containerElement,this._tableElement=e.tableElement,this._colgroupElement=e.colgroupElement,this._theadElement=e.theadElement,this._tbodyElement=e.tbodyElement,this._emptyElement=e.emptyElement,this._loadingElement=e.loadingElement}this.renderHeader(),this.renderBody(),this._virtualizar&&this._containerElement&&!this._scrollHandler&&(this._scrollHandler=de(this._containerElement,()=>this.renderBody())),this._tbodyElement&&this._corpoListeners.size===0&&(this._corpoListeners.add(this._tbodyElement,"keydown",this.handleTecladoCorpo),this._corpoListeners.add(this._tbodyElement,"focusin",this.handleFocoLinha)),this.sincronizarAria()}}definirLinhaAtiva(e){this._indiceAtivo=e;const o=this._tbodyElement,r=o==null?void 0:o.querySelector(`tr[data-index="${e}"]`);!o||!r||(o.querySelectorAll('tr[tabindex="0"]').forEach(a=>{a!==r&&(a.tabIndex=-1)}),r.tabIndex=0)}linhasPorPagina(){var o,r;const e=(((o=this._containerElement)==null?void 0:o.clientHeight)??0)-(((r=this._theadElement)==null?void 0:r.offsetHeight)??0);return Math.max(1,Math.floor(e/this.getRowHeight()))}focarLinha(e){const o=this._containerElement,r=this._tbodyElement;if(!o||!r)return;this._indiceAtivo=e;const a=`tr[data-index="${e}"]`;let n=r.querySelector(a);if(n||(o.scrollTop=Math.max(0,e*this.getRowHeight()-o.clientHeight/2),this.renderBody(),n=r.querySelector(a)),!n)return;n.focus({preventScroll:!0});const s=this.deslocamentoAteLinha(n);s&&(o.scrollTop+=s)}deslocamentoAteLinha(e){var d;const o=this._containerElement,r=o.getBoundingClientRect(),a=e.getBoundingClientRect(),n=r.top+o.clientTop+(((d=this._theadElement)==null?void 0:d.offsetHeight)??0),s=r.top+o.clientTop+o.clientHeight;return a.top<n?a.top-n:a.bottom>s?Math.min(a.bottom-s,a.top-n):0}rolarContainer(e,o){const r=this._containerElement;o==="smooth"&&typeof r.scrollTo=="function"?r.scrollTo({top:e,behavior:"smooth"}):r.scrollTop=e}posicionarLinha(e,o){var c;const r=this._containerElement,a=this._tbodyElement;if(!r||!a)return!1;(c=this._cancelarCorrecaoRolagem)==null||c.call(this);const n=()=>a.querySelector(`tr[data-index="${e}"]`),s=h=>{const b=n();if(!b)return;const x=this.deslocamentoAteLinha(b);x&&this.rolarContainer(r.scrollTop+x,h)};if(n())return s(o),!0;const d=()=>{r.scrollTop=Math.max(0,e*this.getRowHeight()),this.renderBody(),s("auto"),this.renderBody()};if(o==="auto")return d(),!0;this.rolarContainer(Math.max(0,e*this.getRowHeight()),"smooth");let u=!0;const l=()=>{var h;u&&((h=this._cancelarCorrecaoRolagem)==null||h.call(this),this.renderBody(),n()?s("smooth"):d())},p=window.setTimeout(l,800);return r.addEventListener("scrollend",l,{once:!0}),this._cancelarCorrecaoRolagem=()=>{u=!1,window.clearTimeout(p),r.removeEventListener("scrollend",l),this._cancelarCorrecaoRolagem=null},!0}obterContextoRenderizador(){return{host:this,shadow:this.shadow,theadElement:this._theadElement,colgroupElement:this._colgroupElement,tbodyElement:this._tbodyElement,tableElement:this._tableElement,emptyElement:this._emptyElement,containerElement:this._containerElement,colunas:this._colunas,dadosController:this.dadosController,selecaoController:this.selecaoController,chaveId:this.chaveId,virtualizar:this._virtualizar,rowHeight:this.getRowHeight(),indiceAtivo:this._indiceAtivo,headerListeners:this._headerListeners,onSetIsResizing:e=>{this._isResizing=e},onActiveResizeCleanup:e=>{this._activeResizeCleanup=e},onHeaderClick:e=>this.handleHeaderClick(e)}}renderHeader(){se(this.obterContextoRenderizador())}renderBody(){le(this.obterContextoRenderizador()),this.medirAlturaLinha()}rolarPara(e,o){return this.selecaoController.rolarPara(e,o)}rolarParaIndice(e,o){return this.selecaoController.rolarPara(e,{...o,porIndice:!0})}}D.definirCustomElement("ui-tabela",pe);const z=Math.PI/180;function S(t){return Math.abs(t)<1e-12?0:Number(t.toPrecision(15))}const Ye={sqrt:Math.sqrt,abs:Math.abs,round:Math.round,floor:Math.floor,ceil:Math.ceil,sin:t=>S(Math.sin(t*z)),cos:t=>S(Math.cos(t*z)),tan:t=>S(Math.tan(t*z)),asin:t=>S(Math.asin(t)/z),acos:t=>S(Math.acos(t)/z),atan:t=>S(Math.atan(t)/z)};function R(t){if(!t||typeof t!="string")return null;let i=t.trim();if(!i)return null;i=i.replace(/(\d),(\d)/g,"$1.$2").replace(/,/g,"."),i=i.replace(/\bpi\b/gi,String(Math.PI)),i=i.replace(/\be\b/gi,String(Math.E));let e=0;function o(){return i[e]||""}function r(){return i[e++]||""}function a(){for(;e<i.length&&/\s/.test(i[e]);)e++}function n(){a();let l=s();for(a();e<i.length;){const p=o();if(p==="+"||p==="-"){r(),a();const c=e,h=s();a(),i.slice(c,e).includes("%")?l=p==="+"?l+l*h:l-l*h:l=p==="+"?l+h:l-h}else break}return l}function s(){a();let l=d();for(a();e<i.length;){const p=o();if(p==="*"||p==="/"||p==="x"||p==="X"){r(),a();const c=d();if(p==="/"&&c===0)throw new Error("Divisão por zero");l=p==="/"?l/c:l*c,a()}else break}return l}function d(){a();const l=o();if(l==="+"||l==="-"){r();const c=d();return l==="-"?-c:c}let p=u();if(a(),o()==="^"){r();const c=d();p=Math.pow(p,c)}else if(i.slice(e,e+2)==="**"){e+=2;const c=d();p=Math.pow(p,c)}return p}function u(){a();const l=o();if(l==="+"||l==="-"){r();const h=u();return l==="-"?-h:h}if(l==="("){r();const h=n();if(a(),r()!==")")throw new Error("Parêntese sem fechamento");return a(),o()==="%"?(r(),h/100):h}const p=i.slice(e).match(/^([a-zA-Z_]\w*)\s*\(/);if(p){const h=Ye[p[1].toLowerCase()];if(!h)throw new Error("Função desconhecida: "+p[1]);e+=p[0].length;const b=n();if(a(),r()!==")")throw new Error("Parêntese sem fechamento");const x=h(b);return a(),o()==="%"?(r(),x/100):x}const c=i.slice(e).match(/^([0-9]+(?:\.[0-9]+)?|\.[0-9]+)/);if(c){e+=c[0].length;let h=parseFloat(c[0]);return a(),o()==="%"&&(r(),h=h/100),h}throw new Error("Caractere inválido: "+l)}try{const l=n();return a(),e<i.length?null:isFinite(l)?l:null}catch{return null}}const Ge='.ui-prop__linha input:not([disabled]):not([type="color"]):not(.ui-prop__cor-picker-oculto), .ui-prop__linha select:not([disabled]), .ui-prop__linha .ui-prop__btn-acao-inline:not([disabled]), .ui-prop__linha .ui-prop__editor-booleano, .ui-prop__linha .ui-prop__editor-cor-container';function j(t,i){if(!t)return null;const e=String(i);return Array.from(t.querySelectorAll("[data-prop-id]")).find(o=>o.getAttribute("data-prop-id")===e)??null}const he=new WeakMap;function y(t,i){he.set(t,i)}function P(t,i,e){var a,n;const o=j(t,i),r=(a=o==null?void 0:o.querySelector(".ui-prop__col-valor"))==null?void 0:a.firstElementChild;r&&((n=he.get(r))==null||n(e))}function C(t,i,e=(r,a)=>r===String(a),o=r=>r==null||r===""?"—":String(r)){var n;(n=t.querySelector("option[data-externa]"))==null||n.remove();const r=Array.from(t.options).find(s=>!s.hasAttribute("data-acao")&&e(s.value,i));if(r){r.selected=!0;return}const a=document.createElement("option");a.value=i==null?"":String(i),a.textContent=o(i),a.setAttribute("data-externa",""),a.hidden=!0,t.insertBefore(a,t.firstChild),a.selected=!0}function me(t,i){const e=Array.from(t.querySelectorAll(Ge)),o=e.indexOf(i);if(o!==-1&&o+1<e.length){const r=e[o+1];r.focus(),r instanceof HTMLInputElement&&r.select()}}function $(t,i){var e;t.classList.toggle("ui-prop__categoria--aberta",i),(e=t.querySelector(".ui-prop__categoria-header"))==null||e.setAttribute("aria-expanded",String(i))}function ge(t,i){i.forEach(e=>e.aberto=!0),t.querySelectorAll(".ui-prop__categoria").forEach(e=>$(e,!0))}function be(t,i){i.forEach(e=>e.aberto=!1),t.querySelectorAll(".ui-prop__categoria").forEach(e=>$(e,!1))}function fe(t,i,e,o){const r=e.find(a=>a.id===o);if(r){r.aberto=r.aberto===!1;const a=Array.from(t.querySelectorAll("[data-cat-id]")).find(n=>n.getAttribute("data-cat-id")===o);a&&$(a,!!r.aberto),i.dispatchEvent(new CustomEvent("ui-categoria-toggle",{bubbles:!0,composed:!0,detail:{id:o,aberto:r.aberto}}))}}function xe(t){const i=document.createElement("span"),e=o=>{const r=typeof o=="number"||typeof o=="string"&&/^-?\d+(\.\d+)?$/.test(o.trim());i.className=`ui-prop__valor-readonly ${r?"ui-prop__valor-readonly--numero":""}`.trim(),i.textContent=o!=null?String(o):"—"};return e(t),y(i,e),i}function ve(t,i,e,o){const r=document.createElement("label");r.className="ui-prop__editor-booleano",r.setAttribute("role","checkbox"),r.tabIndex=0,r.setAttribute("aria-label",i.rotulo);const a=document.createElement("div");a.className="ui-prop__checkbox-custom";const n=document.createElement("span");n.className="ui-prop__booleano-rotulo";const s=u=>{const l=!!u;a.classList.toggle("ui-prop__checkbox-custom--marcado",l),a.textContent=l?"✓":"",n.textContent=l?"Sim":"Não",r.setAttribute("aria-checked",String(l))};s(e),y(r,s),r.appendChild(a),r.appendChild(n);const d=()=>{const u=!o.obterValorAtual(i.id);o.registrarAlteracao(t,i.id,u),s(u)};return r.addEventListener("click",u=>{u.preventDefault(),d()}),r.addEventListener("keydown",u=>{u.key===" "?(u.preventDefault(),d()):u.key==="Enter"&&(u.preventDefault(),o.focarProximoEditor(r))}),r}function _e(t,i,e,o){const r=document.createElement("select");return r.className="ui-prop__editor-select",r.setAttribute("aria-label",i.rotulo),(i.opcoes||[]).forEach(a=>{const n=document.createElement("option");n.value=String(a.id),n.textContent=a.rotulo,r.appendChild(n)}),C(r,e),y(r,a=>C(r,a)),r.addEventListener("change",()=>{const a=(i.opcoes||[]).find(n=>String(n.id)===r.value);o.registrarAlteracao(t,i.id,a?a.id:r.value),C(r,o.obterValorAtual(i.id))}),r.addEventListener("keydown",a=>{a.key==="Enter"&&o.focarProximoEditor(r)}),r}function Ee(t,i,e){const o=document.createElement("button");return o.type="button",o.className="ui-prop__btn-acao-inline",o.textContent=i.rotuloAcao||"Editar...",o.addEventListener("click",()=>{typeof i.onClickAcao=="function"&&i.onClickAcao(i),e.despacharEventoAcao(i,t)}),o}function we(t,i,e,o){const r=document.createElement("input");r.type="text",r.inputMode="decimal",r.autocomplete="off",r.spellcheck=!1,r.className="ui-prop__editor-input ui-prop__editor-input--numero",r.setAttribute("aria-label",i.rotulo),i.placeholder&&(r.placeholder=i.placeholder);const a=s=>{if(s==null||s==="")return"";const d=Number(s);return isNaN(d)?String(s):i.casasDecimais!==void 0?d.toFixed(i.casasDecimais):String(d)};r.value=a(e),y(r,s=>{r.value=a(s)}),r.addEventListener("focus",()=>{r.select()}),r.addEventListener("input",()=>{const s=r.value,d=/[\+\-\*\/\^\%\(\)]/.test(s)&&!/^[+-]?[0-9]*\.?[0-9]*$/.test(s.trim());r.classList.toggle("ui-prop__editor-input--calculando",d)});const n=()=>{r.classList.remove("ui-prop__editor-input--calculando");const s=r.value.trim();if(s===""){o.registrarAlteracao(t,i.id,null);return}const d=R(s);if(d!==null&&!isNaN(d)){let u=d;i.casasDecimais!==void 0&&(u=Number(d.toFixed(i.casasDecimais))),r.value=a(u),o.registrarAlteracao(t,i.id,u)}else r.value=a(o.obterValorAtual(i.id))};return r.addEventListener("change",n),r.addEventListener("blur",n),r.addEventListener("keydown",s=>{if(s.key==="Enter")n(),o.focarProximoEditor(r);else if(s.key==="Escape")r.classList.remove("ui-prop__editor-input--calculando"),r.value=a(o.obterValorAtual(i.id)),r.blur();else if(s.key==="ArrowUp"||s.key==="ArrowDown"){s.preventDefault();const u=R(r.value)??(Number(o.obterValorAtual(i.id))||0);let l=i.casasDecimais!==void 0?Math.pow(10,-i.casasDecimais):1;s.shiftKey?l*=10:s.altKey&&i.casasDecimais===void 0&&(l*=.1);let p=s.key==="ArrowUp"?u+l:u-l;i.casasDecimais!==void 0?p=Number(p.toFixed(i.casasDecimais)):p=Math.round(p*100)/100,r.value=a(p),o.registrarAlteracao(t,i.id,p)}}),r}function ye(t,i,e,o){const r=document.createElement("input");r.type="text",r.className="ui-prop__editor-input",r.setAttribute("aria-label",i.rotulo),i.placeholder&&(r.placeholder=i.placeholder),r.value=e!=null?String(e):"",y(r,n=>{r.value=n!=null?String(n):""}),r.addEventListener("focus",()=>{r.select()});const a=()=>{o.registrarAlteracao(t,i.id,r.value)};return r.addEventListener("change",a),r.addEventListener("keydown",n=>{n.key==="Enter"?(a(),o.focarProximoEditor(r)):n.key==="Escape"&&(r.value=String(o.obterValorAtual(i.id)??""),r.blur())}),r}const B=(t,i)=>t.toLowerCase()===String(i??"").toLowerCase();function W(t,i){i.forEach(e=>{const o=document.createElement("option");o.value=String(e.id),o.textContent=e.rotulo,t.appendChild(o)})}function Ce(t,i,e,o){const r=document.createElement("div");r.className="ui-prop__editor-linha-container";const a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttribute("class","ui-prop__linha-amostra-svg"),a.setAttribute("viewBox","0 0 44 12");const n=document.createElementNS("http://www.w3.org/2000/svg","line");n.setAttribute("x1","0"),n.setAttribute("y1","6"),n.setAttribute("x2","44"),n.setAttribute("y2","6");const s=l=>{const p=String(l||"").toLowerCase();p.includes("center")||p.includes("eixo")||p.includes("dashdot")||p.includes("traço-ponto")?n.setAttribute("stroke-dasharray","8,3,2,3"):p.includes("dash")||p.includes("tracej")||p.includes("hidden")?n.setAttribute("stroke-dasharray","6,3"):p.includes("dot")||p.includes("ponto")||p.includes("pontilh")?n.setAttribute("stroke-dasharray","2,3"):n.setAttribute("stroke-dasharray","none")};a.appendChild(n);const d=document.createElement("select");d.className="ui-prop__linha-select",d.setAttribute("aria-label",i.rotulo),W(d,i.opcoes&&i.opcoes.length>0?i.opcoes:[{id:"ByLayer",rotulo:"ByLayer"},{id:"ByBlock",rotulo:"ByBlock"},{id:"Continuous",rotulo:"Continuous"},{id:"Dashed",rotulo:"Dashed"},{id:"Hidden",rotulo:"Hidden"},{id:"Center",rotulo:"Center"},{id:"Dotted",rotulo:"Dotted"}]);const u=l=>{s(l),C(d,l,B)};return u(e),y(r,u),d.addEventListener("change",()=>{s(d.value),o.registrarAlteracao(t,i.id,d.value),C(d,d.value,B)}),d.addEventListener("keydown",l=>{l.key==="Enter"&&o.focarProximoEditor(d)}),r.appendChild(a),r.appendChild(d),r}function Ae(t,i,e,o){const r=document.createElement("div");r.className="ui-prop__editor-espessura-container";const a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttribute("class","ui-prop__espessura-amostra-svg"),a.setAttribute("viewBox","0 0 38 12");const n=document.createElementNS("http://www.w3.org/2000/svg","line");n.setAttribute("x1","0"),n.setAttribute("y1","6"),n.setAttribute("x2","38"),n.setAttribute("y2","6");const s=l=>{const p=parseFloat(String(l).replace(/[^0-9.]/g,""));return isNaN(p)||p<=0?1.5:Math.min(8,Math.max(1,p*8))};a.appendChild(n);const d=document.createElement("select");d.className="ui-prop__espessura-select",d.setAttribute("aria-label",i.rotulo),W(d,i.opcoes&&i.opcoes.length>0?i.opcoes:[{id:"ByLayer",rotulo:"ByLayer"},{id:"ByBlock",rotulo:"ByBlock"},{id:"0.00 mm",rotulo:"0.00 mm"},{id:"0.05 mm",rotulo:"0.05 mm"},{id:"0.09 mm",rotulo:"0.09 mm"},{id:"0.13 mm",rotulo:"0.13 mm"},{id:"0.15 mm",rotulo:"0.15 mm"},{id:"0.18 mm",rotulo:"0.18 mm"},{id:"0.20 mm",rotulo:"0.20 mm"},{id:"0.25 mm",rotulo:"0.25 mm"},{id:"0.30 mm",rotulo:"0.30 mm"},{id:"0.35 mm",rotulo:"0.35 mm"},{id:"0.40 mm",rotulo:"0.40 mm"},{id:"0.50 mm",rotulo:"0.50 mm"},{id:"0.60 mm",rotulo:"0.60 mm"},{id:"0.70 mm",rotulo:"0.70 mm"},{id:"1.00 mm",rotulo:"1.00 mm"},{id:"1.40 mm",rotulo:"1.40 mm"},{id:"2.00 mm",rotulo:"2.00 mm"}]);const u=l=>{n.setAttribute("stroke-width",String(s(l))),C(d,l,B)};return u(e),y(r,u),d.addEventListener("change",()=>{n.setAttribute("stroke-width",String(s(d.value))),o.registrarAlteracao(t,i.id,d.value),C(d,d.value,B)}),d.addEventListener("keydown",l=>{l.key==="Enter"&&o.focarProximoEditor(d)}),r.appendChild(a),r.appendChild(d),r}const U=[{nome:"Red",indice:1,hex:"#ff0000"},{nome:"Yellow",indice:2,hex:"#ffff00"},{nome:"Green",indice:3,hex:"#00ff00"},{nome:"Cyan",indice:4,hex:"#00ffff"},{nome:"Blue",indice:5,hex:"#0000ff"},{nome:"Magenta",indice:6,hex:"#ff00ff"},{nome:"White",indice:7,hex:"#ffffff"}],ke=/^#([0-9a-f]{3}|[0-9a-f]{6})$/i;function O(t){const i=String(t??"").trim().toLowerCase(),e=U.find(o=>String(o.indice)===i||o.nome.toLowerCase()===i);return e?e.nome.toLowerCase():i}function Ke(t){const i=O(t),e=U.find(o=>o.nome.toLowerCase()===i);return e?e.hex:ke.test(i)?i:"#ffffff"}function ze(t){return t.length===4?"#"+t.slice(1).split("").map(i=>i+i).join(""):t}function Se(t,i,e,o){const r=document.createElement("div");r.className="ui-prop__editor-cor-cad-container";const a=document.createElement("div");a.className="ui-prop__cor-amostra";const n=document.createElement("select");n.className="ui-prop__cor-cad-select",n.setAttribute("aria-label",i.rotulo),W(n,[{id:"ByLayer",rotulo:"ByLayer"},{id:"ByBlock",rotulo:"ByBlock"},...U.map(l=>({id:l.nome,rotulo:`${l.nome} (${l.indice})`}))]);const s=document.createElement("option");s.value="__escolher",s.textContent="Selecionar cor...",s.setAttribute("data-acao",""),n.appendChild(s);const d=document.createElement("input");d.type="color",d.className="ui-prop__cor-picker-oculto",d.tabIndex=-1;const u=l=>{const p=Ke(l);a.style.backgroundColor=p,d.value=ze(p),C(n,l,(c,h)=>O(c)===O(h),c=>c==null||c===""?"—":String(c))};return u(e),y(r,u),d.addEventListener("input",()=>{a.style.backgroundColor=d.value}),d.addEventListener("change",()=>{o.registrarAlteracao(t,i.id,d.value),u(o.obterValorAtual(i.id))}),n.addEventListener("change",()=>{if(n.value==="__escolher"){u(o.obterValorAtual(i.id)),d.click();return}o.registrarAlteracao(t,i.id,n.value),u(o.obterValorAtual(i.id))}),n.addEventListener("keydown",l=>{l.key==="Enter"&&o.focarProximoEditor(n)}),r.appendChild(a),r.appendChild(n),r.appendChild(d),r}function Le(t,i,e,o){const r=document.createElement("div");r.className="ui-prop__editor-cor-container",r.setAttribute("role","button"),r.tabIndex=0;const a=document.createElement("div");a.className="ui-prop__cor-amostra";const n=document.createElement("span");n.className="ui-prop__cor-texto";const s=document.createElement("input");s.type="color",s.className="ui-prop__cor-picker-oculto",s.tabIndex=-1;const d=u=>{const l=typeof u=="string"&&ke.test(u)?ze(u):null;a.style.backgroundColor=u||"#ffffff",n.textContent=i.textoAmostra||String(u||"ByLayer"),s.value=l??"#ffffff",r.setAttribute("aria-label",`${i.rotulo}: ${u||"ByLayer"}`)};return d(e),y(r,d),s.addEventListener("input",()=>{a.style.backgroundColor=s.value,n.textContent=i.textoAmostra||s.value}),s.addEventListener("change",()=>{o.registrarAlteracao(t,i.id,s.value),d(o.obterValorAtual(i.id))}),r.addEventListener("click",u=>{u.target!==s&&s.click()}),r.addEventListener("keydown",u=>{(u.key===" "||u.key==="Enter")&&(u.preventDefault(),s.click())}),r.appendChild(a),r.appendChild(n),r.appendChild(s),r}function Me(t,i,e,o){return i.somenteLeitura||i.tipo==="readonly"?xe(e):i.tipo==="booleano"?ve(t,i,e,o):i.tipo==="linha"||i.tipo==="linetype"?Ce(t,i,e,o):i.tipo==="espessura"||i.tipo==="lineweight"?Ae(t,i,e,o):i.tipo==="cor-cad"?Se(t,i,e,o):i.tipo==="selecao"?_e(t,i,e,o):i.tipo==="cor"?Le(t,i,e,o):i.tipo==="acao"?Ee(t,i,o):i.tipo==="numero"?we(t,i,e,o):ye(t,i,e,o)}function Te(t){if(!t.tipoContainerElement)return;if(!t.tipos||t.tipos.length===0){t.tipoContainerElement.style.display="none";return}t.tipoContainerElement.style.display="flex",t.tipoContainerElement.innerHTML="";const i=t.tipos.find(e=>String(e.id)===String(t.tipoSelecionadoId))||t.tipos[0];if(t.estiloVisual==="revit"){const e=document.createElement("div");e.className="ui-prop__tipo-revit-card";const o=document.createElement("div");o.className="ui-prop__tipo-miniatura";const r=i.iconeSvg?$e.higienizarSvg(i.iconeSvg):null;r?o.appendChild(r):o.innerHTML=`
|
|
12
|
-
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
13
|
-
<rect x="3" y="3" width="18" height="18" rx="2"></rect>
|
|
14
|
-
<path d="M3 9h18M9 21V9"></path>
|
|
15
|
-
</svg>
|
|
16
|
-
`;const a=document.createElement("div");a.className="ui-prop__tipo-info";const n=document.createElement("div");n.className="ui-prop__tipo-nome",n.textContent=i.rotulo;const s=document.createElement("div");s.className="ui-prop__tipo-subtexto",s.textContent=i.subtipo||"Tipo de Família",a.appendChild(n),a.appendChild(s),e.appendChild(o),e.appendChild(a);const d=document.createElement("div");d.className="ui-prop__tipo-revit-subbarra";const u=document.createElement("select");u.className="ui-prop__tipo-select",t.tipos.forEach(p=>{const c=document.createElement("option");c.value=p.id,c.textContent=`${p.rotulo}${p.subtipo?` : ${p.subtipo}`:""}`,String(p.id)===String(t.tipoSelecionadoId)&&(c.selected=!0),u.appendChild(c)}),u.addEventListener("change",()=>{t.onSelecionarTipo(u.value)});const l=document.createElement("button");l.type="button",l.className="ui-prop__btn-editar-tipo",l.innerHTML=`
|
|
17
|
-
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="margin-right: 4px; vertical-align: -1px;">
|
|
18
|
-
<rect x="3" y="3" width="12" height="12" rx="1"></rect>
|
|
19
|
-
<rect x="9" y="9" width="12" height="12" rx="1"></rect>
|
|
20
|
-
</svg>
|
|
21
|
-
<span>Editar tipo</span>
|
|
22
|
-
`,l.addEventListener("click",()=>{t.onEditarTipo(i)}),d.appendChild(u),d.appendChild(l),t.tipoContainerElement.appendChild(e),t.tipoContainerElement.appendChild(d)}else{const e=document.createElement("div");e.className="ui-prop__tipo-autocad-bar";const o=document.createElement("select");o.className="ui-prop__tipo-select",t.tipos.forEach(d=>{const u=document.createElement("option");u.value=d.id,u.textContent=d.rotulo,String(d.id)===String(t.tipoSelecionadoId)&&(u.selected=!0),o.appendChild(u)}),o.addEventListener("change",()=>{t.onSelecionarTipo(o.value)});const r=document.createElement("div");r.className="ui-prop__tipo-autocad-acoes";const a=document.createElement("button");a.type="button",a.className="ui-prop__btn-autocad",a.title="Seleção rápida",a.setAttribute("aria-label","Seleção rápida"),a.innerHTML=`
|
|
23
|
-
<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
24
|
-
<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"></polygon>
|
|
25
|
-
</svg>
|
|
26
|
-
`,a.addEventListener("click",()=>{t.onQuickSelect(i)});const n=document.createElement("button");n.type="button",n.className="ui-prop__btn-autocad",n.title="Selecionar objetos",n.setAttribute("aria-label","Selecionar objetos"),n.innerHTML=`
|
|
27
|
-
<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
28
|
-
<circle cx="12" cy="12" r="7"></circle>
|
|
29
|
-
<line x1="12" y1="2" x2="12" y2="7"></line>
|
|
30
|
-
<line x1="12" y1="17" x2="12" y2="22"></line>
|
|
31
|
-
<line x1="2" y1="12" x2="7" y2="12"></line>
|
|
32
|
-
<line x1="17" y1="12" x2="22" y2="12"></line>
|
|
33
|
-
<line x1="12" y1="9" x2="12" y2="15" stroke-width="2.5"></line>
|
|
34
|
-
<line x1="9" y1="12" x2="15" y2="12" stroke-width="2.5"></line>
|
|
35
|
-
</svg>
|
|
36
|
-
`,n.addEventListener("click",()=>{t.onSelectObjects(i)});const s=document.createElement("button");s.type="button",s.className="ui-prop__btn-autocad",s.title="Calculadora rápida",s.setAttribute("aria-label","Calculadora rápida"),s.innerHTML=`
|
|
37
|
-
<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
38
|
-
<rect x="4" y="2" width="16" height="20" rx="2"></rect>
|
|
39
|
-
<line x1="8" y1="6" x2="16" y2="6"></line>
|
|
40
|
-
<circle cx="8" cy="11" r="1" fill="currentColor"></circle>
|
|
41
|
-
<circle cx="12" cy="11" r="1" fill="currentColor"></circle>
|
|
42
|
-
<circle cx="16" cy="11" r="1" fill="currentColor"></circle>
|
|
43
|
-
<circle cx="8" cy="15" r="1" fill="currentColor"></circle>
|
|
44
|
-
<circle cx="12" cy="15" r="1" fill="currentColor"></circle>
|
|
45
|
-
<circle cx="16" cy="15" r="1" fill="currentColor"></circle>
|
|
46
|
-
</svg>
|
|
47
|
-
`,s.addEventListener("click",()=>{t.onCalculadora(i)}),r.appendChild(a),r.appendChild(n),r.appendChild(s),e.appendChild(o),e.appendChild(r),t.tipoContainerElement.appendChild(e)}}function Be(t){let i=45;function e(r){const a=Math.max(20,Math.min(65,r));return i=a,t.hostElement.style.setProperty("--ui-prop-rotulo-largura",`${a}%`),t.splitterElement&&(t.splitterElement.style.left=`calc(${a}% - 4px)`),a}function o(){if(!t.splitterElement||!t.corpoElement)return;t.splitterListeners.cleanup();let r=!1;const a=n=>{if(n.button!==0)return;n.preventDefault(),n.stopPropagation(),r=!0,t.splitterElement.classList.add("ui-prop__splitter--ativo");try{t.splitterElement.setPointerCapture(n.pointerId)}catch{}const s=t.corpoElement.getBoundingClientRect(),d=l=>{if(!r)return;const p=s.width;if(p<=0)return;const c=l.clientX-s.left;let g=Math.max(80,Math.min(p-130,c))/p*100;g=Math.max(20,Math.min(65,g)),e(g)},u=l=>{if(r){r=!1,t.splitterElement.classList.remove("ui-prop__splitter--ativo");try{t.splitterElement.hasPointerCapture(l.pointerId)&&t.splitterElement.releasePointerCapture(l.pointerId)}catch{}t.splitterElement.removeEventListener("pointermove",d),t.splitterElement.removeEventListener("pointerup",u),t.splitterElement.removeEventListener("pointercancel",u),t.onLarguraAlterada(i),t.hostElement.dispatchEvent(new CustomEvent("ui-splitter-resize",{bubbles:!0,composed:!0,detail:{larguraPorcentagem:i}}))}};t.splitterElement.addEventListener("pointermove",d),t.splitterElement.addEventListener("pointerup",u),t.splitterElement.addEventListener("pointercancel",u)};t.splitterListeners.add(t.splitterElement,"pointerdown",a),t.splitterListeners.add(t.splitterElement,"dblclick",()=>{e(45),t.onLarguraAlterada(45),t.hostElement.dispatchEvent(new CustomEvent("ui-splitter-resize",{bubbles:!0,composed:!0,detail:{larguraPorcentagem:45}}))})}return{init:o,definirLarguraRotulo:e}}const Qe=`:host{display:flex;flex-direction:column;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif);font-size:var(--ui-tamanho-corpo-sm, 12px);color:var(--ui-cor-texto, #e1e1e6);background-color:var(--ui-cor-superficie, #141417);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:var(--ui-raio-borda, 4px);overflow:hidden;width:100%;max-width:100%;height:100%;min-height:200px;-webkit-user-select:none;user-select:none;--ui-prop-altura-linha: 22px;--ui-prop-rotulo-largura: 45%}:host([densidade="compacta"]){--ui-prop-altura-linha: 19px;font-size:10.5px}:host([densidade="ultracompacta"]){--ui-prop-altura-linha: 17px;font-size:10px}:host([densidade="relaxada"]){--ui-prop-altura-linha: 28px;font-size:12px}:host([colapsado]){width:32px!important;min-width:32px!important;max-width:32px!important;height:100%!important;cursor:pointer;transition:width .2s cubic-bezier(.4,0,.2,1)}:host([colapsado]) .ui-prop__header,:host([colapsado]) .ui-prop__tipo-seletor-container,:host([colapsado]) .ui-prop__filtro-container,:host([colapsado]) .ui-prop__corpo-wrapper,:host([colapsado]) .ui-prop__footer,:host([colapsado]) .ui-prop__resizer-canto{display:none!important}:host([colapsado]) .ui-prop__faixa-estreita{display:flex!important;flex-direction:column;align-items:center;width:100%;height:100%;padding:8px 0;gap:10px;box-sizing:border-box;background-color:var(--ui-cor-fundo-elevado, #18181d);-webkit-user-select:none;user-select:none;cursor:pointer}.ui-prop__faixa-estreita{display:none}.ui-prop__faixa-icone{display:flex;align-items:center;justify-content:center;color:var(--ui-cor-destaque, #00E08A);flex-shrink:0}.ui-prop__faixa-btn-expandir{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 5%,transparent);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:3px;color:var(--ui-cor-texto, #e1e1e6);cursor:pointer;padding:0;transition:all .15s ease;flex-shrink:0}.ui-prop__faixa-btn-expandir:hover{background-color:var(--ui-cor-destaque, #00E08A);color:#000;border-color:var(--ui-cor-destaque, #00E08A)}.ui-prop__faixa-texto{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--ui-cor-texto-secundario, #888899);margin-top:8px;flex:1;pointer-events:none}:host([colapsado]):hover .ui-prop__faixa-texto{color:var(--ui-cor-texto, #ffffff)}:host([flutuante]){position:fixed!important;z-index:var(--ui-z-docked-bar, 600)!important;box-shadow:var(--ui-sombra-lg, 0 16px 48px rgba(0, 0, 0, .75)),0 0 0 1px color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 14%,transparent),0 6px 14px #00000080!important;border-radius:6px!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);resize:both;overflow:hidden;max-width:95vw;max-height:95vh;min-width:220px;min-height:200px}:host([flutuante]) .ui-prop__header{cursor:grab;-webkit-user-select:none;user-select:none}:host([flutuante].arrastando) .ui-prop__header{cursor:grabbing!important}.ui-prop__resizer-canto{display:none}:host([flutuante]) .ui-prop__resizer-canto{display:block;position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:nwse-resize;z-index:50;background:linear-gradient(135deg,transparent 50%,color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 25%,transparent) 50%,color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 25%,transparent) 65%,transparent 65%,transparent 80%,color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 25%,transparent) 80%);pointer-events:auto}.ui-prop__btn-icone--ativo{background-color:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 18%,transparent)!important;color:var(--ui-cor-destaque, #00E08A)!important}.ui-prop__container{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;flex:1;overflow:hidden;box-sizing:border-box}.ui-prop__header{display:flex;align-items:center;justify-content:space-between;height:22px;min-height:22px;padding:0 8px;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));flex-shrink:0;box-sizing:border-box}:host([densidade="compacta"]) .ui-prop__header{height:20px;min-height:20px;padding:0 6px}:host([densidade="ultracompacta"]) .ui-prop__header{height:18px;min-height:18px;padding:0 5px}.ui-prop__header-titulo{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;color:var(--ui-cor-texto, #ffffff);text-transform:uppercase;letter-spacing:.4px}:host([densidade="compacta"]) .ui-prop__header-titulo{font-size:10px;gap:4px}:host([densidade="ultracompacta"]) .ui-prop__header-titulo{font-size:9.5px;gap:3px}.ui-prop__header-icone{display:flex;align-items:center;color:var(--ui-cor-destaque, #00E08A)}.ui-prop__header-icone svg{width:12px;height:12px}:host([densidade="ultracompacta"]) .ui-prop__header-icone svg{width:10px;height:10px}.ui-prop__header-acoes{display:flex;align-items:center;gap:2px}.ui-prop__btn-icone{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:transparent;border:none;border-radius:2px;color:var(--ui-cor-texto-secundario, #888899);cursor:pointer;transition:all .15s ease;padding:0}.ui-prop__btn-icone:hover{background-color:var(--ui-cor-hover-menu, rgba(255, 255, 255, .08));color:var(--ui-cor-texto, #ffffff)}:host([densidade="compacta"]) .ui-prop__btn-icone{width:17px;height:17px}:host([densidade="ultracompacta"]) .ui-prop__btn-icone{width:16px;height:16px}.ui-prop__tipo-seletor-container{padding:3px 6px;background-color:var(--ui-cor-superficie, #141417);border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));display:flex;flex-direction:column;gap:3px;flex-shrink:0;box-sizing:border-box}:host([densidade="compacta"]) .ui-prop__tipo-seletor-container{padding:2px 5px;gap:2px}:host([densidade="ultracompacta"]) .ui-prop__tipo-seletor-container{padding:1px 4px;gap:1px}.ui-prop__tipo-revit-card{display:flex;align-items:center;gap:10px;background-color:var(--ui-cor-fundo-card, #18181c);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:var(--ui-raio-sm, 4px);padding:6px 8px;cursor:pointer;transition:border-color .15s ease}.ui-prop__tipo-revit-card:hover{border-color:var(--ui-cor-destaque, #00E08A)}.ui-prop__tipo-miniatura{width:32px;height:32px;border-radius:3px;background-color:var(--ui-cor-fundo-elevado, #24242a);display:flex;align-items:center;justify-content:center;color:var(--ui-cor-destaque, #00E08A);flex-shrink:0}.ui-prop__tipo-info{display:flex;flex-direction:column;flex:1;min-width:0}.ui-prop__tipo-nome{font-weight:600;font-size:12px;color:var(--ui-cor-texto, #ffffff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-prop__tipo-subtexto{font-size:11px;color:var(--ui-cor-texto-secundario, #888899);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-prop__tipo-revit-subbarra{display:flex;align-items:center;gap:6px}.ui-prop__tipo-select{flex:1;min-width:0;width:0;height:20px;background-color:transparent;color:var(--ui-cor-texto, #ffffff);border:none;border-radius:2px;padding:0 16px 0 2px;font-size:10.5px;font-weight:500;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='8' height='5' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23888899' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;background-size:8px 5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;box-sizing:border-box;transition:background-color .15s ease,color .15s ease}.ui-prop__tipo-select:hover{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 5%,transparent);color:#fff}.ui-prop__tipo-select:focus{background-color:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 8%,transparent);color:var(--ui-cor-destaque, #00E08A)}:host([densidade="compacta"]) .ui-prop__tipo-select{height:18px;font-size:10px;padding:0 14px 0 2px}:host([densidade="ultracompacta"]) .ui-prop__tipo-select{height:16px;font-size:9.5px;padding:0 12px 0 2px}.ui-prop__btn-editar-tipo{height:20px;padding:0 6px;background-color:transparent;border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:2px;color:var(--ui-cor-texto, #ffffff);font-size:10.5px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease}:host([densidade="compacta"]) .ui-prop__btn-editar-tipo{height:18px;font-size:10px}:host([densidade="ultracompacta"]) .ui-prop__btn-editar-tipo{height:16px;font-size:9.5px}.ui-prop__btn-editar-tipo:hover{background-color:var(--ui-cor-botao-secundario-hover, #2a2a34);border-color:var(--ui-cor-destaque, #00E08A)}.ui-prop__tipo-autocad-bar{display:flex;align-items:center;gap:2px;width:100%;min-width:0;box-sizing:border-box;background:transparent}.ui-prop__tipo-autocad-acoes{display:flex;align-items:center;gap:1px;flex-shrink:0;border-left:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));padding-left:3px;margin-left:1px}.ui-prop__btn-autocad{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;border-radius:2px;color:var(--ui-cor-texto-secundario, #888899);cursor:pointer;padding:0;transition:all .15s ease}:host([densidade="compacta"]) .ui-prop__btn-autocad{width:18px;height:18px}:host([densidade="ultracompacta"]) .ui-prop__btn-autocad{width:16px;height:16px}.ui-prop__btn-autocad:hover{background-color:var(--ui-cor-hover-menu, rgba(255, 255, 255, .1));color:var(--ui-cor-destaque, #00E08A)}.ui-prop__btn-autocad:active{transform:scale(.92);background-color:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 15%,transparent)}.ui-prop__filtro-container{display:flex;align-items:center;padding:4px 8px;background-color:var(--ui-cor-fundo, #0b0b0d);border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));gap:6px;flex-shrink:0}.ui-prop__filtro-icone{color:var(--ui-cor-texto-secundario, #888899);flex-shrink:0}.ui-prop__filtro-input{flex:1;background:transparent;border:none;outline:none;font-size:11px;color:var(--ui-cor-texto, #e1e1e6);padding:3px 0}.ui-prop__filtro-input::placeholder{color:var(--ui-cor-texto-secundario, #666677)}.ui-prop__corpo-wrapper{position:relative;flex:1;min-height:0;width:100%;overflow:hidden;display:flex;flex-direction:column}.ui-prop__corpo{flex:1;min-height:0;width:100%;overflow-y:auto;overflow-x:hidden;background-color:var(--ui-cor-superficie, #141417);position:relative;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 18%,transparent) var(--ui-cor-fundo, #0b0b0d)}.ui-prop__corpo::-webkit-scrollbar{width:8px}.ui-prop__corpo::-webkit-scrollbar-track{background:var(--ui-cor-fundo, #0b0b0d)}.ui-prop__corpo::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 18%,transparent);border-radius:var(--ui-raio-sm, 4px)}.ui-prop__corpo::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 30%,transparent)}.ui-prop__categoria{border-bottom:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .1))}.ui-prop__categoria-header{position:relative;z-index:25;display:flex;align-items:center;justify-content:space-between;height:21px;padding:0 6px;background-color:var(--ui-cor-fundo-elevado, #18181d);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:600;font-size:10.5px;color:var(--ui-cor-texto, #ffffff);border-top:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .05));transition:background-color .15s ease;box-sizing:border-box}:host([densidade="compacta"]) .ui-prop__categoria-header{height:19px;font-size:10px;padding:0 5px}:host([densidade="ultracompacta"]) .ui-prop__categoria-header{height:17px;font-size:9.5px;padding:0 4px}.ui-prop__categoria-header:hover{background-color:var(--ui-cor-hover-menu, rgba(255, 255, 255, .06))}.ui-prop__categoria-titulo-bloco{display:flex;align-items:center;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-prop__categoria-seta{display:inline-flex;align-items:center;justify-content:center;font-size:9px;width:12px;height:12px;color:var(--ui-cor-texto-secundario, #888899);transition:transform .15s ease}.ui-prop__categoria--aberta .ui-prop__categoria-seta{transform:rotate(90deg)}.ui-prop__categoria-contador{font-size:10px;font-weight:400;color:var(--ui-cor-texto-secundario, #888899)}.ui-prop__categoria-conteudo{display:none}.ui-prop__categoria--aberta .ui-prop__categoria-conteudo{display:block}.ui-prop__linha{display:flex;align-items:stretch;min-height:var(--ui-prop-altura-linha, 24px);border-bottom:1px dotted var(--ui-cor-borda, rgba(255, 255, 255, .08));box-sizing:border-box;position:relative;z-index:1;transition:background-color .1s ease}.ui-prop__linha:hover{background-color:var(--ui-cor-hover-menu, rgba(255, 255, 255, .04))}.ui-prop__linha:focus-within{background-color:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 8%,transparent)}.ui-prop__linha:focus-within .ui-prop__col-rotulo{color:var(--ui-cor-texto, #ffffff);font-weight:500}.ui-prop__linha--modificada{background-color:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 5%,transparent)}.ui-prop__col-rotulo{width:var(--ui-prop-rotulo-largura, 45%);padding:1px 4px 1px 8px;display:flex;align-items:center;color:var(--ui-cor-texto-secundario, #9999aa);border-right:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .08));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;position:relative;flex-shrink:0;box-sizing:border-box}:host([densidade="compacta"]) .ui-prop__col-rotulo{padding:0 4px 0 6px;font-size:10px}:host([densidade="ultracompacta"]) .ui-prop__col-rotulo{padding:0 3px 0 5px;font-size:9.5px}.ui-prop__col-rotulo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-prop__col-rotulo--scrub{cursor:ew-resize;-webkit-user-select:none;user-select:none;transition:color .15s ease,background-color .15s ease}.ui-prop__col-rotulo--scrub:hover{color:var(--ui-cor-destaque, #00E08A);background-color:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 5%,transparent)}.ui-prop__col-rotulo--arrastando{color:#000!important;background-color:var(--ui-cor-destaque, #00E08A)!important;font-weight:600;cursor:ew-resize!important}.ui-prop__col-rotulo--arrastando span{color:#000!important}.ui-prop__splitter{position:absolute;top:0;bottom:0;min-height:100%;left:calc(var(--ui-prop-rotulo-largura, 45%) - 4px);width:8px;cursor:col-resize;z-index:30;touch-action:none;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center}.ui-prop__splitter:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:2px;background-color:transparent;pointer-events:none;transition:background-color .15s ease,box-shadow .15s ease}.ui-prop__splitter:hover:after,.ui-prop__splitter--ativo:after{background-color:var(--ui-cor-destaque, #00E08A);box-shadow:0 0 6px color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 50%,transparent)}.ui-prop__splitter--ativo{background-color:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 8%,transparent)}.ui-prop__col-valor{width:calc(100% - var(--ui-prop-rotulo-largura, 45%));flex:1 1 0px;min-width:0!important;display:flex;align-items:stretch;padding:0;overflow:hidden;box-sizing:border-box;position:relative;transition:background-color .1s ease,box-shadow .1s ease}.ui-prop__col-valor:focus-within{background-color:var(--ui-cor-fundo, #0b0b0d);box-shadow:inset 0 0 0 1px var(--ui-cor-destaque, #00E08A)}.ui-prop__editor-input{width:100%;min-width:0;height:100%;min-height:var(--ui-prop-altura-linha, 24px);background:transparent;border:none;border-radius:0;color:var(--ui-cor-texto, #ffffff);font-family:inherit;font-size:11px;padding:0 8px;outline:none;box-sizing:border-box;transition:background-color .1s ease}.ui-prop__editor-input:hover{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 3%,transparent)}.ui-prop__editor-input--numero{text-align:right;font-family:var(--ui-fonte-codigo, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-variant-numeric:tabular-nums}.ui-prop__editor-input--calculando{color:var(--ui-cor-destaque, #00E08A)!important;font-weight:500}.ui-prop__col-valor:has(.ui-prop__editor-input--calculando){background-color:color-mix(in srgb,var(--ui-cor-primaria, #00E08A) 8%,transparent)!important;box-shadow:inset 0 0 0 1.5px var(--ui-cor-destaque, #00E08A)!important}.ui-prop__editor-select{flex:1 1 0px;min-width:0!important;width:0!important;max-width:100%;height:100%;min-height:var(--ui-prop-altura-linha, 24px);background-color:transparent;color:var(--ui-cor-texto, #ffffff);border:none;border-radius:0;font-size:11px;padding:0 20px 0 8px;outline:none;cursor:pointer;box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23888899' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:8px 5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;transition:background-color .1s ease}.ui-prop__editor-select:hover{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 3%,transparent)}.ui-prop__editor-select option{background-color:var(--ui-cor-fundo-elevado, #18181c);color:var(--ui-cor-texto, #ffffff)}.ui-prop__editor-cor-container{display:flex;align-items:center;gap:6px;width:100%;max-width:100%;min-width:0!important;height:100%;min-height:var(--ui-prop-altura-linha, 24px);cursor:pointer;padding:0 20px 0 8px;box-sizing:border-box;position:relative;border:none;border-radius:0;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23888899' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:8px 5px;transition:background-color .1s ease}.ui-prop__editor-cor-container:hover{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 4%,transparent)}.ui-prop__cor-amostra{width:13px;height:13px;border-radius:2px;border:1px solid color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 30%,transparent);flex-shrink:0;box-sizing:border-box}.ui-prop__cor-texto{flex:1 1 0px;min-width:0!important;width:0!important;font-size:11px;color:var(--ui-cor-texto, #ffffff);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-prop__cor-picker-oculto{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.ui-prop__editor-linha-container{display:flex;align-items:center;gap:6px;width:100%;max-width:100%;min-width:0!important;height:100%;min-height:var(--ui-prop-altura-linha, 24px);padding:0 0 0 8px;box-sizing:border-box;overflow:hidden;border:none;border-radius:0}.ui-prop__linha-amostra-svg{width:24px;height:10px;flex-shrink:0}.ui-prop__linha-amostra-svg line{stroke:var(--ui-cor-texto, #e1e1e6);stroke-width:1.5}.ui-prop__linha-select{flex:1 1 0px;min-width:0!important;width:0!important;max-width:100%;height:100%;background:transparent;color:var(--ui-cor-texto, #ffffff);border:none;border-radius:0;font-size:11px;padding:0 20px 0 4px;outline:none;cursor:pointer;box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23888899' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:8px 5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-prop__linha-select:hover{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 3%,transparent)}.ui-prop__linha-select option{background-color:var(--ui-cor-fundo-elevado, #18181c);color:var(--ui-cor-texto, #ffffff)}.ui-prop__editor-espessura-container{display:flex;align-items:center;gap:6px;width:100%;max-width:100%;min-width:0!important;height:100%;min-height:var(--ui-prop-altura-linha, 24px);padding:0 0 0 8px;box-sizing:border-box;overflow:hidden;border:none;border-radius:0}.ui-prop__espessura-amostra-svg{width:20px;height:10px;flex-shrink:0}.ui-prop__espessura-amostra-svg line{stroke:var(--ui-cor-texto, #e1e1e6)}.ui-prop__espessura-select{flex:1 1 0px;min-width:0!important;width:0!important;max-width:100%;height:100%;background:transparent;color:var(--ui-cor-texto, #ffffff);border:none;border-radius:0;font-size:11px;padding:0 20px 0 4px;outline:none;cursor:pointer;box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23888899' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:8px 5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-prop__espessura-select:hover{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 3%,transparent)}.ui-prop__espessura-select option{background-color:var(--ui-cor-fundo-elevado, #18181c);color:var(--ui-cor-texto, #ffffff)}.ui-prop__editor-cor-cad-container{display:flex;align-items:center;gap:6px;width:100%;max-width:100%;min-width:0!important;height:100%;min-height:var(--ui-prop-altura-linha, 24px);padding:0 0 0 8px;box-sizing:border-box;overflow:hidden;border:none;border-radius:0}.ui-prop__cor-cad-select{flex:1 1 0px;min-width:0!important;width:0!important;max-width:100%;height:100%;background:transparent;color:var(--ui-cor-texto, #ffffff);border:none;border-radius:0;font-size:11px;padding:0 20px 0 4px;outline:none;cursor:pointer;box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23888899' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;background-size:8px 5px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-prop__cor-cad-select:hover{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 3%,transparent)}.ui-prop__cor-cad-select option{background-color:var(--ui-cor-fundo-elevado, #18181c);color:var(--ui-cor-texto, #ffffff)}.ui-prop__editor-booleano{display:flex;align-items:center;gap:6px;width:100%;height:100%;min-height:var(--ui-prop-altura-linha, 24px);cursor:pointer;padding:0 8px;box-sizing:border-box;-webkit-user-select:none;user-select:none}.ui-prop__editor-booleano:hover{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 3%,transparent)}.ui-prop__checkbox-custom{width:13px;height:13px;border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .25));border-radius:2px;background-color:var(--ui-cor-fundo, #0b0b0d);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ui-prop__checkbox-custom--marcado{background-color:var(--ui-cor-destaque, #00E08A);border-color:var(--ui-cor-destaque, #00E08A);color:#000}.ui-prop__booleano-rotulo{font-size:11px;color:var(--ui-cor-texto, #ffffff)}.ui-prop__btn-acao-inline{width:100%;height:100%;min-height:var(--ui-prop-altura-linha, 24px);padding:0 8px;background-color:transparent;border:none;border-radius:0;color:var(--ui-cor-texto, #ffffff);font-size:11px;font-weight:500;cursor:pointer;white-space:nowrap;text-align:left;transition:all .15s ease;box-sizing:border-box}.ui-prop__btn-acao-inline:hover{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 4%,transparent);color:var(--ui-cor-destaque, #00E08A)}.ui-prop__valor-readonly{display:flex;align-items:center;width:100%;height:100%;min-height:var(--ui-prop-altura-linha, 24px);font-size:11px;color:var(--ui-cor-texto-secundario, #777788);padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;-webkit-user-select:text;user-select:text}.ui-prop__valor-readonly--numero{justify-content:flex-end;font-family:var(--ui-fonte-codigo, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-variant-numeric:tabular-nums}.ui-prop__unidade-sufixo{display:flex;align-items:center;font-size:10px;color:var(--ui-cor-texto-secundario, #777788);padding-right:8px;flex-shrink:0;-webkit-user-select:none;user-select:none}.ui-prop__vazio{padding:24px 16px;text-align:center;color:var(--ui-cor-texto-secundario, #888899);font-size:12px}.ui-prop__footer{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background-color:var(--ui-cor-fundo-elevado, #18181c);border-top:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .1));flex-shrink:0}.ui-prop__link-ajuda{font-size:11px;color:var(--ui-cor-destaque, #00E08A);text-decoration:none;cursor:pointer}.ui-prop__link-ajuda:hover{text-decoration:underline}.ui-prop__footer-botoes{display:flex;gap:6px}.ui-prop__btn-aplicar{height:24px;padding:0 12px;background-color:var(--ui-cor-destaque, #00E08A);color:#000;border:none;border-radius:3px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s ease}.ui-prop__btn-aplicar:disabled{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 10%,transparent);color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 30%,transparent);cursor:not-allowed}.ui-prop__btn-desfazer{height:24px;padding:0 8px;background:transparent;color:var(--ui-cor-texto-secundario, #888899);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));border-radius:3px;font-size:11px;cursor:pointer;transition:all .15s ease}.ui-prop__btn-desfazer:hover:not(:disabled){background-color:var(--ui-cor-hover-menu, rgba(255, 255, 255, .08));color:var(--ui-cor-texto, #ffffff)}.ui-prop__btn-desfazer:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 640px){:host{--ui-prop-altura-linha: 28px;font-size:13px}.ui-prop__btn-icone{min-width:28px;min-height:28px}.ui-prop__footer-botoes{gap:8px}.ui-prop__btn-aplicar,.ui-prop__btn-desfazer{height:30px;font-size:12px;padding:0 12px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ui-prop__editor-input,.ui-prop__editor-select{touch-action:manipulation;font-size:14px}}`;function Ze(){return`
|
|
48
|
-
<style>${Qe}</style>
|
|
49
|
-
<div class="ui-prop__container" id="container">
|
|
50
|
-
<!-- 0. Faixa Vertical da Coluna Estreita (visível quando colapsado) -->
|
|
51
|
-
<div class="ui-prop__faixa-estreita" id="faixa-estreita" title="Clique para expandir painel">
|
|
52
|
-
<span class="ui-prop__faixa-icone">
|
|
53
|
-
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
|
|
54
|
-
<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>
|
|
55
|
-
<line x1="3" y1="9" x2="21" y2="9"></line>
|
|
56
|
-
<line x1="9" y1="21" x2="9" y2="9"></line>
|
|
57
|
-
</svg>
|
|
58
|
-
</span>
|
|
59
|
-
<button type="button" class="ui-prop__faixa-btn-expandir" id="btn-expandir-faixa" title="Expandir painel de propriedades">
|
|
60
|
-
<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2">
|
|
61
|
-
<polyline points="9 18 15 12 9 6"></polyline>
|
|
62
|
-
<line x1="5" y1="5" x2="5" y2="19"></line>
|
|
63
|
-
</svg>
|
|
64
|
-
</button>
|
|
65
|
-
<span class="ui-prop__faixa-texto">PROPRIEDADES</span>
|
|
66
|
-
</div>
|
|
67
|
-
|
|
68
|
-
<!-- 1. Header Superior -->
|
|
69
|
-
<header class="ui-prop__header" id="header">
|
|
70
|
-
<div class="ui-prop__header-titulo">
|
|
71
|
-
<span class="ui-prop__header-icone">
|
|
72
|
-
<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
|
|
73
|
-
<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>
|
|
74
|
-
<line x1="3" y1="9" x2="21" y2="9"></line>
|
|
75
|
-
<line x1="9" y1="21" x2="9" y2="9"></line>
|
|
76
|
-
</svg>
|
|
77
|
-
</span>
|
|
78
|
-
<span id="header-titulo-texto">Propriedades</span>
|
|
79
|
-
</div>
|
|
80
|
-
<div class="ui-prop__header-acoes">
|
|
81
|
-
<button type="button" class="ui-prop__btn-icone" id="btn-flutuante" title="Desacoplar / Modo flutuante (CAD)" aria-label="Modo flutuante">
|
|
82
|
-
<svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round">
|
|
83
|
-
<rect x="3" y="3" width="14" height="14" rx="2"></rect>
|
|
84
|
-
<polyline points="15 3 21 3 21 9"></polyline>
|
|
85
|
-
<line x1="10" y1="14" x2="21" y2="3"></line>
|
|
86
|
-
</svg>
|
|
87
|
-
</button>
|
|
88
|
-
<button type="button" class="ui-prop__btn-icone" id="btn-colapsar-horizontal" title="Recolher para coluna estreita" aria-label="Recolher para coluna estreita">
|
|
89
|
-
<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round">
|
|
90
|
-
<polyline points="11 17 6 12 11 7"></polyline>
|
|
91
|
-
<line x1="18" y1="5" x2="18" y2="19"></line>
|
|
92
|
-
</svg>
|
|
93
|
-
</button>
|
|
94
|
-
<button type="button" class="ui-prop__btn-icone" id="btn-densidade" title="Alternar compressão vertical" aria-label="Alternar densidade vertical">
|
|
95
|
-
<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round">
|
|
96
|
-
<polyline points="4 7 12 11 20 7"></polyline>
|
|
97
|
-
<polyline points="4 17 12 13 20 17"></polyline>
|
|
98
|
-
<line x1="4" y1="12" x2="20" y2="12"></line>
|
|
99
|
-
</svg>
|
|
100
|
-
</button>
|
|
101
|
-
<button type="button" class="ui-prop__btn-icone" id="btn-expandir-tudo" title="Expandir/Recolher Tudo" aria-label="Expandir ou recolher tudo">
|
|
102
|
-
<svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
103
|
-
<polyline points="7 13 12 18 17 13"></polyline>
|
|
104
|
-
<polyline points="7 6 12 11 17 6"></polyline>
|
|
105
|
-
</svg>
|
|
106
|
-
</button>
|
|
107
|
-
<button type="button" class="ui-prop__btn-icone" id="btn-fechar" title="Fechar" aria-label="Fechar" style="display: none;">
|
|
108
|
-
✕
|
|
109
|
-
</button>
|
|
110
|
-
</div>
|
|
111
|
-
</header>
|
|
112
|
-
|
|
113
|
-
<!-- 2. Seletor de Tipo (AutoCAD / Revit) -->
|
|
114
|
-
<div class="ui-prop__tipo-seletor-container" id="tipo-container" style="display: none;"></div>
|
|
115
|
-
|
|
116
|
-
<!-- 3. Busca Rápida de Propriedades -->
|
|
117
|
-
<div class="ui-prop__filtro-container" id="filtro-container" style="display: none;">
|
|
118
|
-
<svg class="ui-prop__filtro-icone" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
|
|
119
|
-
<circle cx="11" cy="11" r="8"></circle>
|
|
120
|
-
<line x1="21" y1="21" x2="16.65" y2="16.65"></line>
|
|
121
|
-
</svg>
|
|
122
|
-
<input type="text" class="ui-prop__filtro-input" id="filtro-input" placeholder="Filtrar propriedades..." />
|
|
123
|
-
</div>
|
|
124
|
-
|
|
125
|
-
<!-- 4. Corpo Rolável com Grade de Categorias -->
|
|
126
|
-
<div class="ui-prop__corpo-wrapper" id="corpo-wrapper">
|
|
127
|
-
<div class="ui-prop__splitter" id="splitter"></div>
|
|
128
|
-
<div class="ui-prop__corpo" id="corpo">
|
|
129
|
-
<div class="ui-prop__lista-categorias" id="lista-categorias"></div>
|
|
130
|
-
</div>
|
|
131
|
-
</div>
|
|
132
|
-
|
|
133
|
-
<!-- 5. Rodapé com Ações (Aplicar / Desfazer) -->
|
|
134
|
-
<footer class="ui-prop__footer" id="footer" style="display: none;">
|
|
135
|
-
<a class="ui-prop__link-ajuda" id="link-ajuda" href="#" role="button">Ajuda de propriedades</a>
|
|
136
|
-
<div class="ui-prop__footer-botoes">
|
|
137
|
-
<button type="button" class="ui-prop__btn-desfazer" id="btn-desfazer" disabled>Desfazer</button>
|
|
138
|
-
<button type="button" class="ui-prop__btn-aplicar" id="btn-aplicar" disabled>Aplicar</button>
|
|
139
|
-
</div>
|
|
140
|
-
</footer>
|
|
141
|
-
|
|
142
|
-
<!-- 6. Grip para redimensionar no modo flutuante -->
|
|
143
|
-
<div class="ui-prop__resizer-canto" id="resizer-canto" title="Redimensionar"></div>
|
|
144
|
-
</div>
|
|
145
|
-
`}function L(t,i){return t==null&&i==null?!0:Object.is(t,i)}class De{constructor(i){m(this,"valoresOriginais",{});m(this,"valoresAtuais",{});this.ctx=i}inicializarCategorias(i){this.valoresOriginais={},this.valoresAtuais={};const e=new Set;i.forEach(o=>{(o.propriedades||[]).forEach(r=>{e.has(r.id)&&typeof console<"u"&&console.warn(`[ui-tabela-propriedades] id de propriedade repetido: "${r.id}". Os valores são indexados por id e serão compartilhados.`),e.add(r.id),this.valoresOriginais[r.id]=r.valor,this.valoresAtuais[r.id]=r.valor})}),this.ctx.onAtualizarBotoesFooter(!1)}get isDirty(){return Object.keys(this.valoresAtuais).some(i=>this.isModificada(i))}isModificada(i){return!L(this.valoresAtuais[i],this.valoresOriginais[i])}getValores(){return{...this.valoresAtuais}}getValoresOriginais(){return{...this.valoresOriginais}}setValores(i){!i||typeof i!="object"||(Object.keys(i).forEach(e=>{this.valoresAtuais[e]=i[e],this.valoresOriginais[e]=i[e]}),this.ctx.onAtualizarBotoesFooter(this.isDirty))}obterValor(i){return this.valoresAtuais[i]}definirValor(i,e,o=!0){const r=this.valoresAtuais[i];L(r,e)||(this.valoresAtuais[i]=e,this.aposAlterar(i),this.ctx.onAtualizarCampoVisual(i,e),o&&this.emitirAlteracao(i,e,r,this.categoriaDe(i)))}registrarAlteracao(i,e,o){const r=this.valoresAtuais[e];L(r,o)||(this.valoresAtuais[e]=o,this.aposAlterar(e),this.ctx.isModoManual()||this.emitirAlteracao(e,o,r,i))}aplicar(){var e;if(!this.isDirty)return;this.valoresOriginais={...this.valoresAtuais},this.ctx.onAtualizarBotoesFooter(!1);const i=(e=this.ctx.hostElement.shadowRoot)==null?void 0:e.querySelectorAll(".ui-prop__linha--modificada");i==null||i.forEach(o=>o.classList.remove("ui-prop__linha--modificada")),this.ctx.hostElement.dispatchEvent(new CustomEvent("ui-aplicar",{bubbles:!0,composed:!0,detail:{valores:{...this.valoresAtuais}}}))}desfazer(){this.isDirty&&(this.valoresAtuais={...this.valoresOriginais},this.ctx.onAtualizarBotoesFooter(!1),this.ctx.onRenderCategorias(),this.ctx.hostElement.dispatchEvent(new CustomEvent("ui-desfazer",{bubbles:!0,composed:!0,detail:{valores:{...this.valoresAtuais}}})))}aposAlterar(i){const e=j(this.ctx.hostElement.shadowRoot,i);e==null||e.classList.toggle("ui-prop__linha--modificada",this.isModificada(i)),this.ctx.onAtualizarBotoesFooter(this.isDirty)}categoriaDe(i){var e;for(const o of this.ctx.getCategorias())if((e=o.propriedades)!=null&&e.some(r=>r.id===i))return o.id;return""}emitirAlteracao(i,e,o,r=""){this.ctx.hostElement.dispatchEvent(new CustomEvent("ui-propriedade-alterada",{bubbles:!0,composed:!0,detail:{id:i,categoriaId:r,valor:e,valorAnterior:o,todosValores:{...this.valoresAtuais}}}))}}function Ie(t){const{listaContainer:i,categorias:e,termoBusca:o,onToggleCategoria:r,linhaCtx:a}=t;if(i.innerHTML="",!e||e.length===0){const s=document.createElement("div");s.className="ui-prop__vazio",s.textContent="Nenhuma propriedade disponível.",i.appendChild(s);return}const n=document.createDocumentFragment();e.forEach(s=>{const d=(s.propriedades||[]).filter(f=>o?f.rotulo.toLowerCase().includes(o)||String(f.id).toLowerCase().includes(o):!0);if(o&&d.length===0)return;const u=!!o||s.aberto!==!1,l=document.createElement("div");l.className=`ui-prop__categoria ${u?"ui-prop__categoria--aberta":""}`,l.setAttribute("data-cat-id",s.id);const p=document.createElement("div");p.className="ui-prop__categoria-header",p.setAttribute("role","button"),p.tabIndex=0,p.setAttribute("aria-expanded",String(u));const c=document.createElement("div");c.className="ui-prop__categoria-titulo-bloco";const h=document.createElement("span");h.className="ui-prop__categoria-seta",h.textContent="▶";const b=document.createElement("span");b.textContent=s.titulo,c.appendChild(h),c.appendChild(b);const x=document.createElement("span");x.className="ui-prop__categoria-contador",x.textContent=String(d.length),p.appendChild(c),p.appendChild(x),p.addEventListener("click",()=>r(s.id)),p.addEventListener("keydown",f=>{(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),r(s.id))});const g=document.createElement("div");g.className="ui-prop__categoria-conteudo",d.forEach(f=>{const _=Ne(s.id,f,a);g.appendChild(_)}),l.appendChild(p),l.appendChild(g),n.appendChild(l)}),i.appendChild(n)}function Ne(t,i,e){const o=document.createElement("div");o.className="ui-prop__linha",o.setAttribute("data-prop-id",i.id);const r=e.valoresAtuais[i.id]!==void 0?e.valoresAtuais[i.id]:i.valor,a=i.id in e.valoresOriginais?e.valoresOriginais[i.id]:i.valor;L(r,a)||o.classList.add("ui-prop__linha--modificada"),o.addEventListener("dblclick",()=>{const l=o.querySelector('input:not([type="color"]):not(.ui-prop__cor-picker-oculto), select, .ui-prop__btn-acao-inline');l&&(l.focus(),l instanceof HTMLInputElement&&l.select())});const n=document.createElement("div");n.className="ui-prop__col-rotulo",n.title=i.rotulo;const s=document.createElement("span");s.textContent=i.rotulo,n.appendChild(s),i.tipo==="numero"&&!i.somenteLeitura&&Je(n,t,i,e);const d=document.createElement("div");d.className="ui-prop__col-valor";const u=Me(t,i,r,e.editorCtx);if(d.appendChild(u),i.unidade){const l=document.createElement("span");l.className="ui-prop__unidade-sufixo",l.textContent=i.unidade,d.appendChild(l)}return o.appendChild(n),o.appendChild(d),o}function Je(t,i,e,o){t.classList.add("ui-prop__col-rotulo--scrub"),t.title=`${e.rotulo} (Arraste para ajustar, duplo-clique para editar)`;let r=0,a=0,n=!1;t.addEventListener("pointerdown",s=>{if(s.button!==0)return;r=s.clientX;const d=o.editorCtx.obterValorAtual(e.id);a=typeof d=="number"?d:parseFloat(String(d||0))||0,n=!1;try{t.setPointerCapture(s.pointerId)}catch{}t.classList.add("ui-prop__col-rotulo--arrastando");const u=p=>{const c=p.clientX-r;if(Math.abs(c)>2&&(n=!0),n){let h=1;p.shiftKey?h=.1:(p.ctrlKey||p.metaKey)&&(h=10);const b=e.casasDecimais!==void 0?e.casasDecimais:2,x=Math.pow(10,-Math.min(b,2));let g=a+c*x*h;e.casasDecimais!==void 0?g=Number(g.toFixed(e.casasDecimais)):g=Math.round(g*100)/100,o.editorCtx.registrarAlteracao(i,e.id,g),o.onAtualizarCampoVisual(e.id,g)}},l=p=>{t.classList.remove("ui-prop__col-rotulo--arrastando");try{t.hasPointerCapture(p.pointerId)&&t.releasePointerCapture(p.pointerId)}catch{}t.removeEventListener("pointermove",u),t.removeEventListener("pointerup",l),t.removeEventListener("pointercancel",l)};t.addEventListener("pointermove",u),t.addEventListener("pointerup",l),t.addEventListener("pointercancel",l)})}const X=300,et=480,M=new WeakMap;function Re(t){var o,r,a;const i=t.hasAttribute("flutuante"),e=t.style;if(i){const n=M.get(t)??{acoplado:{width:"",height:""}};n.flutuante={left:e.left,top:e.top,width:e.width,height:e.height},M.set(t,n),t.removeAttribute("flutuante"),e.left="",e.top="",e.right="",e.bottom="",e.position="",e.zIndex="",e.width=n.acoplado.width,e.height=n.acoplado.height}else{const n={acoplado:{width:e.width,height:e.height},flutuante:(o=M.get(t))==null?void 0:o.flutuante};if(M.set(t,n),t.setAttribute("flutuante",""),e.position="fixed",(r=n.flutuante)!=null&&r.left||(a=n.flutuante)!=null&&a.top)e.left=n.flutuante.left,e.top=n.flutuante.top,e.width=n.flutuante.width,e.height=n.flutuante.height;else if(!e.left&&!e.top){const s=Math.max(20,(typeof window<"u"?window.innerWidth:1024)-X-30);e.left=`${s}px`,e.top="70px",e.width=`${X}px`,e.height=`${et}px`}}return!i}function Pe(t,i,e){const o=i.getElementById("header");if(o){let a=null,n=0,s=0,d=0,u=0;const l=c=>{if(a===null)return;const h=c.clientX-n,b=c.clientY-s;let x=d+h,g=u+b;const f=Math.max(0,(typeof window<"u"?window.innerWidth:1024)-t.offsetWidth),_=Math.max(0,(typeof window<"u"?window.innerHeight:768)-30);x=Math.max(0,Math.min(f,x)),g=Math.max(0,Math.min(_,g)),t.style.left=`${x}px`,t.style.top=`${g}px`,t.style.right="auto",t.style.bottom="auto"},p=c=>{if(a!==null){try{o.releasePointerCapture(c.pointerId)}catch{}o.removeEventListener("pointermove",l),o.removeEventListener("pointerup",p),o.removeEventListener("pointercancel",p),a=null,t.classList.remove("arrastando"),t.dispatchEvent(new CustomEvent("ui-mover",{bubbles:!0,composed:!0,detail:{left:t.style.left,top:t.style.top}}))}};e.add(o,"pointerdown",c=>{if(!t.hasAttribute("flutuante")||c.target.closest("button, input, select, a")||c.button!==0)return;c.preventDefault(),a=c.pointerId,n=c.clientX,s=c.clientY;const b=t.getBoundingClientRect();d=b.left,u=b.top,t.classList.add("arrastando");try{o.setPointerCapture(c.pointerId)}catch{}o.addEventListener("pointermove",l),o.addEventListener("pointerup",p),o.addEventListener("pointercancel",p)})}const r=i.getElementById("resizer-canto");if(r){let a=null,n=0,s=0,d=0,u=0;const l=c=>{if(a===null)return;const h=Math.max(200,n+(c.clientX-d)),b=Math.max(180,s+(c.clientY-u));t.style.width=`${h}px`,t.style.height=`${b}px`},p=c=>{if(a!==null){try{r.releasePointerCapture(c.pointerId)}catch{}r.removeEventListener("pointermove",l),r.removeEventListener("pointerup",p),r.removeEventListener("pointercancel",p),a=null,t.dispatchEvent(new CustomEvent("ui-redimensionar",{bubbles:!0,composed:!0,detail:{width:t.style.width,height:t.style.height}}))}};e.add(r,"pointerdown",c=>{if(!t.hasAttribute("flutuante")||c.button!==0)return;c.preventDefault(),c.stopPropagation(),a=c.pointerId,d=c.clientX,u=c.clientY;const h=t.getBoundingClientRect();n=h.width,s=h.height;try{r.setPointerCapture(c.pointerId)}catch{}r.addEventListener("pointermove",l),r.addEventListener("pointerup",p),r.addEventListener("pointercancel",p)})}}function Oe(t){return t==="compacta"?"ultracompacta":t==="ultracompacta"?"padrao":"compacta"}function He(t){const{shadow:i,listeners:e,host:o,onToggleExpandirTodas:r,onFiltrar:a,onAplicar:n,onDesfazer:s,onAlternarDensidade:d,onAlternarFlutuante:u,onAlternarColapsoHorizontal:l}=t,p=i.getElementById("btn-flutuante");p&&u&&e.add(p,"click",u);const c=i.getElementById("btn-colapsar-horizontal");c&&l&&e.add(c,"click",l);const h=i.getElementById("faixa-estreita");h&&l&&e.add(h,"click",l);const b=i.getElementById("btn-expandir-faixa");b&&l&&e.add(b,"click",A=>{A.stopPropagation(),l()});const x=i.getElementById("btn-densidade");x&&d&&e.add(x,"click",d);const g=i.getElementById("btn-expandir-tudo");g&&e.add(g,"click",r);const f=i.getElementById("btn-fechar");f&&e.add(f,"click",()=>{o.dispatchEvent(new CustomEvent("ui-fechar",{bubbles:!0,composed:!0}))});const _=i.getElementById("filtro-input");_&&e.add(_,"input",()=>{const A=(_.value||"").trim().toLowerCase();a(A)});const E=i.getElementById("btn-aplicar");E&&e.add(E,"click",n);const w=i.getElementById("btn-desfazer");w&&e.add(w,"click",s);const v=i.getElementById("link-ajuda");v&&e.add(v,"click",A=>{A.preventDefault(),o.dispatchEvent(new CustomEvent("ui-ajuda",{bubbles:!0,composed:!0}))})}function k(t,i){const e=t.getElementById("header-titulo-texto");e&&(e.textContent=i.getAttribute("titulo")||"Propriedades");const o=t.getElementById("btn-fechar");o&&(o.style.display=i.hasAttribute("fechavel")?"inline-flex":"none");const r=t.getElementById("btn-flutuante");if(r){const u=i.hasAttribute("flutuante");r.title=u?"Acoplar painel (Dock)":"Desacoplar / Modo flutuante (CAD)",r.classList.toggle("ui-prop__btn-icone--ativo",u)}const a=t.getElementById("btn-colapsar-horizontal");if(a){const u=i.hasAttribute("colapsado");a.title=u?"Expandir painel":"Recolher para coluna estreita",a.classList.toggle("ui-prop__btn-icone--ativo",u)}const n=t.getElementById("btn-densidade");if(n){const u=i.getAttribute("densidade")||"padrão";n.title=`Compressão vertical: ${u} (clique para alternar)`}const s=t.getElementById("filtro-container");s&&(s.style.display=i.hasAttribute("filtro")?"flex":"none");const d=t.getElementById("footer");d&&(d.style.display=i.getAttribute("modo-aplicar")==="manual"?"flex":"none")}class Fe extends D.SafeHTMLElement{constructor(){super();m(this,"shadow");m(this,"listeners",new T.ListenerBag);m(this,"splitterListeners",new T.ListenerBag);m(this,"controladorSplitter");m(this,"gerenciadorValores");m(this,"_categorias",[]);m(this,"_tipos",[]);m(this,"_tipoSelecionadoId","");m(this,"_termoBusca","");m(this,"_larguraRotuloPorcentagem",45);m(this,"tipoContainerElement");m(this,"corpoElement");m(this,"btnAplicarElement");m(this,"btnDesfazerElement");m(this,"splitterElement");this.shadow=this.attachShadow({mode:"open"}),this.shadow.innerHTML=Ze(),this.tipoContainerElement=this.shadow.getElementById("tipo-container"),this.corpoElement=this.shadow.getElementById("corpo"),this.btnAplicarElement=this.shadow.getElementById("btn-aplicar"),this.btnDesfazerElement=this.shadow.getElementById("btn-desfazer"),this.splitterElement=this.shadow.getElementById("splitter"),this.gerenciadorValores=new De({hostElement:this,getCategorias:()=>this._categorias,onAtualizarBotoesFooter:e=>{this.btnAplicarElement.disabled=!e,this.btnDesfazerElement.disabled=!e},onAtualizarCampoVisual:(e,o)=>P(this.shadow,e,o),onRenderCategorias:()=>this.renderCategorias(),isModoManual:()=>this.getAttribute("modo-aplicar")==="manual"}),this.controladorSplitter=Be({hostElement:this,corpoElement:this.corpoElement,splitterElement:this.splitterElement,splitterListeners:this.splitterListeners,onLarguraAlterada:e=>{this._larguraRotuloPorcentagem=e}})}static get observedAttributes(){return["titulo","estilo-visual","modo-aplicar","filtro","densidade","largura-rotulo","fechavel","colapsado","flutuante"]}get larguraRotuloPorcentagem(){return this._larguraRotuloPorcentagem}connectedCallback(){this.listeners.cleanup(),He({shadow:this.shadow,listeners:this.listeners,host:this,onToggleExpandirTodas:()=>this.toggleExpandirTodas(),onFiltrar:e=>{this._termoBusca=e,this.renderCategorias()},onAplicar:()=>this.aplicar(),onDesfazer:()=>this.desfazer(),onAlternarDensidade:()=>this.alternarDensidade(),onAlternarFlutuante:()=>this.alternarFlutuante(),onAlternarColapsoHorizontal:()=>this.alternarColapsoHorizontal()}),Pe(this,this.shadow,this.listeners),this.controladorSplitter.init(),this.syncState()}disconnectedCallback(){this.listeners.cleanup(),this.splitterListeners.cleanup()}attributeChangedCallback(e,o,r){if(o!==r)switch(e){case"largura-rotulo":{const a=parseFloat(r??"");isNaN(a)||(this._larguraRotuloPorcentagem=this.controladorSplitter.definirLarguraRotulo(a));return}case"estilo-visual":this.renderSeletorTipos();return;case"filtro":if(k(this.shadow,this),r===null&&this._termoBusca){this._termoBusca="";const a=this.shadow.getElementById("filtro-input");a&&(a.value=""),this.renderCategorias()}return;default:k(this.shadow,this)}}get categorias(){return this._categorias}set categorias(e){this._categorias=Array.isArray(e)?e:[],this.gerenciadorValores.inicializarCategorias(this._categorias),this.renderCategorias()}get tipos(){return this._tipos}set tipos(e){this._tipos=Array.isArray(e)?e:[],this.renderSeletorTipos()}get tipoSelecionado(){return this._tipoSelecionadoId}set tipoSelecionado(e){this._tipoSelecionadoId=e,this.renderSeletorTipos()}get valores(){return this.gerenciadorValores.getValores()}set valores(e){this.gerenciadorValores.setValores(e),this.renderCategorias()}get isDirty(){return this.gerenciadorValores.isDirty}get dirty(){return this.gerenciadorValores.isDirty}obterValor(e){return this.gerenciadorValores.obterValor(e)}definirValor(e,o,r=!0){this.gerenciadorValores.definirValor(e,o,r)}aplicar(){this.gerenciadorValores.aplicar()}desfazer(){this.gerenciadorValores.desfazer()}expandirTudo(){ge(this.shadow,this._categorias)}colapsarTudo(){be(this.shadow,this._categorias)}toggleCategoria(e){fe(this.shadow,this,this._categorias,e)}get densidade(){return this.getAttribute("densidade")||"padrao"}set densidade(e){!e||e==="padrao"?this.removeAttribute("densidade"):this.setAttribute("densidade",e)}alternarDensidade(){const e=Oe(this.getAttribute("densidade")||"padrao");return e==="padrao"?this.removeAttribute("densidade"):this.setAttribute("densidade",e),this.dispatchEvent(new CustomEvent("ui-densidade-alterada",{bubbles:!0,composed:!0,detail:{densidade:e}})),k(this.shadow,this),e}get flutuante(){return this.hasAttribute("flutuante")}set flutuante(e){!!e!==this.hasAttribute("flutuante")&&this.alternarFlutuante()}get colapsado(){return this.hasAttribute("colapsado")}set colapsado(e){!!e!==this.hasAttribute("colapsado")&&this.alternarColapsoHorizontal()}alternarFlutuante(){const e=Re(this);return k(this.shadow,this),this.dispatchEvent(new CustomEvent("ui-flutuante-alterado",{bubbles:!0,composed:!0,detail:{flutuante:e,left:this.style.left,top:this.style.top,width:this.style.width,height:this.style.height}})),e}alternarColapsoHorizontal(){const e=this.hasAttribute("colapsado");e?this.removeAttribute("colapsado"):this.setAttribute("colapsado","");const o=!e;return k(this.shadow,this),this.dispatchEvent(new CustomEvent("ui-colapso-horizontal",{bubbles:!0,composed:!0,detail:{colapsado:o}})),o}syncState(){k(this.shadow,this);const e=this.getAttribute("largura-rotulo");if(e){const o=parseFloat(e);isNaN(o)||(this._larguraRotuloPorcentagem=this.controladorSplitter.definirLarguraRotulo(o))}this.renderSeletorTipos(),this.renderCategorias()}toggleExpandirTodas(){this._categorias.some(o=>o.aberto===!1)?this.expandirTudo():this.colapsarTudo()}renderSeletorTipos(){Te({tipoContainerElement:this.tipoContainerElement,tipos:this._tipos,tipoSelecionadoId:this._tipoSelecionadoId,estiloVisual:this.getAttribute("estilo-visual")||"autocad",onSelecionarTipo:e=>{this._tipoSelecionadoId=e,this.renderSeletorTipos();const o=this._tipos.find(r=>String(r.id)===String(e));this.dispatchEvent(new CustomEvent("ui-tipo-alterado",{bubbles:!0,composed:!0,detail:{id:e,tipo:o}}))},onEditarTipo:e=>this.dispatchEvent(new CustomEvent("ui-editar-tipo-clique",{bubbles:!0,composed:!0,detail:{tipo:e}})),onQuickSelect:e=>this.dispatchEvent(new CustomEvent("ui-quick-select",{bubbles:!0,composed:!0,detail:{tipo:e}})),onSelectObjects:e=>this.dispatchEvent(new CustomEvent("ui-selecionar-objetos",{bubbles:!0,composed:!0,detail:{tipo:e}})),onCalculadora:e=>this.dispatchEvent(new CustomEvent("ui-calculadora",{bubbles:!0,composed:!0,detail:{tipo:e}}))})}renderCategorias(){const e=this.shadow.getElementById("lista-categorias");e&&Ie({listaContainer:e,categorias:this._categorias,termoBusca:this._termoBusca,onToggleCategoria:o=>this.toggleCategoria(o),linhaCtx:{valoresAtuais:this.gerenciadorValores.getValores(),valoresOriginais:this.gerenciadorValores.getValoresOriginais(),onAtualizarCampoVisual:(o,r)=>P(this.shadow,o,r),editorCtx:{obterValorAtual:o=>this.gerenciadorValores.obterValor(o),registrarAlteracao:(o,r,a)=>{this.gerenciadorValores.registrarAlteracao(o,r,a)},focarProximoEditor:o=>me(this.shadow,o),despacharEventoAcao:(o,r)=>{this.dispatchEvent(new CustomEvent("ui-acao-clique",{bubbles:!0,composed:!0,detail:{id:o.id,categoriaId:r,propriedade:o}}))}}}})}}D.definirCustomElement("ui-tabela-propriedades",Fe);exports.GerenciadorValoresPropriedades=De;exports.TabelaOrquestradorDados=J;exports.TabelaRemotaController=Y;exports.TabelaSelecaoController=K;exports.UITabela=pe;exports.UITabelaPropriedades=Fe;exports.abrirPopoverRedimensionamento=ne;exports.alternarCategoria=fe;exports.alternarDirecaoOrdenacao=Q;exports.alternarPosicionamentoFlutuante=Re;exports.aplicarOrdenacaoTabela=Z;exports.atualizarCampoVisual=P;exports.avaliarExpressaoMatematica=R;exports.buscarLinhaPropriedade=j;exports.colapsarTodasCategorias=be;exports.conectarArrastoFlutuante=Pe;exports.conectarPainelControles=He;exports.criarControladorSplitter=Be;exports.criarEditorAcao=Ee;exports.criarEditorBooleano=ve;exports.criarEditorCorCad=Se;exports.criarEditorCorSwatch=Le;exports.criarEditorLinetype=Ce;exports.criarEditorLineweight=Ae;exports.criarEditorNumero=we;exports.criarEditorReadonly=xe;exports.criarEditorSelecao=_e;exports.criarEditorTexto=ye;exports.criarEditorValor=Me;exports.criarLinhaPropriedade=Ne;exports.executarOrquestracaoCorpo=le;exports.executarOrquestracaoHeader=se;exports.executarRedimensionamentoColuna=ae;exports.exibirPromptPopoverRedimensionamento=oe;exports.expandirTodasCategorias=ge;exports.focarProximoEditor=me;exports.formatWidth=H;exports.getAlignmentClass=F;exports.getRowHeight=N;exports.getTextAlign=q;exports.inicializarScrollVirtualizacao=de;exports.iniciarRedimensionamentoColuna=re;exports.interpretarIndice=I;exports.localizarIndiceItem=G;exports.montarEstruturaDOM=ee;exports.orquestrarEstruturaInicial=ce;exports.proximaDensidade=Oe;exports.registrarAtualizadorEditor=y;exports.renderizarCategoriasETree=Ie;exports.renderizarCorpoTabela=ie;exports.renderizarHeaderTabela=te;exports.renderizarSeletorTipos=Te;exports.sincronizarAtributosTabela=V;exports.sincronizarPainelControles=k;exports.sincronizarSelect=C;exports.tratarMudancaAtributoTabela=ue;exports.valoresIguais=L;
|