@lionrapid/core 0.1.4-beta.0 → 0.1.4-beta.2

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.
Files changed (35) hide show
  1. package/dist/browser/lionrapid.auto.dev.js +34 -3
  2. package/dist/browser/lionrapid.auto.dev.js.map +3 -3
  3. package/dist/browser/lionrapid.auto.js +34 -3
  4. package/dist/browser/lionrapid.auto.js.map +3 -3
  5. package/dist/browser/lionrapid.auto.min.js +3 -3
  6. package/dist/browser/lionrapid.auto.min.js.map +4 -4
  7. package/dist/browser/lionrapid.editor.js +22 -1
  8. package/dist/browser/lionrapid.editor.js.map +3 -3
  9. package/dist/browser/lionrapid.editor.min.js +3 -3
  10. package/dist/browser/lionrapid.editor.min.js.map +4 -4
  11. package/dist/browser/lionrapid.esm.js +34 -3
  12. package/dist/browser/lionrapid.esm.js.map +3 -3
  13. package/dist/browser/lionrapid.esm.min.js +2 -2
  14. package/dist/browser/lionrapid.esm.min.js.map +4 -4
  15. package/dist/browser/lionrapid.iife.dev.js +34 -3
  16. package/dist/browser/lionrapid.iife.dev.js.map +3 -3
  17. package/dist/browser/lionrapid.iife.js +34 -3
  18. package/dist/browser/lionrapid.iife.js.map +3 -3
  19. package/dist/browser/lionrapid.iife.min.js +2 -2
  20. package/dist/browser/lionrapid.iife.min.js.map +4 -4
  21. package/dist/browser/lionrapid.umd.js +34 -3
  22. package/dist/browser/lionrapid.umd.js.map +3 -3
  23. package/dist/browser/lionrapid.umd.min.js +2 -2
  24. package/dist/browser/lionrapid.umd.min.js.map +4 -4
  25. package/dist/content/safe-href.d.ts +22 -0
  26. package/dist/content/safe-href.d.ts.map +1 -0
  27. package/dist/content/safe-href.js +48 -0
  28. package/dist/content/safe-href.js.map +1 -0
  29. package/dist/content/style-mapper/DefaultStyleMapper.d.ts.map +1 -1
  30. package/dist/content/style-mapper/DefaultStyleMapper.js +5 -1
  31. package/dist/content/style-mapper/DefaultStyleMapper.js.map +1 -1
  32. package/dist/utils/logger.d.ts.map +1 -1
  33. package/dist/utils/logger.js +29 -3
  34. package/dist/utils/logger.js.map +1 -1
  35. package/package.json +1 -1
@@ -18,7 +18,17 @@ var IS_DEVELOPMENT = false;
18
18
  var IS_CI = false;
19
19
  var LIONRAPID_DEV = false;
20
20
  var PERFORMANCE_TRACKING = false;
21
- var LOG_LEVEL_ENV = IS_PRODUCTION ? "ERROR" : "DEBUG";
21
+ function readBrowserLogLevel() {
22
+ try {
23
+ if (typeof localStorage !== "undefined") {
24
+ const v = localStorage.getItem("LIONRAPID_LOG_LEVEL");
25
+ if (v && typeof v === "string") return v;
26
+ }
27
+ } catch {
28
+ }
29
+ return null;
30
+ }
31
+ var LOG_LEVEL_ENV = readBrowserLogLevel() || "" || "WARN";
22
32
  var Colors = {
23
33
  // Reset
24
34
  RESET: "\x1B[0m",
@@ -224,7 +234,7 @@ var DevelopmentLogger = class _DevelopmentLogger {
224
234
  case "NONE":
225
235
  return 4 /* NONE */;
226
236
  default:
227
- return 0 /* DEBUG */;
237
+ return 2 /* WARN */;
228
238
  }
229
239
  }
230
240
  shouldEnableLogging() {
@@ -2144,6 +2154,27 @@ var NetworkHandler = class {
2144
2154
  }
2145
2155
  };
2146
2156
 
2157
+ // src/content/safe-href.ts
2158
+ var SAFE_SCHEME = /^[a-z][a-z0-9+.-]*:/i;
2159
+ var ALLOWED_SCHEMES = /* @__PURE__ */ new Set(["http:", "https:", "mailto:", "tel:", "sms:"]);
2160
+ function safeHref(href) {
2161
+ if (!href) return "#";
2162
+ const trimmed = href.trim();
2163
+ if (!trimmed) return "#";
2164
+ if (trimmed.startsWith("//")) {
2165
+ return "#";
2166
+ }
2167
+ if (trimmed.startsWith("/") || trimmed.startsWith("?") || trimmed.startsWith("#") || trimmed.startsWith("./") || trimmed.startsWith("../")) {
2168
+ return trimmed;
2169
+ }
2170
+ const schemeMatch = SAFE_SCHEME.exec(trimmed);
2171
+ if (schemeMatch) {
2172
+ const scheme = schemeMatch[0].toLowerCase();
2173
+ return ALLOWED_SCHEMES.has(scheme) ? trimmed : "#";
2174
+ }
2175
+ return trimmed;
2176
+ }
2177
+
2147
2178
  // src/content/style-mapper/DefaultStyleMapper.ts
2148
2179
  var DefaultStyleMapper = class {
2149
2180
  constructor() {
@@ -2229,7 +2260,7 @@ var DefaultStyleMapper = class {
2229
2260
  if (style.startsWith("hyperlink:")) {
2230
2261
  return {
2231
2262
  element: "a",
2232
- attrs: { href: style.slice("hyperlink:".length) }
2263
+ attrs: { href: safeHref(style.slice("hyperlink:".length)) }
2233
2264
  };
2234
2265
  }
2235
2266
  }