@thibezer/ui-components-kit 2.8.0 → 2.8.2
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 +203 -265
- package/README.md +791 -815
- package/dist/botao.cjs +1 -1
- package/dist/botao.js +1 -1
- package/dist/camadas.cjs +94 -94
- package/dist/camadas.js +1124 -1218
- package/dist/campo-texto.cjs +1 -1
- package/dist/campo-texto.js +1 -1
- package/dist/canvas.cjs +65 -66
- package/dist/canvas.js +3444 -3795
- package/dist/card.cjs +1 -1
- package/dist/card.js +1 -1
- package/dist/components/ui-avatar/ui-avatar.d.ts +0 -11
- package/dist/components/ui-badge/ui-badge.d.ts +0 -2
- package/dist/components/ui-barra-ferramentas/ferramentas-comum.d.ts +22 -1
- package/dist/components/ui-barra-ferramentas/tipos.d.ts +31 -0
- package/dist/components/ui-barra-ferramentas/ui-paleta-ferramentas.d.ts +17 -1
- package/dist/components/ui-barra-ferramentas/ui-ribbon.d.ts +17 -0
- package/dist/components/ui-camadas/camadas-arraste-controles.d.ts +0 -2
- package/dist/components/ui-camadas/camadas-arvore-renderer.d.ts +11 -4
- package/dist/components/ui-camadas/camadas-drag-drop.d.ts +1 -13
- package/dist/components/ui-camadas/ui-camadas.d.ts +5 -3
- package/dist/components/ui-canvas-cad/cad-atributos-sync.d.ts +1 -2
- package/dist/components/ui-canvas-cad/cad-broadcast.d.ts +1 -1
- package/dist/components/ui-canvas-cad/cad-eventos-canvas.d.ts +8 -3
- package/dist/components/ui-canvas-cad/cad-feicoes.d.ts +106 -26
- package/dist/components/ui-canvas-cad/cad-inicializador.d.ts +1 -3
- package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +1 -4
- package/dist/components/ui-checkbox/ui-checkbox.d.ts +1 -4
- package/dist/components/ui-cores/tipos.d.ts +0 -2
- package/dist/components/ui-cores/ui-controle-cores.d.ts +3 -8
- package/dist/components/ui-cores/ui-seletor-cor.d.ts +1 -3
- package/dist/components/ui-mapa/ui-mapa-linha.d.ts +5 -12
- package/dist/components/ui-mapa/ui-mapa-marcador.d.ts +6 -15
- package/dist/components/ui-mapa/ui-mapa.d.ts +1 -14
- package/dist/components/ui-modal/modal-acessibilidade.d.ts +5 -5
- package/dist/components/ui-modal/ui-modal.d.ts +11 -1
- package/dist/components/ui-radio/radio-grupo-registry.d.ts +0 -10
- package/dist/components/ui-radio/ui-radio.d.ts +2 -9
- package/dist/components/ui-skeleton/ui-skeleton.d.ts +0 -9
- package/dist/components/ui-switch/ui-switch.d.ts +1 -3
- package/dist/components/ui-tabela/ui-tabela.d.ts +19 -1
- package/dist/components/ui-tooltip/ui-tooltip.d.ts +1 -24
- package/dist/core/index.d.ts +0 -1
- package/dist/core.cjs +1 -1
- package/dist/core.js +18 -28
- package/dist/cores.cjs +1 -1
- package/dist/cores.js +1 -1
- package/dist/custom-elements.json +18859 -23721
- package/dist/data.cjs +1 -1
- package/dist/data.js +2 -2
- package/dist/feedback.cjs +1 -1
- package/dist/feedback.js +2 -2
- package/dist/form-validacao-BIOXxt-1.js +140 -0
- package/dist/form-validacao-ytRYSF3E.cjs +1 -0
- package/dist/forms.cjs +1 -1
- package/dist/forms.js +2 -2
- package/dist/gerencigeo-canvas/feature_metricas.d.ts +9 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.js +178 -179
- package/dist/mapa.cjs +16 -11
- package/dist/mapa.js +170 -242
- package/dist/modal.cjs +1 -1
- package/dist/modal.js +1 -1
- package/dist/register.cjs +1 -1
- package/dist/register.js +11 -11
- package/dist/svg-seguro-ChVJ2L2z.js +74 -0
- package/dist/svg-seguro-J2RM1Ssf.cjs +1 -0
- package/dist/tabela.cjs +1 -1
- package/dist/tabela.js +1 -1
- package/dist/tipos-elementos.d.ts +17 -35
- package/dist/tipos-react.d.ts +0 -2
- package/dist/tipos-vue.d.ts +12 -34
- 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-BOOnP8ds.cjs +12 -0
- package/dist/ui-botao-DfqSivHl.js +165 -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_OHVGiN.js → ui-campo-texto-Uu2dJE_0.js} +51 -51
- package/dist/ui-card-B86lJXTP.cjs +20 -0
- package/dist/{ui-card-BNYCQ7g-.js → ui-card-C_o5_0cB.js} +42 -50
- package/dist/ui-controle-cores-BS0WYPdi.js +572 -0
- package/dist/ui-controle-cores-Er6ZcQ7U.cjs +111 -0
- package/dist/ui-kit.css +1 -1
- package/dist/ui-modal-CvGFGh1h.cjs +18 -0
- package/dist/{ui-modal-BkYvNP0G.js → ui-modal-DBOtSTbR.js} +140 -116
- package/dist/ui-paleta-ferramentas-CEZYcN4J.js +624 -0
- package/dist/ui-paleta-ferramentas-CU4icLl0.js +1171 -0
- package/dist/{ui-paleta-ferramentas-bDLPbiGA.cjs → ui-paleta-ferramentas-Ccmo-rB5.cjs} +7 -7
- package/dist/ui-paleta-ferramentas-DLwZHIDv.cjs +21 -0
- package/dist/{ui-paleta-ferramentas-Ksh6gMW3.js → ui-paleta-ferramentas-DNN5i6nL.js} +329 -359
- package/dist/ui-paleta-ferramentas-Dbj1kBS9.cjs +18 -0
- package/dist/ui-paleta-ferramentas-DbwdWVtT.js +1173 -0
- package/dist/ui-paleta-ferramentas-bvqxj1Yd.cjs +21 -0
- package/dist/ui-segmented-D6b6zxVs.cjs +19 -0
- package/dist/ui-segmented-DyF5YLsV.js +418 -0
- package/dist/ui-segmented-rn9RxRGM.cjs +19 -0
- package/dist/{ui-linha-nCDh2wPm.js → ui-segmented-wUraId2e.js} +105 -200
- package/dist/ui-skeleton-DI4_9WOX.js +428 -0
- package/dist/{ui-skeleton-DiOxTBZK.cjs → ui-skeleton-SPYqku8P.cjs} +10 -10
- package/dist/{ui-skeleton-B2Rgrv8o.js → ui-skeleton-W9uwIceA.js} +191 -254
- package/dist/ui-skeleton-elhKIh2B.cjs +33 -0
- package/dist/{ui-switch-DO1R0Ce7.js → ui-switch-BcOqOkiV.js} +128 -187
- package/dist/ui-switch-D7iPKDj-.cjs +53 -0
- package/dist/ui-tabela-propriedades-BBr5sqki.cjs +145 -0
- package/dist/{ui-tabela-propriedades-DzZlyNZ_.cjs → ui-tabela-propriedades-BecPqC-e.cjs} +10 -10
- package/dist/{ui-tabela-propriedades-D9Echt2X.js → ui-tabela-propriedades-BokvDD3b.js} +826 -845
- package/dist/ui-tabela-propriedades-Boy7I5yW.js +2412 -0
- package/dist/ui-tabela-propriedades-C-PeuW1i.cjs +141 -0
- package/dist/ui-tabela-propriedades-Df9ajC6M.js +2648 -0
- package/dist/ui-toast-Bp_NlM5G.js +156 -0
- 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 +3 -3
- package/dist/acessibilidade-CSzX-DkG.cjs +0 -1
- package/dist/acessibilidade-CUlSXc2X.js +0 -38
- package/dist/altura-controle-ukMRPckR.cjs +0 -1
- package/dist/altura-controle-vxQiXG4q.js +0 -62
- package/dist/components/ui-barra-ferramentas/paleta-atalhos.d.ts +0 -16
- package/dist/components/ui-barra-ferramentas/paleta-pressao-longa.d.ts +0 -24
- package/dist/components/ui-barra-ferramentas/ribbon-render.d.ts +0 -14
- package/dist/components/ui-barra-ferramentas/ribbon-teclado.d.ts +0 -17
- package/dist/components/ui-camadas/camadas-colecao.d.ts +0 -27
- package/dist/components/ui-camadas/camadas-drop-ops.d.ts +0 -31
- package/dist/components/ui-camadas/camadas-hierarquia.d.ts +0 -10
- package/dist/components/ui-camadas/camadas-lembranca.d.ts +0 -34
- package/dist/components/ui-camadas/camadas-render.d.ts +0 -14
- package/dist/components/ui-camadas/camadas-renomear.d.ts +0 -12
- package/dist/components/ui-camadas/camadas-selecao-api.d.ts +0 -17
- package/dist/components/ui-camadas/camadas-thumb.d.ts +0 -1
- package/dist/components/ui-canvas-cad/cad-acessibilidade.d.ts +0 -15
- package/dist/components/ui-canvas-cad/cad-evento-coordenadas.d.ts +0 -22
- package/dist/components/ui-canvas-cad/cad-feicoes-camera.d.ts +0 -26
- package/dist/components/ui-canvas-cad/cad-feicoes-consulta.d.ts +0 -21
- package/dist/components/ui-canvas-cad/cad-feicoes-dados.d.ts +0 -39
- package/dist/components/ui-canvas-cad/cad-feicoes-desenho.d.ts +0 -68
- package/dist/components/ui-canvas-cad/cad-feicoes-edicao.d.ts +0 -37
- package/dist/components/ui-canvas-cad/cad-feicoes-operacoes.d.ts +0 -48
- package/dist/components/ui-canvas-cad/cad-feicoes-ponteiro.d.ts +0 -24
- package/dist/components/ui-canvas-cad/cad-feicoes-selecao-regiao.d.ts +0 -22
- package/dist/components/ui-canvas-cad/cad-feicoes-tipos.d.ts +0 -53
- package/dist/components/ui-canvas-cad/cad-feicoes-versoes.d.ts +0 -33
- package/dist/components/ui-canvas-cad/cad-leaflet-adaptador.d.ts +0 -5
- package/dist/components/ui-canvas-cad/cad-selecao-pontos.d.ts +0 -5
- package/dist/components/ui-canvas-cad/tipos.d.ts +0 -37
- package/dist/components/ui-linha/index.d.ts +0 -1
- package/dist/components/ui-linha/ui-linha.d.ts +0 -48
- package/dist/components/ui-mapa/mapa-atributos.d.ts +0 -14
- package/dist/components/ui-mapa/mapa-basemaps.d.ts +0 -7
- package/dist/components/ui-mapa/mapa-icones.d.ts +0 -4
- package/dist/components/ui-mapa/mapa-leaflet.d.ts +0 -5
- package/dist/components/ui-mapa/mapa-vinculo-pai.d.ts +0 -22
- package/dist/components/ui-mapa/tipos.d.ts +0 -13
- package/dist/components/ui-modal/modal-foco.d.ts +0 -28
- package/dist/components/ui-tabela/tabela-estados.d.ts +0 -16
- package/dist/components/ui-tabela/tabela-rolagem.d.ts +0 -44
- package/dist/components/ui-tabela/tabela-teclado.d.ts +0 -16
- package/dist/components/ui-tooltip/tooltip-popover.d.ts +0 -7
- package/dist/components/ui-tooltip/tooltip-posicionamento.d.ts +0 -29
- package/dist/core/altura-controle.d.ts +0 -34
- package/dist/core/opcoes.d.ts +0 -9
- package/dist/core/rotulo-controle.d.ts +0 -13
- package/dist/form-validacao-BlQFxUVj.js +0 -104
- package/dist/form-validacao-DIeyQVH5.cjs +0 -1
- package/dist/opcoes-CJYLi6kd.js +0 -12
- package/dist/opcoes-CkyDxBuQ.cjs +0 -1
- package/dist/ui-badge-BWhoGgo9.js +0 -197
- package/dist/ui-badge-SIR81R9l.cjs +0 -28
- package/dist/ui-botao-D24oXySA.cjs +0 -12
- package/dist/ui-botao-Dsj08jjw.js +0 -165
- package/dist/ui-campo-texto-DauJCde3.cjs +0 -16
- package/dist/ui-card-BrjBL-yo.cjs +0 -20
- package/dist/ui-controle-cores-DgEza3wF.js +0 -612
- package/dist/ui-controle-cores-uY__TgwW.cjs +0 -117
- package/dist/ui-linha-C6HBnsaw.cjs +0 -19
- package/dist/ui-modal-CUNbpbZ1.cjs +0 -18
- package/dist/ui-switch-D9a8XlVX.cjs +0 -53
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
var C = Object.defineProperty;
|
|
2
|
+
var S = (n, l, t) => l in n ? C(n, l, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[l] = t;
|
|
3
|
+
var s = (n, l, t) => S(n, typeof l != "symbol" ? l + "" : l, t);
|
|
4
|
+
import { L } from "./listener-bag-DQgv7OON.js";
|
|
5
|
+
import { d as h, S as x } from "./ssr-safe-5cWfJP-s.js";
|
|
6
|
+
const N = ':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}}', g = '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';
|
|
7
|
+
function _(n, l) {
|
|
8
|
+
let t = Array.from(n.querySelectorAll(g));
|
|
9
|
+
t = t.filter((i) => {
|
|
10
|
+
try {
|
|
11
|
+
return window.getComputedStyle(i).display !== "none";
|
|
12
|
+
} catch {
|
|
13
|
+
return !0;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
const e = n.querySelectorAll("slot"), o = [];
|
|
17
|
+
return e.forEach((i) => {
|
|
18
|
+
i.assignedElements({ flatten: !0 }).forEach((a) => {
|
|
19
|
+
a instanceof HTMLElement && (a.matches(g) && o.push(a), o.push(...Array.from(a.querySelectorAll(g))));
|
|
20
|
+
});
|
|
21
|
+
}), [...t, ...o].filter((i) => !i.hasAttribute("disabled") && i.getAttribute("aria-hidden") !== "true");
|
|
22
|
+
}
|
|
23
|
+
function q(n) {
|
|
24
|
+
if (typeof document > "u") return !0;
|
|
25
|
+
const l = Array.from(
|
|
26
|
+
document.querySelectorAll("ui-drawer[aberto], ui-drawer[open], ui-sheet[aberto], ui-sheet[open]")
|
|
27
|
+
);
|
|
28
|
+
return l[l.length - 1] === n;
|
|
29
|
+
}
|
|
30
|
+
function z(n, l, t, e) {
|
|
31
|
+
if (l.length === 0) {
|
|
32
|
+
n.preventDefault();
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const o = l[0], i = l[l.length - 1], r = t.getRootNode(), a = r == null ? void 0 : r.activeElement;
|
|
36
|
+
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());
|
|
37
|
+
}
|
|
38
|
+
function M() {
|
|
39
|
+
if (typeof document > "u") return;
|
|
40
|
+
document.querySelectorAll(
|
|
41
|
+
"ui-modal[aberto], ui-modal[open], ui-dialog[aberto], ui-dialog[open], ui-drawer[aberto], ui-drawer[open], ui-sheet[aberto], ui-sheet[open]"
|
|
42
|
+
).length > 0 ? document.body.style.overflow = "hidden" : document.body.style.overflow = "";
|
|
43
|
+
}
|
|
44
|
+
class b extends x {
|
|
45
|
+
constructor() {
|
|
46
|
+
super();
|
|
47
|
+
s(this, "backdropElement");
|
|
48
|
+
s(this, "painelElement");
|
|
49
|
+
s(this, "tituloElement");
|
|
50
|
+
s(this, "descricaoElement");
|
|
51
|
+
s(this, "closeElement");
|
|
52
|
+
s(this, "listeners", new L());
|
|
53
|
+
s(this, "_elementoGatilho", null);
|
|
54
|
+
s(this, "_focables", []);
|
|
55
|
+
s(this, "handleSlotChange", () => {
|
|
56
|
+
this.syncState();
|
|
57
|
+
});
|
|
58
|
+
s(this, "handleBackdropClick", (t) => {
|
|
59
|
+
t.stopPropagation(), this.hasAttribute("estatico") || this.hasAttribute("static") || this.fechar();
|
|
60
|
+
});
|
|
61
|
+
s(this, "handleCloseClick", (t) => {
|
|
62
|
+
t.stopPropagation(), this.fechar();
|
|
63
|
+
});
|
|
64
|
+
s(this, "handleKeyDown", (t) => {
|
|
65
|
+
this.aberto && q(this) && (t.key === "Escape" ? this.hasAttribute("estatico") || this.hasAttribute("static") || (this.fechar(), t.stopImmediatePropagation()) : t.key === "Tab" && (this._focables = _(this.shadowRoot), z(t, this._focables, this, this.shadowRoot)));
|
|
66
|
+
});
|
|
67
|
+
const t = this.attachShadow({ mode: "open" });
|
|
68
|
+
t.innerHTML = `
|
|
69
|
+
<style>${N}</style>
|
|
70
|
+
<div class="ui-drawer__backdrop" part="fundo"></div>
|
|
71
|
+
<aside class="ui-drawer__painel" part="painel" role="dialog" aria-modal="true" tabindex="-1">
|
|
72
|
+
<div class="ui-drawer__header" part="cabecalho">
|
|
73
|
+
<div class="ui-drawer__titulo-container">
|
|
74
|
+
<h3 class="ui-drawer__titulo" part="titulo"></h3>
|
|
75
|
+
<p class="ui-drawer__descricao" part="descricao" style="display: none;"></p>
|
|
76
|
+
</div>
|
|
77
|
+
<button type="button" class="ui-drawer__close" part="fechar" aria-label="Fechar painel lateral" title="Fechar">✕</button>
|
|
78
|
+
</div>
|
|
79
|
+
<div class="ui-drawer__body" part="corpo">
|
|
80
|
+
<slot></slot>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="ui-drawer__footer" part="rodape">
|
|
83
|
+
<slot name="rodape"></slot>
|
|
84
|
+
<slot name="footer"></slot>
|
|
85
|
+
</div>
|
|
86
|
+
</aside>
|
|
87
|
+
`, 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");
|
|
88
|
+
}
|
|
89
|
+
static get observedAttributes() {
|
|
90
|
+
return [
|
|
91
|
+
"aberto",
|
|
92
|
+
"open",
|
|
93
|
+
"posicao",
|
|
94
|
+
"position",
|
|
95
|
+
"titulo",
|
|
96
|
+
"title",
|
|
97
|
+
"descricao",
|
|
98
|
+
"description",
|
|
99
|
+
"largura",
|
|
100
|
+
"width",
|
|
101
|
+
"estatico",
|
|
102
|
+
"static"
|
|
103
|
+
];
|
|
104
|
+
}
|
|
105
|
+
connectedCallback() {
|
|
106
|
+
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) => {
|
|
107
|
+
this.listeners.add(e, "slotchange", this.handleSlotChange);
|
|
108
|
+
}), this.syncState();
|
|
109
|
+
}
|
|
110
|
+
disconnectedCallback() {
|
|
111
|
+
this.listeners.cleanup(), b.atualizarScrollLock();
|
|
112
|
+
}
|
|
113
|
+
attributeChangedCallback(t, e, o) {
|
|
114
|
+
(t === "aberto" || t === "open") && o !== null && (document.activeElement && document.activeElement !== document.body && (this._elementoGatilho = document.activeElement), setTimeout(() => {
|
|
115
|
+
this._focables = _(this.shadowRoot), this._focables.length > 0 ? this._focables[0].focus() : this.painelElement.focus();
|
|
116
|
+
}, 0)), this.syncState();
|
|
117
|
+
}
|
|
118
|
+
get aberto() {
|
|
119
|
+
return this.hasAttribute("aberto") || this.hasAttribute("open");
|
|
120
|
+
}
|
|
121
|
+
set aberto(t) {
|
|
122
|
+
t ? this.setAttribute("aberto", "") : (this.removeAttribute("aberto"), this.removeAttribute("open")), this.syncState();
|
|
123
|
+
}
|
|
124
|
+
get posicao() {
|
|
125
|
+
const t = (this.getAttribute("posicao") || this.getAttribute("position") || "direita").toLowerCase();
|
|
126
|
+
return t === "esquerda" || t === "left" ? "esquerda" : t === "baixo" || t === "bottom" ? "baixo" : t === "cima" || t === "top" ? "cima" : "direita";
|
|
127
|
+
}
|
|
128
|
+
set posicao(t) {
|
|
129
|
+
this.setAttribute("posicao", t);
|
|
130
|
+
}
|
|
131
|
+
abrir() {
|
|
132
|
+
this.aberto || (document.activeElement && document.activeElement !== document.body && (this._elementoGatilho = document.activeElement), this.aberto = !0, this.dispatchEvent(
|
|
133
|
+
new CustomEvent("ui-abrir", {
|
|
134
|
+
bubbles: !0,
|
|
135
|
+
composed: !0
|
|
136
|
+
})
|
|
137
|
+
), setTimeout(() => {
|
|
138
|
+
this._focables = _(this.shadowRoot), this._focables.length > 0 ? this._focables[0].focus() : this.painelElement.focus();
|
|
139
|
+
}, 0));
|
|
140
|
+
}
|
|
141
|
+
fechar() {
|
|
142
|
+
this.aberto && (this.aberto = !1, this.dispatchEvent(
|
|
143
|
+
new CustomEvent("ui-fechar", {
|
|
144
|
+
bubbles: !0,
|
|
145
|
+
composed: !0
|
|
146
|
+
})
|
|
147
|
+
), this._elementoGatilho && (this._elementoGatilho.focus(), this._elementoGatilho = null));
|
|
148
|
+
}
|
|
149
|
+
alternar() {
|
|
150
|
+
this.aberto ? this.fechar() : this.abrir();
|
|
151
|
+
}
|
|
152
|
+
syncState() {
|
|
153
|
+
var a, c;
|
|
154
|
+
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");
|
|
155
|
+
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) {
|
|
156
|
+
const u = Array.from(((c = this.shadowRoot) == null ? void 0 : c.querySelectorAll('slot[name="rodape"], slot[name="footer"]')) || []).some((p) => p.assignedNodes({ flatten: !0 }).some((f) => f.nodeType === Node.ELEMENT_NODE || f.textContent && f.textContent.trim() !== "")) || this.querySelector('[slot="rodape"], [slot="footer"]') !== null;
|
|
157
|
+
r.style.display = u ? "flex" : "none";
|
|
158
|
+
}
|
|
159
|
+
b.atualizarScrollLock();
|
|
160
|
+
}
|
|
161
|
+
static atualizarScrollLock() {
|
|
162
|
+
M();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
class T extends b {
|
|
166
|
+
}
|
|
167
|
+
class D extends b {
|
|
168
|
+
}
|
|
169
|
+
class $ extends b {
|
|
170
|
+
}
|
|
171
|
+
h("ui-drawer", b);
|
|
172
|
+
h("ui-sheet", T);
|
|
173
|
+
h("ui-painel-lateral", D);
|
|
174
|
+
h("ui-gaveta", $);
|
|
175
|
+
const O = ":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)}}", R = 120;
|
|
176
|
+
class E extends x {
|
|
177
|
+
constructor() {
|
|
178
|
+
super();
|
|
179
|
+
s(this, "containerElement");
|
|
180
|
+
s(this, "bubbleElement");
|
|
181
|
+
s(this, "_posicionamentoAtivo", !1);
|
|
182
|
+
s(this, "_timerOcultar", null);
|
|
183
|
+
/** Gatilho que recebeu `aria-description` deste tooltip (para remover depois). */
|
|
184
|
+
s(this, "_gatilhoDescrito", null);
|
|
185
|
+
s(this, "posicionarBubble", () => {
|
|
186
|
+
if (!this.aberto) return;
|
|
187
|
+
const t = this.getBoundingClientRect(), e = this.bubbleElement.getBoundingClientRect(), o = this.getAttribute("posicao") || this.getAttribute("position") || "topo";
|
|
188
|
+
let i = "topo";
|
|
189
|
+
["topo", "top"].includes(o) ? i = "topo" : ["baixo", "bottom"].includes(o) ? i = "baixo" : ["esquerda", "left"].includes(o) ? i = "esquerda" : ["direita", "right"].includes(o) && (i = "direita");
|
|
190
|
+
let r = 0, a = 0;
|
|
191
|
+
const c = 8;
|
|
192
|
+
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`;
|
|
193
|
+
});
|
|
194
|
+
s(this, "handleMouseEnter", () => {
|
|
195
|
+
const t = this.getAttribute("gatilho") || this.getAttribute("trigger") || "hover";
|
|
196
|
+
(t === "hover" || t === "passar-mouse") && (this.cancelarOcultar(), this.mostrar());
|
|
197
|
+
});
|
|
198
|
+
s(this, "handleMouseLeave", () => {
|
|
199
|
+
const t = this.getAttribute("gatilho") || this.getAttribute("trigger") || "hover";
|
|
200
|
+
(t === "hover" || t === "passar-mouse") && (this.cancelarOcultar(), this._timerOcultar = setTimeout(() => {
|
|
201
|
+
this._timerOcultar = null, this.ocultar();
|
|
202
|
+
}, R));
|
|
203
|
+
});
|
|
204
|
+
/**
|
|
205
|
+
* Escape fecha o tooltip sem mover o foco (WCAG 1.4.13). Ouvido na captura e interrompido,
|
|
206
|
+
* para que dentro de um modal o primeiro Escape feche só o tooltip.
|
|
207
|
+
*/
|
|
208
|
+
s(this, "handleEscape", (t) => {
|
|
209
|
+
t.key !== "Escape" || !this.aberto || (t.stopPropagation(), this.cancelarOcultar(), this.ocultar());
|
|
210
|
+
});
|
|
211
|
+
s(this, "handleClick", (t) => {
|
|
212
|
+
const e = this.getAttribute("gatilho") || this.getAttribute("trigger") || "hover", o = window.matchMedia("(pointer: coarse)").matches;
|
|
213
|
+
(e === "clique" || e === "click" || o) && (t.stopPropagation(), this.aberto = !this.aberto);
|
|
214
|
+
});
|
|
215
|
+
s(this, "handleClickOutside", (t) => {
|
|
216
|
+
t.composedPath().includes(this) || this.ocultar();
|
|
217
|
+
});
|
|
218
|
+
const t = this.attachShadow({ mode: "open" });
|
|
219
|
+
t.innerHTML = `
|
|
220
|
+
<style>${O}</style>
|
|
221
|
+
<div class="ui-tooltip ui-tooltip--topo">
|
|
222
|
+
<slot></slot>
|
|
223
|
+
<div class="ui-tooltip__bubble" part="balao" role="tooltip" popover="manual">
|
|
224
|
+
<span class="ui-tooltip__texto" part="texto"></span>
|
|
225
|
+
<slot name="conteudo"></slot>
|
|
226
|
+
<span class="ui-tooltip__arrow" part="seta"></span>
|
|
227
|
+
</div>
|
|
228
|
+
</div>
|
|
229
|
+
`, this.containerElement = t.querySelector(".ui-tooltip"), this.bubbleElement = t.querySelector(".ui-tooltip__bubble"), t.querySelectorAll("slot").forEach((e) => e.addEventListener("slotchange", () => this.sincronizarDescricao()));
|
|
230
|
+
}
|
|
231
|
+
static get observedAttributes() {
|
|
232
|
+
return [
|
|
233
|
+
"texto",
|
|
234
|
+
"text",
|
|
235
|
+
"posicao",
|
|
236
|
+
"position",
|
|
237
|
+
"gatilho",
|
|
238
|
+
"trigger",
|
|
239
|
+
"aberto",
|
|
240
|
+
"open",
|
|
241
|
+
"disabled"
|
|
242
|
+
];
|
|
243
|
+
}
|
|
244
|
+
connectedCallback() {
|
|
245
|
+
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();
|
|
246
|
+
}
|
|
247
|
+
disconnectedCallback() {
|
|
248
|
+
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();
|
|
249
|
+
}
|
|
250
|
+
attributeChangedCallback(t, e, o) {
|
|
251
|
+
this.syncState();
|
|
252
|
+
}
|
|
253
|
+
get aberto() {
|
|
254
|
+
return this.hasAttribute("aberto") || this.hasAttribute("open");
|
|
255
|
+
}
|
|
256
|
+
set aberto(t) {
|
|
257
|
+
t ? this.setAttribute("aberto", "") : (this.removeAttribute("aberto"), this.removeAttribute("open")), this.syncState();
|
|
258
|
+
}
|
|
259
|
+
get disabled() {
|
|
260
|
+
return this.hasAttribute("disabled");
|
|
261
|
+
}
|
|
262
|
+
set disabled(t) {
|
|
263
|
+
t ? this.setAttribute("disabled", "") : this.removeAttribute("disabled"), this.syncState();
|
|
264
|
+
}
|
|
265
|
+
mostrar() {
|
|
266
|
+
this.disabled || (this.aberto = !0);
|
|
267
|
+
}
|
|
268
|
+
ocultar() {
|
|
269
|
+
this.aberto = !1;
|
|
270
|
+
}
|
|
271
|
+
syncState() {
|
|
272
|
+
var a;
|
|
273
|
+
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");
|
|
274
|
+
let r = "topo";
|
|
275
|
+
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) {
|
|
276
|
+
if (document.addEventListener("click", this.handleClickOutside), document.addEventListener("keydown", this.handleEscape, !0), typeof this.bubbleElement.showPopover == "function")
|
|
277
|
+
try {
|
|
278
|
+
this.bubbleElement.showPopover();
|
|
279
|
+
} catch {
|
|
280
|
+
}
|
|
281
|
+
this.containerElement.classList.add("ui-tooltip--visivel"), requestAnimationFrame(() => {
|
|
282
|
+
this.posicionarBubble();
|
|
283
|
+
}), this._posicionamentoAtivo || (this._posicionamentoAtivo = !0, window.addEventListener("scroll", this.posicionarBubble, { capture: !0, passive: !0 }), window.addEventListener("resize", this.posicionarBubble, { passive: !0 }));
|
|
284
|
+
} else {
|
|
285
|
+
if (document.removeEventListener("click", this.handleClickOutside), document.removeEventListener("keydown", this.handleEscape, !0), typeof this.bubbleElement.hidePopover == "function")
|
|
286
|
+
try {
|
|
287
|
+
this.bubbleElement.hidePopover();
|
|
288
|
+
} catch {
|
|
289
|
+
}
|
|
290
|
+
this.containerElement.classList.remove("ui-tooltip--visivel"), this._posicionamentoAtivo && (this._posicionamentoAtivo = !1, window.removeEventListener("scroll", this.posicionarBubble, { capture: !0 }), window.removeEventListener("resize", this.posicionarBubble));
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
cancelarOcultar() {
|
|
294
|
+
this._timerOcultar && (clearTimeout(this._timerOcultar), this._timerOcultar = null);
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* O balão vive no Shadow DOM, fora do alcance de `aria-describedby` do gatilho (light DOM).
|
|
298
|
+
* O texto é exposto como `aria-description` no gatilho, sem sobrescrever uma descrição do consumidor.
|
|
299
|
+
*/
|
|
300
|
+
sincronizarDescricao() {
|
|
301
|
+
var i;
|
|
302
|
+
if (!this.isConnected) {
|
|
303
|
+
this.removerDescricao();
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
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();
|
|
307
|
+
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());
|
|
308
|
+
}
|
|
309
|
+
removerDescricao() {
|
|
310
|
+
var t;
|
|
311
|
+
(t = this._gatilhoDescrito) == null || t.removeAttribute("aria-description"), this._gatilhoDescrito = null;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
class P extends E {
|
|
315
|
+
}
|
|
316
|
+
h("ui-tooltip", E);
|
|
317
|
+
h("ui-popover", P);
|
|
318
|
+
const B = ":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}}";
|
|
319
|
+
class A extends x {
|
|
320
|
+
constructor() {
|
|
321
|
+
super();
|
|
322
|
+
s(this, "rootElement");
|
|
323
|
+
const t = this.attachShadow({ mode: "open" });
|
|
324
|
+
t.innerHTML = `
|
|
325
|
+
<style>${B}</style>
|
|
326
|
+
<div class="ui-skeleton-container" role="status" aria-label="Carregando..."></div>
|
|
327
|
+
`, this.rootElement = t.querySelector(".ui-skeleton-container");
|
|
328
|
+
}
|
|
329
|
+
static get observedAttributes() {
|
|
330
|
+
return [
|
|
331
|
+
"variante",
|
|
332
|
+
"variant",
|
|
333
|
+
"largura",
|
|
334
|
+
"width",
|
|
335
|
+
"altura",
|
|
336
|
+
"height",
|
|
337
|
+
"raio",
|
|
338
|
+
"radius",
|
|
339
|
+
"linhas",
|
|
340
|
+
"lines",
|
|
341
|
+
"count",
|
|
342
|
+
"animado",
|
|
343
|
+
"animated"
|
|
344
|
+
];
|
|
345
|
+
}
|
|
346
|
+
connectedCallback() {
|
|
347
|
+
this.hasAttribute("aria-hidden") || this.setAttribute("aria-hidden", "true"), this.syncState();
|
|
348
|
+
}
|
|
349
|
+
attributeChangedCallback(t, e, o) {
|
|
350
|
+
this.syncState();
|
|
351
|
+
}
|
|
352
|
+
get variante() {
|
|
353
|
+
const t = (this.getAttribute("variante") || this.getAttribute("variant") || "texto").toLowerCase();
|
|
354
|
+
return t === "circulo" || t === "circular" ? "circular" : t === "retangulo" || t === "retangular" ? "retangular" : t === "card" ? "card" : "texto";
|
|
355
|
+
}
|
|
356
|
+
set variante(t) {
|
|
357
|
+
this.setAttribute("variante", t);
|
|
358
|
+
}
|
|
359
|
+
get animado() {
|
|
360
|
+
const t = (this.getAttribute("animado") || this.getAttribute("animated") || "shimmer").toLowerCase();
|
|
361
|
+
return t === "pulse" || t === "pulso" ? "pulso" : t === "none" || t === "nenhum" || t === "estatico" ? "nenhum" : "shimmer";
|
|
362
|
+
}
|
|
363
|
+
set animado(t) {
|
|
364
|
+
this.setAttribute("animado", t);
|
|
365
|
+
}
|
|
366
|
+
get linhas() {
|
|
367
|
+
const t = parseInt(this.getAttribute("linhas") || this.getAttribute("lines") || this.getAttribute("count") || "1", 10);
|
|
368
|
+
return isNaN(t) || t < 1 ? 1 : t;
|
|
369
|
+
}
|
|
370
|
+
set linhas(t) {
|
|
371
|
+
this.setAttribute("linhas", String(t));
|
|
372
|
+
}
|
|
373
|
+
syncState() {
|
|
374
|
+
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;
|
|
375
|
+
this.rootElement.innerHTML = "";
|
|
376
|
+
const c = e === "pulso" ? "ui-skeleton--pulso" : e === "nenhum" ? "ui-skeleton--estatico" : "";
|
|
377
|
+
if (t === "card") {
|
|
378
|
+
const u = document.createElement("div");
|
|
379
|
+
u.className = "ui-skeleton ui-skeleton--card";
|
|
380
|
+
const p = document.createElement("div");
|
|
381
|
+
p.className = `ui-skeleton ui-skeleton__card-media ${c}`;
|
|
382
|
+
const d = document.createElement("div");
|
|
383
|
+
d.className = "ui-skeleton__card-header";
|
|
384
|
+
const f = document.createElement("div");
|
|
385
|
+
f.className = `ui-skeleton ui-skeleton__card-avatar ${c}`;
|
|
386
|
+
const w = document.createElement("div");
|
|
387
|
+
w.className = `ui-skeleton ui-skeleton__card-title ${c}`, d.appendChild(f), d.appendChild(w);
|
|
388
|
+
const v = document.createElement("div");
|
|
389
|
+
v.className = "ui-skeleton__linhas";
|
|
390
|
+
for (let y = 0; y < 2; y++) {
|
|
391
|
+
const k = document.createElement("div");
|
|
392
|
+
k.className = `ui-skeleton ui-skeleton--texto ${c}`, v.appendChild(k);
|
|
393
|
+
}
|
|
394
|
+
u.appendChild(p), u.appendChild(d), u.appendChild(v), this.rootElement.appendChild(u);
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
if (a > 1 && t === "texto") {
|
|
398
|
+
const u = document.createElement("div");
|
|
399
|
+
u.className = "ui-skeleton__linhas";
|
|
400
|
+
for (let p = 0; p < a; p++) {
|
|
401
|
+
const d = document.createElement("div");
|
|
402
|
+
d.className = `ui-skeleton ui-skeleton--texto ${c}`, i && (d.style.height = isNaN(Number(i)) ? i : `${i}px`), r && (d.style.borderRadius = isNaN(Number(r)) ? r : `${r}px`), u.appendChild(d);
|
|
403
|
+
}
|
|
404
|
+
o && (u.style.width = isNaN(Number(o)) ? o : `${o}px`), this.rootElement.appendChild(u);
|
|
405
|
+
return;
|
|
406
|
+
}
|
|
407
|
+
const m = document.createElement("div");
|
|
408
|
+
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);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
class F extends A {
|
|
412
|
+
}
|
|
413
|
+
h("ui-skeleton", A);
|
|
414
|
+
h("ui-esqueleto", F);
|
|
415
|
+
export {
|
|
416
|
+
b as U,
|
|
417
|
+
F as a,
|
|
418
|
+
$ as b,
|
|
419
|
+
D as c,
|
|
420
|
+
P as d,
|
|
421
|
+
T as e,
|
|
422
|
+
A as f,
|
|
423
|
+
E as g,
|
|
424
|
+
M as h,
|
|
425
|
+
z as i,
|
|
426
|
+
q as j,
|
|
427
|
+
_ as o
|
|
428
|
+
};
|