web-mojo 2.1.46

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 (91) hide show
  1. package/LICENSE +198 -0
  2. package/README.md +510 -0
  3. package/dist/admin.cjs.js +2 -0
  4. package/dist/admin.cjs.js.map +1 -0
  5. package/dist/admin.css +621 -0
  6. package/dist/admin.es.js +7973 -0
  7. package/dist/admin.es.js.map +1 -0
  8. package/dist/auth.cjs.js +2 -0
  9. package/dist/auth.cjs.js.map +1 -0
  10. package/dist/auth.css +804 -0
  11. package/dist/auth.es.js +2168 -0
  12. package/dist/auth.es.js.map +1 -0
  13. package/dist/charts.cjs.js +2 -0
  14. package/dist/charts.cjs.js.map +1 -0
  15. package/dist/charts.css +1002 -0
  16. package/dist/charts.es.js +16 -0
  17. package/dist/charts.es.js.map +1 -0
  18. package/dist/chunks/ContextMenu-BrHqj0fn.js +80 -0
  19. package/dist/chunks/ContextMenu-BrHqj0fn.js.map +1 -0
  20. package/dist/chunks/ContextMenu-gEcpSz56.js +2 -0
  21. package/dist/chunks/ContextMenu-gEcpSz56.js.map +1 -0
  22. package/dist/chunks/DataView-DPryYpEW.js +2 -0
  23. package/dist/chunks/DataView-DPryYpEW.js.map +1 -0
  24. package/dist/chunks/DataView-DjZQrpba.js +843 -0
  25. package/dist/chunks/DataView-DjZQrpba.js.map +1 -0
  26. package/dist/chunks/Dialog-BsRx4eg3.js +2 -0
  27. package/dist/chunks/Dialog-BsRx4eg3.js.map +1 -0
  28. package/dist/chunks/Dialog-DSlctbon.js +1377 -0
  29. package/dist/chunks/Dialog-DSlctbon.js.map +1 -0
  30. package/dist/chunks/FilePreviewView-BmFHzK5K.js +5868 -0
  31. package/dist/chunks/FilePreviewView-BmFHzK5K.js.map +1 -0
  32. package/dist/chunks/FilePreviewView-DcdRl_ta.js +2 -0
  33. package/dist/chunks/FilePreviewView-DcdRl_ta.js.map +1 -0
  34. package/dist/chunks/FormView-CmBuwKGD.js +2 -0
  35. package/dist/chunks/FormView-CmBuwKGD.js.map +1 -0
  36. package/dist/chunks/FormView-DqUBMPJ9.js +5054 -0
  37. package/dist/chunks/FormView-DqUBMPJ9.js.map +1 -0
  38. package/dist/chunks/MetricsChart-CM4CI6eA.js +2095 -0
  39. package/dist/chunks/MetricsChart-CM4CI6eA.js.map +1 -0
  40. package/dist/chunks/MetricsChart-CPidSMaN.js +2 -0
  41. package/dist/chunks/MetricsChart-CPidSMaN.js.map +1 -0
  42. package/dist/chunks/PDFViewer-BNQlnS83.js +2 -0
  43. package/dist/chunks/PDFViewer-BNQlnS83.js.map +1 -0
  44. package/dist/chunks/PDFViewer-Dyo-Oeyd.js +946 -0
  45. package/dist/chunks/PDFViewer-Dyo-Oeyd.js.map +1 -0
  46. package/dist/chunks/Page-B524zSQs.js +351 -0
  47. package/dist/chunks/Page-B524zSQs.js.map +1 -0
  48. package/dist/chunks/Page-BFgj0pAA.js +2 -0
  49. package/dist/chunks/Page-BFgj0pAA.js.map +1 -0
  50. package/dist/chunks/TokenManager-BXNva8Jk.js +287 -0
  51. package/dist/chunks/TokenManager-BXNva8Jk.js.map +1 -0
  52. package/dist/chunks/TokenManager-Bzn4guFm.js +2 -0
  53. package/dist/chunks/TokenManager-Bzn4guFm.js.map +1 -0
  54. package/dist/chunks/TopNav-D3I3_25f.js +371 -0
  55. package/dist/chunks/TopNav-D3I3_25f.js.map +1 -0
  56. package/dist/chunks/TopNav-MDjL4kV0.js +2 -0
  57. package/dist/chunks/TopNav-MDjL4kV0.js.map +1 -0
  58. package/dist/chunks/User-BalfYTEF.js +3 -0
  59. package/dist/chunks/User-BalfYTEF.js.map +1 -0
  60. package/dist/chunks/User-DwIT-CTQ.js +1937 -0
  61. package/dist/chunks/User-DwIT-CTQ.js.map +1 -0
  62. package/dist/chunks/WebApp-B6mgbNn2.js +4767 -0
  63. package/dist/chunks/WebApp-B6mgbNn2.js.map +1 -0
  64. package/dist/chunks/WebApp-DqDowtkl.js +2 -0
  65. package/dist/chunks/WebApp-DqDowtkl.js.map +1 -0
  66. package/dist/chunks/WebSocketClient-D6i85jl2.js +2 -0
  67. package/dist/chunks/WebSocketClient-D6i85jl2.js.map +1 -0
  68. package/dist/chunks/WebSocketClient-Dvl3AYx1.js +297 -0
  69. package/dist/chunks/WebSocketClient-Dvl3AYx1.js.map +1 -0
  70. package/dist/core.css +1181 -0
  71. package/dist/css/web-mojo.css +17 -0
  72. package/dist/css-manifest.json +6 -0
  73. package/dist/docit.cjs.js +2 -0
  74. package/dist/docit.cjs.js.map +1 -0
  75. package/dist/docit.es.js +959 -0
  76. package/dist/docit.es.js.map +1 -0
  77. package/dist/index.cjs.js +2 -0
  78. package/dist/index.cjs.js.map +1 -0
  79. package/dist/index.es.js +2681 -0
  80. package/dist/index.es.js.map +1 -0
  81. package/dist/lightbox.cjs.js +2 -0
  82. package/dist/lightbox.cjs.js.map +1 -0
  83. package/dist/lightbox.css +606 -0
  84. package/dist/lightbox.es.js +3737 -0
  85. package/dist/lightbox.es.js.map +1 -0
  86. package/dist/loader.es.js +115 -0
  87. package/dist/loader.umd.js +85 -0
  88. package/dist/portal.css +2446 -0
  89. package/dist/table.css +639 -0
  90. package/dist/toast.css +181 -0
  91. package/package.json +179 -0
@@ -0,0 +1,115 @@
1
+ (function() {
2
+ if (document.getElementById("mojo-initial-loader")) return;
3
+ const n = (() => {
4
+ const e = document.body.classList;
5
+ return e.contains("mojo-loader-theme-futuristic") ? "futuristic" : e.contains("mojo-loader-theme-minimal") ? "minimal" : e.contains("mojo-loader-theme-dark") ? "dark" : e.contains("mojo-loader-theme-light") ? "light" : e.contains("mojo-loader-theme-corporate") ? "corporate" : e.contains("mojo-loader-theme-playful") ? "playful" : "default";
6
+ })(), m = `
7
+ .mojo-loader-body { overflow: hidden; }
8
+ .mojo-loader-container {
9
+ position: fixed; top: 0; left: 0; width: 100%; height: 100%;
10
+ z-index: 9999; display: flex; align-items: center; justify-content: center;
11
+ transition: opacity 0.3s ease-in-out;
12
+ /* Default Theme (Purple) */
13
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
14
+ }
15
+ .mojo-loader-content {
16
+ background: rgba(255, 255, 255, 0.95); padding: 3rem; border-radius: 1rem;
17
+ text-align: center; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
18
+ backdrop-filter: blur(10px); max-width: 400px; margin: 2rem;
19
+ }
20
+ .mojo-loader-spinner { width: 3rem; height: 3rem; border-width: 0.25em; color: #667eea; }
21
+ .mojo-loader-fade-out { opacity: 0; }
22
+
23
+ /* --- Standard Themes --- */
24
+ .mojo-loader-theme-dark .mojo-loader-container { background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%); }
25
+ .mojo-loader-theme-dark .mojo-loader-content { background: rgba(45, 55, 72, 0.95); color: #e2e8f0; }
26
+ .mojo-loader-theme-dark .mojo-loader-content .text-dark { color: #e2e8f0 !important; }
27
+ .mojo-loader-theme-dark .mojo-loader-content .text-muted { color: #a0aec0 !important; }
28
+ .mojo-loader-theme-dark .mojo-loader-spinner { color: #718096; }
29
+ .mojo-loader-theme-light .mojo-loader-container { background: linear-gradient(135deg, #e2e8f0 0%, #f7fafc 100%); }
30
+ .mojo-loader-theme-light .mojo-loader-spinner { color: #a0aec0; }
31
+ .mojo-loader-theme-corporate .mojo-loader-container { background: linear-gradient(135deg, #3182ce 0%, #2c5282 100%); }
32
+ .mojo-loader-theme-corporate .mojo-loader-spinner { color: #63b3ed; }
33
+ .mojo-loader-theme-playful .mojo-loader-container { background: linear-gradient(135deg, #f6ad55 0%, #ed8936 100%); }
34
+ .mojo-loader-theme-playful .mojo-loader-spinner { color: #fbd38d; }
35
+
36
+ /* --- Animation Theme: Futuristic --- */
37
+ .mojo-loader-theme-futuristic .mojo-loader-container { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); }
38
+ .mojo-loader-theme-futuristic .mojo-loader-content { background: rgba(30, 41, 59, 0.9); color: #94a3b8; }
39
+ .mojo-loader-theme-futuristic .mojo-loader-content .text-dark { color: #e2e8f0 !important; }
40
+ .mojo-loader-theme-futuristic .mojo-loader-content .text-muted { color: #64748b !important; }
41
+ .mojo-loader-pulse-container { width: 60px; height: 60px; margin: 0 auto 1.5rem; position: relative; }
42
+ .mojo-loader-hexagon {
43
+ position: absolute; top: 0; left: 0; width: 100%; height: 100%;
44
+ background-color: #0ea5e9;
45
+ clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
46
+ animation: pulse 2s ease-in-out infinite;
47
+ }
48
+ .mojo-loader-hexagon:nth-child(2) { animation-delay: 0.5s; }
49
+ @keyframes pulse {
50
+ 0%, 100% { transform: scale(0.8); opacity: 0.5; }
51
+ 50% { transform: scale(1); opacity: 1; }
52
+ }
53
+
54
+ /* --- Animation Theme: Minimal --- */
55
+ .mojo-loader-theme-minimal .mojo-loader-container { background-color: #f8f9fa; }
56
+ .mojo-loader-theme-minimal .mojo-loader-content { background: #fff; box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
57
+ .mojo-loader-dots-container { display: flex; justify-content: center; align-items: center; height: 60px; margin-bottom: 1rem; }
58
+ .mojo-loader-dot {
59
+ width: 12px; height: 12px; margin: 0 4px;
60
+ background-color: #6c757d; border-radius: 50%;
61
+ animation: bounce 1.4s infinite ease-in-out both;
62
+ }
63
+ .mojo-loader-dot:nth-child(1) { animation-delay: -0.32s; }
64
+ .mojo-loader-dot:nth-child(2) { animation-delay: -0.16s; }
65
+ @keyframes bounce {
66
+ 0%, 80%, 100% { transform: scale(0); }
67
+ 40% { transform: scale(1.0); }
68
+ }
69
+ `, s = `
70
+ <div class="mojo-loader-container" id="mojo-initial-loader">
71
+ <div class="mojo-loader-content">
72
+ ${(() => {
73
+ switch (n) {
74
+ case "futuristic":
75
+ return `
76
+ <div class="mojo-loader-pulse-container">
77
+ <div class="mojo-loader-hexagon"></div>
78
+ <div class="mojo-loader-hexagon"></div>
79
+ </div>`;
80
+ case "minimal":
81
+ return `
82
+ <div class="mojo-loader-dots-container">
83
+ <div class="mojo-loader-dot"></div>
84
+ <div class="mojo-loader-dot"></div>
85
+ <div class="mojo-loader-dot"></div>
86
+ </div>`;
87
+ default:
88
+ return '<div class="spinner-border mojo-loader-spinner mb-3" role="status"><span class="visually-hidden">Loading...</span></div>';
89
+ }
90
+ })()}
91
+ <h4 class="text-dark mb-2">Initializing</h4>
92
+ <p class="text-muted mb-3" id="mojo-loading-message">Loading application...</p>
93
+ ${n !== "minimal" ? `
94
+ <div class="progress" style="height: 4px">
95
+ <div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: 0%" id="mojo-loading-progress"></div>
96
+ </div>` : ""}
97
+ </div>
98
+ </div>
99
+ `;
100
+ document.head.insertAdjacentHTML("beforeend", `<style>${m}</style>`), document.body.insertAdjacentHTML("beforeend", s), document.body.classList.add("mojo-loader-body");
101
+ const r = document.getElementById("mojo-initial-loader"), t = document.getElementById("mojo-loading-progress"), o = document.getElementById("mojo-loading-message"), d = ["Connecting...", "Loading components...", "Preparing interface...", "Finalizing..."];
102
+ let i = 0, a = 0;
103
+ const l = () => {
104
+ a += Math.random() * 12 + 3, a > 90 && (a = 90), t && (t.style.width = `${a}%`), Math.random() < 0.3 && i < d.length - 1 && (i++, o && (o.textContent = d[i])), a < 90 && setTimeout(l, 250 + Math.random() * 400);
105
+ };
106
+ window.hideInitialLoader = function() {
107
+ r && (t && (t.style.width = "100%", t.classList.remove("progress-bar-striped", "progress-bar-animated")), o && (o.textContent = "Ready!"), document.body.classList.remove("mojo-loader-body"), setTimeout(() => {
108
+ r.classList.add("mojo-loader-fade-out"), setTimeout(() => r.remove(), 300);
109
+ }, 200));
110
+ }, setTimeout(l, 200), setTimeout(() => {
111
+ document.getElementById("mojo-initial-loader") && o && (o.textContent = "This is taking longer than usual...");
112
+ }, 1e4), setTimeout(() => {
113
+ document.getElementById("mojo-initial-loader") && (console.warn("Loading timeout - forcing loader hide."), window.hideInitialLoader());
114
+ }, 3e4);
115
+ })();
@@ -0,0 +1,85 @@
1
+ (function(r){typeof define=="function"&&define.amd?define(r):r()})(function(){"use strict";(function(){if(document.getElementById("mojo-initial-loader"))return;const d=(()=>{const e=document.body.classList;return e.contains("mojo-loader-theme-futuristic")?"futuristic":e.contains("mojo-loader-theme-minimal")?"minimal":e.contains("mojo-loader-theme-dark")?"dark":e.contains("mojo-loader-theme-light")?"light":e.contains("mojo-loader-theme-corporate")?"corporate":e.contains("mojo-loader-theme-playful")?"playful":"default"})(),s=`
2
+ .mojo-loader-body { overflow: hidden; }
3
+ .mojo-loader-container {
4
+ position: fixed; top: 0; left: 0; width: 100%; height: 100%;
5
+ z-index: 9999; display: flex; align-items: center; justify-content: center;
6
+ transition: opacity 0.3s ease-in-out;
7
+ /* Default Theme (Purple) */
8
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
9
+ }
10
+ .mojo-loader-content {
11
+ background: rgba(255, 255, 255, 0.95); padding: 3rem; border-radius: 1rem;
12
+ text-align: center; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
13
+ backdrop-filter: blur(10px); max-width: 400px; margin: 2rem;
14
+ }
15
+ .mojo-loader-spinner { width: 3rem; height: 3rem; border-width: 0.25em; color: #667eea; }
16
+ .mojo-loader-fade-out { opacity: 0; }
17
+
18
+ /* --- Standard Themes --- */
19
+ .mojo-loader-theme-dark .mojo-loader-container { background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%); }
20
+ .mojo-loader-theme-dark .mojo-loader-content { background: rgba(45, 55, 72, 0.95); color: #e2e8f0; }
21
+ .mojo-loader-theme-dark .mojo-loader-content .text-dark { color: #e2e8f0 !important; }
22
+ .mojo-loader-theme-dark .mojo-loader-content .text-muted { color: #a0aec0 !important; }
23
+ .mojo-loader-theme-dark .mojo-loader-spinner { color: #718096; }
24
+ .mojo-loader-theme-light .mojo-loader-container { background: linear-gradient(135deg, #e2e8f0 0%, #f7fafc 100%); }
25
+ .mojo-loader-theme-light .mojo-loader-spinner { color: #a0aec0; }
26
+ .mojo-loader-theme-corporate .mojo-loader-container { background: linear-gradient(135deg, #3182ce 0%, #2c5282 100%); }
27
+ .mojo-loader-theme-corporate .mojo-loader-spinner { color: #63b3ed; }
28
+ .mojo-loader-theme-playful .mojo-loader-container { background: linear-gradient(135deg, #f6ad55 0%, #ed8936 100%); }
29
+ .mojo-loader-theme-playful .mojo-loader-spinner { color: #fbd38d; }
30
+
31
+ /* --- Animation Theme: Futuristic --- */
32
+ .mojo-loader-theme-futuristic .mojo-loader-container { background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%); }
33
+ .mojo-loader-theme-futuristic .mojo-loader-content { background: rgba(30, 41, 59, 0.9); color: #94a3b8; }
34
+ .mojo-loader-theme-futuristic .mojo-loader-content .text-dark { color: #e2e8f0 !important; }
35
+ .mojo-loader-theme-futuristic .mojo-loader-content .text-muted { color: #64748b !important; }
36
+ .mojo-loader-pulse-container { width: 60px; height: 60px; margin: 0 auto 1.5rem; position: relative; }
37
+ .mojo-loader-hexagon {
38
+ position: absolute; top: 0; left: 0; width: 100%; height: 100%;
39
+ background-color: #0ea5e9;
40
+ clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
41
+ animation: pulse 2s ease-in-out infinite;
42
+ }
43
+ .mojo-loader-hexagon:nth-child(2) { animation-delay: 0.5s; }
44
+ @keyframes pulse {
45
+ 0%, 100% { transform: scale(0.8); opacity: 0.5; }
46
+ 50% { transform: scale(1); opacity: 1; }
47
+ }
48
+
49
+ /* --- Animation Theme: Minimal --- */
50
+ .mojo-loader-theme-minimal .mojo-loader-container { background-color: #f8f9fa; }
51
+ .mojo-loader-theme-minimal .mojo-loader-content { background: #fff; box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
52
+ .mojo-loader-dots-container { display: flex; justify-content: center; align-items: center; height: 60px; margin-bottom: 1rem; }
53
+ .mojo-loader-dot {
54
+ width: 12px; height: 12px; margin: 0 4px;
55
+ background-color: #6c757d; border-radius: 50%;
56
+ animation: bounce 1.4s infinite ease-in-out both;
57
+ }
58
+ .mojo-loader-dot:nth-child(1) { animation-delay: -0.32s; }
59
+ .mojo-loader-dot:nth-child(2) { animation-delay: -0.16s; }
60
+ @keyframes bounce {
61
+ 0%, 80%, 100% { transform: scale(0); }
62
+ 40% { transform: scale(1.0); }
63
+ }
64
+ `,c=`
65
+ <div class="mojo-loader-container" id="mojo-initial-loader">
66
+ <div class="mojo-loader-content">
67
+ ${(()=>{switch(d){case"futuristic":return`
68
+ <div class="mojo-loader-pulse-container">
69
+ <div class="mojo-loader-hexagon"></div>
70
+ <div class="mojo-loader-hexagon"></div>
71
+ </div>`;case"minimal":return`
72
+ <div class="mojo-loader-dots-container">
73
+ <div class="mojo-loader-dot"></div>
74
+ <div class="mojo-loader-dot"></div>
75
+ <div class="mojo-loader-dot"></div>
76
+ </div>`;default:return'<div class="spinner-border mojo-loader-spinner mb-3" role="status"><span class="visually-hidden">Loading...</span></div>'}})()}
77
+ <h4 class="text-dark mb-2">Initializing</h4>
78
+ <p class="text-muted mb-3" id="mojo-loading-message">Loading application...</p>
79
+ ${d!=="minimal"?`
80
+ <div class="progress" style="height: 4px">
81
+ <div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: 0%" id="mojo-loading-progress"></div>
82
+ </div>`:""}
83
+ </div>
84
+ </div>
85
+ `;document.head.insertAdjacentHTML("beforeend",`<style>${s}</style>`),document.body.insertAdjacentHTML("beforeend",c),document.body.classList.add("mojo-loader-body");const i=document.getElementById("mojo-initial-loader"),t=document.getElementById("mojo-loading-progress"),o=document.getElementById("mojo-loading-message"),l=["Connecting...","Loading components...","Preparing interface...","Finalizing..."];let n=0,a=0;const m=()=>{a+=Math.random()*12+3,a>90&&(a=90),t&&(t.style.width=`${a}%`),Math.random()<.3&&n<l.length-1&&(n++,o&&(o.textContent=l[n])),a<90&&setTimeout(m,250+Math.random()*400)};window.hideInitialLoader=function(){i&&(t&&(t.style.width="100%",t.classList.remove("progress-bar-striped","progress-bar-animated")),o&&(o.textContent="Ready!"),document.body.classList.remove("mojo-loader-body"),setTimeout(()=>{i.classList.add("mojo-loader-fade-out"),setTimeout(()=>i.remove(),300)},200))},setTimeout(m,200),setTimeout(()=>{document.getElementById("mojo-initial-loader")&&o&&(o.textContent="This is taking longer than usual...")},1e4),setTimeout(()=>{document.getElementById("mojo-initial-loader")&&(console.warn("Loading timeout - forcing loader hide."),window.hideInitialLoader())},3e4)})()});