ui-optago 1.0.3 → 1.0.4
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/package.json +1 -1
- package/ui-optago.js +32 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ui-optago",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Design System Óptago — componentes UI em CSS puro + JS vanilla, com tema claro/escuro, verde-lima (#C0FF6B) e app shell com sidebar colapsável.",
|
|
5
5
|
"author": "Óptago <cowork@optago.com.br> (https://optago.com.br)",
|
|
6
6
|
"license": "MIT",
|
package/ui-optago.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* ============================================================================
|
|
2
|
-
UI ÓPTAGO — Design System v1.0.
|
|
2
|
+
UI ÓPTAGO — Design System v1.0.4 (JavaScript)
|
|
3
3
|
Sem dependências de build. Carregue no <head> SEM defer para evitar
|
|
4
4
|
flash de tema errado (FOUC):
|
|
5
5
|
|
|
@@ -24,6 +24,12 @@
|
|
|
24
24
|
data-op-loading-form → no <form>: mostra a tela de carregamento
|
|
25
25
|
sozinho ao submeter (mensagem opcional em
|
|
26
26
|
data-op-loading-message="Enviando...")
|
|
27
|
+
data-op-reveal / data-op-reveal-toggle → mostrar/ocultar senha (envolva o
|
|
28
|
+
input com data-op-reveal e ponha o botão
|
|
29
|
+
com data-op-reveal-toggle dentro)
|
|
30
|
+
data-op-toast='[{"type":"success","message":"Oi"}]' → dispara toasts a
|
|
31
|
+
partir de flash messages do servidor,
|
|
32
|
+
sem precisar de <script> inline (CSP-safe)
|
|
27
33
|
|
|
28
34
|
API global: OptagoUI.toast(msg, tipo, ms) · OptagoUI.openModal(sel)
|
|
29
35
|
OptagoUI.closeModal(sel) · OptagoUI.setTheme('dark'|'light')
|
|
@@ -34,6 +40,11 @@
|
|
|
34
40
|
|
|
35
41
|
var OptagoUI = {};
|
|
36
42
|
|
|
43
|
+
// Fonte única da versão exibida no badge do header e no rodapé
|
|
44
|
+
// (elementos com o atributo data-op-version). Atualize só aqui.
|
|
45
|
+
var VERSION = '1.0.4';
|
|
46
|
+
OptagoUI.version = VERSION;
|
|
47
|
+
|
|
37
48
|
/* --------------------------------------------------------------------------
|
|
38
49
|
1. TEMA — aplicado imediatamente (antes do primeiro paint)
|
|
39
50
|
-------------------------------------------------------------------------- */
|
|
@@ -482,9 +493,27 @@
|
|
|
482
493
|
8. INICIALIZAÇÃO no DOM pronto
|
|
483
494
|
-------------------------------------------------------------------------- */
|
|
484
495
|
function init() {
|
|
485
|
-
//
|
|
496
|
+
// Versão exibida no badge do header e no rodapé
|
|
497
|
+
document.querySelectorAll('[data-op-version]').forEach(function (el) {
|
|
498
|
+
el.textContent = 'v' + VERSION;
|
|
499
|
+
});
|
|
500
|
+
|
|
501
|
+
// Toasts vindos do servidor (flash messages), sem precisar de <script>
|
|
502
|
+
// inline — importante para funcionar com Content-Security-Policy estrito.
|
|
503
|
+
// Uso: <div hidden data-op-toast='[{"type":"success","message":"Oi!"}]'></div>
|
|
504
|
+
document.querySelectorAll('[data-op-toast]').forEach(function (el) {
|
|
505
|
+
try {
|
|
506
|
+
var items = JSON.parse(el.getAttribute('data-op-toast'));
|
|
507
|
+
(Array.isArray(items) ? items : [items]).forEach(function (t) {
|
|
508
|
+
OptagoUI.toast(t.message, t.type, t.duration);
|
|
509
|
+
});
|
|
510
|
+
} catch (e) { /* atributo malformado: ignora silenciosamente */ }
|
|
511
|
+
});
|
|
512
|
+
|
|
513
|
+
// Sidebar (desktop): fechada por padrão, mas respeita a escolha do
|
|
514
|
+
// usuário salva no localStorage assim que ele abrir/fechar uma vez.
|
|
486
515
|
var sb = getSidebar();
|
|
487
|
-
if (sb && window.innerWidth >= 1024 && localStorage.getItem(SIDEBAR_KEY)
|
|
516
|
+
if (sb && window.innerWidth >= 1024 && localStorage.getItem(SIDEBAR_KEY) !== '0') {
|
|
488
517
|
sb.classList.add('is-collapsed');
|
|
489
518
|
}
|
|
490
519
|
|