@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
@@ -57,7 +57,17 @@ var LionRapid = (() => {
57
57
  var IS_CI = false;
58
58
  var LIONRAPID_DEV = true;
59
59
  var PERFORMANCE_TRACKING = true;
60
- var LOG_LEVEL_ENV = "DEBUG";
60
+ function readBrowserLogLevel() {
61
+ try {
62
+ if (typeof localStorage !== "undefined") {
63
+ const v = localStorage.getItem("LIONRAPID_LOG_LEVEL");
64
+ if (v && typeof v === "string") return v;
65
+ }
66
+ } catch {
67
+ }
68
+ return null;
69
+ }
70
+ var LOG_LEVEL_ENV = readBrowserLogLevel() || "DEBUG";
61
71
  var Colors = {
62
72
  // Reset
63
73
  RESET: "\x1B[0m",
@@ -263,7 +273,7 @@ var LionRapid = (() => {
263
273
  case "NONE":
264
274
  return 4 /* NONE */;
265
275
  default:
266
- return 0 /* DEBUG */;
276
+ return 2 /* WARN */;
267
277
  }
268
278
  }
269
279
  shouldEnableLogging() {
@@ -2124,6 +2134,27 @@ var LionRapid = (() => {
2124
2134
  }
2125
2135
  };
2126
2136
 
2137
+ // src/content/safe-href.ts
2138
+ var SAFE_SCHEME = /^[a-z][a-z0-9+.-]*:/i;
2139
+ var ALLOWED_SCHEMES = /* @__PURE__ */ new Set(["http:", "https:", "mailto:", "tel:", "sms:"]);
2140
+ function safeHref(href) {
2141
+ if (!href) return "#";
2142
+ const trimmed = href.trim();
2143
+ if (!trimmed) return "#";
2144
+ if (trimmed.startsWith("//")) {
2145
+ return "#";
2146
+ }
2147
+ if (trimmed.startsWith("/") || trimmed.startsWith("?") || trimmed.startsWith("#") || trimmed.startsWith("./") || trimmed.startsWith("../")) {
2148
+ return trimmed;
2149
+ }
2150
+ const schemeMatch = SAFE_SCHEME.exec(trimmed);
2151
+ if (schemeMatch) {
2152
+ const scheme = schemeMatch[0].toLowerCase();
2153
+ return ALLOWED_SCHEMES.has(scheme) ? trimmed : "#";
2154
+ }
2155
+ return trimmed;
2156
+ }
2157
+
2127
2158
  // src/content/style-mapper/DefaultStyleMapper.ts
2128
2159
  var DefaultStyleMapper = class {
2129
2160
  constructor() {
@@ -2209,7 +2240,7 @@ var LionRapid = (() => {
2209
2240
  if (style.startsWith("hyperlink:")) {
2210
2241
  return {
2211
2242
  element: "a",
2212
- attrs: { href: style.slice("hyperlink:".length) }
2243
+ attrs: { href: safeHref(style.slice("hyperlink:".length)) }
2213
2244
  };
2214
2245
  }
2215
2246
  }