@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
|
@@ -2269,10 +2269,44 @@ function readRawStyle(styles) {
|
|
|
2269
2269
|
}
|
|
2270
2270
|
|
|
2271
2271
|
// src/content/parser/MarkupParser.ts
|
|
2272
|
+
function decodeEntities(text) {
|
|
2273
|
+
const named = {
|
|
2274
|
+
amp: "&",
|
|
2275
|
+
lt: "<",
|
|
2276
|
+
gt: ">",
|
|
2277
|
+
quot: '"',
|
|
2278
|
+
apos: "'",
|
|
2279
|
+
nbsp: " ",
|
|
2280
|
+
rsquo: "\u2019",
|
|
2281
|
+
lsquo: "\u2018",
|
|
2282
|
+
rdquo: "\u201D",
|
|
2283
|
+
ldquo: "\u201C",
|
|
2284
|
+
hellip: "\u2026",
|
|
2285
|
+
mdash: "\u2014",
|
|
2286
|
+
ndash: "\u2013",
|
|
2287
|
+
copy: "\xA9",
|
|
2288
|
+
reg: "\xAE",
|
|
2289
|
+
trade: "\u2122"
|
|
2290
|
+
};
|
|
2291
|
+
return text.replace(/&(#x[0-9a-f]+|#[0-9]+|[a-z][a-z0-9]*);/gi, (m, body) => {
|
|
2292
|
+
if (body[0] === "#") {
|
|
2293
|
+
const cp = body[1] === "x" || body[1] === "X" ? parseInt(body.slice(2), 16) : parseInt(body.slice(1), 10);
|
|
2294
|
+
if (Number.isFinite(cp) && cp > 0) {
|
|
2295
|
+
try {
|
|
2296
|
+
return String.fromCodePoint(cp);
|
|
2297
|
+
} catch {
|
|
2298
|
+
return m;
|
|
2299
|
+
}
|
|
2300
|
+
}
|
|
2301
|
+
return m;
|
|
2302
|
+
}
|
|
2303
|
+
return named[body.toLowerCase()] ?? m;
|
|
2304
|
+
});
|
|
2305
|
+
}
|
|
2272
2306
|
var MarkupParser = class {
|
|
2273
2307
|
parse(input) {
|
|
2274
2308
|
if (/<\/?[0-9]+>/.test(input)) {
|
|
2275
|
-
return { text: input, styles: {} };
|
|
2309
|
+
return { text: decodeEntities(input), styles: {} };
|
|
2276
2310
|
}
|
|
2277
2311
|
const styles = {};
|
|
2278
2312
|
let tagIndex = 0;
|
|
@@ -2317,7 +2351,7 @@ var MarkupParser = class {
|
|
|
2317
2351
|
const unclosed = tagStack.pop();
|
|
2318
2352
|
result += `</${unclosed.index}>`;
|
|
2319
2353
|
}
|
|
2320
|
-
return { text: result, styles };
|
|
2354
|
+
return { text: decodeEntities(result), styles };
|
|
2321
2355
|
}
|
|
2322
2356
|
matchTag(input, startPos) {
|
|
2323
2357
|
const tagStart = input.indexOf("<", startPos);
|
|
@@ -3565,7 +3599,7 @@ var _NetworkRepository = class _NetworkRepository {
|
|
|
3565
3599
|
logger.debug("API base URL is not set");
|
|
3566
3600
|
throw new NetworkError("API base URL is not set");
|
|
3567
3601
|
}
|
|
3568
|
-
const url = this.
|
|
3602
|
+
const url = this.buildUrl("getTranslation", { key });
|
|
3569
3603
|
logger.debug(`API GET: ${url}`);
|
|
3570
3604
|
try {
|
|
3571
3605
|
const response = await this.makeRequest(url, "GET");
|
|
@@ -3601,7 +3635,7 @@ var _NetworkRepository = class _NetworkRepository {
|
|
|
3601
3635
|
logger.debug("API base URL is not set");
|
|
3602
3636
|
throw new NetworkError("API base URL is not set");
|
|
3603
3637
|
}
|
|
3604
|
-
const url = this.
|
|
3638
|
+
const url = this.buildUrl("getTranslation", { key });
|
|
3605
3639
|
logger.debug(`API GET ContentUnit: ${url}`);
|
|
3606
3640
|
try {
|
|
3607
3641
|
const response = await this.makeRequest(url, "GET");
|
|
@@ -3642,7 +3676,7 @@ var _NetworkRepository = class _NetworkRepository {
|
|
|
3642
3676
|
logger.debug("API base URL is not set");
|
|
3643
3677
|
throw new NetworkError("API base URL is not set");
|
|
3644
3678
|
}
|
|
3645
|
-
const url = this.
|
|
3679
|
+
const url = this.buildUrl("getNamespace", { locale, namespace });
|
|
3646
3680
|
logger.debug(`API GET Namespace: ${url}`);
|
|
3647
3681
|
const namespaceKey = `${locale}:${namespace}`;
|
|
3648
3682
|
try {
|
|
@@ -3756,7 +3790,7 @@ var _NetworkRepository = class _NetworkRepository {
|
|
|
3756
3790
|
logger.debug("API base URL is not set");
|
|
3757
3791
|
throw new NetworkError("API base URL is not set");
|
|
3758
3792
|
}
|
|
3759
|
-
const url = this.
|
|
3793
|
+
const url = this.buildUrl("getNamespace", { locale, namespace });
|
|
3760
3794
|
logger.debug(`API GET Namespace ContentUnits: ${url}`);
|
|
3761
3795
|
const namespaceKey = `${locale}:${namespace}`;
|
|
3762
3796
|
try {
|
|
@@ -3968,26 +4002,6 @@ var _NetworkRepository = class _NetworkRepository {
|
|
|
3968
4002
|
}
|
|
3969
4003
|
return `${baseUrl}${path}`;
|
|
3970
4004
|
}
|
|
3971
|
-
/**
|
|
3972
|
-
* Check whether the current page is running inside an active visual-editor
|
|
3973
|
-
* session. The editor JS sets `__lr_editor_active=1` as a session cookie
|
|
3974
|
-
* when its JWT is established; we read it here so client-side translation
|
|
3975
|
-
* fetches request draft content too, matching what the edge proxy does
|
|
3976
|
-
* server-side. Outside a browser (Node/SSR) this is always false.
|
|
3977
|
-
*/
|
|
3978
|
-
isEditorPreviewSession() {
|
|
3979
|
-
if (typeof document === "undefined") return false;
|
|
3980
|
-
return document.cookie.split("; ").some((c) => c === "__lr_editor_active=1");
|
|
3981
|
-
}
|
|
3982
|
-
/**
|
|
3983
|
-
* Append `include_drafts=true` to a built URL when an editor session is
|
|
3984
|
-
* active. Leaves the URL unchanged for normal visitors so the delivery
|
|
3985
|
-
* gate continues to apply in production.
|
|
3986
|
-
*/
|
|
3987
|
-
withDraftsParam(url) {
|
|
3988
|
-
if (!this.isEditorPreviewSession()) return url;
|
|
3989
|
-
return url + (url.includes("?") ? "&" : "?") + "include_drafts=true";
|
|
3990
|
-
}
|
|
3991
4005
|
/**
|
|
3992
4006
|
* Make HTTP request with timeout and headers
|
|
3993
4007
|
*/
|