@thibezer/ui-components-kit 1.0.0 → 2.0.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 +38 -0
- package/LICENSE +21 -21
- package/README.md +739 -624
- package/dist/botao.cjs +1 -1
- package/dist/botao.js +1 -1
- package/dist/camadas.cjs +38 -38
- package/dist/camadas.js +494 -494
- package/dist/campo-texto.cjs +1 -1
- package/dist/campo-texto.js +1 -1
- package/dist/canvas.cjs +33 -33
- package/dist/canvas.js +100 -100
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/components/ui-botao/ui-botao.d.ts +15 -0
- package/dist/components/ui-campo-texto/ui-campo-texto.d.ts +5 -0
- package/dist/components/ui-modal/modal-pilha.d.ts +3 -0
- package/dist/components/ui-modal/ui-modal.d.ts +19 -4
- package/dist/components/ui-tabela/tabela-corpo.d.ts +2 -0
- package/dist/components/ui-tabela/tabela-renderizador.d.ts +1 -0
- package/dist/components/ui-tabela/tabela-selecao.d.ts +5 -0
- package/dist/components/ui-tabela/ui-tabela.d.ts +15 -0
- package/dist/components/ui-tooltip/ui-tooltip.d.ts +15 -0
- package/dist/core/form-submissao.d.ts +16 -0
- package/dist/core/parts.d.ts +6 -0
- package/dist/core/rotulo.d.ts +6 -0
- package/dist/core/ui-bus.d.ts +13 -2
- package/dist/core.cjs +1 -1
- package/dist/core.js +2 -2
- package/dist/custom-elements.json +28789 -0
- package/dist/data.cjs +1 -1
- package/dist/data.js +2 -2
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +3 -3
- package/dist/form-submissao-C-SPRKgT.js +61 -0
- package/dist/form-submissao-DxKO5MHI.cjs +1 -0
- package/dist/forms.cjs +1 -1
- package/dist/forms.js +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +13 -13
- package/dist/mapa.cjs +4 -4
- package/dist/mapa.js +1 -1
- package/dist/modal.cjs +1 -1
- package/dist/modal.js +1 -1
- package/dist/parts-CaoQiCfI.js +7 -0
- package/dist/parts-vQa2873h.cjs +1 -0
- package/dist/register.cjs +1 -1
- package/dist/register.js +12 -12
- package/dist/seletor-mapa-base.cjs +11 -11
- package/dist/seletor-mapa-base.js +37 -37
- package/dist/tabela.cjs +1 -1
- package/dist/tabela.js +1 -1
- package/dist/tipos-elementos.d.ts +1219 -0
- package/dist/tipos-react.d.ts +113 -0
- package/dist/tipos-vue.d.ts +1190 -0
- package/dist/tools.cjs +1 -1
- package/dist/tools.js +1 -1
- package/dist/ui-badge-BxT-sDmV.cjs +28 -0
- package/dist/ui-badge-C0eKBI8E.js +183 -0
- package/dist/ui-botao-OGJV6Vfk.js +165 -0
- package/dist/ui-botao-psS1juof.cjs +12 -0
- package/dist/ui-campo-texto-Cnn2UAkS.cjs +16 -0
- package/dist/{ui-campo-texto-B_JF6POq.js → ui-campo-texto-Uu2dJE_0.js} +81 -63
- package/dist/{ui-card-Bhm6k91e.cjs → ui-card-B86lJXTP.cjs} +7 -7
- package/dist/{ui-card-BJ8SmvVf.js → ui-card-C_o5_0cB.js} +14 -14
- package/dist/ui-kit.css +1 -1
- package/dist/ui-modal-CvGFGh1h.cjs +18 -0
- package/dist/ui-modal-DBOtSTbR.js +238 -0
- package/dist/{ui-paleta-ferramentas-Bpp4XBVg.js → ui-paleta-ferramentas-BIytXQLh.js} +1 -1
- package/dist/{ui-paleta-ferramentas-B6dJ0O6K.cjs → ui-paleta-ferramentas-DqLY51qa.cjs} +1 -1
- package/dist/ui-segmented-D6b6zxVs.cjs +19 -0
- package/dist/{ui-segmented-C8wuycjJ.js → ui-segmented-wUraId2e.js} +68 -67
- package/dist/ui-skeleton-DI4_9WOX.js +428 -0
- package/dist/ui-skeleton-elhKIh2B.cjs +33 -0
- package/dist/{ui-switch-CO9MoS8x.js → ui-switch-DWLgVVnT.js} +121 -119
- package/dist/ui-switch-yZIn3IW0.cjs +53 -0
- package/dist/ui-tabela-propriedades-BNcE6VLX.js +2180 -0
- package/dist/ui-tabela-propriedades-D3pyQvyy.cjs +145 -0
- package/dist/{ui-toast-CwUmiqyG.js → ui-toast-Bp_NlM5G.js} +51 -51
- package/dist/ui-toast-DGTZKne5.cjs +20 -0
- package/dist/zero-js-triggers-C_KrvFOQ.js +244 -0
- package/dist/zero-js-triggers-C_gtaojZ.cjs +1 -0
- package/package.json +169 -149
- package/dist/ui-badge-92yelKls.js +0 -183
- package/dist/ui-badge-B95jSECC.cjs +0 -28
- package/dist/ui-botao-BShEouvi.js +0 -124
- package/dist/ui-botao-DF1yuUUD.cjs +0 -12
- package/dist/ui-campo-texto-BCh5HyCM.cjs +0 -16
- package/dist/ui-modal-Bi4isGYh.cjs +0 -18
- package/dist/ui-modal-DV-pw2x1.js +0 -194
- package/dist/ui-segmented-NC5cBXLh.cjs +0 -19
- package/dist/ui-skeleton-B3xQyn0Z.js +0 -396
- package/dist/ui-skeleton-D42oQufF.cjs +0 -33
- package/dist/ui-switch-C6o4yZUF.cjs +0 -53
- package/dist/ui-tabela-propriedades-7yJ9g7ti.cjs +0 -145
- package/dist/ui-tabela-propriedades-D-XKNVwK.js +0 -2078
- package/dist/ui-toast-CQBqvUm3.cjs +0 -20
- package/dist/zero-js-triggers-DdESy0tk.js +0 -205
- package/dist/zero-js-triggers-QGD7FOTv.cjs +0 -1
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";var h=Object.defineProperty;var f=(r,o,e)=>o in r?h(r,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[o]=e;var i=(r,o,e)=>f(r,typeof o!="symbol"?o+"":o,e);const m=require("./listener-bag-D5omxZ9h.cjs"),c=require("./ssr-safe-CiHD1adl.cjs"),p=':host{display:block;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif)}.ui-alerta{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:var(--ui-raio-borda, 8px);border:1px solid transparent;background-color:var(--ui-cor-fundo-elevado, #1a1a1e);color:var(--ui-cor-texto, #e1e1e6);box-sizing:border-box;position:relative;transition:opacity .2s ease,transform .2s ease;line-height:1.4}.ui-alerta__icone{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;line-height:1}.ui-alerta__icone svg,.ui-alerta__icone ::slotted(svg),.ui-alerta__icone ::slotted(ui-icone){shape-rendering:geometricPrecision}.ui-alerta__conteudo{flex:1}.ui-alerta__titulo{font-size:14px;font-weight:600;margin:0 0 2px;line-height:1.2}.ui-alerta__mensagem{font-size:13px;margin:0;opacity:.9}.ui-alerta__close{background:transparent;border:none;color:currentColor;opacity:.7;font-size:14px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;flex-shrink:0;margin-top:-2px;margin-right:-4px;transition:opacity .15s ease,background-color .15s ease}.ui-alerta__close:hover{opacity:1;background-color:#ffffff26}.ui-alerta--sucesso{background-color:#00e08a1f;border-color:#00e08a4d;color:var(--ui-cor-texto-sucesso, #00E08A)}.ui-alerta--sucesso .ui-alerta__mensagem{color:var(--ui-cor-texto, #e1e1e6)}.ui-alerta--erro{background-color:#ff55551f;border-color:#ff55554d;color:var(--ui-cor-texto-erro, #ff5555)}.ui-alerta--erro .ui-alerta__mensagem{color:var(--ui-cor-texto, #e1e1e6)}.ui-alerta--alerta{background-color:#ffb86c1f;border-color:#ffb86c4d;color:var(--ui-cor-texto-alerta, #ffb86c)}.ui-alerta--alerta .ui-alerta__mensagem{color:var(--ui-cor-texto, #e1e1e6)}.ui-alerta--info{background-color:#00aaff1f;border-color:#00aaff4d;color:#0af}.ui-alerta--info .ui-alerta__mensagem{color:var(--ui-cor-texto, #e1e1e6)}.ui-alerta__acoes{display:flex;align-items:center;flex-shrink:0;margin-left:4px}.ui-alerta__botao-acao{background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:inherit;font-family:inherit;font-size:12px;font-weight:600;padding:4px 10px;border-radius:5px;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,transform .1s ease}.ui-alerta__botao-acao:hover{background:#ffffff2e;border-color:#ffffff4d}.ui-alerta__botao-acao:active{transform:scale(.96)}.ui-alerta__botao-acao:focus-visible{outline:none;box-shadow:0 0 0 2px var(--ui-cor-fundo, #0b0b0d),0 0 0 4px var(--ui-cor-primaria, #00E08A)}.ui-alerta__botao-acao--primario{background:#00e08a26;border-color:#00e08a59;color:var(--ui-cor-primaria, #00E08A)}.ui-alerta__botao-acao--primario:hover{background:#00e08a40;border-color:#00e08a80}.ui-alerta__botao-acao--destrutivo{background:#ff444426;border-color:#ff444459;color:var(--ui-cor-texto-erro, #ff5555)}.ui-alerta__botao-acao--destrutivo:hover{background:#ff444440;border-color:#ff444480}:host(ui-toast){display:block;width:100%;box-sizing:border-box;pointer-events:auto;transition:transform .25s cubic-bezier(.16,1,.3,1),opacity .25s ease}.ui-toast__banner{box-shadow:0 10px 32px #000000a6,0 0 0 1px #ffffff14;animation:ui-toast-slide .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.ui-toast__progresso{position:absolute;bottom:0;left:0;right:0;height:2px;background:#ffffff14;overflow:hidden}.ui-toast__progresso-barra{width:100%;height:100%;background:currentColor;opacity:.7;transform-origin:left;animation:ui-toast-timer linear forwards}:host(ui-toast:hover) .ui-toast__progresso-barra,:host(ui-toast:focus-within) .ui-toast__progresso-barra{animation-play-state:paused}@keyframes ui-toast-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes ui-toast-slide{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@starting-style{:host(ui-toast){opacity:0;transform:translateY(12px) scale(.96)}}',l={sucesso:'<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"></path><polyline points="22 4 12 14.01 9 11.01"></polyline></svg>',erro:'<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="15" y1="9" x2="9" y2="15"></line><line x1="9" y1="9" x2="15" y2="15"></line></svg>',alerta:'<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"></path><line x1="12" y1="9" x2="12" y2="13"></line><line x1="12" y1="17" x2="12.01" y2="17"></line></svg>',info:'<svg viewBox="0 0 24 24" width="20" height="20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle><line x1="12" y1="16" x2="12" y2="12"></line><line x1="12" y1="8" x2="12.01" y2="8"></line></svg>'};class u extends c.SafeHTMLElement{constructor(){super();i(this,"alertaElement");i(this,"iconeElement");i(this,"tituloElement");i(this,"mensagemElement");i(this,"mensagemTextoElement");i(this,"closeElement");i(this,"acoesElement");i(this,"botaoAcaoElement");i(this,"progressoContainer");i(this,"progressoBarra");i(this,"listeners",new m.ListenerBag);const e=this.attachShadow({mode:"open"});e.innerHTML=`
|
|
2
|
-
<style>${p}</style>
|
|
3
|
-
<div class="ui-alerta" role="alert">
|
|
4
|
-
<span class="ui-alerta__icone"></span>
|
|
5
|
-
<div class="ui-alerta__conteudo">
|
|
6
|
-
<h4 class="ui-alerta__titulo" style="display: none;"></h4>
|
|
7
|
-
<p class="ui-alerta__mensagem">
|
|
8
|
-
<span class="ui-alerta__mensagem-texto" style="display: none;"></span>
|
|
9
|
-
<slot></slot>
|
|
10
|
-
</p>
|
|
11
|
-
</div>
|
|
12
|
-
<div class="ui-alerta__acoes" style="display: none;">
|
|
13
|
-
<button type="button" class="ui-alerta__botao-acao"></button>
|
|
14
|
-
</div>
|
|
15
|
-
<button class="ui-alerta__close" type="button" aria-label="Fechar alerta" style="display: none;" title="Fechar">✕</button>
|
|
16
|
-
<div class="ui-toast__progresso" style="display: none;">
|
|
17
|
-
<div class="ui-toast__progresso-barra"></div>
|
|
18
|
-
</div>
|
|
19
|
-
</div>
|
|
20
|
-
`,this.alertaElement=e.querySelector(".ui-alerta"),this.iconeElement=e.querySelector(".ui-alerta__icone"),this.tituloElement=e.querySelector(".ui-alerta__titulo"),this.mensagemElement=e.querySelector(".ui-alerta__mensagem"),this.mensagemTextoElement=e.querySelector(".ui-alerta__mensagem-texto"),this.closeElement=e.querySelector(".ui-alerta__close"),this.acoesElement=e.querySelector(".ui-alerta__acoes"),this.botaoAcaoElement=e.querySelector(".ui-alerta__botao-acao"),this.progressoContainer=e.querySelector(".ui-toast__progresso"),this.progressoBarra=e.querySelector(".ui-toast__progresso-barra")}static get observedAttributes(){return["tipo","variante","variant","titulo","title","mensagem","fechavel","dismissible"]}connectedCallback(){this.listeners.cleanup(),this.listeners.add(this.closeElement,"click",()=>this.fechar()),this.syncState()}disconnectedCallback(){this.listeners.cleanup()}attributeChangedCallback(e,a,t){this.syncState()}fechar(){this.dispatchEvent(new CustomEvent("ui-fechar",{bubbles:!0,composed:!0})),this.remove()}syncState(){const e=this.getAttribute("tipo")||this.getAttribute("variante")||this.getAttribute("variant")||"info",a=this.getAttribute("titulo")||this.getAttribute("title"),t=this.getAttribute("mensagem"),s=this.hasAttribute("fechavel")||this.hasAttribute("dismissible");this.alertaElement.className=`ui-alerta ui-alerta--${e}`;const d=l[e]||l.info;this.iconeElement.innerHTML=d,a?(this.tituloElement.textContent=a,this.tituloElement.style.display="block"):(this.tituloElement.style.display="none",this.tituloElement.textContent=""),t?(this.mensagemTextoElement.textContent=t,this.mensagemTextoElement.style.display="inline"):(this.mensagemTextoElement.style.display="none",this.mensagemTextoElement.textContent=""),s?this.closeElement.style.display="block":this.closeElement.style.display="none"}}c.definirCustomElement("ui-alerta",u);class n extends u{constructor(){super(...arguments);i(this,"timerId",null);i(this,"tempoRestante",4e3);i(this,"inicioTimestamp",0);i(this,"isPausado",!1);i(this,"acaoConfig");i(this,"containerRef",null);i(this,"handleAcaoClick",e=>{var a,t,s;e.stopPropagation(),(a=this.acaoConfig)!=null&&a.onClick&&this.acaoConfig.onClick(e),this.dispatchEvent(new CustomEvent("ui-toast-acao",{detail:{rotulo:(t=this.acaoConfig)==null?void 0:t.rotulo,tipo:(s=this.acaoConfig)==null?void 0:s.tipo},bubbles:!0,composed:!0})),this.fechar()});i(this,"pausarTimer",()=>{if(this.isPausado||this.tempoRestante<=0)return;this.isPausado=!0,this.timerId&&(clearTimeout(this.timerId),this.timerId=null);const e=Date.now()-this.inicioTimestamp;this.tempoRestante=Math.max(0,this.tempoRestante-e),this.progressoBarra.style.animationPlayState="paused"});i(this,"retomarTimer",()=>{!this.isPausado||this.tempoRestante<=0||(this.isPausado=!1,this.progressoBarra.style.animationPlayState="running",this.iniciarTimer(Math.max(this.tempoRestante,300)))})}configurarAcao(e){this.acaoConfig=e,this.botaoAcaoElement.textContent=e.rotulo,this.acoesElement.style.display="flex";const a=e.tipo||"primario";this.botaoAcaoElement.className=`ui-alerta__botao-acao ui-alerta__botao-acao--${a}`}connectedCallback(){super.connectedCallback(),this.containerRef=this.parentElement,this.alertaElement.classList.add("ui-toast__banner"),this.acaoConfig&&this.listeners.add(this.botaoAcaoElement,"click",this.handleAcaoClick);const e=this.getAttribute("duracao")||this.getAttribute("duration")||"4000",a=parseInt(e,10);this.tempoRestante=isNaN(a)?4e3:a,this.tempoRestante>0?(this.progressoContainer.style.display="block",this.progressoBarra.style.animationDuration=`${this.tempoRestante}ms`,this.getAttribute("pausar-no-hover")!=="false"&&(this.listeners.add(this,"mouseenter",this.pausarTimer),this.listeners.add(this,"mouseleave",this.retomarTimer),this.listeners.add(this,"focusin",this.pausarTimer),this.listeners.add(this,"focusout",this.retomarTimer)),this.iniciarTimer(this.tempoRestante)):this.progressoContainer.style.display="none"}fechar(){const e=this.parentElement||this.containerRef;super.fechar(),e&&e.id.startsWith("ui-toast-container-")&&e.children.length===0&&e.remove()}disconnectedCallback(){super.disconnectedCallback(),this.timerId&&(clearTimeout(this.timerId),this.timerId=null),this.containerRef&&this.containerRef.id.startsWith("ui-toast-container-")&&this.containerRef.children.length===0&&(this.containerRef.remove(),this.containerRef=null)}iniciarTimer(e){this.timerId&&clearTimeout(this.timerId),this.inicioTimestamp=Date.now(),this.timerId=setTimeout(()=>{this.fechar()},e)}static obterContainer(e){const a=`ui-toast-container-${e}`;let t=document.getElementById(a);return t||(t=document.createElement("div"),t.id=a,t.style.position="fixed",t.style.setProperty("z-index","var(--ui-z-toast, 1100)"),t.style.display="flex",t.style.gap="10px",t.style.maxWidth="400px",t.style.width="calc(100vw - 32px)",t.style.pointerEvents="none",t.style.boxSizing="border-box",t.style.transition="all 0.2s ease",e==="top-right"?(t.style.top="20px",t.style.right="20px",t.style.flexDirection="column"):e==="top-left"?(t.style.top="20px",t.style.left="20px",t.style.flexDirection="column"):e==="bottom-left"?(t.style.bottom="20px",t.style.left="20px",t.style.flexDirection="column-reverse"):e==="top-center"?(t.style.top="20px",t.style.left="50%",t.style.transform="translateX(-50%)",t.style.flexDirection="column"):e==="bottom-center"?(t.style.bottom="20px",t.style.left="50%",t.style.transform="translateX(-50%)",t.style.flexDirection="column-reverse"):(t.style.bottom="20px",t.style.right="20px",t.style.flexDirection="column-reverse"),document.body.appendChild(t)),t}static notificar(e){if(typeof document>"u")return null;const a=e.posicao||"bottom-right",t=document.createElement("ui-toast");return e.tipo&&t.setAttribute("tipo",e.tipo),e.titulo&&t.setAttribute("titulo",e.titulo),e.mensagem&&t.setAttribute("mensagem",e.mensagem),e.duracao!==void 0&&t.setAttribute("duracao",String(e.duracao)),e.pausarNoHover===!1&&t.setAttribute("pausar-no-hover","false"),t.setAttribute("posicao",a),e.fechavel!==!1&&t.setAttribute("fechavel",""),e.acao&&t.configurarAcao(e.acao),n.obterContainer(a).appendChild(t),t}}c.definirCustomElement("ui-toast",n);exports.ICONES_ALERTA=l;exports.UIAlerta=u;exports.UIToast=n;
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
var w = Object.defineProperty;
|
|
2
|
-
var v = (f, e, t) => e in f ? w(f, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : f[e] = t;
|
|
3
|
-
var g = (f, e, t) => v(f, typeof e != "symbol" ? e + "" : e, t);
|
|
4
|
-
import { a as A } from "./ui-toast-CwUmiqyG.js";
|
|
5
|
-
class E {
|
|
6
|
-
constructor() {
|
|
7
|
-
g(this, "listeners", /* @__PURE__ */ new Map());
|
|
8
|
-
}
|
|
9
|
-
on(e, t) {
|
|
10
|
-
return this.listeners.has(e) || this.listeners.set(e, /* @__PURE__ */ new Set()), this.listeners.get(e).add(t), () => this.off(e, t);
|
|
11
|
-
}
|
|
12
|
-
once(e, t) {
|
|
13
|
-
const r = (n) => {
|
|
14
|
-
this.off(e, r), t(n);
|
|
15
|
-
};
|
|
16
|
-
this.on(e, r);
|
|
17
|
-
}
|
|
18
|
-
off(e, t) {
|
|
19
|
-
const r = this.listeners.get(e);
|
|
20
|
-
r && (r.delete(t), r.size === 0 && this.listeners.delete(e));
|
|
21
|
-
}
|
|
22
|
-
emit(e, t) {
|
|
23
|
-
const r = this.listeners.get(e);
|
|
24
|
-
r && r.forEach((n) => {
|
|
25
|
-
try {
|
|
26
|
-
n(t);
|
|
27
|
-
} catch (c) {
|
|
28
|
-
console.error(`[UIBus] Erro ao executar ouvinte do evento "${e}":`, c);
|
|
29
|
-
}
|
|
30
|
-
}), typeof window < "u" && window.dispatchEvent(
|
|
31
|
-
new CustomEvent(`uibus:${e}`, {
|
|
32
|
-
detail: t,
|
|
33
|
-
bubbles: !0,
|
|
34
|
-
composed: !0
|
|
35
|
-
})
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
/* ====================================================
|
|
39
|
-
Métodos de Atalho e Ações de Alta Produtividade
|
|
40
|
-
==================================================== */
|
|
41
|
-
/**
|
|
42
|
-
* Abre um modal pelo seu ID no documento.
|
|
43
|
-
*/
|
|
44
|
-
abrirModal(e) {
|
|
45
|
-
if (typeof document > "u") return !1;
|
|
46
|
-
const t = document.getElementById(e);
|
|
47
|
-
return t && typeof t.abrir == "function" ? (t.abrir(), this.emit("modal:aberto", { id: e }), !0) : t ? (t.setAttribute("aberto", ""), this.emit("modal:aberto", { id: e }), !0) : (console.warn(`[UIBus] Modal com ID "${e}" não encontrado no DOM.`), !1);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Fecha um modal pelo seu ID ou todos os modais abertos se nenhum ID for passado.
|
|
51
|
-
*/
|
|
52
|
-
fecharModal(e) {
|
|
53
|
-
if (typeof document > "u") return !1;
|
|
54
|
-
if (e) {
|
|
55
|
-
const t = document.getElementById(e);
|
|
56
|
-
return t && typeof t.fechar == "function" ? (t.fechar(), this.emit("modal:fechado", { id: e }), !0) : t ? (t.removeAttribute("aberto"), t.removeAttribute("open"), this.emit("modal:fechado", { id: e }), !0) : !1;
|
|
57
|
-
} else
|
|
58
|
-
return document.querySelectorAll(
|
|
59
|
-
"ui-modal[aberto], ui-modal[open], ui-dialog[aberto], ui-dialog[open]"
|
|
60
|
-
).forEach((r) => {
|
|
61
|
-
typeof r.fechar == "function" ? r.fechar() : (r.removeAttribute("aberto"), r.removeAttribute("open"));
|
|
62
|
-
}), this.emit("modal:fechado-todos"), !0;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Abre um painel lateral (drawer / sheet) pelo seu ID no documento.
|
|
66
|
-
*/
|
|
67
|
-
abrirDrawer(e) {
|
|
68
|
-
if (typeof document > "u") return !1;
|
|
69
|
-
const t = document.getElementById(e);
|
|
70
|
-
return t && typeof t.abrir == "function" ? (t.abrir(), this.emit("drawer:aberto", { id: e }), !0) : t ? (t.setAttribute("aberto", ""), this.emit("drawer:aberto", { id: e }), !0) : (console.warn(`[UIBus] Drawer com ID "${e}" não encontrado no DOM.`), !1);
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Fecha um painel lateral (drawer / sheet) pelo seu ID ou todos se nenhum for passado.
|
|
74
|
-
*/
|
|
75
|
-
fecharDrawer(e) {
|
|
76
|
-
if (typeof document > "u") return !1;
|
|
77
|
-
if (e) {
|
|
78
|
-
const t = document.getElementById(e);
|
|
79
|
-
return t && typeof t.fechar == "function" ? (t.fechar(), this.emit("drawer:fechado", { id: e }), !0) : t ? (t.removeAttribute("aberto"), t.removeAttribute("open"), this.emit("drawer:fechado", { id: e }), !0) : !1;
|
|
80
|
-
} else
|
|
81
|
-
return document.querySelectorAll(
|
|
82
|
-
"ui-drawer[aberto], ui-drawer[open], ui-sheet[aberto], ui-sheet[open]"
|
|
83
|
-
).forEach((r) => {
|
|
84
|
-
typeof r.fechar == "function" ? r.fechar() : (r.removeAttribute("aberto"), r.removeAttribute("open"));
|
|
85
|
-
}), this.emit("drawer:fechado-todos"), !0;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Dispara uma notificação toast flutuante inteligente.
|
|
89
|
-
*/
|
|
90
|
-
notificar(e) {
|
|
91
|
-
typeof e == "string" ? A.notificar({ mensagem: e, tipo: "info" }) : A.notificar(e);
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Copia um texto para a área de transferência do usuário e exibe feedback opcional.
|
|
95
|
-
*/
|
|
96
|
-
async copiar(e, t) {
|
|
97
|
-
if (typeof navigator > "u" || !navigator.clipboard)
|
|
98
|
-
return !1;
|
|
99
|
-
try {
|
|
100
|
-
return await navigator.clipboard.writeText(e), t !== void 0 && this.notificar({
|
|
101
|
-
tipo: "sucesso",
|
|
102
|
-
mensagem: t || "Copiado para a área de transferência!"
|
|
103
|
-
}), this.emit("clipboard:copiado", { texto: e }), !0;
|
|
104
|
-
} catch (r) {
|
|
105
|
-
return console.error("[UIBus] Falha ao copiar texto:", r), this.notificar({
|
|
106
|
-
tipo: "erro",
|
|
107
|
-
mensagem: "Não foi possível copiar o texto."
|
|
108
|
-
}), !1;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
/**
|
|
112
|
-
* Altera a densidade visual global do kit (compacta, normal ou relaxada).
|
|
113
|
-
*/
|
|
114
|
-
definirDensidade(e) {
|
|
115
|
-
let t = 34;
|
|
116
|
-
typeof e == "number" ? t = Math.max(15, e) : e === "compacta" ? t = 26 : e === "relaxada" ? t = 42 : t = 34, !(typeof document > "u") && (document.documentElement.style.setProperty("--ui-altura-minima", `${t}px`), document.documentElement.style.setProperty("--ui-campo-altura", `${t}px`), document.documentElement.setAttribute("data-ui-densidade", typeof e == "string" ? e : "custom"), this.emit("densidade:alterada", { densidade: e, alturaPx: t }));
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Alterna ou define o tema visual global.
|
|
120
|
-
*/
|
|
121
|
-
definirTema(e) {
|
|
122
|
-
if (typeof document > "u") return e || "escuro";
|
|
123
|
-
const t = document.documentElement;
|
|
124
|
-
let r = t.getAttribute("data-tema");
|
|
125
|
-
r || (r = t.classList.contains("dark") ? "escuro" : t.classList.contains("light") ? "claro" : "escuro");
|
|
126
|
-
const n = e || (r === "escuro" ? "claro" : "escuro");
|
|
127
|
-
return t.setAttribute("data-tema", n), n === "escuro" ? (t.classList.add("dark"), t.classList.remove("light")) : (t.classList.remove("dark"), t.classList.add("light")), this.emit("tema:alterado", { tema: n }), n;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
const s = new E();
|
|
131
|
-
let y = !1;
|
|
132
|
-
function B() {
|
|
133
|
-
y || typeof document > "u" || (y = !0, document.addEventListener("click", (f) => {
|
|
134
|
-
const e = f.composedPath ? f.composedPath() : [f.target], t = "[target-modal], [modal-alvo], [dismiss-modal], [fechar-modal], [target-drawer], [drawer-alvo], [dismiss-drawer], [fechar-drawer], [toast-sucesso], [toast-erro], [toast-alerta], [toast-info], [copiar-texto], [alternar-tema], [definir-densidade], [limpar-form]";
|
|
135
|
-
let r = null;
|
|
136
|
-
for (const a of e)
|
|
137
|
-
if (a instanceof HTMLElement && a.matches(t)) {
|
|
138
|
-
r = a;
|
|
139
|
-
break;
|
|
140
|
-
}
|
|
141
|
-
if (!r) return;
|
|
142
|
-
const n = r.getAttribute("target-modal") || r.getAttribute("modal-alvo");
|
|
143
|
-
if (n && s.abrirModal(n), r.hasAttribute("dismiss-modal") || r.hasAttribute("fechar-modal")) {
|
|
144
|
-
const a = r.getAttribute("dismiss-modal") || r.getAttribute("fechar-modal");
|
|
145
|
-
if (a && a !== "")
|
|
146
|
-
s.fecharModal(a);
|
|
147
|
-
else {
|
|
148
|
-
let i = null;
|
|
149
|
-
for (const o of e)
|
|
150
|
-
if (o instanceof HTMLElement && (o.matches("ui-modal, ui-dialog") || o.tagName === "UI-MODAL" || o.tagName === "UI-DIALOG")) {
|
|
151
|
-
i = o;
|
|
152
|
-
break;
|
|
153
|
-
}
|
|
154
|
-
i && (typeof i.fechar == "function" ? i.fechar() : (i.removeAttribute("aberto"), i.removeAttribute("open")));
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
const c = r.getAttribute("target-drawer") || r.getAttribute("drawer-alvo");
|
|
158
|
-
if (c && s.abrirDrawer(c), r.hasAttribute("dismiss-drawer") || r.hasAttribute("fechar-drawer")) {
|
|
159
|
-
const a = r.getAttribute("dismiss-drawer") || r.getAttribute("fechar-drawer");
|
|
160
|
-
if (a && a !== "")
|
|
161
|
-
s.fecharDrawer(a);
|
|
162
|
-
else {
|
|
163
|
-
let i = null;
|
|
164
|
-
for (const o of e)
|
|
165
|
-
if (o instanceof HTMLElement && (o.matches("ui-drawer, ui-sheet, ui-painel-lateral, ui-gaveta") || o.tagName.startsWith("UI-DRAWER") || o.tagName.startsWith("UI-SHEET"))) {
|
|
166
|
-
i = o;
|
|
167
|
-
break;
|
|
168
|
-
}
|
|
169
|
-
i && (typeof i.fechar == "function" ? i.fechar() : (i.removeAttribute("aberto"), i.removeAttribute("open")));
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
const l = r.getAttribute("toast-sucesso");
|
|
173
|
-
l && s.notificar({ tipo: "sucesso", mensagem: l });
|
|
174
|
-
const m = r.getAttribute("toast-erro");
|
|
175
|
-
m && s.notificar({ tipo: "erro", mensagem: m });
|
|
176
|
-
const d = r.getAttribute("toast-alerta");
|
|
177
|
-
d && s.notificar({ tipo: "alerta", mensagem: d });
|
|
178
|
-
const h = r.getAttribute("toast-info");
|
|
179
|
-
h && s.notificar({ tipo: "info", mensagem: h });
|
|
180
|
-
const u = r.getAttribute("copiar-texto");
|
|
181
|
-
if (u !== null) {
|
|
182
|
-
let a = u;
|
|
183
|
-
if (u.startsWith("#") || u.startsWith(".") || u.match(/^[a-zA-Z0-9_-]+$/))
|
|
184
|
-
try {
|
|
185
|
-
let o = null;
|
|
186
|
-
u.startsWith("#") || u.startsWith(".") ? o = document.querySelector(u) : o = document.getElementById(u) || document.querySelector(`#${u}`), o && (a = o.value !== void 0 && o.value !== null ? o.value : o.textContent || "");
|
|
187
|
-
} catch {
|
|
188
|
-
}
|
|
189
|
-
const i = r.getAttribute("copiar-mensagem") || "Copiado com sucesso!";
|
|
190
|
-
s.copiar(a, i);
|
|
191
|
-
}
|
|
192
|
-
r.hasAttribute("alternar-tema") && s.definirTema();
|
|
193
|
-
const p = r.getAttribute("definir-densidade");
|
|
194
|
-
p && s.definirDensidade(p);
|
|
195
|
-
const b = r.getAttribute("limpar-form");
|
|
196
|
-
if (b) {
|
|
197
|
-
const a = document.getElementById(b);
|
|
198
|
-
a && typeof a.reset == "function" && (a.reset(), s.notificar({ tipo: "info", mensagem: "Formulário limpo." }));
|
|
199
|
-
}
|
|
200
|
-
}));
|
|
201
|
-
}
|
|
202
|
-
export {
|
|
203
|
-
s as U,
|
|
204
|
-
B as i
|
|
205
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var w=Object.defineProperty;var v=(u,e,t)=>e in u?w(u,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):u[e]=t;var g=(u,e,t)=>v(u,typeof e!="symbol"?e+"":e,t);const A=require("./ui-toast-CQBqvUm3.cjs");class E{constructor(){g(this,"listeners",new Map)}on(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),()=>this.off(e,t)}once(e,t){const r=n=>{this.off(e,r),t(n)};this.on(e,r)}off(e,t){const r=this.listeners.get(e);r&&(r.delete(t),r.size===0&&this.listeners.delete(e))}emit(e,t){const r=this.listeners.get(e);r&&r.forEach(n=>{try{n(t)}catch(f){console.error(`[UIBus] Erro ao executar ouvinte do evento "${e}":`,f)}}),typeof window<"u"&&window.dispatchEvent(new CustomEvent(`uibus:${e}`,{detail:t,bubbles:!0,composed:!0}))}abrirModal(e){if(typeof document>"u")return!1;const t=document.getElementById(e);return t&&typeof t.abrir=="function"?(t.abrir(),this.emit("modal:aberto",{id:e}),!0):t?(t.setAttribute("aberto",""),this.emit("modal:aberto",{id:e}),!0):(console.warn(`[UIBus] Modal com ID "${e}" não encontrado no DOM.`),!1)}fecharModal(e){if(typeof document>"u")return!1;if(e){const t=document.getElementById(e);return t&&typeof t.fechar=="function"?(t.fechar(),this.emit("modal:fechado",{id:e}),!0):t?(t.removeAttribute("aberto"),t.removeAttribute("open"),this.emit("modal:fechado",{id:e}),!0):!1}else return document.querySelectorAll("ui-modal[aberto], ui-modal[open], ui-dialog[aberto], ui-dialog[open]").forEach(r=>{typeof r.fechar=="function"?r.fechar():(r.removeAttribute("aberto"),r.removeAttribute("open"))}),this.emit("modal:fechado-todos"),!0}abrirDrawer(e){if(typeof document>"u")return!1;const t=document.getElementById(e);return t&&typeof t.abrir=="function"?(t.abrir(),this.emit("drawer:aberto",{id:e}),!0):t?(t.setAttribute("aberto",""),this.emit("drawer:aberto",{id:e}),!0):(console.warn(`[UIBus] Drawer com ID "${e}" não encontrado no DOM.`),!1)}fecharDrawer(e){if(typeof document>"u")return!1;if(e){const t=document.getElementById(e);return t&&typeof t.fechar=="function"?(t.fechar(),this.emit("drawer:fechado",{id:e}),!0):t?(t.removeAttribute("aberto"),t.removeAttribute("open"),this.emit("drawer:fechado",{id:e}),!0):!1}else return document.querySelectorAll("ui-drawer[aberto], ui-drawer[open], ui-sheet[aberto], ui-sheet[open]").forEach(r=>{typeof r.fechar=="function"?r.fechar():(r.removeAttribute("aberto"),r.removeAttribute("open"))}),this.emit("drawer:fechado-todos"),!0}notificar(e){typeof e=="string"?A.UIToast.notificar({mensagem:e,tipo:"info"}):A.UIToast.notificar(e)}async copiar(e,t){if(typeof navigator>"u"||!navigator.clipboard)return!1;try{return await navigator.clipboard.writeText(e),t!==void 0&&this.notificar({tipo:"sucesso",mensagem:t||"Copiado para a área de transferência!"}),this.emit("clipboard:copiado",{texto:e}),!0}catch(r){return console.error("[UIBus] Falha ao copiar texto:",r),this.notificar({tipo:"erro",mensagem:"Não foi possível copiar o texto."}),!1}}definirDensidade(e){let t=34;typeof e=="number"?t=Math.max(15,e):e==="compacta"?t=26:e==="relaxada"?t=42:t=34,!(typeof document>"u")&&(document.documentElement.style.setProperty("--ui-altura-minima",`${t}px`),document.documentElement.style.setProperty("--ui-campo-altura",`${t}px`),document.documentElement.setAttribute("data-ui-densidade",typeof e=="string"?e:"custom"),this.emit("densidade:alterada",{densidade:e,alturaPx:t}))}definirTema(e){if(typeof document>"u")return e||"escuro";const t=document.documentElement;let r=t.getAttribute("data-tema");r||(r=t.classList.contains("dark")?"escuro":t.classList.contains("light")?"claro":"escuro");const n=e||(r==="escuro"?"claro":"escuro");return t.setAttribute("data-tema",n),n==="escuro"?(t.classList.add("dark"),t.classList.remove("light")):(t.classList.remove("dark"),t.classList.add("light")),this.emit("tema:alterado",{tema:n}),n}}const s=new E;let y=!1;function I(){y||typeof document>"u"||(y=!0,document.addEventListener("click",u=>{const e=u.composedPath?u.composedPath():[u.target],t="[target-modal], [modal-alvo], [dismiss-modal], [fechar-modal], [target-drawer], [drawer-alvo], [dismiss-drawer], [fechar-drawer], [toast-sucesso], [toast-erro], [toast-alerta], [toast-info], [copiar-texto], [alternar-tema], [definir-densidade], [limpar-form]";let r=null;for(const a of e)if(a instanceof HTMLElement&&a.matches(t)){r=a;break}if(!r)return;const n=r.getAttribute("target-modal")||r.getAttribute("modal-alvo");if(n&&s.abrirModal(n),r.hasAttribute("dismiss-modal")||r.hasAttribute("fechar-modal")){const a=r.getAttribute("dismiss-modal")||r.getAttribute("fechar-modal");if(a&&a!=="")s.fecharModal(a);else{let i=null;for(const o of e)if(o instanceof HTMLElement&&(o.matches("ui-modal, ui-dialog")||o.tagName==="UI-MODAL"||o.tagName==="UI-DIALOG")){i=o;break}i&&(typeof i.fechar=="function"?i.fechar():(i.removeAttribute("aberto"),i.removeAttribute("open")))}}const f=r.getAttribute("target-drawer")||r.getAttribute("drawer-alvo");if(f&&s.abrirDrawer(f),r.hasAttribute("dismiss-drawer")||r.hasAttribute("fechar-drawer")){const a=r.getAttribute("dismiss-drawer")||r.getAttribute("fechar-drawer");if(a&&a!=="")s.fecharDrawer(a);else{let i=null;for(const o of e)if(o instanceof HTMLElement&&(o.matches("ui-drawer, ui-sheet, ui-painel-lateral, ui-gaveta")||o.tagName.startsWith("UI-DRAWER")||o.tagName.startsWith("UI-SHEET"))){i=o;break}i&&(typeof i.fechar=="function"?i.fechar():(i.removeAttribute("aberto"),i.removeAttribute("open")))}}const l=r.getAttribute("toast-sucesso");l&&s.notificar({tipo:"sucesso",mensagem:l});const m=r.getAttribute("toast-erro");m&&s.notificar({tipo:"erro",mensagem:m});const d=r.getAttribute("toast-alerta");d&&s.notificar({tipo:"alerta",mensagem:d});const h=r.getAttribute("toast-info");h&&s.notificar({tipo:"info",mensagem:h});const c=r.getAttribute("copiar-texto");if(c!==null){let a=c;if(c.startsWith("#")||c.startsWith(".")||c.match(/^[a-zA-Z0-9_-]+$/))try{let o=null;c.startsWith("#")||c.startsWith(".")?o=document.querySelector(c):o=document.getElementById(c)||document.querySelector(`#${c}`),o&&(a=o.value!==void 0&&o.value!==null?o.value:o.textContent||"")}catch{}const i=r.getAttribute("copiar-mensagem")||"Copiado com sucesso!";s.copiar(a,i)}r.hasAttribute("alternar-tema")&&s.definirTema();const p=r.getAttribute("definir-densidade");p&&s.definirDensidade(p);const b=r.getAttribute("limpar-form");if(b){const a=document.getElementById(b);a&&typeof a.reset=="function"&&(a.reset(),s.notificar({tipo:"info",mensagem:"Formulário limpo."}))}}))}exports.UIBus=s;exports.initZeroJSTriggers=I;
|