@makeswift/runtime 0.25.4-canary.4 → 0.25.5

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 (67) hide show
  1. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  2. package/dist/cjs/components/builtin/Carousel/Carousel.js +2 -5
  3. package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
  4. package/dist/cjs/controls/control.js +1 -3
  5. package/dist/cjs/controls/control.js.map +1 -1
  6. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js +15 -2
  7. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  8. package/dist/cjs/controls/rich-text-v2/{translations/merge-translations.js → translation.js} +87 -10
  9. package/dist/cjs/controls/rich-text-v2/translation.js.map +1 -0
  10. package/dist/cjs/next/api-handler/config/pages-router.js +1 -1
  11. package/dist/cjs/next/api-handler/config/pages-router.js.map +1 -1
  12. package/dist/cjs/runtimes/react/components/page/index.js +13 -3
  13. package/dist/cjs/runtimes/react/components/page/index.js.map +1 -1
  14. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  15. package/dist/esm/components/builtin/Carousel/Carousel.js +1 -4
  16. package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
  17. package/dist/esm/controls/control.js +1 -3
  18. package/dist/esm/controls/control.js.map +1 -1
  19. package/dist/esm/controls/rich-text-v2/rich-text-v2.js +17 -1
  20. package/dist/esm/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  21. package/dist/esm/controls/rich-text-v2/{translations/merge-translations.js → translation.js} +70 -4
  22. package/dist/esm/controls/rich-text-v2/translation.js.map +1 -0
  23. package/dist/esm/next/api-handler/config/pages-router.js +1 -1
  24. package/dist/esm/next/api-handler/config/pages-router.js.map +1 -1
  25. package/dist/esm/runtimes/react/components/page/index.js +16 -4
  26. package/dist/esm/runtimes/react/components/page/index.js.map +1 -1
  27. package/dist/types/client/index.d.ts +11 -11
  28. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  29. package/dist/types/controls/control.d.ts.map +1 -1
  30. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +12 -11
  31. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  32. package/dist/types/controls/rich-text-v2/translation.d.ts +6 -0
  33. package/dist/types/controls/rich-text-v2/translation.d.ts.map +1 -0
  34. package/dist/types/runtimes/react/components/page/index.d.ts.map +1 -1
  35. package/dist/types/slate/BlockPlugin/index.d.ts +13 -1
  36. package/dist/types/slate/BlockPlugin/index.d.ts.map +1 -1
  37. package/dist/types/slate/InlinePlugin/index.d.ts +13 -1
  38. package/dist/types/slate/InlinePlugin/index.d.ts.map +1 -1
  39. package/dist/types/slate/LinkPlugin/getValue.d.ts.map +1 -1
  40. package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
  41. package/dist/types/slate/TextAlignPlugin/index.d.ts +13 -1
  42. package/dist/types/slate/TextAlignPlugin/index.d.ts.map +1 -1
  43. package/dist/types/slate/TypographyPlugin/getValue.d.ts.map +1 -1
  44. package/dist/types/slate/TypographyPlugin/index.d.ts.map +1 -1
  45. package/package.json +47 -46
  46. package/dist/cjs/controls/rich-text-v2/translations/get-translations.js +0 -96
  47. package/dist/cjs/controls/rich-text-v2/translations/get-translations.js.map +0 -1
  48. package/dist/cjs/controls/rich-text-v2/translations/merge-translations.js.map +0 -1
  49. package/dist/cjs/controls/rich-text-v2/translations/translations-core.js +0 -45
  50. package/dist/cjs/controls/rich-text-v2/translations/translations-core.js.map +0 -1
  51. package/dist/cjs/controls/visitors/merge-translations-visitor.js +0 -46
  52. package/dist/cjs/controls/visitors/merge-translations-visitor.js.map +0 -1
  53. package/dist/esm/controls/rich-text-v2/translations/get-translations.js +0 -62
  54. package/dist/esm/controls/rich-text-v2/translations/get-translations.js.map +0 -1
  55. package/dist/esm/controls/rich-text-v2/translations/merge-translations.js.map +0 -1
  56. package/dist/esm/controls/rich-text-v2/translations/translations-core.js +0 -19
  57. package/dist/esm/controls/rich-text-v2/translations/translations-core.js.map +0 -1
  58. package/dist/esm/controls/visitors/merge-translations-visitor.js +0 -22
  59. package/dist/esm/controls/visitors/merge-translations-visitor.js.map +0 -1
  60. package/dist/types/controls/rich-text-v2/translations/get-translations.d.ts +0 -5
  61. package/dist/types/controls/rich-text-v2/translations/get-translations.d.ts.map +0 -1
  62. package/dist/types/controls/rich-text-v2/translations/merge-translations.d.ts +0 -5
  63. package/dist/types/controls/rich-text-v2/translations/merge-translations.d.ts.map +0 -1
  64. package/dist/types/controls/rich-text-v2/translations/translations-core.d.ts +0 -7
  65. package/dist/types/controls/rich-text-v2/translations/translations-core.d.ts.map +0 -1
  66. package/dist/types/controls/visitors/merge-translations-visitor.d.ts +0 -6
  67. package/dist/types/controls/visitors/merge-translations-visitor.d.ts.map +0 -1
@@ -1,45 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var translations_core_exports = {};
20
- __export(translations_core_exports, {
21
- createEditorWithPlugins: () => createEditorWithPlugins,
22
- pathToString: () => pathToString,
23
- stringToPath: () => stringToPath
24
- });
25
- module.exports = __toCommonJS(translations_core_exports);
26
- var import_slate = require("slate");
27
- function createEditorWithPlugins(plugins) {
28
- return plugins.reduceRight(
29
- (editor, plugin) => plugin?.withPlugin?.(editor) ?? editor,
30
- (0, import_slate.createEditor)()
31
- );
32
- }
33
- function pathToString(path) {
34
- return path.join(":");
35
- }
36
- function stringToPath(s) {
37
- return s.split(":").map((a) => parseInt(a));
38
- }
39
- // Annotate the CommonJS export names for ESM import in node:
40
- 0 && (module.exports = {
41
- createEditorWithPlugins,
42
- pathToString,
43
- stringToPath
44
- });
45
- //# sourceMappingURL=translations-core.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/controls/rich-text-v2/translations/translations-core.ts"],"sourcesContent":["import { createEditor } from 'slate'\nimport { MakeswiftEditor } from '../../../slate'\nimport { RichTextV2Plugin } from '../plugin'\n\nexport function createEditorWithPlugins(plugins: RichTextV2Plugin[]): MakeswiftEditor {\n return plugins.reduceRight(\n (editor, plugin) => plugin?.withPlugin?.(editor) ?? editor,\n createEditor(),\n )\n}\n\nexport function pathToString(path: number[]): string {\n return path.join(':')\n}\n\nexport function stringToPath(s: string): number[] {\n return s.split(':').map(a => parseInt(a))\n}\n\nexport type RichTextTranslationDto = Record<string, string>\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6B;AAItB,SAAS,wBAAwB,SAA8C;AACpF,SAAO,QAAQ;AAAA,IACb,CAAC,QAAQ,WAAW,QAAQ,aAAa,MAAM,KAAK;AAAA,QACpD,2BAAa;AAAA,EACf;AACF;AAEO,SAAS,aAAa,MAAwB;AACnD,SAAO,KAAK,KAAK,GAAG;AACtB;AAEO,SAAS,aAAa,GAAqB;AAChD,SAAO,EAAE,MAAM,GAAG,EAAE,IAAI,OAAK,SAAS,CAAC,CAAC;AAC1C;","names":[]}
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var merge_translations_visitor_exports = {};
20
- __export(merge_translations_visitor_exports, {
21
- ReactMergeTranslationsVisitor: () => ReactMergeTranslationsVisitor
22
- });
23
- module.exports = __toCommonJS(merge_translations_visitor_exports);
24
- var import_controls = require("@makeswift/controls");
25
- var import_rich_text_v2 = require("../rich-text-v2");
26
- var import_merge_translations = require("../rich-text-v2/translations/merge-translations");
27
- class ReactMergeTranslationsVisitor extends import_controls.MergeTranslationsVisitor {
28
- visitRichTextV2(def, data, translatedData) {
29
- if (data == null || translatedData == null)
30
- return data;
31
- const { descendants, ...rest } = import_rich_text_v2.RichTextV2Definition.normalizeData(data);
32
- return {
33
- ...rest,
34
- descendants: (0, import_merge_translations.mergeTranslatedNodes)(
35
- descendants,
36
- translatedData,
37
- def.config.plugins
38
- )
39
- };
40
- }
41
- }
42
- // Annotate the CommonJS export names for ESM import in node:
43
- 0 && (module.exports = {
44
- ReactMergeTranslationsVisitor
45
- });
46
- //# sourceMappingURL=merge-translations-visitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/controls/visitors/merge-translations-visitor.ts"],"sourcesContent":["import { Data, DataType, MergeTranslationsVisitor } from '@makeswift/controls'\n\nimport { RichTextV2Definition } from '../rich-text-v2'\nimport { RichTextTranslationDto } from '../rich-text-v2/translations/translations-core'\nimport { mergeTranslatedNodes } from '../rich-text-v2/translations/merge-translations'\n\nexport class ReactMergeTranslationsVisitor extends MergeTranslationsVisitor {\n visitRichTextV2(\n def: RichTextV2Definition,\n data: DataType<RichTextV2Definition> | undefined,\n translatedData: Data,\n ): Data {\n if (data == null || translatedData == null) return data\n\n const { descendants, ...rest } = RichTextV2Definition.normalizeData(data)\n\n return {\n ...rest,\n descendants: mergeTranslatedNodes(\n descendants,\n translatedData as RichTextTranslationDto,\n def.config.plugins,\n ),\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAyD;AAEzD,0BAAqC;AAErC,gCAAqC;AAE9B,MAAM,sCAAsC,yCAAyB;AAAA,EAC1E,gBACE,KACA,MACA,gBACM;AACN,QAAI,QAAQ,QAAQ,kBAAkB;AAAM,aAAO;AAEnD,UAAM,EAAE,aAAa,GAAG,KAAK,IAAI,yCAAqB,cAAc,IAAI;AAExE,WAAO;AAAA,MACL,GAAG;AAAA,MACH,iBAAa;AAAA,QACX;AAAA,QACA;AAAA,QACA,IAAI,OAAO;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -1,62 +0,0 @@
1
- import escapeHtml from "escape-html";
2
- import { Editor, Text } from "slate";
3
- import { Slate } from "@makeswift/controls";
4
- import { InlineType } from "../../../slate/types";
5
- import { createEditorWithPlugins, pathToString } from "./translations-core";
6
- function getDescendantTranslatableData(descendant, path) {
7
- if (Text.isText(descendant)) {
8
- return {};
9
- }
10
- if (Slate.isList(descendant) || Slate.isListItem(descendant)) {
11
- return descendant.children.reduce(
12
- (acc, d, j) => ({ ...acc, ...getDescendantTranslatableData(d, [...path, j]) }),
13
- {}
14
- );
15
- }
16
- const text = getInlineOrTextTranslatableData(descendant);
17
- if (text == null)
18
- return {};
19
- return { [pathToString(path)]: text };
20
- }
21
- function getInlineOrTextTranslatableData(descendant, path = []) {
22
- if (Text.isText(descendant)) {
23
- let string = escapeHtml(descendant.text);
24
- if (string === "")
25
- return null;
26
- if (descendant.typography === void 0)
27
- return string;
28
- return `<span key="${pathToString(path)}">${string}</span>`;
29
- }
30
- const children = descendant.children.map((child, i) => getInlineOrTextTranslatableData(child, [...path, i])).join("");
31
- if (children === "")
32
- return null;
33
- switch (descendant.type) {
34
- case InlineType.Link:
35
- return `<a key="${pathToString(path)}">${children}</a>`;
36
- case InlineType.SuperScript:
37
- return `<sup key="${pathToString(path)}">${children}</sup>`;
38
- case InlineType.SubScript:
39
- return `<sub key="${pathToString(path)}">${children}</sub>`;
40
- case InlineType.Code:
41
- return `<code key="${pathToString(path)}">${children}</code>`;
42
- default:
43
- return children;
44
- }
45
- }
46
- function getTranslatableData(nodes, plugins) {
47
- const editor = createEditorWithPlugins(plugins);
48
- editor.children = nodes;
49
- editor.typographyNormalizationDirection = "up";
50
- Editor.normalize(editor, { force: true });
51
- return editor.children.reduce(
52
- (acc, descendant, i) => ({
53
- ...acc,
54
- ...getDescendantTranslatableData(descendant, [i])
55
- }),
56
- {}
57
- );
58
- }
59
- export {
60
- getTranslatableData
61
- };
62
- //# sourceMappingURL=get-translations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/controls/rich-text-v2/translations/get-translations.ts"],"sourcesContent":["import escapeHtml from 'escape-html'\nimport { Descendant, Editor, Text } from 'slate'\n\nimport { type TranslationDto, Slate } from '@makeswift/controls'\n\nimport { RichTextV2Plugin } from '../plugin'\nimport { InlineType } from '../../../slate/types'\nimport { createEditorWithPlugins, pathToString, RichTextTranslationDto } from './translations-core'\n\nfunction getDescendantTranslatableData(descendant: Descendant, path: number[]): TranslationDto {\n if (Text.isText(descendant)) {\n return {}\n }\n\n if (Slate.isList(descendant) || Slate.isListItem(descendant)) {\n return descendant.children.reduce(\n (acc, d, j) => ({ ...acc, ...getDescendantTranslatableData(d, [...path, j]) }),\n {},\n )\n }\n\n const text = getInlineOrTextTranslatableData(descendant)\n if (text == null) return {}\n\n return { [pathToString(path)]: text }\n}\n\nfunction getInlineOrTextTranslatableData(\n descendant: Descendant,\n path: number[] = [],\n): string | null {\n if (Text.isText(descendant)) {\n let string = escapeHtml(descendant.text)\n\n if (string === '') return null\n\n if (descendant.typography === undefined) return string\n\n return `<span key=\"${pathToString(path)}\">${string}</span>`\n }\n\n const children = descendant.children\n .map((child: Descendant, i: number) => getInlineOrTextTranslatableData(child, [...path, i]))\n .join('')\n\n if (children === '') return null\n\n switch (descendant.type) {\n case InlineType.Link:\n return `<a key=\"${pathToString(path)}\">${children}</a>`\n\n case InlineType.SuperScript:\n return `<sup key=\"${pathToString(path)}\">${children}</sup>`\n\n case InlineType.SubScript:\n return `<sub key=\"${pathToString(path)}\">${children}</sub>`\n\n case InlineType.Code:\n return `<code key=\"${pathToString(path)}\">${children}</code>`\n\n default:\n return children\n }\n}\n\nexport function getTranslatableData(\n nodes: Slate.Descendant[],\n plugins: RichTextV2Plugin[],\n): RichTextTranslationDto {\n const editor = createEditorWithPlugins(plugins)\n\n editor.children = nodes\n editor.typographyNormalizationDirection = 'up'\n Editor.normalize(editor, { force: true })\n\n return editor.children.reduce(\n (acc, descendant: Descendant, i) => ({\n ...acc,\n ...getDescendantTranslatableData(descendant, [i]),\n }),\n {},\n )\n}\n"],"mappings":"AAAA,OAAO,gBAAgB;AACvB,SAAqB,QAAQ,YAAY;AAEzC,SAA8B,aAAa;AAG3C,SAAS,kBAAkB;AAC3B,SAAS,yBAAyB,oBAA4C;AAE9E,SAAS,8BAA8B,YAAwB,MAAgC;AAC7F,MAAI,KAAK,OAAO,UAAU,GAAG;AAC3B,WAAO,CAAC;AAAA,EACV;AAEA,MAAI,MAAM,OAAO,UAAU,KAAK,MAAM,WAAW,UAAU,GAAG;AAC5D,WAAO,WAAW,SAAS;AAAA,MACzB,CAAC,KAAK,GAAG,OAAO,EAAE,GAAG,KAAK,GAAG,8BAA8B,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE;AAAA,MAC5E,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,OAAO,gCAAgC,UAAU;AACvD,MAAI,QAAQ;AAAM,WAAO,CAAC;AAE1B,SAAO,EAAE,CAAC,aAAa,IAAI,CAAC,GAAG,KAAK;AACtC;AAEA,SAAS,gCACP,YACA,OAAiB,CAAC,GACH;AACf,MAAI,KAAK,OAAO,UAAU,GAAG;AAC3B,QAAI,SAAS,WAAW,WAAW,IAAI;AAEvC,QAAI,WAAW;AAAI,aAAO;AAE1B,QAAI,WAAW,eAAe;AAAW,aAAO;AAEhD,WAAO,cAAc,aAAa,IAAI,CAAC,KAAK,MAAM;AAAA,EACpD;AAEA,QAAM,WAAW,WAAW,SACzB,IAAI,CAAC,OAAmB,MAAc,gCAAgC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAC1F,KAAK,EAAE;AAEV,MAAI,aAAa;AAAI,WAAO;AAE5B,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,WAAW;AACd,aAAO,WAAW,aAAa,IAAI,CAAC,KAAK,QAAQ;AAAA,IAEnD,KAAK,WAAW;AACd,aAAO,aAAa,aAAa,IAAI,CAAC,KAAK,QAAQ;AAAA,IAErD,KAAK,WAAW;AACd,aAAO,aAAa,aAAa,IAAI,CAAC,KAAK,QAAQ;AAAA,IAErD,KAAK,WAAW;AACd,aAAO,cAAc,aAAa,IAAI,CAAC,KAAK,QAAQ;AAAA,IAEtD;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,oBACd,OACA,SACwB;AACxB,QAAM,SAAS,wBAAwB,OAAO;AAE9C,SAAO,WAAW;AAClB,SAAO,mCAAmC;AAC1C,SAAO,UAAU,QAAQ,EAAE,OAAO,KAAK,CAAC;AAExC,SAAO,OAAO,SAAS;AAAA,IACrB,CAAC,KAAK,YAAwB,OAAO;AAAA,MACnC,GAAG;AAAA,MACH,GAAG,8BAA8B,YAAY,CAAC,CAAC,CAAC;AAAA,IAClD;AAAA,IACA,CAAC;AAAA,EACH;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/controls/rich-text-v2/translations/merge-translations.ts"],"sourcesContent":["import { Descendant, Editor, Element, Node, Text, Transforms } from 'slate'\nimport { jsx } from 'slate-hyperscript'\nimport { parseFragment, DefaultTreeAdapterTypes } from 'parse5'\n\nimport { Slate } from '@makeswift/controls'\n\nimport { RichTextV2Plugin } from '../plugin'\nimport { BlockType, InlineType } from '../../../slate/types'\nimport { createEditorWithPlugins, RichTextTranslationDto, stringToPath } from './translations-core'\n\nfunction deserializeTranslationHtmlString(\n el: DefaultTreeAdapterTypes.ChildNode | DefaultTreeAdapterTypes.DocumentFragment,\n translationKey?: string,\n): Descendant[] {\n if (el.nodeName === '#document-fragment') {\n const children = Array.from(el.childNodes)\n .map(element => deserializeTranslationHtmlString(element))\n .flat()\n\n if (children.length === 0) {\n children.push(jsx('text', {}, ''))\n }\n\n return children\n }\n\n if (el.nodeName === '#text' && 'value' in el) {\n return [jsx('text', { translationKey: translationKey ?? undefined }, el.value)]\n }\n\n if ('namespaceURI' in el) {\n const translationKey = el.attrs.find(a => a.name === 'key')?.value ?? undefined\n const children = Array.from(el.childNodes)\n .map(element => deserializeTranslationHtmlString(element, translationKey))\n .flat()\n\n if (children.length === 0) {\n children.push(jsx('text', {}, ''))\n }\n\n switch (el.nodeName) {\n case 'code':\n return [jsx('element', { type: InlineType.Code, translationKey }, children)]\n\n case 'sub':\n return [jsx('element', { type: InlineType.SubScript, translationKey }, children)]\n\n case 'sup':\n return [jsx('element', { type: InlineType.SuperScript, translationKey }, children)]\n\n case 'a':\n return [jsx('element', { type: InlineType.Link, translationKey }, children)]\n\n default:\n return children\n }\n }\n\n return []\n}\n\nexport function mergeTranslatedNodes(\n nodes: Slate.Descendant[],\n translatedData: RichTextTranslationDto,\n plugins: RichTextV2Plugin[],\n): Slate.Descendant[] {\n const sourceEditor = createEditorWithPlugins(plugins)\n const targetEditor = createEditorWithPlugins(plugins)\n\n sourceEditor.children = nodes\n sourceEditor.typographyNormalizationDirection = 'up'\n Editor.normalize(sourceEditor, { force: true })\n\n Object.entries(translatedData)\n .reverse()\n .forEach(([blockStringPath, htmlString]) => {\n const blockPath = stringToPath(blockStringPath)\n if (blockPath.length === 0) return\n\n const html = parseFragment(htmlString)\n const inlineDescendants = deserializeTranslationHtmlString(html)\n\n targetEditor.children = [{ type: BlockType.Default, children: inlineDescendants }]\n\n targetEditor.typographyNormalizationDirection = 'neutral'\n Editor.normalize(targetEditor, { force: true })\n\n for (const [descendant, absolutePathToTargetNode] of Node.descendants(targetEditor)) {\n if (\n (!Text.isText(descendant) && !Slate.isInline(descendant)) ||\n descendant.translationKey == null ||\n descendant.translationKey === ''\n ) {\n continue\n }\n\n const relativePathToSourceNode = stringToPath(descendant.translationKey)\n\n const absolutePathToSourceNode = [...blockPath, ...relativePathToSourceNode]\n\n const [sourceNode] = Editor.node(sourceEditor, absolutePathToSourceNode)\n\n if (Text.isText(sourceNode) && Text.isText(descendant)) {\n const { translationKey, text, ...rest } = sourceNode\n Transforms.setNodes(targetEditor, rest, { at: absolutePathToTargetNode })\n Transforms.unsetNodes(targetEditor, 'translationKey', { at: absolutePathToTargetNode })\n } else if (Slate.isInline(sourceNode) && Slate.isInline(descendant)) {\n const { translationKey, children, ...rest } = sourceNode\n Transforms.setNodes(targetEditor, rest, { at: absolutePathToTargetNode })\n Transforms.unsetNodes(targetEditor, 'translationKey', { at: absolutePathToTargetNode })\n }\n }\n const translatedChildren = (targetEditor.children.at(0) as Element)?.children\n\n Editor.withoutNormalizing(sourceEditor, () => {\n Array.from(Node.children(sourceEditor, blockPath))\n .reverse()\n .forEach(([_, path]) => {\n Transforms.removeNodes(sourceEditor, { at: path })\n })\n\n Transforms.insertNodes(sourceEditor, translatedChildren, { at: [...blockPath, 0] })\n })\n })\n\n sourceEditor.typographyNormalizationDirection = 'down'\n Editor.normalize(sourceEditor, { force: true })\n\n return sourceEditor.children\n}\n"],"mappings":"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","names":["translationKey"]}
@@ -1,19 +0,0 @@
1
- import { createEditor } from "slate";
2
- function createEditorWithPlugins(plugins) {
3
- return plugins.reduceRight(
4
- (editor, plugin) => plugin?.withPlugin?.(editor) ?? editor,
5
- createEditor()
6
- );
7
- }
8
- function pathToString(path) {
9
- return path.join(":");
10
- }
11
- function stringToPath(s) {
12
- return s.split(":").map((a) => parseInt(a));
13
- }
14
- export {
15
- createEditorWithPlugins,
16
- pathToString,
17
- stringToPath
18
- };
19
- //# sourceMappingURL=translations-core.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/controls/rich-text-v2/translations/translations-core.ts"],"sourcesContent":["import { createEditor } from 'slate'\nimport { MakeswiftEditor } from '../../../slate'\nimport { RichTextV2Plugin } from '../plugin'\n\nexport function createEditorWithPlugins(plugins: RichTextV2Plugin[]): MakeswiftEditor {\n return plugins.reduceRight(\n (editor, plugin) => plugin?.withPlugin?.(editor) ?? editor,\n createEditor(),\n )\n}\n\nexport function pathToString(path: number[]): string {\n return path.join(':')\n}\n\nexport function stringToPath(s: string): number[] {\n return s.split(':').map(a => parseInt(a))\n}\n\nexport type RichTextTranslationDto = Record<string, string>\n"],"mappings":"AAAA,SAAS,oBAAoB;AAItB,SAAS,wBAAwB,SAA8C;AACpF,SAAO,QAAQ;AAAA,IACb,CAAC,QAAQ,WAAW,QAAQ,aAAa,MAAM,KAAK;AAAA,IACpD,aAAa;AAAA,EACf;AACF;AAEO,SAAS,aAAa,MAAwB;AACnD,SAAO,KAAK,KAAK,GAAG;AACtB;AAEO,SAAS,aAAa,GAAqB;AAChD,SAAO,EAAE,MAAM,GAAG,EAAE,IAAI,OAAK,SAAS,CAAC,CAAC;AAC1C;","names":[]}
@@ -1,22 +0,0 @@
1
- import { MergeTranslationsVisitor } from "@makeswift/controls";
2
- import { RichTextV2Definition } from "../rich-text-v2";
3
- import { mergeTranslatedNodes } from "../rich-text-v2/translations/merge-translations";
4
- class ReactMergeTranslationsVisitor extends MergeTranslationsVisitor {
5
- visitRichTextV2(def, data, translatedData) {
6
- if (data == null || translatedData == null)
7
- return data;
8
- const { descendants, ...rest } = RichTextV2Definition.normalizeData(data);
9
- return {
10
- ...rest,
11
- descendants: mergeTranslatedNodes(
12
- descendants,
13
- translatedData,
14
- def.config.plugins
15
- )
16
- };
17
- }
18
- }
19
- export {
20
- ReactMergeTranslationsVisitor
21
- };
22
- //# sourceMappingURL=merge-translations-visitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/controls/visitors/merge-translations-visitor.ts"],"sourcesContent":["import { Data, DataType, MergeTranslationsVisitor } from '@makeswift/controls'\n\nimport { RichTextV2Definition } from '../rich-text-v2'\nimport { RichTextTranslationDto } from '../rich-text-v2/translations/translations-core'\nimport { mergeTranslatedNodes } from '../rich-text-v2/translations/merge-translations'\n\nexport class ReactMergeTranslationsVisitor extends MergeTranslationsVisitor {\n visitRichTextV2(\n def: RichTextV2Definition,\n data: DataType<RichTextV2Definition> | undefined,\n translatedData: Data,\n ): Data {\n if (data == null || translatedData == null) return data\n\n const { descendants, ...rest } = RichTextV2Definition.normalizeData(data)\n\n return {\n ...rest,\n descendants: mergeTranslatedNodes(\n descendants,\n translatedData as RichTextTranslationDto,\n def.config.plugins,\n ),\n }\n }\n}\n"],"mappings":"AAAA,SAAyB,gCAAgC;AAEzD,SAAS,4BAA4B;AAErC,SAAS,4BAA4B;AAE9B,MAAM,sCAAsC,yBAAyB;AAAA,EAC1E,gBACE,KACA,MACA,gBACM;AACN,QAAI,QAAQ,QAAQ,kBAAkB;AAAM,aAAO;AAEnD,UAAM,EAAE,aAAa,GAAG,KAAK,IAAI,qBAAqB,cAAc,IAAI;AAExE,WAAO;AAAA,MACL,GAAG;AAAA,MACH,aAAa;AAAA,QACX;AAAA,QACA;AAAA,QACA,IAAI,OAAO;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -1,5 +0,0 @@
1
- import { Slate } from '@makeswift/controls';
2
- import { RichTextV2Plugin } from '../plugin';
3
- import { RichTextTranslationDto } from './translations-core';
4
- export declare function getTranslatableData(nodes: Slate.Descendant[], plugins: RichTextV2Plugin[]): RichTextTranslationDto;
5
- //# sourceMappingURL=get-translations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-translations.d.ts","sourceRoot":"","sources":["../../../../../src/controls/rich-text-v2/translations/get-translations.ts"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE5C,OAAO,EAAyC,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AA0DnG,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,EACzB,OAAO,EAAE,gBAAgB,EAAE,GAC1B,sBAAsB,CAcxB"}
@@ -1,5 +0,0 @@
1
- import { Slate } from '@makeswift/controls';
2
- import { RichTextV2Plugin } from '../plugin';
3
- import { RichTextTranslationDto } from './translations-core';
4
- export declare function mergeTranslatedNodes(nodes: Slate.Descendant[], translatedData: RichTextTranslationDto, plugins: RichTextV2Plugin[]): Slate.Descendant[];
5
- //# sourceMappingURL=merge-translations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"merge-translations.d.ts","sourceRoot":"","sources":["../../../../../src/controls/rich-text-v2/translations/merge-translations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE5C,OAAO,EAA2B,sBAAsB,EAAgB,MAAM,qBAAqB,CAAA;AAqDnG,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,EACzB,cAAc,EAAE,sBAAsB,EACtC,OAAO,EAAE,gBAAgB,EAAE,GAC1B,KAAK,CAAC,UAAU,EAAE,CAgEpB"}
@@ -1,7 +0,0 @@
1
- import { MakeswiftEditor } from '../../../slate';
2
- import { RichTextV2Plugin } from '../plugin';
3
- export declare function createEditorWithPlugins(plugins: RichTextV2Plugin[]): MakeswiftEditor;
4
- export declare function pathToString(path: number[]): string;
5
- export declare function stringToPath(s: string): number[];
6
- export type RichTextTranslationDto = Record<string, string>;
7
- //# sourceMappingURL=translations-core.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"translations-core.d.ts","sourceRoot":"","sources":["../../../../../src/controls/rich-text-v2/translations/translations-core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAE5C,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,eAAe,CAKpF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAEnD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAEhD;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA"}
@@ -1,6 +0,0 @@
1
- import { Data, DataType, MergeTranslationsVisitor } from '@makeswift/controls';
2
- import { RichTextV2Definition } from '../rich-text-v2';
3
- export declare class ReactMergeTranslationsVisitor extends MergeTranslationsVisitor {
4
- visitRichTextV2(def: RichTextV2Definition, data: DataType<RichTextV2Definition> | undefined, translatedData: Data): Data;
5
- }
6
- //# sourceMappingURL=merge-translations-visitor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"merge-translations-visitor.d.ts","sourceRoot":"","sources":["../../../../src/controls/visitors/merge-translations-visitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAItD,qBAAa,6BAA8B,SAAQ,wBAAwB;IACzE,eAAe,CACb,GAAG,EAAE,oBAAoB,EACzB,IAAI,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,SAAS,EAChD,cAAc,EAAE,IAAI,GACnB,IAAI;CAcR"}