@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
|
@@ -80,12 +80,23 @@ var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
|
|
|
80
80
|
})(LogLevel || {});
|
|
81
81
|
|
|
82
82
|
// src/utils/logger.ts
|
|
83
|
-
var
|
|
84
|
-
var
|
|
85
|
-
var
|
|
86
|
-
var
|
|
87
|
-
var
|
|
88
|
-
var
|
|
83
|
+
var _ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
84
|
+
var IS_PRODUCTION = _ENV.NODE_ENV === "production";
|
|
85
|
+
var IS_DEVELOPMENT = _ENV.NODE_ENV === "development";
|
|
86
|
+
var IS_CI = _ENV.CI === "true";
|
|
87
|
+
var LIONRAPID_DEV = _ENV.LIONRAPID_DEV === "true";
|
|
88
|
+
var PERFORMANCE_TRACKING = _ENV.LIONRAPID_PERFORMANCE_TRACKING === "true";
|
|
89
|
+
function readBrowserLogLevel() {
|
|
90
|
+
try {
|
|
91
|
+
if (typeof localStorage !== "undefined") {
|
|
92
|
+
const v = localStorage.getItem("LIONRAPID_LOG_LEVEL");
|
|
93
|
+
if (v && typeof v === "string") return v;
|
|
94
|
+
}
|
|
95
|
+
} catch {
|
|
96
|
+
}
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
var LOG_LEVEL_ENV = readBrowserLogLevel() || _ENV.LOG_LEVEL || "WARN";
|
|
89
100
|
var Colors = {
|
|
90
101
|
// Reset
|
|
91
102
|
RESET: "\x1B[0m",
|
|
@@ -291,7 +302,7 @@ var DevelopmentLogger = class _DevelopmentLogger {
|
|
|
291
302
|
case "NONE":
|
|
292
303
|
return 4 /* NONE */;
|
|
293
304
|
default:
|
|
294
|
-
return
|
|
305
|
+
return 2 /* WARN */;
|
|
295
306
|
}
|
|
296
307
|
}
|
|
297
308
|
shouldEnableLogging() {
|
|
@@ -410,7 +421,9 @@ var EventEmitter = class {
|
|
|
410
421
|
constructor() {
|
|
411
422
|
// ✅ Properly typed event listeners without `any`
|
|
412
423
|
__publicField(this, "eventListeners", /* @__PURE__ */ new Map());
|
|
413
|
-
|
|
424
|
+
// Browser-safe: `process` is undeclared in browsers; guard before reading.
|
|
425
|
+
// Bundlers still substitute `process.env.NODE_ENV` at build time.
|
|
426
|
+
__publicField(this, "debugMode", typeof process !== "undefined" && false);
|
|
414
427
|
}
|
|
415
428
|
/**
|
|
416
429
|
* Subscribe to events (PUBLIC API) - Fully type-safe
|
|
@@ -1267,7 +1280,8 @@ function prepareTranslationRequest(key, currentLocale, defaultValueOrParams, par
|
|
|
1267
1280
|
function parseTranslationParams(secondParam, thirdParam) {
|
|
1268
1281
|
let defaultValue;
|
|
1269
1282
|
let params;
|
|
1270
|
-
|
|
1283
|
+
const _isNotProd = typeof process === "undefined" || false;
|
|
1284
|
+
if (typeof secondParam === "object" && typeof thirdParam === "object" && _isNotProd) {
|
|
1271
1285
|
console.warn(
|
|
1272
1286
|
"[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."
|
|
1273
1287
|
);
|
|
@@ -2211,6 +2225,27 @@ var NetworkHandler = class {
|
|
|
2211
2225
|
}
|
|
2212
2226
|
};
|
|
2213
2227
|
|
|
2228
|
+
// src/content/safe-href.ts
|
|
2229
|
+
var SAFE_SCHEME = /^[a-z][a-z0-9+.-]*:/i;
|
|
2230
|
+
var ALLOWED_SCHEMES = /* @__PURE__ */ new Set(["http:", "https:", "mailto:", "tel:", "sms:"]);
|
|
2231
|
+
function safeHref(href) {
|
|
2232
|
+
if (!href) return "#";
|
|
2233
|
+
const trimmed = href.trim();
|
|
2234
|
+
if (!trimmed) return "#";
|
|
2235
|
+
if (trimmed.startsWith("//")) {
|
|
2236
|
+
return "#";
|
|
2237
|
+
}
|
|
2238
|
+
if (trimmed.startsWith("/") || trimmed.startsWith("?") || trimmed.startsWith("#") || trimmed.startsWith("./") || trimmed.startsWith("../")) {
|
|
2239
|
+
return trimmed;
|
|
2240
|
+
}
|
|
2241
|
+
const schemeMatch = SAFE_SCHEME.exec(trimmed);
|
|
2242
|
+
if (schemeMatch) {
|
|
2243
|
+
const scheme = schemeMatch[0].toLowerCase();
|
|
2244
|
+
return ALLOWED_SCHEMES.has(scheme) ? trimmed : "#";
|
|
2245
|
+
}
|
|
2246
|
+
return trimmed;
|
|
2247
|
+
}
|
|
2248
|
+
|
|
2214
2249
|
// src/content/style-mapper/DefaultStyleMapper.ts
|
|
2215
2250
|
var DefaultStyleMapper = class {
|
|
2216
2251
|
constructor() {
|
|
@@ -2296,7 +2331,7 @@ var DefaultStyleMapper = class {
|
|
|
2296
2331
|
if (style.startsWith("hyperlink:")) {
|
|
2297
2332
|
return {
|
|
2298
2333
|
element: "a",
|
|
2299
|
-
attrs: { href: style.slice("hyperlink:".length) }
|
|
2334
|
+
attrs: { href: safeHref(style.slice("hyperlink:".length)) }
|
|
2300
2335
|
};
|
|
2301
2336
|
}
|
|
2302
2337
|
}
|