web-mojo 2.1.46 → 2.1.116
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/dist/admin.cjs.js +1 -1
- package/dist/admin.cjs.js.map +1 -1
- package/dist/admin.es.js +15 -26
- package/dist/admin.es.js.map +1 -1
- package/dist/auth.cjs.js +1 -1
- package/dist/auth.cjs.js.map +1 -1
- package/dist/auth.css +179 -660
- package/dist/auth.es.js +83 -43
- package/dist/auth.es.js.map +1 -1
- package/dist/charts.cjs.js +1 -1
- package/dist/charts.es.js +2 -2
- package/dist/chunks/{ContextMenu-gEcpSz56.js → ContextMenu-CUvwhX0l.js} +2 -2
- package/dist/chunks/{ContextMenu-gEcpSz56.js.map → ContextMenu-CUvwhX0l.js.map} +1 -1
- package/dist/chunks/{ContextMenu-BrHqj0fn.js → ContextMenu-DRp4XFcC.js} +2 -2
- package/dist/chunks/{ContextMenu-BrHqj0fn.js.map → ContextMenu-DRp4XFcC.js.map} +1 -1
- package/dist/chunks/{DataView-DjZQrpba.js → DataView-D4K18g9k.js} +2 -2
- package/dist/chunks/{DataView-DjZQrpba.js.map → DataView-D4K18g9k.js.map} +1 -1
- package/dist/chunks/{DataView-DPryYpEW.js → DataView-DsSzhNcH.js} +2 -2
- package/dist/chunks/{DataView-DPryYpEW.js.map → DataView-DsSzhNcH.js.map} +1 -1
- package/dist/chunks/{Dialog-BsRx4eg3.js → Dialog--4J9O60R.js} +2 -2
- package/dist/chunks/{Dialog-BsRx4eg3.js.map → Dialog--4J9O60R.js.map} +1 -1
- package/dist/chunks/{Dialog-DSlctbon.js → Dialog-DXrIEti_.js} +5 -5
- package/dist/chunks/{Dialog-DSlctbon.js.map → Dialog-DXrIEti_.js.map} +1 -1
- package/dist/chunks/{FilePreviewView-BmFHzK5K.js → FilePreviewView-HtW6KRdR.js} +125 -58
- package/dist/chunks/FilePreviewView-HtW6KRdR.js.map +1 -0
- package/dist/chunks/FilePreviewView-NeIc7I0M.js +2 -0
- package/dist/chunks/FilePreviewView-NeIc7I0M.js.map +1 -0
- package/dist/chunks/{FormView-DqUBMPJ9.js → FormView-CIa1o6FC.js} +55 -34
- package/dist/chunks/FormView-CIa1o6FC.js.map +1 -0
- package/dist/chunks/{FormView-CmBuwKGD.js → FormView-CTGzaTJ0.js} +2 -2
- package/dist/chunks/FormView-CTGzaTJ0.js.map +1 -0
- package/dist/chunks/{MetricsChart-CPidSMaN.js → MetricsChart-DemSixLu.js} +2 -2
- package/dist/chunks/{MetricsChart-CPidSMaN.js.map → MetricsChart-DemSixLu.js.map} +1 -1
- package/dist/chunks/{MetricsChart-CM4CI6eA.js → MetricsChart-Dx66dFfT.js} +3 -3
- package/dist/chunks/{MetricsChart-CM4CI6eA.js.map → MetricsChart-Dx66dFfT.js.map} +1 -1
- package/dist/chunks/{PDFViewer-BNQlnS83.js → PDFViewer-rK7woJFy.js} +2 -2
- package/dist/chunks/{PDFViewer-BNQlnS83.js.map → PDFViewer-rK7woJFy.js.map} +1 -1
- package/dist/chunks/{PDFViewer-Dyo-Oeyd.js → PDFViewer-vqSk5_Md.js} +3 -3
- package/dist/chunks/{PDFViewer-Dyo-Oeyd.js.map → PDFViewer-vqSk5_Md.js.map} +1 -1
- package/dist/chunks/{Page-BFgj0pAA.js → Page-B88l1hS3.js} +2 -2
- package/dist/chunks/{Page-BFgj0pAA.js.map → Page-B88l1hS3.js.map} +1 -1
- package/dist/chunks/{Page-B524zSQs.js → Page-BetG0u0h.js} +2 -2
- package/dist/chunks/{Page-B524zSQs.js.map → Page-BetG0u0h.js.map} +1 -1
- package/dist/chunks/{TopNav-D3I3_25f.js → TopNav-B-ox8ef4.js} +14 -4
- package/dist/chunks/TopNav-B-ox8ef4.js.map +1 -0
- package/dist/chunks/TopNav-aS3Dyowj.js +2 -0
- package/dist/chunks/TopNav-aS3Dyowj.js.map +1 -0
- package/dist/chunks/{User-DwIT-CTQ.js → User-B3Iz5PQD.js} +31 -2
- package/dist/chunks/User-B3Iz5PQD.js.map +1 -0
- package/dist/chunks/User-Bi9SbbzB.js +3 -0
- package/dist/chunks/User-Bi9SbbzB.js.map +1 -0
- package/dist/chunks/{WebApp-B6mgbNn2.js → WebApp-Bdehjb5l.js} +146 -17
- package/dist/chunks/WebApp-Bdehjb5l.js.map +1 -0
- package/dist/chunks/WebApp-DGWgRFwF.js +2 -0
- package/dist/chunks/WebApp-DGWgRFwF.js.map +1 -0
- package/dist/css/web-mojo.css +2 -2
- package/dist/docit.cjs.js +1 -1
- package/dist/docit.css +531 -0
- package/dist/docit.es.js +6 -6
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +40 -19
- package/dist/index.es.js.map +1 -1
- package/dist/lightbox.cjs.js +1 -1
- package/dist/lightbox.es.js +4 -4
- package/dist/portal.css +258 -44
- package/package.json +2 -10
- package/dist/chunks/FilePreviewView-BmFHzK5K.js.map +0 -1
- package/dist/chunks/FilePreviewView-DcdRl_ta.js +0 -2
- package/dist/chunks/FilePreviewView-DcdRl_ta.js.map +0 -1
- package/dist/chunks/FormView-CmBuwKGD.js.map +0 -1
- package/dist/chunks/FormView-DqUBMPJ9.js.map +0 -1
- package/dist/chunks/TopNav-D3I3_25f.js.map +0 -1
- package/dist/chunks/TopNav-MDjL4kV0.js +0 -2
- package/dist/chunks/TopNav-MDjL4kV0.js.map +0 -1
- package/dist/chunks/User-BalfYTEF.js +0 -3
- package/dist/chunks/User-BalfYTEF.js.map +0 -1
- package/dist/chunks/User-DwIT-CTQ.js.map +0 -1
- package/dist/chunks/WebApp-B6mgbNn2.js.map +0 -1
- package/dist/chunks/WebApp-DqDowtkl.js +0 -2
- package/dist/chunks/WebApp-DqDowtkl.js.map +0 -1
package/dist/auth.es.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { W as WebApp } from "./chunks/WebApp-
|
|
2
|
-
import { B,
|
|
1
|
+
import { b as VERSION, W as WebApp } from "./chunks/WebApp-Bdehjb5l.js";
|
|
2
|
+
import { B, a, c, e, f } from "./chunks/WebApp-Bdehjb5l.js";
|
|
3
3
|
import { T as TokenManager } from "./chunks/TokenManager-BXNva8Jk.js";
|
|
4
|
-
import { P as Page } from "./chunks/Page-
|
|
4
|
+
import { P as Page } from "./chunks/Page-BetG0u0h.js";
|
|
5
5
|
class AuthManager {
|
|
6
6
|
constructor(app, config = {}) {
|
|
7
7
|
this.app = app;
|
|
@@ -323,9 +323,9 @@ class LoginPage extends Page {
|
|
|
323
323
|
}
|
|
324
324
|
},
|
|
325
325
|
features: {
|
|
326
|
-
rememberMe:
|
|
326
|
+
rememberMe: false,
|
|
327
327
|
forgotPassword: true,
|
|
328
|
-
registration:
|
|
328
|
+
registration: false
|
|
329
329
|
}
|
|
330
330
|
};
|
|
331
331
|
}
|
|
@@ -341,6 +341,7 @@ class LoginPage extends Page {
|
|
|
341
341
|
isLoading: false,
|
|
342
342
|
error: null,
|
|
343
343
|
showPassword: false,
|
|
344
|
+
version: VERSION,
|
|
344
345
|
// Feature availability
|
|
345
346
|
passkeySupported: this.getApp().auth?.isPasskeySupported?.() || false,
|
|
346
347
|
// Config data for template
|
|
@@ -359,7 +360,6 @@ class LoginPage extends Page {
|
|
|
359
360
|
this.updateData({
|
|
360
361
|
username: "",
|
|
361
362
|
password: "",
|
|
362
|
-
rememberMe: true,
|
|
363
363
|
error: null,
|
|
364
364
|
isLoading: false
|
|
365
365
|
});
|
|
@@ -1052,7 +1052,7 @@ class ResetPasswordPage extends Page {
|
|
|
1052
1052
|
}
|
|
1053
1053
|
}
|
|
1054
1054
|
const templates = {};
|
|
1055
|
-
templates["auth/pages/ForgotPasswordPage.mst"] = `<div class="auth-page forgot-password-page min-vh-100 d-flex align-items-center py-4">
|
|
1055
|
+
templates["extensions/auth/pages/ForgotPasswordPage.mst"] = `<div class="auth-page forgot-password-page min-vh-100 d-flex align-items-center py-4">
|
|
1056
1056
|
<div class="container">
|
|
1057
1057
|
<div class="row justify-content-center">
|
|
1058
1058
|
<div class="col-sm-8 col-md-8 col-lg-6 col-xl-5">
|
|
@@ -1146,7 +1146,7 @@ templates["auth/pages/ForgotPasswordPage.mst"] = `<div class="auth-page forgot-p
|
|
|
1146
1146
|
</div>
|
|
1147
1147
|
</div>
|
|
1148
1148
|
`;
|
|
1149
|
-
templates["auth/pages/LoginPage.mst"] = `<div class="auth-page
|
|
1149
|
+
templates["extensions/auth/pages/LoginPage.mst"] = `<div class="auth-page min-vh-100 d-flex align-items-center py-4">
|
|
1150
1150
|
<div class="container">
|
|
1151
1151
|
<div class="row justify-content-center">
|
|
1152
1152
|
<div class="col-sm-10 col-md-8 col-lg-6 col-xl-5">
|
|
@@ -1157,8 +1157,12 @@ templates["auth/pages/LoginPage.mst"] = `<div class="auth-page login-page min-vh
|
|
|
1157
1157
|
{{#data.logoUrl}}
|
|
1158
1158
|
<img src="{{data.logoUrl}}" alt="{{data.title}}" class="mb-3" style="max-height: 60px;">
|
|
1159
1159
|
{{/data.logoUrl}}
|
|
1160
|
+
{{#data.messages.loginTitle}}
|
|
1160
1161
|
<h2 class="h3 mb-2">{{#data.loginIcon}}<i class="{{data.loginIcon}}"></i> {{/data.loginIcon}}{{data.messages.loginTitle}}</h2>
|
|
1162
|
+
{{/data.messages.loginTitle}}
|
|
1163
|
+
{{/data.messages.loginSubtitle}}
|
|
1161
1164
|
<p class="text-muted">{{data.messages.loginSubtitle}}</p>
|
|
1165
|
+
{{/data.messages.loginSubtitle}}
|
|
1162
1166
|
</div>
|
|
1163
1167
|
|
|
1164
1168
|
<!-- Error Alert -->
|
|
@@ -1294,17 +1298,27 @@ templates["auth/pages/LoginPage.mst"] = `<div class="auth-page login-page min-vh
|
|
|
1294
1298
|
</div>
|
|
1295
1299
|
|
|
1296
1300
|
<!-- Security Notice -->
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
+
<!-- TOS and Privacy Links -->
|
|
1302
|
+
<div class="text-center mt-3 auth-footer-links">
|
|
1303
|
+
{{#data.termsUrl}}
|
|
1304
|
+
<small><a href="{{data.termsUrl}}" target="_blank" rel="noopener noreferrer">Terms of Service</a></small>
|
|
1305
|
+
{{/data.termsUrl}}
|
|
1306
|
+
{{#data.termsUrl}}{{#data.privacyUrl}}
|
|
1307
|
+
<small class="mx-1 text-muted">·</small>
|
|
1308
|
+
{{/data.privacyUrl}}{{/data.termsUrl}}
|
|
1309
|
+
{{#data.privacyUrl}}
|
|
1310
|
+
<small><a href="{{data.privacyUrl}}" target="_blank" rel="noopener noreferrer">Privacy Policy</a></small>
|
|
1311
|
+
{{/data.privacyUrl}}
|
|
1312
|
+
<div class="text-muted text-center mt-3">
|
|
1313
|
+
<small>version {{data.version}}</small>
|
|
1314
|
+
</div>
|
|
1301
1315
|
</div>
|
|
1302
1316
|
</div>
|
|
1303
1317
|
</div>
|
|
1304
1318
|
</div>
|
|
1305
1319
|
</div>
|
|
1306
1320
|
`;
|
|
1307
|
-
templates["auth/pages/RegisterPage.mst"] = `<div class="auth-page register-page min-vh-100 d-flex align-items-center py-4">
|
|
1321
|
+
templates["extensions/auth/pages/RegisterPage.mst"] = `<div class="auth-page register-page min-vh-100 d-flex align-items-center py-4">
|
|
1308
1322
|
<div class="container">
|
|
1309
1323
|
<div class="row justify-content-center">
|
|
1310
1324
|
<div class="col-sm-10 col-md-8 col-lg-6 col-xl-5">
|
|
@@ -1497,7 +1511,7 @@ templates["auth/pages/RegisterPage.mst"] = `<div class="auth-page register-page
|
|
|
1497
1511
|
</div>
|
|
1498
1512
|
</div>
|
|
1499
1513
|
`;
|
|
1500
|
-
templates["auth/pages/ResetPasswordPage.mst"] = `<div class="auth-page reset-password-page min-vh-100 d-flex align-items-center py-4">
|
|
1514
|
+
templates["extensions/auth/pages/ResetPasswordPage.mst"] = `<div class="auth-page reset-password-page min-vh-100 d-flex align-items-center py-4">
|
|
1501
1515
|
<div class="container">
|
|
1502
1516
|
<div class="row justify-content-center">
|
|
1503
1517
|
<div class="col-sm-10 col-md-8 col-lg-6 col-xl-5">
|
|
@@ -1728,55 +1742,80 @@ templates["auth/pages/ResetPasswordPage.mst"] = `<div class="auth-page reset-pas
|
|
|
1728
1742
|
</div>
|
|
1729
1743
|
</div>
|
|
1730
1744
|
`;
|
|
1731
|
-
|
|
1732
|
-
const
|
|
1733
|
-
|
|
1745
|
+
function getTemplate(key) {
|
|
1746
|
+
const normalizedKey = key.replace(/^\//, "").replace(/^src\//, "").replace(/\\/g, "/");
|
|
1747
|
+
return templates[normalizedKey] || templates[key];
|
|
1748
|
+
}
|
|
1734
1749
|
class AuthApp extends WebApp {
|
|
1735
1750
|
constructor(config = {}) {
|
|
1751
|
+
const uiConfig = {
|
|
1752
|
+
title: config.name || "My App",
|
|
1753
|
+
logoUrl: null,
|
|
1754
|
+
termsUrl: null,
|
|
1755
|
+
privacyUrl: null,
|
|
1756
|
+
theme: {
|
|
1757
|
+
background: "auth-bg-light",
|
|
1758
|
+
panel: "auth-panel-light",
|
|
1759
|
+
...config.ui?.theme || {}
|
|
1760
|
+
},
|
|
1761
|
+
messages: {
|
|
1762
|
+
loginTitle: "Welcome Back",
|
|
1763
|
+
loginSubtitle: "Sign in to your account",
|
|
1764
|
+
registerTitle: "Create Account",
|
|
1765
|
+
registerSubtitle: "Join us today",
|
|
1766
|
+
forgotTitle: "Reset Password",
|
|
1767
|
+
forgotSubtitle: "We'll send you reset instructions",
|
|
1768
|
+
...config.ui?.messages || {}
|
|
1769
|
+
},
|
|
1770
|
+
...config.ui || {}
|
|
1771
|
+
};
|
|
1736
1772
|
const authConfig = {
|
|
1737
|
-
|
|
1773
|
+
...config,
|
|
1738
1774
|
routes: {
|
|
1739
1775
|
login: "/login",
|
|
1740
1776
|
register: "/register",
|
|
1741
1777
|
forgot: "/forgot-password",
|
|
1742
1778
|
reset: "/reset-password",
|
|
1743
|
-
...config.routes
|
|
1779
|
+
...config.routes || {}
|
|
1744
1780
|
},
|
|
1745
|
-
// Default navigation redirects
|
|
1746
1781
|
loginRedirect: config.loginRedirect || "/",
|
|
1747
1782
|
logoutRedirect: config.logoutRedirect || "/login",
|
|
1748
|
-
// Default features
|
|
1749
1783
|
features: {
|
|
1750
1784
|
forgotPassword: true,
|
|
1751
1785
|
registration: true,
|
|
1752
1786
|
rememberMe: true,
|
|
1753
|
-
...config.features
|
|
1787
|
+
...config.features || {}
|
|
1754
1788
|
},
|
|
1755
|
-
// Default password reset method
|
|
1756
1789
|
passwordResetMethod: config.passwordResetMethod || "code",
|
|
1757
|
-
|
|
1758
|
-
ui: {
|
|
1759
|
-
title: config.name || "My App",
|
|
1760
|
-
logoUrl: config.logoUrl || null,
|
|
1761
|
-
messages: {
|
|
1762
|
-
loginTitle: "Welcome Back",
|
|
1763
|
-
loginSubtitle: "Sign in to your account",
|
|
1764
|
-
registerTitle: "Create Account",
|
|
1765
|
-
registerSubtitle: "Join us today",
|
|
1766
|
-
forgotTitle: "Reset Password",
|
|
1767
|
-
forgotSubtitle: "We'll send you reset instructions",
|
|
1768
|
-
...config.ui?.messages || {}
|
|
1769
|
-
}
|
|
1770
|
-
},
|
|
1771
|
-
...config
|
|
1790
|
+
ui: uiConfig
|
|
1772
1791
|
};
|
|
1773
1792
|
super(authConfig);
|
|
1774
1793
|
this.auth = new AuthManager(this, authConfig);
|
|
1775
1794
|
this.authConfig = authConfig;
|
|
1795
|
+
this.applyAuthTheme();
|
|
1776
1796
|
this.registerAuthPages();
|
|
1777
1797
|
this.setupAuthIntegration();
|
|
1778
1798
|
this.setupAuthGuards();
|
|
1779
1799
|
}
|
|
1800
|
+
/**
|
|
1801
|
+
* Applies the configured background and panel themes to the body.
|
|
1802
|
+
*/
|
|
1803
|
+
applyAuthTheme() {
|
|
1804
|
+
const theme = this.authConfig.ui.theme;
|
|
1805
|
+
if (!theme) return;
|
|
1806
|
+
const classesToRemove = Array.from(document.body.classList).filter(
|
|
1807
|
+
(c2) => c2.startsWith("auth-bg-") || c2.startsWith("auth-panel-")
|
|
1808
|
+
);
|
|
1809
|
+
if (classesToRemove.length) {
|
|
1810
|
+
document.body.classList.remove(...classesToRemove);
|
|
1811
|
+
}
|
|
1812
|
+
if (theme.background) {
|
|
1813
|
+
document.body.classList.add(theme.background);
|
|
1814
|
+
}
|
|
1815
|
+
if (theme.panel) {
|
|
1816
|
+
document.body.classList.add(theme.panel);
|
|
1817
|
+
}
|
|
1818
|
+
}
|
|
1780
1819
|
/**
|
|
1781
1820
|
* Registers all the standard authentication pages with the application.
|
|
1782
1821
|
*/
|
|
@@ -1786,14 +1825,14 @@ class AuthApp extends WebApp {
|
|
|
1786
1825
|
route: cfg.routes.login,
|
|
1787
1826
|
title: "Login",
|
|
1788
1827
|
authConfig: cfg,
|
|
1789
|
-
template:
|
|
1828
|
+
template: getTemplate("extensions/auth/pages/LoginPage.mst")
|
|
1790
1829
|
});
|
|
1791
1830
|
if (cfg.features.registration) {
|
|
1792
1831
|
this.registerPage("register", RegisterPage, {
|
|
1793
1832
|
route: cfg.routes.register,
|
|
1794
1833
|
title: "Register",
|
|
1795
1834
|
authConfig: cfg,
|
|
1796
|
-
template:
|
|
1835
|
+
template: getTemplate("extensions/auth/pages/RegisterPage.mst")
|
|
1797
1836
|
});
|
|
1798
1837
|
}
|
|
1799
1838
|
if (cfg.features.forgotPassword) {
|
|
@@ -1801,12 +1840,13 @@ class AuthApp extends WebApp {
|
|
|
1801
1840
|
route: cfg.routes.forgot,
|
|
1802
1841
|
title: "Reset Password",
|
|
1803
1842
|
authConfig: cfg,
|
|
1804
|
-
template:
|
|
1843
|
+
template: getTemplate("extensions/auth/pages/ForgotPasswordPage.mst")
|
|
1805
1844
|
});
|
|
1806
1845
|
this.registerPage("reset-password", ResetPasswordPage, {
|
|
1807
1846
|
route: cfg.routes.reset,
|
|
1808
1847
|
title: "Set New Password",
|
|
1809
|
-
authConfig: cfg
|
|
1848
|
+
authConfig: cfg,
|
|
1849
|
+
template: getTemplate("extensions/auth/pages/ResetPasswordPage.mst")
|
|
1810
1850
|
});
|
|
1811
1851
|
}
|
|
1812
1852
|
}
|
|
@@ -2158,7 +2198,7 @@ export {
|
|
|
2158
2198
|
PasskeyPlugin,
|
|
2159
2199
|
RegisterPage,
|
|
2160
2200
|
ResetPasswordPage,
|
|
2161
|
-
|
|
2201
|
+
VERSION,
|
|
2162
2202
|
a as VERSION_INFO,
|
|
2163
2203
|
c as VERSION_MAJOR,
|
|
2164
2204
|
e as VERSION_MINOR,
|