@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
|
@@ -13,12 +13,23 @@ var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
|
|
|
13
13
|
})(LogLevel || {});
|
|
14
14
|
|
|
15
15
|
// src/utils/logger.ts
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var
|
|
21
|
-
var
|
|
16
|
+
var _ENV = typeof process !== "undefined" && process.env ? process.env : {};
|
|
17
|
+
var IS_PRODUCTION = _ENV.NODE_ENV === "production";
|
|
18
|
+
var IS_DEVELOPMENT = _ENV.NODE_ENV === "development";
|
|
19
|
+
var IS_CI = _ENV.CI === "true";
|
|
20
|
+
var LIONRAPID_DEV = _ENV.LIONRAPID_DEV === "true";
|
|
21
|
+
var PERFORMANCE_TRACKING = _ENV.LIONRAPID_PERFORMANCE_TRACKING === "true";
|
|
22
|
+
function readBrowserLogLevel() {
|
|
23
|
+
try {
|
|
24
|
+
if (typeof localStorage !== "undefined") {
|
|
25
|
+
const v = localStorage.getItem("LIONRAPID_LOG_LEVEL");
|
|
26
|
+
if (v && typeof v === "string") return v;
|
|
27
|
+
}
|
|
28
|
+
} catch {
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
var LOG_LEVEL_ENV = readBrowserLogLevel() || _ENV.LOG_LEVEL || "WARN";
|
|
22
33
|
var Colors = {
|
|
23
34
|
// Reset
|
|
24
35
|
RESET: "\x1B[0m",
|
|
@@ -224,7 +235,7 @@ var DevelopmentLogger = class _DevelopmentLogger {
|
|
|
224
235
|
case "NONE":
|
|
225
236
|
return 4 /* NONE */;
|
|
226
237
|
default:
|
|
227
|
-
return
|
|
238
|
+
return 2 /* WARN */;
|
|
228
239
|
}
|
|
229
240
|
}
|
|
230
241
|
shouldEnableLogging() {
|
|
@@ -343,7 +354,9 @@ var EventEmitter = class {
|
|
|
343
354
|
constructor() {
|
|
344
355
|
// ✅ Properly typed event listeners without `any`
|
|
345
356
|
__publicField(this, "eventListeners", /* @__PURE__ */ new Map());
|
|
346
|
-
|
|
357
|
+
// Browser-safe: `process` is undeclared in browsers; guard before reading.
|
|
358
|
+
// Bundlers still substitute `process.env.NODE_ENV` at build time.
|
|
359
|
+
__publicField(this, "debugMode", typeof process !== "undefined" && false);
|
|
347
360
|
}
|
|
348
361
|
/**
|
|
349
362
|
* Subscribe to events (PUBLIC API) - Fully type-safe
|
|
@@ -1200,7 +1213,8 @@ function prepareTranslationRequest(key, currentLocale, defaultValueOrParams, par
|
|
|
1200
1213
|
function parseTranslationParams(secondParam, thirdParam) {
|
|
1201
1214
|
let defaultValue;
|
|
1202
1215
|
let params;
|
|
1203
|
-
|
|
1216
|
+
const _isNotProd = typeof process === "undefined" || false;
|
|
1217
|
+
if (typeof secondParam === "object" && typeof thirdParam === "object" && _isNotProd) {
|
|
1204
1218
|
console.warn(
|
|
1205
1219
|
"[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."
|
|
1206
1220
|
);
|
|
@@ -2144,6 +2158,27 @@ var NetworkHandler = class {
|
|
|
2144
2158
|
}
|
|
2145
2159
|
};
|
|
2146
2160
|
|
|
2161
|
+
// src/content/safe-href.ts
|
|
2162
|
+
var SAFE_SCHEME = /^[a-z][a-z0-9+.-]*:/i;
|
|
2163
|
+
var ALLOWED_SCHEMES = /* @__PURE__ */ new Set(["http:", "https:", "mailto:", "tel:", "sms:"]);
|
|
2164
|
+
function safeHref(href) {
|
|
2165
|
+
if (!href) return "#";
|
|
2166
|
+
const trimmed = href.trim();
|
|
2167
|
+
if (!trimmed) return "#";
|
|
2168
|
+
if (trimmed.startsWith("//")) {
|
|
2169
|
+
return "#";
|
|
2170
|
+
}
|
|
2171
|
+
if (trimmed.startsWith("/") || trimmed.startsWith("?") || trimmed.startsWith("#") || trimmed.startsWith("./") || trimmed.startsWith("../")) {
|
|
2172
|
+
return trimmed;
|
|
2173
|
+
}
|
|
2174
|
+
const schemeMatch = SAFE_SCHEME.exec(trimmed);
|
|
2175
|
+
if (schemeMatch) {
|
|
2176
|
+
const scheme = schemeMatch[0].toLowerCase();
|
|
2177
|
+
return ALLOWED_SCHEMES.has(scheme) ? trimmed : "#";
|
|
2178
|
+
}
|
|
2179
|
+
return trimmed;
|
|
2180
|
+
}
|
|
2181
|
+
|
|
2147
2182
|
// src/content/style-mapper/DefaultStyleMapper.ts
|
|
2148
2183
|
var DefaultStyleMapper = class {
|
|
2149
2184
|
constructor() {
|
|
@@ -2229,7 +2264,7 @@ var DefaultStyleMapper = class {
|
|
|
2229
2264
|
if (style.startsWith("hyperlink:")) {
|
|
2230
2265
|
return {
|
|
2231
2266
|
element: "a",
|
|
2232
|
-
attrs: { href: style.slice("hyperlink:".length) }
|
|
2267
|
+
attrs: { href: safeHref(style.slice("hyperlink:".length)) }
|
|
2233
2268
|
};
|
|
2234
2269
|
}
|
|
2235
2270
|
}
|