@thibezer/ui-components-kit 2.6.1 → 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.
Files changed (142) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/dist/acessibilidade-CSzX-DkG.cjs +1 -0
  3. package/dist/acessibilidade-CUlSXc2X.js +38 -0
  4. package/dist/camadas.cjs +94 -94
  5. package/dist/camadas.js +1218 -1124
  6. package/dist/campo-texto.cjs +1 -1
  7. package/dist/campo-texto.js +1 -1
  8. package/dist/canvas.cjs +66 -65
  9. package/dist/canvas.js +3769 -3389
  10. package/dist/card.cjs +1 -1
  11. package/dist/card.js +1 -1
  12. package/dist/components/ui-alerta/ui-toast.d.ts +4 -15
  13. package/dist/components/ui-avatar/ui-avatar.d.ts +11 -0
  14. package/dist/components/ui-badge/ui-badge.d.ts +2 -0
  15. package/dist/components/ui-barra-ferramentas/paleta-atalhos.d.ts +16 -0
  16. package/dist/components/ui-barra-ferramentas/paleta-pressao-longa.d.ts +24 -0
  17. package/dist/components/ui-barra-ferramentas/ribbon-render.d.ts +14 -0
  18. package/dist/components/ui-barra-ferramentas/ribbon-teclado.d.ts +17 -0
  19. package/dist/components/ui-barra-ferramentas/ui-paleta-ferramentas.d.ts +1 -7
  20. package/dist/components/ui-barra-ferramentas/ui-ribbon.d.ts +0 -1
  21. package/dist/components/ui-camadas/camadas-arraste-controles.d.ts +2 -0
  22. package/dist/components/ui-camadas/camadas-arvore-renderer.d.ts +4 -11
  23. package/dist/components/ui-camadas/camadas-colecao.d.ts +27 -0
  24. package/dist/components/ui-camadas/camadas-drag-drop.d.ts +13 -1
  25. package/dist/components/ui-camadas/camadas-drop-ops.d.ts +31 -0
  26. package/dist/components/ui-camadas/camadas-hierarquia.d.ts +10 -0
  27. package/dist/components/ui-camadas/camadas-lembranca.d.ts +34 -0
  28. package/dist/components/ui-camadas/camadas-render.d.ts +14 -0
  29. package/dist/components/ui-camadas/camadas-renomear.d.ts +12 -0
  30. package/dist/components/ui-camadas/camadas-selecao-api.d.ts +17 -0
  31. package/dist/components/ui-camadas/camadas-thumb.d.ts +1 -0
  32. package/dist/components/ui-camadas/ui-camadas.d.ts +3 -5
  33. package/dist/components/ui-canvas-cad/cad-acessibilidade.d.ts +15 -0
  34. package/dist/components/ui-canvas-cad/cad-atributos-sync.d.ts +2 -1
  35. package/dist/components/ui-canvas-cad/cad-broadcast.d.ts +1 -1
  36. package/dist/components/ui-canvas-cad/cad-evento-coordenadas.d.ts +22 -0
  37. package/dist/components/ui-canvas-cad/cad-eventos-canvas.d.ts +3 -8
  38. package/dist/components/ui-canvas-cad/cad-feicoes-camera.d.ts +26 -0
  39. package/dist/components/ui-canvas-cad/cad-feicoes-consulta.d.ts +21 -0
  40. package/dist/components/ui-canvas-cad/cad-feicoes-dados.d.ts +39 -0
  41. package/dist/components/ui-canvas-cad/cad-feicoes-desenho.d.ts +68 -0
  42. package/dist/components/ui-canvas-cad/cad-feicoes-edicao.d.ts +37 -0
  43. package/dist/components/ui-canvas-cad/cad-feicoes-operacoes.d.ts +48 -0
  44. package/dist/components/ui-canvas-cad/cad-feicoes-ponteiro.d.ts +24 -0
  45. package/dist/components/ui-canvas-cad/cad-feicoes-selecao-regiao.d.ts +22 -0
  46. package/dist/components/ui-canvas-cad/cad-feicoes-tipos.d.ts +53 -0
  47. package/dist/components/ui-canvas-cad/cad-feicoes-versoes.d.ts +33 -0
  48. package/dist/components/ui-canvas-cad/cad-feicoes.d.ts +26 -106
  49. package/dist/components/ui-canvas-cad/cad-inicializador.d.ts +3 -1
  50. package/dist/components/ui-canvas-cad/cad-leaflet-adaptador.d.ts +5 -0
  51. package/dist/components/ui-canvas-cad/cad-selecao-pontos.d.ts +5 -0
  52. package/dist/components/ui-canvas-cad/tipos.d.ts +37 -0
  53. package/dist/components/ui-canvas-cad/ui-canvas-cad.d.ts +4 -1
  54. package/dist/components/ui-checkbox/ui-checkbox.d.ts +4 -1
  55. package/dist/components/ui-mapa/mapa-atributos.d.ts +14 -0
  56. package/dist/components/ui-mapa/mapa-basemaps.d.ts +7 -0
  57. package/dist/components/ui-mapa/mapa-icones.d.ts +4 -0
  58. package/dist/components/ui-mapa/mapa-leaflet.d.ts +5 -0
  59. package/dist/components/ui-mapa/mapa-vinculo-pai.d.ts +22 -0
  60. package/dist/components/ui-mapa/tipos.d.ts +13 -0
  61. package/dist/components/ui-mapa/ui-mapa-linha.d.ts +12 -5
  62. package/dist/components/ui-mapa/ui-mapa-marcador.d.ts +15 -6
  63. package/dist/components/ui-mapa/ui-mapa.d.ts +14 -1
  64. package/dist/components/ui-modal/modal-acessibilidade.d.ts +5 -5
  65. package/dist/components/ui-modal/modal-foco.d.ts +28 -0
  66. package/dist/components/ui-modal/ui-modal.d.ts +1 -11
  67. package/dist/components/ui-radio/radio-grupo-registry.d.ts +10 -0
  68. package/dist/components/ui-radio/ui-radio.d.ts +9 -2
  69. package/dist/components/ui-skeleton/ui-skeleton.d.ts +9 -0
  70. package/dist/components/ui-switch/ui-switch.d.ts +3 -1
  71. package/dist/components/ui-tabela/tabela-estados.d.ts +16 -0
  72. package/dist/components/ui-tabela/tabela-rolagem.d.ts +44 -0
  73. package/dist/components/ui-tabela/tabela-teclado.d.ts +16 -0
  74. package/dist/components/ui-tabela/ui-tabela.d.ts +1 -19
  75. package/dist/components/ui-tooltip/tooltip-popover.d.ts +7 -0
  76. package/dist/components/ui-tooltip/tooltip-posicionamento.d.ts +29 -0
  77. package/dist/components/ui-tooltip/ui-tooltip.d.ts +24 -1
  78. package/dist/core/opcoes.d.ts +9 -0
  79. package/dist/core/rotulo-controle.d.ts +13 -0
  80. package/dist/core/tipos-toast.d.ts +16 -0
  81. package/dist/core/ui-bus.d.ts +9 -1
  82. package/dist/core.cjs +1 -1
  83. package/dist/core.js +12 -11
  84. package/dist/custom-elements.json +19484 -14657
  85. package/dist/data.cjs +1 -1
  86. package/dist/data.js +2 -2
  87. package/dist/feedback.cjs +1 -1
  88. package/dist/feedback.js +21 -21
  89. package/dist/form-validacao-BlQFxUVj.js +104 -0
  90. package/dist/form-validacao-DIeyQVH5.cjs +1 -0
  91. package/dist/forms.cjs +1 -1
  92. package/dist/forms.js +2 -2
  93. package/dist/index.cjs +1 -1
  94. package/dist/index.js +46 -46
  95. package/dist/mapa.cjs +11 -16
  96. package/dist/mapa.js +242 -170
  97. package/dist/modal.cjs +1 -1
  98. package/dist/modal.js +1 -1
  99. package/dist/opcoes-CJYLi6kd.js +12 -0
  100. package/dist/opcoes-CkyDxBuQ.cjs +1 -0
  101. package/dist/register.cjs +1 -1
  102. package/dist/register.js +12 -13
  103. package/dist/tabela.cjs +1 -1
  104. package/dist/tabela.js +1 -1
  105. package/dist/tipos-elementos.d.ts +8 -3
  106. package/dist/tipos-vue.d.ts +8 -3
  107. package/dist/tools.cjs +1 -1
  108. package/dist/tools.js +1 -1
  109. package/dist/ui-badge-ChiiiO1r.js +197 -0
  110. package/dist/ui-badge-DUCxyAG6.cjs +28 -0
  111. package/dist/{zero-js-triggers-C_KrvFOQ.js → ui-bus-CUd99VJi.js} +36 -103
  112. package/dist/ui-bus-XqBLlTYQ.cjs +1 -0
  113. package/dist/ui-campo-texto-CHTfMO-H.cjs +16 -0
  114. package/dist/ui-campo-texto-gum_jDdI.js +380 -0
  115. package/dist/ui-card-BNYCQ7g-.js +119 -0
  116. package/dist/ui-card-BrjBL-yo.cjs +20 -0
  117. package/dist/ui-controle-cores-BS0WYPdi.js +572 -0
  118. package/dist/ui-controle-cores-Er6ZcQ7U.cjs +111 -0
  119. package/dist/ui-modal-BkYvNP0G.js +214 -0
  120. package/dist/ui-modal-CUNbpbZ1.cjs +18 -0
  121. package/dist/ui-paleta-ferramentas-Ksh6gMW3.js +890 -0
  122. package/dist/ui-paleta-ferramentas-bDLPbiGA.cjs +21 -0
  123. package/dist/ui-segmented-BOaGRQw4.cjs +19 -0
  124. package/dist/ui-segmented-kbO1BLVs.js +439 -0
  125. package/dist/ui-skeleton-B2Rgrv8o.js +648 -0
  126. package/dist/ui-skeleton-BilwGdOm.js +634 -0
  127. package/dist/ui-skeleton-DiOxTBZK.cjs +52 -0
  128. package/dist/ui-skeleton-SPYqku8P.cjs +52 -0
  129. package/dist/ui-skeleton-W9uwIceA.js +585 -0
  130. package/dist/ui-skeleton-gZrJipCC.cjs +52 -0
  131. package/dist/ui-switch-BX6U5Ykm.cjs +53 -0
  132. package/dist/ui-switch-DO5jR0hy.js +915 -0
  133. package/dist/ui-tabela-propriedades-D9Echt2X.js +2667 -0
  134. package/dist/ui-tabela-propriedades-DzZlyNZ_.cjs +141 -0
  135. package/dist/zero-js-triggers-CJT988bR.js +83 -0
  136. package/dist/zero-js-triggers-CgM9IIQB.cjs +1 -0
  137. package/package.json +10 -3
  138. package/dist/ui-skeleton-DI4_9WOX.js +0 -428
  139. package/dist/ui-skeleton-elhKIh2B.cjs +0 -33
  140. package/dist/ui-toast-Bp_NlM5G.js +0 -156
  141. package/dist/ui-toast-DGTZKne5.cjs +0 -20
  142. package/dist/zero-js-triggers-C_gtaojZ.cjs +0 -1
@@ -84,6 +84,7 @@ export interface PropsUiAvatar {
84
84
  size?: ValorDeAtributo;
85
85
  formato?: ValorDeAtributo;
86
86
  status?: ValorDeAtributo;
87
+ 'aria-label'?: ValorDeAtributo;
87
88
  }
88
89
 
89
90
  /**
@@ -97,7 +98,7 @@ export interface PropsUiBadge {
97
98
  estilo?: ValorDeAtributo;
98
99
  removivel?: UIBadge['removivel'];
99
100
  removable?: ValorDeAtributo;
100
- disabled?: ValorDeAtributo;
101
+ disabled?: UIBadge['disabled'];
101
102
  label?: ValorDeAtributo;
102
103
  value?: ValorDeAtributo;
103
104
  'onui-remove'?: (evento: CustomEvent) => void;
@@ -349,7 +350,7 @@ export interface PropsUiChip {
349
350
  estilo?: ValorDeAtributo;
350
351
  removivel?: UIChip['removivel'];
351
352
  removable?: ValorDeAtributo;
352
- disabled?: ValorDeAtributo;
353
+ disabled?: UIChip['disabled'];
353
354
  label?: ValorDeAtributo;
354
355
  value?: ValorDeAtributo;
355
356
  'onui-remove'?: (evento: CustomEvent) => void;
@@ -431,6 +432,7 @@ export interface PropsUiEsqueleto {
431
432
  count?: ValorDeAtributo;
432
433
  animado?: UIEsqueleto['animado'];
433
434
  animated?: ValorDeAtributo;
435
+ 'aria-label'?: ValorDeAtributo;
434
436
  }
435
437
 
436
438
  /**
@@ -636,6 +638,8 @@ export interface PropsUiMapa {
636
638
  lat?: ValorDeAtributo;
637
639
  lng?: ValorDeAtributo;
638
640
  zoom?: ValorDeAtributo;
641
+ 'aria-label'?: ValorDeAtributo;
642
+ camadas?: ValorDeAtributo;
639
643
  'onui-mapa-pronto'?: (evento: CustomEvent) => void;
640
644
  }
641
645
 
@@ -1012,6 +1016,7 @@ export interface PropsUiSkeleton {
1012
1016
  count?: ValorDeAtributo;
1013
1017
  animado?: UISkeleton['animado'];
1014
1018
  animated?: ValorDeAtributo;
1019
+ 'aria-label'?: ValorDeAtributo;
1015
1020
  }
1016
1021
 
1017
1022
  /**
@@ -1150,7 +1155,7 @@ export interface PropsUiTag {
1150
1155
  estilo?: ValorDeAtributo;
1151
1156
  removivel?: UITag['removivel'];
1152
1157
  removable?: ValorDeAtributo;
1153
- disabled?: ValorDeAtributo;
1158
+ disabled?: UITag['disabled'];
1154
1159
  label?: ValorDeAtributo;
1155
1160
  value?: ValorDeAtributo;
1156
1161
  'onui-remove'?: (evento: CustomEvent) => void;
@@ -83,6 +83,7 @@ type PropsVueUiAvatar = {
83
83
  size?: ValorDeAtributo;
84
84
  formato?: ValorDeAtributo;
85
85
  status?: ValorDeAtributo;
86
+ ariaLabel?: ValorDeAtributo;
86
87
  };
87
88
 
88
89
  /**
@@ -96,7 +97,7 @@ type PropsVueUiBadge = {
96
97
  estilo?: ValorDeAtributo;
97
98
  removivel?: UIBadge['removivel'];
98
99
  removable?: ValorDeAtributo;
99
- disabled?: ValorDeAtributo;
100
+ disabled?: UIBadge['disabled'];
100
101
  label?: ValorDeAtributo;
101
102
  value?: ValorDeAtributo;
102
103
  onUiRemove?: (evento: CustomEvent) => void;
@@ -335,7 +336,7 @@ type PropsVueUiChip = {
335
336
  estilo?: ValorDeAtributo;
336
337
  removivel?: UIChip['removivel'];
337
338
  removable?: ValorDeAtributo;
338
- disabled?: ValorDeAtributo;
339
+ disabled?: UIChip['disabled'];
339
340
  label?: ValorDeAtributo;
340
341
  value?: ValorDeAtributo;
341
342
  onUiRemove?: (evento: CustomEvent) => void;
@@ -417,6 +418,7 @@ type PropsVueUiEsqueleto = {
417
418
  count?: ValorDeAtributo;
418
419
  animado?: UIEsqueleto['animado'];
419
420
  animated?: ValorDeAtributo;
421
+ ariaLabel?: ValorDeAtributo;
420
422
  };
421
423
 
422
424
  /**
@@ -614,6 +616,8 @@ type PropsVueUiMapa = {
614
616
  lat?: ValorDeAtributo;
615
617
  lng?: ValorDeAtributo;
616
618
  zoom?: ValorDeAtributo;
619
+ ariaLabel?: ValorDeAtributo;
620
+ camadas?: ValorDeAtributo;
617
621
  onUiMapaPronto?: (evento: CustomEvent) => void;
618
622
  };
619
623
 
@@ -981,6 +985,7 @@ type PropsVueUiSkeleton = {
981
985
  count?: ValorDeAtributo;
982
986
  animado?: UISkeleton['animado'];
983
987
  animated?: ValorDeAtributo;
988
+ ariaLabel?: ValorDeAtributo;
984
989
  };
985
990
 
986
991
  /**
@@ -1115,7 +1120,7 @@ type PropsVueUiTag = {
1115
1120
  estilo?: ValorDeAtributo;
1116
1121
  removivel?: UITag['removivel'];
1117
1122
  removable?: ValorDeAtributo;
1118
- disabled?: ValorDeAtributo;
1123
+ disabled?: UITag['disabled'];
1119
1124
  label?: ValorDeAtributo;
1120
1125
  value?: ValorDeAtributo;
1121
1126
  onUiRemove?: (evento: CustomEvent) => void;
package/dist/tools.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const e=require("./ui-paleta-ferramentas-Ccmo-rB5.cjs"),a=t=>`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${t}</svg>`,r={selecionar:a('<path d="M4 3l7 17 2.5-7.5L21 10z"/>'),mover:a('<path d="M5 9l-3 3 3 3M9 5l3-3 3 3M15 19l-3 3-3-3M19 9l3 3-3 3M2 12h20M12 2v20"/>'),mao:a('<path d="M18 11V6a2 2 0 0 0-4 0M14 10V4a2 2 0 0 0-4 0v2M10 10.5V6a2 2 0 0 0-4 0v8M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.9-5.9-2.4L3.4 16a2 2 0 0 1 3.2-2.4L8 15"/>'),zoom:a('<circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/><path d="M11 8v6M8 11h6"/>'),linha:a('<line x1="5" y1="19" x2="19" y2="5"/><circle cx="5" cy="19" r="1.5"/><circle cx="19" cy="5" r="1.5"/>'),polilinha:a('<polyline points="3 17 9 11 13 15 21 7"/>'),retangulo:a('<rect x="3" y="5" width="18" height="14" rx="1"/>'),circulo:a('<circle cx="12" cy="12" r="9"/>'),arco:a('<path d="M4 18a9 9 0 0 1 16 0"/>'),ponto:a('<circle cx="12" cy="12" r="3"/>'),texto:a('<path d="M4 7V4h16v3M9 20h6M12 4v16"/>'),caneta:a('<path d="M12 19l7-7 3 3-7 7-3-3z"/><path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"/><path d="M2 2l7.6 7.6"/>'),medir:a('<rect x="2" y="8" width="20" height="8" rx="1"/><path d="M6 8v3M10 8v4M14 8v3M18 8v4"/>'),camadas:a('<polygon points="12 2 2 7 12 12 22 7 12 2"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/>'),grade:a('<path d="M3 3h18v18H3zM3 9h18M3 15h18M9 3v18M15 3v18"/>'),desfazer:a('<path d="M3 7v6h6"/><path d="M21 17a9 9 0 0 0-15-6.7L3 13"/>'),refazer:a('<path d="M21 7v6h-6"/><path d="M3 17a9 9 0 0 1 15-6.7L21 13"/>'),colar:a('<rect x="8" y="2" width="8" height="4" rx="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/>'),copiar:a('<rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/>'),negrito:a('<path d="M6 4h8a4 4 0 0 1 0 8H6zM6 12h9a4 4 0 0 1 0 8H6z"/>'),italico:a('<line x1="19" y1="4" x2="10" y2="4"/><line x1="14" y1="20" x2="5" y2="20"/><line x1="15" y1="4" x2="9" y2="20"/>')};exports.UIPaletaFerramentas=e.UIPaletaFerramentas;exports.UIRibbon=e.UIRibbon;exports.ICONES_FERRAMENTAS=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});;/* empty css */const e=require("./ui-paleta-ferramentas-bDLPbiGA.cjs"),a=t=>`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${t}</svg>`,r={selecionar:a('<path d="M4 3l7 17 2.5-7.5L21 10z"/>'),mover:a('<path d="M5 9l-3 3 3 3M9 5l3-3 3 3M15 19l-3 3-3-3M19 9l3 3-3 3M2 12h20M12 2v20"/>'),mao:a('<path d="M18 11V6a2 2 0 0 0-4 0M14 10V4a2 2 0 0 0-4 0v2M10 10.5V6a2 2 0 0 0-4 0v8M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.9-5.9-2.4L3.4 16a2 2 0 0 1 3.2-2.4L8 15"/>'),zoom:a('<circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/><path d="M11 8v6M8 11h6"/>'),linha:a('<line x1="5" y1="19" x2="19" y2="5"/><circle cx="5" cy="19" r="1.5"/><circle cx="19" cy="5" r="1.5"/>'),polilinha:a('<polyline points="3 17 9 11 13 15 21 7"/>'),retangulo:a('<rect x="3" y="5" width="18" height="14" rx="1"/>'),circulo:a('<circle cx="12" cy="12" r="9"/>'),arco:a('<path d="M4 18a9 9 0 0 1 16 0"/>'),ponto:a('<circle cx="12" cy="12" r="3"/>'),texto:a('<path d="M4 7V4h16v3M9 20h6M12 4v16"/>'),caneta:a('<path d="M12 19l7-7 3 3-7 7-3-3z"/><path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z"/><path d="M2 2l7.6 7.6"/>'),medir:a('<rect x="2" y="8" width="20" height="8" rx="1"/><path d="M6 8v3M10 8v4M14 8v3M18 8v4"/>'),camadas:a('<polygon points="12 2 2 7 12 12 22 7 12 2"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/>'),grade:a('<path d="M3 3h18v18H3zM3 9h18M3 15h18M9 3v18M15 3v18"/>'),desfazer:a('<path d="M3 7v6h6"/><path d="M21 17a9 9 0 0 0-15-6.7L3 13"/>'),refazer:a('<path d="M21 7v6h-6"/><path d="M3 17a9 9 0 0 1 15-6.7L21 13"/>'),colar:a('<rect x="8" y="2" width="8" height="4" rx="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/>'),copiar:a('<rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/>'),negrito:a('<path d="M6 4h8a4 4 0 0 1 0 8H6zM6 12h9a4 4 0 0 1 0 8H6z"/>'),italico:a('<line x1="19" y1="4" x2="10" y2="4"/><line x1="14" y1="20" x2="5" y2="20"/><line x1="15" y1="4" x2="9" y2="20"/>')};exports.UIPaletaFerramentas=e.UIPaletaFerramentas;exports.UIRibbon=e.UIRibbon;exports.ICONES_FERRAMENTAS=r;
package/dist/tools.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /* empty css */
2
- import { a as o, b as l } from "./ui-paleta-ferramentas-DNN5i6nL.js";
2
+ import { a as o, b as l } from "./ui-paleta-ferramentas-Ksh6gMW3.js";
3
3
  const a = (t) => `<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${t}</svg>`, h = {
4
4
  selecionar: a('<path d="M4 3l7 17 2.5-7.5L21 10z"/>'),
5
5
  mover: a('<path d="M5 9l-3 3 3 3M9 5l3-3 3 3M15 19l-3 3-3-3M19 9l3 3-3 3M2 12h20M12 2v20"/>'),
@@ -0,0 +1,197 @@
1
+ var v = Object.defineProperty;
2
+ var m = (i, o, e) => o in i ? v(i, o, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[o] = e;
3
+ var t = (i, o, e) => m(i, typeof o != "symbol" ? o + "" : o, e);
4
+ import { d as s, S as g } from "./ssr-safe-5cWfJP-s.js";
5
+ import { e as d } from "./opcoes-CJYLi6kd.js";
6
+ import { g as p } from "./acessibilidade-CUlSXc2X.js";
7
+ import { L as h } from "./listener-bag-DQgv7OON.js";
8
+ const x = ':host{display:block;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif)}.ui-stat{padding:18px 20px;border-radius:var(--ui-raio-borda, 10px);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));background-color:var(--ui-cor-fundo-card, #18181c);color:var(--ui-cor-texto, #e1e1e6);box-sizing:border-box;display:flex;flex-direction:column;position:relative;transition:border-color .15s ease,box-shadow .15s ease}.ui-stat--baixa{box-shadow:var(--ui-sombra-sm, 0 2px 6px rgba(0, 0, 0, .3))}.ui-stat--media{box-shadow:var(--ui-sombra-md, 0 4px 14px rgba(0, 0, 0, .4))}.ui-stat--alta{box-shadow:var(--ui-sombra-lg, 0 8px 24px rgba(0, 0, 0, .5))}.ui-stat__cabecalho{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}.ui-stat__rotulo{font-size:13px;font-weight:500;color:var(--ui-cor-texto-secundario, #888899);letter-spacing:.01em}.ui-stat__icone-slot{display:flex;align-items:center;color:var(--ui-cor-texto-secundario, #888899)}.ui-stat__icone-slot svg,.ui-stat__icone-slot ::slotted(svg),.ui-stat__icone-slot ::slotted(ui-icone){shape-rendering:geometricPrecision}.ui-stat__conteudo{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}.ui-stat__valor{font-size:28px;font-weight:700;color:var(--ui-cor-texto, #ffffff);line-height:1.15;letter-spacing:-.025em}.ui-stat__indicador{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:5px;font-size:12px;font-weight:600;line-height:1}.ui-stat__indicador--positivo,.ui-stat__indicador--alta{background-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 14%,transparent);color:var(--ui-cor-primaria, #00E08A)}.ui-stat__indicador--negativo,.ui-stat__indicador--baixa{background-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 14%,transparent);color:var(--ui-cor-texto-erro, #ff5555)}.ui-stat__indicador--neutro{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);color:var(--ui-cor-texto-secundario, #888899)}.ui-stat__seta{font-size:.85em;line-height:1}.ui-stat__rodape{display:flex;flex-direction:column;gap:6px}.ui-stat__descricao{font-size:12px;color:var(--ui-cor-texto-secundario, #888899);line-height:1.3}', f = ["baixa", "media", "alta"];
9
+ class u extends g {
10
+ constructor() {
11
+ super();
12
+ t(this, "statElement");
13
+ t(this, "rotuloElement");
14
+ t(this, "valorElement");
15
+ t(this, "indicadorElement");
16
+ t(this, "setaElement");
17
+ t(this, "variacaoElement");
18
+ t(this, "descricaoElement");
19
+ const e = this.attachShadow({ mode: "open" });
20
+ e.innerHTML = `
21
+ <style>${x}</style>
22
+ <div class="ui-stat" role="group">
23
+ <div class="ui-stat__cabecalho">
24
+ <span class="ui-stat__rotulo"></span>
25
+ <div class="ui-stat__icone-slot"><slot name="icone"></slot></div>
26
+ </div>
27
+ <div class="ui-stat__conteudo">
28
+ <div class="ui-stat__valor"></div>
29
+ <div class="ui-stat__indicador" style="display: none;">
30
+ <span class="ui-stat__seta" aria-hidden="true"></span>
31
+ <span class="ui-stat__variacao"></span>
32
+ </div>
33
+ </div>
34
+ <div class="ui-stat__rodape">
35
+ <span class="ui-stat__descricao" style="display: none;"></span>
36
+ <slot name="grafico"></slot>
37
+ <slot></slot>
38
+ </div>
39
+ </div>
40
+ `, this.statElement = e.querySelector(".ui-stat"), this.rotuloElement = e.querySelector(".ui-stat__rotulo"), this.rotuloElement.id = p("ui-stat-rotulo"), this.valorElement = e.querySelector(".ui-stat__valor"), this.indicadorElement = e.querySelector(".ui-stat__indicador"), this.setaElement = e.querySelector(".ui-stat__seta"), this.variacaoElement = e.querySelector(".ui-stat__variacao"), this.descricaoElement = e.querySelector(".ui-stat__descricao");
41
+ }
42
+ static get observedAttributes() {
43
+ return [
44
+ "rotulo",
45
+ "label",
46
+ "valor",
47
+ "value",
48
+ "variacao",
49
+ "trend",
50
+ "tendencia",
51
+ "direction",
52
+ "descricao",
53
+ "description",
54
+ "elevacao",
55
+ "elevation"
56
+ ];
57
+ }
58
+ connectedCallback() {
59
+ this.syncState();
60
+ }
61
+ attributeChangedCallback(e, r, a) {
62
+ this.syncState();
63
+ }
64
+ get rotulo() {
65
+ return this.getAttribute("rotulo") || this.getAttribute("label") || "";
66
+ }
67
+ set rotulo(e) {
68
+ this.setAttribute("rotulo", e);
69
+ }
70
+ get valor() {
71
+ return this.getAttribute("valor") || this.getAttribute("value") || "";
72
+ }
73
+ set valor(e) {
74
+ this.setAttribute("valor", e);
75
+ }
76
+ get variacao() {
77
+ return this.getAttribute("variacao") || this.getAttribute("trend") || "";
78
+ }
79
+ set variacao(e) {
80
+ this.setAttribute("variacao", e);
81
+ }
82
+ get tendencia() {
83
+ const e = (this.getAttribute("tendencia") || this.getAttribute("direction") || "positivo").toLowerCase();
84
+ return e === "baixa" || e === "negativo" || e === "down" ? "baixa" : e === "neutro" || e === "neutral" ? "neutro" : "alta";
85
+ }
86
+ set tendencia(e) {
87
+ this.setAttribute("tendencia", e);
88
+ }
89
+ get descricao() {
90
+ return this.getAttribute("descricao") || this.getAttribute("description") || "";
91
+ }
92
+ set descricao(e) {
93
+ this.setAttribute("descricao", e);
94
+ }
95
+ syncState() {
96
+ const e = this.rotulo, r = this.valor, a = this.variacao, l = this.tendencia, n = this.descricao, c = d(this.getAttribute("elevacao") || this.getAttribute("elevation"), f, "baixa");
97
+ this.statElement.className = `ui-stat ui-stat--${c}`, e ? this.statElement.setAttribute("aria-labelledby", this.rotuloElement.id) : this.statElement.removeAttribute("aria-labelledby"), this.rotuloElement.textContent = e, this.valorElement.textContent = r, a ? (this.variacaoElement.textContent = a, this.indicadorElement.style.display = "inline-flex", this.indicadorElement.setAttribute("role", "img"), l === "baixa" ? (this.indicadorElement.className = "ui-stat__indicador ui-stat__indicador--negativo", this.setaElement.textContent = "↓", this.indicadorElement.setAttribute("aria-label", `Queda de ${a}`)) : l === "neutro" ? (this.indicadorElement.className = "ui-stat__indicador ui-stat__indicador--neutro", this.setaElement.textContent = "→", this.indicadorElement.setAttribute("aria-label", `Variação estável de ${a}`)) : (this.indicadorElement.className = "ui-stat__indicador ui-stat__indicador--positivo", this.setaElement.textContent = "↑", this.indicadorElement.setAttribute("aria-label", `Aumento de ${a}`))) : this.indicadorElement.style.display = "none", n ? (this.descricaoElement.textContent = n, this.descricaoElement.style.display = "block") : this.descricaoElement.style.display = "none";
98
+ }
99
+ }
100
+ class _ extends u {
101
+ }
102
+ class E extends u {
103
+ }
104
+ s("ui-stat", u);
105
+ s("ui-kpi", _);
106
+ s("ui-metrica", E);
107
+ const y = ':host{display:inline-flex;align-items:center;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif);vertical-align:middle}.ui-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:3px 8px;border-radius:var(--ui-raio-pill, 999px);font-size:11px;font-weight:600;line-height:1;-webkit-user-select:none;user-select:none;box-sizing:border-box;transition:background-color .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}::slotted(svg),::slotted(ui-icone){width:12px!important;height:12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;vertical-align:middle!important;shape-rendering:geometricPrecision;flex-shrink:0}::slotted(span){display:inline-flex;align-items:center;line-height:1}.ui-badge--suave{background-color:var(--ui-cor-badge-fundo, var(--ui-cor-hover-menu, rgba(255, 255, 255, .08)));color:var(--ui-cor-badge-texto, var(--ui-cor-texto, #e1e1e6));border:1px solid transparent}.ui-badge--solido{background-color:var(--ui-cor-badge-solido, var(--ui-cor-texto-secundario, #888899));color:var(--ui-cor-fundo, #0b0b0d);border:1px solid transparent}.ui-badge--contornado{background-color:transparent;color:var(--ui-cor-badge-texto, var(--ui-cor-texto, #e1e1e6));border:1px solid var(--ui-cor-badge-borda, var(--ui-cor-borda, rgba(255, 255, 255, .2)))}.ui-badge--sucesso.ui-badge--suave{background-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 15%,transparent);color:var(--ui-cor-primaria, #00E08A)}.ui-badge--sucesso.ui-badge--solido{background-color:var(--ui-cor-primaria, #00E08A);color:var(--ui-cor-texto-sobre-primaria, #000000)}.ui-badge--sucesso.ui-badge--contornado{color:var(--ui-cor-primaria, #00E08A);border-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 40%,transparent)}.ui-badge--erro.ui-badge--suave{background-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 15%,transparent);color:var(--ui-cor-texto-erro, #ff5555)}.ui-badge--erro.ui-badge--solido{background-color:var(--ui-cor-texto-erro, #ff5555);color:var(--ui-cor-texto-sobre-status, #000000)}.ui-badge--erro.ui-badge--contornado{color:var(--ui-cor-texto-erro, #ff5555);border-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 40%,transparent)}.ui-badge--alerta.ui-badge--suave{background-color:color-mix(in srgb,var(--ui-cor-texto-alerta, #ffb86c) 15%,transparent);color:var(--ui-cor-texto-alerta, #ffb86c)}.ui-badge--alerta.ui-badge--solido{background-color:var(--ui-cor-texto-alerta, #ffb86c);color:var(--ui-cor-texto-sobre-status, #000000)}.ui-badge--alerta.ui-badge--contornado{color:var(--ui-cor-texto-alerta, #ffb86c);border-color:color-mix(in srgb,var(--ui-cor-texto-alerta, #ffb86c) 40%,transparent)}.ui-badge--info.ui-badge--suave,.ui-badge--primaria.ui-badge--suave{background-color:color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 15%,transparent);color:var(--ui-cor-texto-info, #33b5ff)}.ui-badge--info.ui-badge--solido,.ui-badge--primaria.ui-badge--solido{background-color:var(--ui-cor-texto-info, #33b5ff);color:var(--ui-cor-texto-sobre-status, #000000)}.ui-badge--info.ui-badge--contornado,.ui-badge--primaria.ui-badge--contornado{color:var(--ui-cor-texto-info, #33b5ff);border-color:color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 40%,transparent)}.ui-badge--neutro.ui-badge--suave{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);color:var(--ui-cor-texto-secundario, #888899)}.ui-badge__close{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;cursor:pointer;opacity:.85;transition:opacity .15s ease,background-color .15s ease;font-size:10px;line-height:1;margin-left:2px}.ui-badge__close:hover{opacity:1;background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 20%,transparent)}', A = ["neutro", "primaria", "sucesso", "erro", "alerta", "info"], k = ["suave", "solido", "contornado"];
108
+ class b extends g {
109
+ constructor() {
110
+ super();
111
+ t(this, "badgeElement");
112
+ t(this, "labelElement");
113
+ t(this, "closeElement");
114
+ t(this, "listeners", new h());
115
+ t(this, "handleRemove", (e) => {
116
+ var r;
117
+ e.stopPropagation(), !this.disabled && this.dispatchEvent(
118
+ new CustomEvent("ui-remove", {
119
+ detail: {
120
+ value: this.getAttribute("value") || ((r = this.textContent) == null ? void 0 : r.trim()) || ""
121
+ },
122
+ bubbles: !0,
123
+ composed: !0
124
+ })
125
+ );
126
+ });
127
+ const e = this.attachShadow({ mode: "open" });
128
+ e.innerHTML = `
129
+ <style>${y}</style>
130
+ <span class="ui-badge" part="base">
131
+ <slot></slot>
132
+ <span class="ui-badge__label" part="rotulo" style="display: none;"></span>
133
+ <span class="ui-badge__close" part="remover" role="button" tabindex="0" aria-label="Remover" style="display: none;" title="Remover">✕</span>
134
+ </span>
135
+ `, this.badgeElement = e.querySelector(".ui-badge"), this.labelElement = e.querySelector(".ui-badge__label"), this.closeElement = e.querySelector(".ui-badge__close");
136
+ }
137
+ static get observedAttributes() {
138
+ return [
139
+ "variante",
140
+ "variant",
141
+ "estilo",
142
+ "removivel",
143
+ "removable",
144
+ "disabled",
145
+ "label",
146
+ "value"
147
+ ];
148
+ }
149
+ connectedCallback() {
150
+ this.listeners.cleanup(), this.listeners.add(this.closeElement, "click", this.handleRemove), this.listeners.add(this.closeElement, "keydown", (e) => {
151
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), this.handleRemove(e));
152
+ }), this.syncState();
153
+ }
154
+ disconnectedCallback() {
155
+ this.listeners.cleanup();
156
+ }
157
+ attributeChangedCallback(e, r, a) {
158
+ this.syncState();
159
+ }
160
+ get removivel() {
161
+ return this.hasAttribute("removivel") || this.hasAttribute("removable");
162
+ }
163
+ set removivel(e) {
164
+ e ? this.setAttribute("removivel", "") : (this.removeAttribute("removivel"), this.removeAttribute("removable"));
165
+ }
166
+ syncState() {
167
+ var n;
168
+ const e = d(this.getAttribute("variante") || this.getAttribute("variant"), A, "neutro"), r = d(this.getAttribute("estilo"), k, "suave"), a = this.getAttribute("label"), l = this.removivel;
169
+ if (this.badgeElement.className = "ui-badge", this.badgeElement.classList.add(`ui-badge--${e}`), this.badgeElement.classList.add(`ui-badge--${r}`), a ? (this.labelElement.textContent = a, this.labelElement.style.display = "inline") : this.labelElement.style.display = "none", l) {
170
+ this.closeElement.style.display = "inline-flex";
171
+ const c = a || this.getAttribute("value") || ((n = this.textContent) == null ? void 0 : n.trim()) || "";
172
+ this.closeElement.setAttribute("aria-label", c ? `Remover ${c}` : "Remover"), this.disabled ? (this.closeElement.setAttribute("tabindex", "-1"), this.closeElement.setAttribute("aria-disabled", "true")) : (this.closeElement.setAttribute("tabindex", "0"), this.closeElement.removeAttribute("aria-disabled"));
173
+ } else
174
+ this.closeElement.style.display = "none";
175
+ }
176
+ get disabled() {
177
+ return this.hasAttribute("disabled");
178
+ }
179
+ set disabled(e) {
180
+ e ? this.setAttribute("disabled", "") : this.removeAttribute("disabled");
181
+ }
182
+ }
183
+ class w extends b {
184
+ }
185
+ class S extends b {
186
+ }
187
+ s("ui-badge", b);
188
+ s("ui-chip", w);
189
+ s("ui-tag", S);
190
+ export {
191
+ b as U,
192
+ w as a,
193
+ _ as b,
194
+ E as c,
195
+ u as d,
196
+ S as e
197
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";var p=Object.defineProperty;var x=(i,o,e)=>o in i?p(i,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[o]=e;var t=(i,o,e)=>x(i,typeof o!="symbol"?o+"":o,e);const s=require("./ssr-safe-CiHD1adl.cjs"),b=require("./opcoes-CkyDxBuQ.cjs"),f=require("./acessibilidade-CSzX-DkG.cjs"),_=require("./listener-bag-D5omxZ9h.cjs"),E=':host{display:block;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif)}.ui-stat{padding:18px 20px;border-radius:var(--ui-raio-borda, 10px);border:1px solid var(--ui-cor-borda, rgba(255, 255, 255, .12));background-color:var(--ui-cor-fundo-card, #18181c);color:var(--ui-cor-texto, #e1e1e6);box-sizing:border-box;display:flex;flex-direction:column;position:relative;transition:border-color .15s ease,box-shadow .15s ease}.ui-stat--baixa{box-shadow:var(--ui-sombra-sm, 0 2px 6px rgba(0, 0, 0, .3))}.ui-stat--media{box-shadow:var(--ui-sombra-md, 0 4px 14px rgba(0, 0, 0, .4))}.ui-stat--alta{box-shadow:var(--ui-sombra-lg, 0 8px 24px rgba(0, 0, 0, .5))}.ui-stat__cabecalho{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:8px}.ui-stat__rotulo{font-size:13px;font-weight:500;color:var(--ui-cor-texto-secundario, #888899);letter-spacing:.01em}.ui-stat__icone-slot{display:flex;align-items:center;color:var(--ui-cor-texto-secundario, #888899)}.ui-stat__icone-slot svg,.ui-stat__icone-slot ::slotted(svg),.ui-stat__icone-slot ::slotted(ui-icone){shape-rendering:geometricPrecision}.ui-stat__conteudo{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:6px}.ui-stat__valor{font-size:28px;font-weight:700;color:var(--ui-cor-texto, #ffffff);line-height:1.15;letter-spacing:-.025em}.ui-stat__indicador{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:5px;font-size:12px;font-weight:600;line-height:1}.ui-stat__indicador--positivo,.ui-stat__indicador--alta{background-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 14%,transparent);color:var(--ui-cor-primaria, #00E08A)}.ui-stat__indicador--negativo,.ui-stat__indicador--baixa{background-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 14%,transparent);color:var(--ui-cor-texto-erro, #ff5555)}.ui-stat__indicador--neutro{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);color:var(--ui-cor-texto-secundario, #888899)}.ui-stat__seta{font-size:.85em;line-height:1}.ui-stat__rodape{display:flex;flex-direction:column;gap:6px}.ui-stat__descricao{font-size:12px;color:var(--ui-cor-texto-secundario, #888899);line-height:1.3}',y=["baixa","media","alta"];class d extends s.SafeHTMLElement{constructor(){super();t(this,"statElement");t(this,"rotuloElement");t(this,"valorElement");t(this,"indicadorElement");t(this,"setaElement");t(this,"variacaoElement");t(this,"descricaoElement");const e=this.attachShadow({mode:"open"});e.innerHTML=`
2
+ <style>${E}</style>
3
+ <div class="ui-stat" role="group">
4
+ <div class="ui-stat__cabecalho">
5
+ <span class="ui-stat__rotulo"></span>
6
+ <div class="ui-stat__icone-slot"><slot name="icone"></slot></div>
7
+ </div>
8
+ <div class="ui-stat__conteudo">
9
+ <div class="ui-stat__valor"></div>
10
+ <div class="ui-stat__indicador" style="display: none;">
11
+ <span class="ui-stat__seta" aria-hidden="true"></span>
12
+ <span class="ui-stat__variacao"></span>
13
+ </div>
14
+ </div>
15
+ <div class="ui-stat__rodape">
16
+ <span class="ui-stat__descricao" style="display: none;"></span>
17
+ <slot name="grafico"></slot>
18
+ <slot></slot>
19
+ </div>
20
+ </div>
21
+ `,this.statElement=e.querySelector(".ui-stat"),this.rotuloElement=e.querySelector(".ui-stat__rotulo"),this.rotuloElement.id=f.gerarIdUnico("ui-stat-rotulo"),this.valorElement=e.querySelector(".ui-stat__valor"),this.indicadorElement=e.querySelector(".ui-stat__indicador"),this.setaElement=e.querySelector(".ui-stat__seta"),this.variacaoElement=e.querySelector(".ui-stat__variacao"),this.descricaoElement=e.querySelector(".ui-stat__descricao")}static get observedAttributes(){return["rotulo","label","valor","value","variacao","trend","tendencia","direction","descricao","description","elevacao","elevation"]}connectedCallback(){this.syncState()}attributeChangedCallback(e,r,a){this.syncState()}get rotulo(){return this.getAttribute("rotulo")||this.getAttribute("label")||""}set rotulo(e){this.setAttribute("rotulo",e)}get valor(){return this.getAttribute("valor")||this.getAttribute("value")||""}set valor(e){this.setAttribute("valor",e)}get variacao(){return this.getAttribute("variacao")||this.getAttribute("trend")||""}set variacao(e){this.setAttribute("variacao",e)}get tendencia(){const e=(this.getAttribute("tendencia")||this.getAttribute("direction")||"positivo").toLowerCase();return e==="baixa"||e==="negativo"||e==="down"?"baixa":e==="neutro"||e==="neutral"?"neutro":"alta"}set tendencia(e){this.setAttribute("tendencia",e)}get descricao(){return this.getAttribute("descricao")||this.getAttribute("description")||""}set descricao(e){this.setAttribute("descricao",e)}syncState(){const e=this.rotulo,r=this.valor,a=this.variacao,l=this.tendencia,n=this.descricao,c=b.escolherOpcao(this.getAttribute("elevacao")||this.getAttribute("elevation"),y,"baixa");this.statElement.className=`ui-stat ui-stat--${c}`,e?this.statElement.setAttribute("aria-labelledby",this.rotuloElement.id):this.statElement.removeAttribute("aria-labelledby"),this.rotuloElement.textContent=e,this.valorElement.textContent=r,a?(this.variacaoElement.textContent=a,this.indicadorElement.style.display="inline-flex",this.indicadorElement.setAttribute("role","img"),l==="baixa"?(this.indicadorElement.className="ui-stat__indicador ui-stat__indicador--negativo",this.setaElement.textContent="↓",this.indicadorElement.setAttribute("aria-label",`Queda de ${a}`)):l==="neutro"?(this.indicadorElement.className="ui-stat__indicador ui-stat__indicador--neutro",this.setaElement.textContent="→",this.indicadorElement.setAttribute("aria-label",`Variação estável de ${a}`)):(this.indicadorElement.className="ui-stat__indicador ui-stat__indicador--positivo",this.setaElement.textContent="↑",this.indicadorElement.setAttribute("aria-label",`Aumento de ${a}`))):this.indicadorElement.style.display="none",n?(this.descricaoElement.textContent=n,this.descricaoElement.style.display="block"):this.descricaoElement.style.display="none"}}class g extends d{}class v extends d{}s.definirCustomElement("ui-stat",d);s.definirCustomElement("ui-kpi",g);s.definirCustomElement("ui-metrica",v);const A=':host{display:inline-flex;align-items:center;box-sizing:border-box;font-family:var(--ui-fonte-base, "Inter", sans-serif);vertical-align:middle}.ui-badge{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:3px 8px;border-radius:var(--ui-raio-pill, 999px);font-size:11px;font-weight:600;line-height:1;-webkit-user-select:none;user-select:none;box-sizing:border-box;transition:background-color .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}::slotted(svg),::slotted(ui-icone){width:12px!important;height:12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;vertical-align:middle!important;shape-rendering:geometricPrecision;flex-shrink:0}::slotted(span){display:inline-flex;align-items:center;line-height:1}.ui-badge--suave{background-color:var(--ui-cor-badge-fundo, var(--ui-cor-hover-menu, rgba(255, 255, 255, .08)));color:var(--ui-cor-badge-texto, var(--ui-cor-texto, #e1e1e6));border:1px solid transparent}.ui-badge--solido{background-color:var(--ui-cor-badge-solido, var(--ui-cor-texto-secundario, #888899));color:var(--ui-cor-fundo, #0b0b0d);border:1px solid transparent}.ui-badge--contornado{background-color:transparent;color:var(--ui-cor-badge-texto, var(--ui-cor-texto, #e1e1e6));border:1px solid var(--ui-cor-badge-borda, var(--ui-cor-borda, rgba(255, 255, 255, .2)))}.ui-badge--sucesso.ui-badge--suave{background-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 15%,transparent);color:var(--ui-cor-primaria, #00E08A)}.ui-badge--sucesso.ui-badge--solido{background-color:var(--ui-cor-primaria, #00E08A);color:var(--ui-cor-texto-sobre-primaria, #000000)}.ui-badge--sucesso.ui-badge--contornado{color:var(--ui-cor-primaria, #00E08A);border-color:color-mix(in srgb,var(--ui-cor-texto-sucesso, #00E08A) 40%,transparent)}.ui-badge--erro.ui-badge--suave{background-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 15%,transparent);color:var(--ui-cor-texto-erro, #ff5555)}.ui-badge--erro.ui-badge--solido{background-color:var(--ui-cor-texto-erro, #ff5555);color:var(--ui-cor-texto-sobre-status, #000000)}.ui-badge--erro.ui-badge--contornado{color:var(--ui-cor-texto-erro, #ff5555);border-color:color-mix(in srgb,var(--ui-cor-texto-erro, #ff5555) 40%,transparent)}.ui-badge--alerta.ui-badge--suave{background-color:color-mix(in srgb,var(--ui-cor-texto-alerta, #ffb86c) 15%,transparent);color:var(--ui-cor-texto-alerta, #ffb86c)}.ui-badge--alerta.ui-badge--solido{background-color:var(--ui-cor-texto-alerta, #ffb86c);color:var(--ui-cor-texto-sobre-status, #000000)}.ui-badge--alerta.ui-badge--contornado{color:var(--ui-cor-texto-alerta, #ffb86c);border-color:color-mix(in srgb,var(--ui-cor-texto-alerta, #ffb86c) 40%,transparent)}.ui-badge--info.ui-badge--suave,.ui-badge--primaria.ui-badge--suave{background-color:color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 15%,transparent);color:var(--ui-cor-texto-info, #33b5ff)}.ui-badge--info.ui-badge--solido,.ui-badge--primaria.ui-badge--solido{background-color:var(--ui-cor-texto-info, #33b5ff);color:var(--ui-cor-texto-sobre-status, #000000)}.ui-badge--info.ui-badge--contornado,.ui-badge--primaria.ui-badge--contornado{color:var(--ui-cor-texto-info, #33b5ff);border-color:color-mix(in srgb,var(--ui-cor-texto-info, #33b5ff) 40%,transparent)}.ui-badge--neutro.ui-badge--suave{background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 8%,transparent);color:var(--ui-cor-texto-secundario, #888899)}.ui-badge__close{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;cursor:pointer;opacity:.85;transition:opacity .15s ease,background-color .15s ease;font-size:10px;line-height:1;margin-left:2px}.ui-badge__close:hover{opacity:1;background-color:color-mix(in srgb,var(--ui-cor-texto, #e1e1e6) 20%,transparent)}',k=["neutro","primaria","sucesso","erro","alerta","info"],C=["suave","solido","contornado"];class u extends s.SafeHTMLElement{constructor(){super();t(this,"badgeElement");t(this,"labelElement");t(this,"closeElement");t(this,"listeners",new _.ListenerBag);t(this,"handleRemove",e=>{var r;e.stopPropagation(),!this.disabled&&this.dispatchEvent(new CustomEvent("ui-remove",{detail:{value:this.getAttribute("value")||((r=this.textContent)==null?void 0:r.trim())||""},bubbles:!0,composed:!0}))});const e=this.attachShadow({mode:"open"});e.innerHTML=`
22
+ <style>${A}</style>
23
+ <span class="ui-badge" part="base">
24
+ <slot></slot>
25
+ <span class="ui-badge__label" part="rotulo" style="display: none;"></span>
26
+ <span class="ui-badge__close" part="remover" role="button" tabindex="0" aria-label="Remover" style="display: none;" title="Remover">✕</span>
27
+ </span>
28
+ `,this.badgeElement=e.querySelector(".ui-badge"),this.labelElement=e.querySelector(".ui-badge__label"),this.closeElement=e.querySelector(".ui-badge__close")}static get observedAttributes(){return["variante","variant","estilo","removivel","removable","disabled","label","value"]}connectedCallback(){this.listeners.cleanup(),this.listeners.add(this.closeElement,"click",this.handleRemove),this.listeners.add(this.closeElement,"keydown",e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this.handleRemove(e))}),this.syncState()}disconnectedCallback(){this.listeners.cleanup()}attributeChangedCallback(e,r,a){this.syncState()}get removivel(){return this.hasAttribute("removivel")||this.hasAttribute("removable")}set removivel(e){e?this.setAttribute("removivel",""):(this.removeAttribute("removivel"),this.removeAttribute("removable"))}syncState(){var n;const e=b.escolherOpcao(this.getAttribute("variante")||this.getAttribute("variant"),k,"neutro"),r=b.escolherOpcao(this.getAttribute("estilo"),C,"suave"),a=this.getAttribute("label"),l=this.removivel;if(this.badgeElement.className="ui-badge",this.badgeElement.classList.add(`ui-badge--${e}`),this.badgeElement.classList.add(`ui-badge--${r}`),a?(this.labelElement.textContent=a,this.labelElement.style.display="inline"):this.labelElement.style.display="none",l){this.closeElement.style.display="inline-flex";const c=a||this.getAttribute("value")||((n=this.textContent)==null?void 0:n.trim())||"";this.closeElement.setAttribute("aria-label",c?`Remover ${c}`:"Remover"),this.disabled?(this.closeElement.setAttribute("tabindex","-1"),this.closeElement.setAttribute("aria-disabled","true")):(this.closeElement.setAttribute("tabindex","0"),this.closeElement.removeAttribute("aria-disabled"))}else this.closeElement.style.display="none"}get disabled(){return this.hasAttribute("disabled")}set disabled(e){e?this.setAttribute("disabled",""):this.removeAttribute("disabled")}}class m extends u{}class h extends u{}s.definirCustomElement("ui-badge",u);s.definirCustomElement("ui-chip",m);s.definirCustomElement("ui-tag",h);exports.UIBadge=u;exports.UIChip=m;exports.UIKpi=g;exports.UIMetrica=v;exports.UIStat=d;exports.UITag=h;
@@ -1,19 +1,19 @@
1
- var v = Object.defineProperty;
2
- var E = (o, e, t) => e in o ? v(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
3
- var m = (o, e, t) => E(o, typeof e != "symbol" ? e + "" : e, t);
4
- import { a as A } from "./ui-toast-Bp_NlM5G.js";
5
- class I {
1
+ var u = Object.defineProperty;
2
+ var c = (o, e, t) => e in o ? u(o, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[e] = t;
3
+ var a = (o, e, t) => c(o, typeof e != "symbol" ? e + "" : e, t);
4
+ class f {
6
5
  constructor() {
7
- m(this, "listeners", /* @__PURE__ */ new Map());
8
- m(this, "_observandoSistema", !1);
6
+ a(this, "provedorToast", null);
7
+ a(this, "listeners", /* @__PURE__ */ new Map());
8
+ a(this, "_observandoSistema", !1);
9
9
  this.observarTemaDoSistema();
10
10
  }
11
11
  on(e, t) {
12
12
  return this.listeners.has(e) || this.listeners.set(e, /* @__PURE__ */ new Set()), this.listeners.get(e).add(t), () => this.off(e, t);
13
13
  }
14
14
  once(e, t) {
15
- const r = (u) => {
16
- this.off(e, r), t(u);
15
+ const r = (i) => {
16
+ this.off(e, r), t(i);
17
17
  };
18
18
  this.on(e, r);
19
19
  }
@@ -23,11 +23,11 @@ class I {
23
23
  }
24
24
  emit(e, t) {
25
25
  const r = this.listeners.get(e);
26
- r && r.forEach((u) => {
26
+ r && r.forEach((i) => {
27
27
  try {
28
- u(t);
29
- } catch (f) {
30
- console.error(`[UIBus] Erro ao executar ouvinte do evento "${e}":`, f);
28
+ i(t);
29
+ } catch (s) {
30
+ console.error(`[UIBus] Erro ao executar ouvinte do evento "${e}":`, s);
31
31
  }
32
32
  }), typeof window < "u" && window.dispatchEvent(
33
33
  new CustomEvent(`uibus:${e}`, {
@@ -91,7 +91,20 @@ class I {
91
91
  * Dispara uma notificação toast flutuante inteligente.
92
92
  */
93
93
  notificar(e) {
94
- typeof e == "string" ? A.notificar({ mensagem: e, tipo: "info" }) : A.notificar(e);
94
+ const t = this.provedorToast;
95
+ if (t)
96
+ try {
97
+ t(typeof e == "string" ? { mensagem: e, tipo: "info" } : e);
98
+ } catch (r) {
99
+ console.error("Erro ao exibir toast:", r);
100
+ }
101
+ }
102
+ /**
103
+ * Registra (ou remove, com `null`) o provedor que materializa os toasts.
104
+ * O `ui-toast` se registra sozinho ao ser carregado; sem provedor, `notificar` é no-op.
105
+ */
106
+ registrarProvedorToast(e) {
107
+ this.provedorToast = e;
95
108
  }
96
109
  /**
97
110
  * Copia um texto para a área de transferência do usuário e exibe feedback opcional.
@@ -124,8 +137,8 @@ class I {
124
137
  */
125
138
  obterTema() {
126
139
  if (typeof document > "u") return "escuro";
127
- const e = w(document.documentElement);
128
- return e || (T() ? "claro" : "escuro");
140
+ const e = n(document.documentElement);
141
+ return e || (m() ? "claro" : "escuro");
129
142
  }
130
143
  /**
131
144
  * Define o tema global. Sem argumento, alterna o tema em vigor;
@@ -137,8 +150,8 @@ class I {
137
150
  if (e === "auto")
138
151
  t.removeAttribute("data-tema"), t.removeAttribute("data-theme"), t.classList.remove("dark", "light");
139
152
  else {
140
- const u = e || (this.obterTema() === "escuro" ? "claro" : "escuro");
141
- t.setAttribute("data-tema", u), t.classList.toggle("dark", u === "escuro"), t.classList.toggle("light", u === "claro");
153
+ const i = e || (this.obterTema() === "escuro" ? "claro" : "escuro");
154
+ t.setAttribute("data-tema", i), t.classList.toggle("dark", i === "escuro"), t.classList.toggle("light", i === "claro");
142
155
  }
143
156
  const r = this.obterTema();
144
157
  return this.emit("tema:alterado", { tema: r }), r;
@@ -147,98 +160,18 @@ class I {
147
160
  observarTemaDoSistema() {
148
161
  var e, t;
149
162
  this._observandoSistema || typeof window > "u" || typeof window.matchMedia != "function" || (this._observandoSistema = !0, (t = (e = window.matchMedia("(prefers-color-scheme: light)")).addEventListener) == null || t.call(e, "change", () => {
150
- w(document.documentElement) || this.emit("tema:alterado", { tema: this.obterTema() });
163
+ n(document.documentElement) || this.emit("tema:alterado", { tema: this.obterTema() });
151
164
  }));
152
165
  }
153
166
  }
154
- function w(o) {
167
+ function n(o) {
155
168
  const e = o.getAttribute("data-tema") || o.getAttribute("data-theme");
156
169
  return e === "escuro" || e === "dark" ? "escuro" : e === "claro" || e === "light" ? "claro" : o.classList.contains("dark") ? "escuro" : o.classList.contains("light") ? "claro" : null;
157
170
  }
158
- function T() {
171
+ function m() {
159
172
  return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-color-scheme: light)").matches;
160
173
  }
161
- const n = new I();
162
- let y = !1;
163
- function x(o) {
164
- if (o.hasAttribute("disabled") || o.hasAttribute("carregando") || o.getAttribute("aria-disabled") === "true" || o.localName.startsWith("ui-") && o.hasAttribute("loading")) return !0;
165
- try {
166
- return o.matches(":disabled");
167
- } catch {
168
- return !1;
169
- }
170
- }
171
- function B() {
172
- y || typeof document > "u" || (y = !0, document.addEventListener("click", (o) => {
173
- const e = o.composedPath ? o.composedPath() : [o.target], t = "[target-modal], [modal-alvo], [dismiss-modal], [fechar-modal], [target-drawer], [drawer-alvo], [dismiss-drawer], [fechar-drawer], [toast-sucesso], [toast-erro], [toast-alerta], [toast-info], [copiar-texto], [alternar-tema], [definir-densidade], [limpar-form]";
174
- let r = null;
175
- for (const i of e)
176
- if (i instanceof HTMLElement && i.matches(t)) {
177
- r = i;
178
- break;
179
- }
180
- if (!r || x(r)) return;
181
- const u = r.getAttribute("target-modal") || r.getAttribute("modal-alvo");
182
- if (u && n.abrirModal(u), r.hasAttribute("dismiss-modal") || r.hasAttribute("fechar-modal")) {
183
- const i = r.getAttribute("dismiss-modal") || r.getAttribute("fechar-modal");
184
- if (i && i !== "")
185
- n.fecharModal(i);
186
- else {
187
- let s = null;
188
- for (const a of e)
189
- if (a instanceof HTMLElement && (a.matches("ui-modal, ui-dialog") || a.tagName === "UI-MODAL" || a.tagName === "UI-DIALOG")) {
190
- s = a;
191
- break;
192
- }
193
- s && (typeof s.fechar == "function" ? s.fechar() : (s.removeAttribute("aberto"), s.removeAttribute("open")));
194
- }
195
- }
196
- const f = r.getAttribute("target-drawer") || r.getAttribute("drawer-alvo");
197
- if (f && n.abrirDrawer(f), r.hasAttribute("dismiss-drawer") || r.hasAttribute("fechar-drawer")) {
198
- const i = r.getAttribute("dismiss-drawer") || r.getAttribute("fechar-drawer");
199
- if (i && i !== "")
200
- n.fecharDrawer(i);
201
- else {
202
- let s = null;
203
- for (const a of e)
204
- if (a instanceof HTMLElement && (a.matches("ui-drawer, ui-sheet, ui-painel-lateral, ui-gaveta") || a.tagName.startsWith("UI-DRAWER") || a.tagName.startsWith("UI-SHEET"))) {
205
- s = a;
206
- break;
207
- }
208
- s && (typeof s.fechar == "function" ? s.fechar() : (s.removeAttribute("aberto"), s.removeAttribute("open")));
209
- }
210
- }
211
- const d = r.getAttribute("toast-sucesso");
212
- d && n.notificar({ tipo: "sucesso", mensagem: d });
213
- const l = r.getAttribute("toast-erro");
214
- l && n.notificar({ tipo: "erro", mensagem: l });
215
- const h = r.getAttribute("toast-alerta");
216
- h && n.notificar({ tipo: "alerta", mensagem: h });
217
- const b = r.getAttribute("toast-info");
218
- b && n.notificar({ tipo: "info", mensagem: b });
219
- const c = r.getAttribute("copiar-texto");
220
- if (c !== null) {
221
- let i = c;
222
- if (c.startsWith("#") || c.startsWith(".") || c.match(/^[a-zA-Z0-9_-]+$/))
223
- try {
224
- let a = null;
225
- c.startsWith("#") || c.startsWith(".") ? a = document.querySelector(c) : a = document.getElementById(c) || document.querySelector(`#${c}`), a && (i = a.value !== void 0 && a.value !== null ? a.value : a.textContent || "");
226
- } catch {
227
- }
228
- const s = r.getAttribute("copiar-mensagem") || "Copiado com sucesso!";
229
- n.copiar(i, s);
230
- }
231
- r.hasAttribute("alternar-tema") && n.definirTema();
232
- const p = r.getAttribute("definir-densidade");
233
- p && n.definirDensidade(p);
234
- const g = r.getAttribute("limpar-form");
235
- if (g) {
236
- const i = document.getElementById(g);
237
- i && typeof i.reset == "function" && (i.reset(), n.notificar({ tipo: "info", mensagem: "Formulário limpo." }));
238
- }
239
- }));
240
- }
174
+ const l = new f();
241
175
  export {
242
- n as U,
243
- B as i
176
+ l as U
244
177
  };
@@ -0,0 +1 @@
1
+ "use strict";var u=Object.defineProperty;var c=(o,e,t)=>e in o?u(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var a=(o,e,t)=>c(o,typeof e!="symbol"?e+"":e,t);class f{constructor(){a(this,"provedorToast",null);a(this,"listeners",new Map);a(this,"_observandoSistema",!1);this.observarTemaDoSistema()}on(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),()=>this.off(e,t)}once(e,t){const r=i=>{this.off(e,r),t(i)};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(i=>{try{i(t)}catch(s){console.error(`[UIBus] Erro ao executar ouvinte do evento "${e}":`,s)}}),typeof window<"u"&&window.dispatchEvent(new CustomEvent(`uibus:${e}`,{detail:t,bubbles:!0,composed:!0}))}abrirModal(e){if(typeof document>"u")return!1;const t=document.getElementById(e);return t&&typeof t.abrir=="function"?(t.abrir(),this.emit("modal:aberto",{id:e}),!0):t?(t.setAttribute("aberto",""),this.emit("modal:aberto",{id:e}),!0):(console.warn(`[UIBus] Modal com ID "${e}" não encontrado no DOM.`),!1)}fecharModal(e){if(typeof document>"u")return!1;if(e){const t=document.getElementById(e);return t&&typeof t.fechar=="function"?(t.fechar(),t.hasAttribute("aberto")||t.hasAttribute("open")?!1:(this.emit("modal:fechado",{id:e}),!0)):t?(t.removeAttribute("aberto"),t.removeAttribute("open"),this.emit("modal:fechado",{id:e}),!0):!1}else return document.querySelectorAll("ui-modal[aberto], ui-modal[open], ui-dialog[aberto], ui-dialog[open]").forEach(r=>{typeof r.fechar=="function"?r.fechar():(r.removeAttribute("aberto"),r.removeAttribute("open"))}),this.emit("modal:fechado-todos"),!0}abrirDrawer(e){if(typeof document>"u")return!1;const t=document.getElementById(e);return t&&typeof t.abrir=="function"?(t.abrir(),this.emit("drawer:aberto",{id:e}),!0):t?(t.setAttribute("aberto",""),this.emit("drawer:aberto",{id:e}),!0):(console.warn(`[UIBus] Drawer com ID "${e}" não encontrado no DOM.`),!1)}fecharDrawer(e){if(typeof document>"u")return!1;if(e){const t=document.getElementById(e);return t&&typeof t.fechar=="function"?(t.fechar(),this.emit("drawer:fechado",{id:e}),!0):t?(t.removeAttribute("aberto"),t.removeAttribute("open"),this.emit("drawer:fechado",{id:e}),!0):!1}else return document.querySelectorAll("ui-drawer[aberto], ui-drawer[open], ui-sheet[aberto], ui-sheet[open]").forEach(r=>{typeof r.fechar=="function"?r.fechar():(r.removeAttribute("aberto"),r.removeAttribute("open"))}),this.emit("drawer:fechado-todos"),!0}notificar(e){const t=this.provedorToast;if(t)try{t(typeof e=="string"?{mensagem:e,tipo:"info"}:e)}catch(r){console.error("Erro ao exibir toast:",r)}}registrarProvedorToast(e){this.provedorToast=e}async copiar(e,t){if(typeof navigator>"u"||!navigator.clipboard)return!1;try{return await navigator.clipboard.writeText(e),t!==void 0&&this.notificar({tipo:"sucesso",mensagem:t||"Copiado para a área de transferência!"}),this.emit("clipboard:copiado",{texto:e}),!0}catch(r){return console.error("[UIBus] Falha ao copiar texto:",r),this.notificar({tipo:"erro",mensagem:"Não foi possível copiar o texto."}),!1}}definirDensidade(e){let t=34;typeof e=="number"?t=Math.max(15,e):e==="compacta"?t=26:e==="relaxada"?t=42:t=34,!(typeof document>"u")&&(document.documentElement.style.setProperty("--ui-altura-minima",`${t}px`),document.documentElement.style.setProperty("--ui-campo-altura",`${t}px`),document.documentElement.setAttribute("data-ui-densidade",typeof e=="string"?e:"custom"),this.emit("densidade:alterada",{densidade:e,alturaPx:t}))}obterTema(){if(typeof document>"u")return"escuro";const e=n(document.documentElement);return e||(m()?"claro":"escuro")}definirTema(e){if(typeof document>"u")return e==="claro"?"claro":"escuro";const t=document.documentElement;if(e==="auto")t.removeAttribute("data-tema"),t.removeAttribute("data-theme"),t.classList.remove("dark","light");else{const i=e||(this.obterTema()==="escuro"?"claro":"escuro");t.setAttribute("data-tema",i),t.classList.toggle("dark",i==="escuro"),t.classList.toggle("light",i==="claro")}const r=this.obterTema();return this.emit("tema:alterado",{tema:r}),r}observarTemaDoSistema(){var e,t;this._observandoSistema||typeof window>"u"||typeof window.matchMedia!="function"||(this._observandoSistema=!0,(t=(e=window.matchMedia("(prefers-color-scheme: light)")).addEventListener)==null||t.call(e,"change",()=>{n(document.documentElement)||this.emit("tema:alterado",{tema:this.obterTema()})}))}}function n(o){const e=o.getAttribute("data-tema")||o.getAttribute("data-theme");return e==="escuro"||e==="dark"?"escuro":e==="claro"||e==="light"?"claro":o.classList.contains("dark")?"escuro":o.classList.contains("light")?"claro":null}function m(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: light)").matches}const d=new f;exports.UIBus=d;