@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
|
@@ -52,12 +52,23 @@ var LionRapid = (() => {
|
|
|
52
52
|
})(LogLevel || {});
|
|
53
53
|
|
|
54
54
|
// src/utils/logger.ts
|
|
55
|
-
var
|
|
56
|
-
var
|
|
57
|
-
var
|
|
58
|
-
var
|
|
59
|
-
var
|
|
60
|
-
var
|
|
55
|
+
var _ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
56
|
+
var IS_PRODUCTION = _ENV.NODE_ENV === "production";
|
|
57
|
+
var IS_DEVELOPMENT = _ENV.NODE_ENV === "development";
|
|
58
|
+
var IS_CI = _ENV.CI === "true";
|
|
59
|
+
var LIONRAPID_DEV = _ENV.LIONRAPID_DEV === "true";
|
|
60
|
+
var PERFORMANCE_TRACKING = _ENV.LIONRAPID_PERFORMANCE_TRACKING === "true";
|
|
61
|
+
function readBrowserLogLevel() {
|
|
62
|
+
try {
|
|
63
|
+
if (typeof localStorage !== "undefined") {
|
|
64
|
+
const v = localStorage.getItem("LIONRAPID_LOG_LEVEL");
|
|
65
|
+
if (v && typeof v === "string") return v;
|
|
66
|
+
}
|
|
67
|
+
} catch {
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
var LOG_LEVEL_ENV = readBrowserLogLevel() || _ENV.LOG_LEVEL || "WARN";
|
|
61
72
|
var Colors = {
|
|
62
73
|
// Reset
|
|
63
74
|
RESET: "\x1B[0m",
|
|
@@ -263,7 +274,7 @@ var LionRapid = (() => {
|
|
|
263
274
|
case "NONE":
|
|
264
275
|
return 4 /* NONE */;
|
|
265
276
|
default:
|
|
266
|
-
return
|
|
277
|
+
return 2 /* WARN */;
|
|
267
278
|
}
|
|
268
279
|
}
|
|
269
280
|
shouldEnableLogging() {
|
|
@@ -329,7 +340,9 @@ var LionRapid = (() => {
|
|
|
329
340
|
constructor() {
|
|
330
341
|
// ✅ Properly typed event listeners without `any`
|
|
331
342
|
__publicField(this, "eventListeners", /* @__PURE__ */ new Map());
|
|
332
|
-
|
|
343
|
+
// Browser-safe: `process` is undeclared in browsers; guard before reading.
|
|
344
|
+
// Bundlers still substitute `process.env.NODE_ENV` at build time.
|
|
345
|
+
__publicField(this, "debugMode", typeof process !== "undefined" && false);
|
|
333
346
|
}
|
|
334
347
|
/**
|
|
335
348
|
* Subscribe to events (PUBLIC API) - Fully type-safe
|
|
@@ -1186,7 +1199,8 @@ var LionRapid = (() => {
|
|
|
1186
1199
|
function parseTranslationParams(secondParam, thirdParam) {
|
|
1187
1200
|
let defaultValue;
|
|
1188
1201
|
let params;
|
|
1189
|
-
|
|
1202
|
+
const _isNotProd = typeof process === "undefined" || false;
|
|
1203
|
+
if (typeof secondParam === "object" && typeof thirdParam === "object" && _isNotProd) {
|
|
1190
1204
|
console.warn(
|
|
1191
1205
|
"[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."
|
|
1192
1206
|
);
|
|
@@ -2124,6 +2138,27 @@ var LionRapid = (() => {
|
|
|
2124
2138
|
}
|
|
2125
2139
|
};
|
|
2126
2140
|
|
|
2141
|
+
// src/content/safe-href.ts
|
|
2142
|
+
var SAFE_SCHEME = /^[a-z][a-z0-9+.-]*:/i;
|
|
2143
|
+
var ALLOWED_SCHEMES = /* @__PURE__ */ new Set(["http:", "https:", "mailto:", "tel:", "sms:"]);
|
|
2144
|
+
function safeHref(href) {
|
|
2145
|
+
if (!href) return "#";
|
|
2146
|
+
const trimmed = href.trim();
|
|
2147
|
+
if (!trimmed) return "#";
|
|
2148
|
+
if (trimmed.startsWith("//")) {
|
|
2149
|
+
return "#";
|
|
2150
|
+
}
|
|
2151
|
+
if (trimmed.startsWith("/") || trimmed.startsWith("?") || trimmed.startsWith("#") || trimmed.startsWith("./") || trimmed.startsWith("../")) {
|
|
2152
|
+
return trimmed;
|
|
2153
|
+
}
|
|
2154
|
+
const schemeMatch = SAFE_SCHEME.exec(trimmed);
|
|
2155
|
+
if (schemeMatch) {
|
|
2156
|
+
const scheme = schemeMatch[0].toLowerCase();
|
|
2157
|
+
return ALLOWED_SCHEMES.has(scheme) ? trimmed : "#";
|
|
2158
|
+
}
|
|
2159
|
+
return trimmed;
|
|
2160
|
+
}
|
|
2161
|
+
|
|
2127
2162
|
// src/content/style-mapper/DefaultStyleMapper.ts
|
|
2128
2163
|
var DefaultStyleMapper = class {
|
|
2129
2164
|
constructor() {
|
|
@@ -2209,7 +2244,7 @@ var LionRapid = (() => {
|
|
|
2209
2244
|
if (style.startsWith("hyperlink:")) {
|
|
2210
2245
|
return {
|
|
2211
2246
|
element: "a",
|
|
2212
|
-
attrs: { href: style.slice("hyperlink:".length) }
|
|
2247
|
+
attrs: { href: safeHref(style.slice("hyperlink:".length)) }
|
|
2213
2248
|
};
|
|
2214
2249
|
}
|
|
2215
2250
|
}
|