@lionrapid/core 0.3.0 → 0.4.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/browser/attribute-extractor.d.ts +54 -0
- package/dist/browser/attribute-extractor.d.ts.map +1 -0
- package/dist/browser/attribute-extractor.js +155 -0
- package/dist/browser/attribute-extractor.js.map +1 -0
- package/dist/browser/auto-init.d.ts +4 -0
- package/dist/browser/auto-init.d.ts.map +1 -1
- package/dist/browser/auto-init.js +6 -2
- package/dist/browser/auto-init.js.map +1 -1
- package/dist/browser/auto-translator.d.ts +23 -0
- package/dist/browser/auto-translator.d.ts.map +1 -1
- package/dist/browser/auto-translator.js +90 -5
- package/dist/browser/auto-translator.js.map +1 -1
- package/dist/browser/block-extractor.d.ts +8 -0
- package/dist/browser/block-extractor.d.ts.map +1 -1
- package/dist/browser/block-extractor.js +77 -0
- package/dist/browser/block-extractor.js.map +1 -1
- package/dist/browser/editor/editor-api.d.ts +22 -1
- package/dist/browser/editor/editor-api.d.ts.map +1 -1
- package/dist/browser/editor/editor-api.js +54 -19
- package/dist/browser/editor/editor-api.js.map +1 -1
- package/dist/browser/editor/editor-init.js +72 -3
- package/dist/browser/editor/editor-init.js.map +1 -1
- package/dist/browser/editor/editor-styles.d.ts +1 -1
- package/dist/browser/editor/editor-styles.d.ts.map +1 -1
- package/dist/browser/editor/editor-styles.js +38 -1
- package/dist/browser/editor/editor-styles.js.map +1 -1
- package/dist/browser/editor/inspector.d.ts +8 -0
- package/dist/browser/editor/inspector.d.ts.map +1 -1
- package/dist/browser/editor/inspector.js +14 -0
- package/dist/browser/editor/inspector.js.map +1 -1
- package/dist/browser/editor/live-preview.d.ts +1 -1
- package/dist/browser/editor/live-preview.d.ts.map +1 -1
- package/dist/browser/editor/live-preview.js +27 -16
- package/dist/browser/editor/live-preview.js.map +1 -1
- package/dist/browser/editor/locale-url.d.ts +18 -0
- package/dist/browser/editor/locale-url.d.ts.map +1 -0
- package/dist/browser/editor/locale-url.js +37 -0
- package/dist/browser/editor/locale-url.js.map +1 -0
- package/dist/browser/editor/sidebar.d.ts +6 -0
- package/dist/browser/editor/sidebar.d.ts.map +1 -1
- package/dist/browser/editor/sidebar.js +133 -4
- package/dist/browser/editor/sidebar.js.map +1 -1
- package/dist/browser/editor/toolbar.d.ts +8 -1
- package/dist/browser/editor/toolbar.d.ts.map +1 -1
- package/dist/browser/editor/toolbar.js +49 -4
- package/dist/browser/editor/toolbar.js.map +1 -1
- package/dist/browser/index.d.ts +2 -0
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +1 -0
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/lionrapid.auto.dev.js +324 -36
- package/dist/browser/lionrapid.auto.dev.js.map +4 -4
- package/dist/browser/lionrapid.auto.js +324 -36
- package/dist/browser/lionrapid.auto.js.map +4 -4
- 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 +371 -36
- package/dist/browser/lionrapid.editor.js.map +3 -3
- package/dist/browser/lionrapid.editor.min.js +41 -4
- package/dist/browser/lionrapid.editor.min.js.map +4 -4
- package/dist/browser/lionrapid.esm.js +40 -26
- package/dist/browser/lionrapid.esm.js.map +2 -2
- package/dist/browser/lionrapid.esm.min.js +2 -2
- package/dist/browser/lionrapid.esm.min.js.map +3 -3
- package/dist/browser/lionrapid.iife.dev.js +40 -26
- package/dist/browser/lionrapid.iife.dev.js.map +2 -2
- package/dist/browser/lionrapid.iife.js +40 -26
- package/dist/browser/lionrapid.iife.js.map +2 -2
- package/dist/browser/lionrapid.iife.min.js +2 -2
- package/dist/browser/lionrapid.iife.min.js.map +3 -3
- package/dist/browser/lionrapid.umd.js +40 -26
- package/dist/browser/lionrapid.umd.js.map +2 -2
- package/dist/browser/lionrapid.umd.min.js +2 -2
- package/dist/browser/lionrapid.umd.min.js.map +3 -3
- package/dist/browser/md5.d.ts +3 -2
- package/dist/browser/md5.d.ts.map +1 -1
- package/dist/browser/md5.js +41 -6
- package/dist/browser/md5.js.map +1 -1
- package/dist/content/parser/MarkupParser.d.ts +0 -10
- package/dist/content/parser/MarkupParser.d.ts.map +1 -1
- package/dist/content/parser/MarkupParser.js +45 -3
- package/dist/content/parser/MarkupParser.js.map +1 -1
- package/dist/content/types.d.ts +30 -0
- package/dist/content/types.d.ts.map +1 -1
- package/dist/repositories/network-repository.d.ts +0 -14
- package/dist/repositories/network-repository.d.ts.map +1 -1
- package/dist/repositories/network-repository.js +4 -26
- package/dist/repositories/network-repository.js.map +1 -1
- package/package.json +1 -1
|
@@ -2257,10 +2257,44 @@ var LionRapid = (() => {
|
|
|
2257
2257
|
}
|
|
2258
2258
|
|
|
2259
2259
|
// src/content/parser/MarkupParser.ts
|
|
2260
|
+
function decodeEntities(text) {
|
|
2261
|
+
const named = {
|
|
2262
|
+
amp: "&",
|
|
2263
|
+
lt: "<",
|
|
2264
|
+
gt: ">",
|
|
2265
|
+
quot: '"',
|
|
2266
|
+
apos: "'",
|
|
2267
|
+
nbsp: " ",
|
|
2268
|
+
rsquo: "\u2019",
|
|
2269
|
+
lsquo: "\u2018",
|
|
2270
|
+
rdquo: "\u201D",
|
|
2271
|
+
ldquo: "\u201C",
|
|
2272
|
+
hellip: "\u2026",
|
|
2273
|
+
mdash: "\u2014",
|
|
2274
|
+
ndash: "\u2013",
|
|
2275
|
+
copy: "\xA9",
|
|
2276
|
+
reg: "\xAE",
|
|
2277
|
+
trade: "\u2122"
|
|
2278
|
+
};
|
|
2279
|
+
return text.replace(/&(#x[0-9a-f]+|#[0-9]+|[a-z][a-z0-9]*);/gi, (m, body) => {
|
|
2280
|
+
if (body[0] === "#") {
|
|
2281
|
+
const cp = body[1] === "x" || body[1] === "X" ? parseInt(body.slice(2), 16) : parseInt(body.slice(1), 10);
|
|
2282
|
+
if (Number.isFinite(cp) && cp > 0) {
|
|
2283
|
+
try {
|
|
2284
|
+
return String.fromCodePoint(cp);
|
|
2285
|
+
} catch {
|
|
2286
|
+
return m;
|
|
2287
|
+
}
|
|
2288
|
+
}
|
|
2289
|
+
return m;
|
|
2290
|
+
}
|
|
2291
|
+
return named[body.toLowerCase()] ?? m;
|
|
2292
|
+
});
|
|
2293
|
+
}
|
|
2260
2294
|
var MarkupParser = class {
|
|
2261
2295
|
parse(input) {
|
|
2262
2296
|
if (/<\/?[0-9]+>/.test(input)) {
|
|
2263
|
-
return { text: input, styles: {} };
|
|
2297
|
+
return { text: decodeEntities(input), styles: {} };
|
|
2264
2298
|
}
|
|
2265
2299
|
const styles = {};
|
|
2266
2300
|
let tagIndex = 0;
|
|
@@ -2305,7 +2339,7 @@ var LionRapid = (() => {
|
|
|
2305
2339
|
const unclosed = tagStack.pop();
|
|
2306
2340
|
result += `</${unclosed.index}>`;
|
|
2307
2341
|
}
|
|
2308
|
-
return { text: result, styles };
|
|
2342
|
+
return { text: decodeEntities(result), styles };
|
|
2309
2343
|
}
|
|
2310
2344
|
matchTag(input, startPos) {
|
|
2311
2345
|
const tagStart = input.indexOf("<", startPos);
|
|
@@ -3553,7 +3587,7 @@ var LionRapid = (() => {
|
|
|
3553
3587
|
logger.debug("API base URL is not set");
|
|
3554
3588
|
throw new NetworkError("API base URL is not set");
|
|
3555
3589
|
}
|
|
3556
|
-
const url = this.
|
|
3590
|
+
const url = this.buildUrl("getTranslation", { key });
|
|
3557
3591
|
logger.debug(`API GET: ${url}`);
|
|
3558
3592
|
try {
|
|
3559
3593
|
const response = await this.makeRequest(url, "GET");
|
|
@@ -3589,7 +3623,7 @@ var LionRapid = (() => {
|
|
|
3589
3623
|
logger.debug("API base URL is not set");
|
|
3590
3624
|
throw new NetworkError("API base URL is not set");
|
|
3591
3625
|
}
|
|
3592
|
-
const url = this.
|
|
3626
|
+
const url = this.buildUrl("getTranslation", { key });
|
|
3593
3627
|
logger.debug(`API GET ContentUnit: ${url}`);
|
|
3594
3628
|
try {
|
|
3595
3629
|
const response = await this.makeRequest(url, "GET");
|
|
@@ -3630,7 +3664,7 @@ var LionRapid = (() => {
|
|
|
3630
3664
|
logger.debug("API base URL is not set");
|
|
3631
3665
|
throw new NetworkError("API base URL is not set");
|
|
3632
3666
|
}
|
|
3633
|
-
const url = this.
|
|
3667
|
+
const url = this.buildUrl("getNamespace", { locale, namespace });
|
|
3634
3668
|
logger.debug(`API GET Namespace: ${url}`);
|
|
3635
3669
|
const namespaceKey = `${locale}:${namespace}`;
|
|
3636
3670
|
try {
|
|
@@ -3744,7 +3778,7 @@ var LionRapid = (() => {
|
|
|
3744
3778
|
logger.debug("API base URL is not set");
|
|
3745
3779
|
throw new NetworkError("API base URL is not set");
|
|
3746
3780
|
}
|
|
3747
|
-
const url = this.
|
|
3781
|
+
const url = this.buildUrl("getNamespace", { locale, namespace });
|
|
3748
3782
|
logger.debug(`API GET Namespace ContentUnits: ${url}`);
|
|
3749
3783
|
const namespaceKey = `${locale}:${namespace}`;
|
|
3750
3784
|
try {
|
|
@@ -3956,26 +3990,6 @@ var LionRapid = (() => {
|
|
|
3956
3990
|
}
|
|
3957
3991
|
return `${baseUrl}${path}`;
|
|
3958
3992
|
}
|
|
3959
|
-
/**
|
|
3960
|
-
* Check whether the current page is running inside an active visual-editor
|
|
3961
|
-
* session. The editor JS sets `__lr_editor_active=1` as a session cookie
|
|
3962
|
-
* when its JWT is established; we read it here so client-side translation
|
|
3963
|
-
* fetches request draft content too, matching what the edge proxy does
|
|
3964
|
-
* server-side. Outside a browser (Node/SSR) this is always false.
|
|
3965
|
-
*/
|
|
3966
|
-
isEditorPreviewSession() {
|
|
3967
|
-
if (typeof document === "undefined") return false;
|
|
3968
|
-
return document.cookie.split("; ").some((c) => c === "__lr_editor_active=1");
|
|
3969
|
-
}
|
|
3970
|
-
/**
|
|
3971
|
-
* Append `include_drafts=true` to a built URL when an editor session is
|
|
3972
|
-
* active. Leaves the URL unchanged for normal visitors so the delivery
|
|
3973
|
-
* gate continues to apply in production.
|
|
3974
|
-
*/
|
|
3975
|
-
withDraftsParam(url) {
|
|
3976
|
-
if (!this.isEditorPreviewSession()) return url;
|
|
3977
|
-
return url + (url.includes("?") ? "&" : "?") + "include_drafts=true";
|
|
3978
|
-
}
|
|
3979
3993
|
/**
|
|
3980
3994
|
* Make HTTP request with timeout and headers
|
|
3981
3995
|
*/
|