@lionrapid/core 0.1.4-beta.0 → 0.2.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.
- package/dist/base/event-emitter.d.ts.map +1 -1
- package/dist/base/event-emitter.js +4 -1
- package/dist/base/event-emitter.js.map +1 -1
- package/dist/browser/lionrapid.auto.dev.js +45 -10
- package/dist/browser/lionrapid.auto.dev.js.map +3 -3
- package/dist/browser/lionrapid.auto.js +45 -10
- package/dist/browser/lionrapid.auto.js.map +3 -3
- package/dist/browser/lionrapid.auto.min.js +3 -3
- package/dist/browser/lionrapid.auto.min.js.map +4 -4
- package/dist/browser/lionrapid.editor.js +22 -1
- package/dist/browser/lionrapid.editor.js.map +3 -3
- package/dist/browser/lionrapid.editor.min.js +3 -3
- package/dist/browser/lionrapid.editor.min.js.map +4 -4
- package/dist/browser/lionrapid.esm.js +45 -10
- package/dist/browser/lionrapid.esm.js.map +3 -3
- package/dist/browser/lionrapid.esm.min.js +2 -2
- package/dist/browser/lionrapid.esm.min.js.map +4 -4
- package/dist/browser/lionrapid.iife.dev.js +45 -10
- package/dist/browser/lionrapid.iife.dev.js.map +3 -3
- package/dist/browser/lionrapid.iife.js +45 -10
- package/dist/browser/lionrapid.iife.js.map +3 -3
- package/dist/browser/lionrapid.iife.min.js +2 -2
- package/dist/browser/lionrapid.iife.min.js.map +4 -4
- package/dist/browser/lionrapid.umd.js +45 -10
- package/dist/browser/lionrapid.umd.js.map +3 -3
- package/dist/browser/lionrapid.umd.min.js +2 -2
- package/dist/browser/lionrapid.umd.min.js.map +4 -4
- package/dist/content/safe-href.d.ts +22 -0
- package/dist/content/safe-href.d.ts.map +1 -0
- package/dist/content/safe-href.js +48 -0
- package/dist/content/safe-href.js.map +1 -0
- package/dist/content/style-mapper/DefaultStyleMapper.d.ts.map +1 -1
- package/dist/content/style-mapper/DefaultStyleMapper.js +5 -1
- package/dist/content/style-mapper/DefaultStyleMapper.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +43 -8
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/translation-flow.d.ts.map +1 -1
- package/dist/utils/translation-flow.js +7 -2
- package/dist/utils/translation-flow.js.map +1 -1
- package/package.json +1 -1
|
@@ -68,12 +68,23 @@ var LionRapid = (() => {
|
|
|
68
68
|
})(LogLevel || {});
|
|
69
69
|
|
|
70
70
|
// src/utils/logger.ts
|
|
71
|
-
var
|
|
72
|
-
var
|
|
73
|
-
var
|
|
74
|
-
var
|
|
75
|
-
var
|
|
76
|
-
var
|
|
71
|
+
var _ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
72
|
+
var IS_PRODUCTION = _ENV.NODE_ENV === "production";
|
|
73
|
+
var IS_DEVELOPMENT = _ENV.NODE_ENV === "development";
|
|
74
|
+
var IS_CI = _ENV.CI === "true";
|
|
75
|
+
var LIONRAPID_DEV = _ENV.LIONRAPID_DEV === "true";
|
|
76
|
+
var PERFORMANCE_TRACKING = _ENV.LIONRAPID_PERFORMANCE_TRACKING === "true";
|
|
77
|
+
function readBrowserLogLevel() {
|
|
78
|
+
try {
|
|
79
|
+
if (typeof localStorage !== "undefined") {
|
|
80
|
+
const v = localStorage.getItem("LIONRAPID_LOG_LEVEL");
|
|
81
|
+
if (v && typeof v === "string") return v;
|
|
82
|
+
}
|
|
83
|
+
} catch {
|
|
84
|
+
}
|
|
85
|
+
return null;
|
|
86
|
+
}
|
|
87
|
+
var LOG_LEVEL_ENV = readBrowserLogLevel() || _ENV.LOG_LEVEL || "WARN";
|
|
77
88
|
var Colors = {
|
|
78
89
|
// Reset
|
|
79
90
|
RESET: "\x1B[0m",
|
|
@@ -279,7 +290,7 @@ var LionRapid = (() => {
|
|
|
279
290
|
case "NONE":
|
|
280
291
|
return 4 /* NONE */;
|
|
281
292
|
default:
|
|
282
|
-
return
|
|
293
|
+
return 2 /* WARN */;
|
|
283
294
|
}
|
|
284
295
|
}
|
|
285
296
|
shouldEnableLogging() {
|
|
@@ -398,7 +409,9 @@ var LionRapid = (() => {
|
|
|
398
409
|
constructor() {
|
|
399
410
|
// ✅ Properly typed event listeners without `any`
|
|
400
411
|
__publicField(this, "eventListeners", /* @__PURE__ */ new Map());
|
|
401
|
-
|
|
412
|
+
// Browser-safe: `process` is undeclared in browsers; guard before reading.
|
|
413
|
+
// Bundlers still substitute `process.env.NODE_ENV` at build time.
|
|
414
|
+
__publicField(this, "debugMode", typeof process !== "undefined" && true);
|
|
402
415
|
}
|
|
403
416
|
/**
|
|
404
417
|
* Subscribe to events (PUBLIC API) - Fully type-safe
|
|
@@ -1255,7 +1268,8 @@ var LionRapid = (() => {
|
|
|
1255
1268
|
function parseTranslationParams(secondParam, thirdParam) {
|
|
1256
1269
|
let defaultValue;
|
|
1257
1270
|
let params;
|
|
1258
|
-
|
|
1271
|
+
const _isNotProd = typeof process === "undefined" || true;
|
|
1272
|
+
if (typeof secondParam === "object" && typeof thirdParam === "object" && _isNotProd) {
|
|
1259
1273
|
console.warn(
|
|
1260
1274
|
"[LionRapid] Warning: Both secondParam and thirdParam are objects. Expected pattern: t(key, params, defaultValue) or t(key, defaultValue, params). Second object will be ignored as it cannot be a defaultValue."
|
|
1261
1275
|
);
|
|
@@ -2199,6 +2213,27 @@ var LionRapid = (() => {
|
|
|
2199
2213
|
}
|
|
2200
2214
|
};
|
|
2201
2215
|
|
|
2216
|
+
// src/content/safe-href.ts
|
|
2217
|
+
var SAFE_SCHEME = /^[a-z][a-z0-9+.-]*:/i;
|
|
2218
|
+
var ALLOWED_SCHEMES = /* @__PURE__ */ new Set(["http:", "https:", "mailto:", "tel:", "sms:"]);
|
|
2219
|
+
function safeHref(href) {
|
|
2220
|
+
if (!href) return "#";
|
|
2221
|
+
const trimmed = href.trim();
|
|
2222
|
+
if (!trimmed) return "#";
|
|
2223
|
+
if (trimmed.startsWith("//")) {
|
|
2224
|
+
return "#";
|
|
2225
|
+
}
|
|
2226
|
+
if (trimmed.startsWith("/") || trimmed.startsWith("?") || trimmed.startsWith("#") || trimmed.startsWith("./") || trimmed.startsWith("../")) {
|
|
2227
|
+
return trimmed;
|
|
2228
|
+
}
|
|
2229
|
+
const schemeMatch = SAFE_SCHEME.exec(trimmed);
|
|
2230
|
+
if (schemeMatch) {
|
|
2231
|
+
const scheme = schemeMatch[0].toLowerCase();
|
|
2232
|
+
return ALLOWED_SCHEMES.has(scheme) ? trimmed : "#";
|
|
2233
|
+
}
|
|
2234
|
+
return trimmed;
|
|
2235
|
+
}
|
|
2236
|
+
|
|
2202
2237
|
// src/content/style-mapper/DefaultStyleMapper.ts
|
|
2203
2238
|
var DefaultStyleMapper = class {
|
|
2204
2239
|
constructor() {
|
|
@@ -2284,7 +2319,7 @@ var LionRapid = (() => {
|
|
|
2284
2319
|
if (style.startsWith("hyperlink:")) {
|
|
2285
2320
|
return {
|
|
2286
2321
|
element: "a",
|
|
2287
|
-
attrs: { href: style.slice("hyperlink:".length) }
|
|
2322
|
+
attrs: { href: safeHref(style.slice("hyperlink:".length)) }
|
|
2288
2323
|
};
|
|
2289
2324
|
}
|
|
2290
2325
|
}
|