@voiceflow/slate-serializer 3.0.0 → 4.0.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.
Files changed (85) hide show
  1. package/build/guards-CVGDr2Tx.mjs +7 -0
  2. package/build/guards-CVGDr2Tx.mjs.map +1 -0
  3. package/build/index.d.mts +12 -0
  4. package/build/index.d.mts.map +1 -0
  5. package/build/index.mjs +3 -0
  6. package/build/jsx.d.mts +11 -0
  7. package/build/jsx.d.mts.map +1 -0
  8. package/build/jsx.mjs +50 -0
  9. package/build/jsx.mjs.map +1 -0
  10. package/build/{esm/serializers/markdown.d.ts → markdown.d.mts} +6 -6
  11. package/build/markdown.d.mts.map +1 -0
  12. package/build/markdown.mjs +36 -0
  13. package/build/markdown.mjs.map +1 -0
  14. package/build/selectors-DQmdiI54.mjs +37 -0
  15. package/build/selectors-DQmdiI54.mjs.map +1 -0
  16. package/build/text.d.mts +11 -0
  17. package/build/text.d.mts.map +1 -0
  18. package/build/text.mjs +18 -0
  19. package/build/text.mjs.map +1 -0
  20. package/package.json +7 -41
  21. package/build/cjs/guards.d.ts +0 -4
  22. package/build/cjs/guards.d.ts.map +0 -1
  23. package/build/cjs/guards.js +0 -9
  24. package/build/cjs/guards.js.map +0 -1
  25. package/build/cjs/index.d.ts +0 -5
  26. package/build/cjs/index.d.ts.map +0 -1
  27. package/build/cjs/index.js +0 -21
  28. package/build/cjs/index.js.map +0 -1
  29. package/build/cjs/package.json +0 -1
  30. package/build/cjs/selectors.d.ts +0 -7
  31. package/build/cjs/selectors.d.ts.map +0 -1
  32. package/build/cjs/selectors.js +0 -45
  33. package/build/cjs/selectors.js.map +0 -1
  34. package/build/cjs/serializers/jsx.d.ts +0 -11
  35. package/build/cjs/serializers/jsx.d.ts.map +0 -1
  36. package/build/cjs/serializers/jsx.js +0 -76
  37. package/build/cjs/serializers/jsx.js.map +0 -1
  38. package/build/cjs/serializers/markdown.d.ts +0 -10
  39. package/build/cjs/serializers/markdown.d.ts.map +0 -1
  40. package/build/cjs/serializers/markdown.js +0 -93
  41. package/build/cjs/serializers/markdown.js.map +0 -1
  42. package/build/cjs/serializers/text.d.ts +0 -11
  43. package/build/cjs/serializers/text.d.ts.map +0 -1
  44. package/build/cjs/serializers/text.js +0 -51
  45. package/build/cjs/serializers/text.js.map +0 -1
  46. package/build/cjs/styles.d.ts +0 -4
  47. package/build/cjs/styles.d.ts.map +0 -1
  48. package/build/cjs/styles.js +0 -11
  49. package/build/cjs/styles.js.map +0 -1
  50. package/build/cjs/types.d.ts +0 -3
  51. package/build/cjs/types.d.ts.map +0 -1
  52. package/build/cjs/types.js +0 -3
  53. package/build/cjs/types.js.map +0 -1
  54. package/build/esm/guards.d.ts +0 -4
  55. package/build/esm/guards.d.ts.map +0 -1
  56. package/build/esm/guards.js +0 -4
  57. package/build/esm/guards.js.map +0 -1
  58. package/build/esm/index.d.ts +0 -5
  59. package/build/esm/index.d.ts.map +0 -1
  60. package/build/esm/index.js +0 -5
  61. package/build/esm/index.js.map +0 -1
  62. package/build/esm/package.json +0 -1
  63. package/build/esm/selectors.d.ts +0 -7
  64. package/build/esm/selectors.d.ts.map +0 -1
  65. package/build/esm/selectors.js +0 -38
  66. package/build/esm/selectors.js.map +0 -1
  67. package/build/esm/serializers/jsx.d.ts +0 -11
  68. package/build/esm/serializers/jsx.d.ts.map +0 -1
  69. package/build/esm/serializers/jsx.js +0 -39
  70. package/build/esm/serializers/jsx.js.map +0 -1
  71. package/build/esm/serializers/markdown.d.ts.map +0 -1
  72. package/build/esm/serializers/markdown.js +0 -55
  73. package/build/esm/serializers/markdown.js.map +0 -1
  74. package/build/esm/serializers/text.d.ts +0 -11
  75. package/build/esm/serializers/text.d.ts.map +0 -1
  76. package/build/esm/serializers/text.js +0 -14
  77. package/build/esm/serializers/text.js.map +0 -1
  78. package/build/esm/styles.d.ts +0 -4
  79. package/build/esm/styles.d.ts.map +0 -1
  80. package/build/esm/styles.js +0 -6
  81. package/build/esm/styles.js.map +0 -1
  82. package/build/esm/types.d.ts +0 -3
  83. package/build/esm/types.d.ts.map +0 -1
  84. package/build/esm/types.js +0 -2
  85. package/build/esm/types.js.map +0 -1
@@ -1,93 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.serializeToMarkdown = exports.serializeVariableElement = void 0;
37
- const dtos_interact_1 = require("@voiceflow/dtos-interact");
38
- const Slate = __importStar(require("slate"));
39
- const guards_1 = require("../guards");
40
- const serializeTextNode = (node) => {
41
- const isItalic = node[dtos_interact_1.SlateTextProperty.ITALIC];
42
- const isUnderline = node[dtos_interact_1.SlateTextProperty.UNDERLINE];
43
- const isStrikeThrough = node[dtos_interact_1.SlateTextProperty.STRIKE_THROUGH];
44
- const fontWeight = node[dtos_interact_1.SlateTextProperty.FONT_WEIGHT];
45
- let { text } = node;
46
- if (!text.trim())
47
- return text;
48
- // Extract leading and trailing whitespaces
49
- const leadingWhitespace = text.match(/^\s+/) || '';
50
- // eslint-disable-next-line sonarjs/slow-regex
51
- const trailingWhitespace = text.match(/\s+$/) || '';
52
- // Trim the text to remove leading and trailing whitespaces
53
- text = text.trim();
54
- if (isItalic)
55
- text = `*${text}*`;
56
- if (isUnderline)
57
- text = `<u>${text}</u>`;
58
- if (isStrikeThrough)
59
- text = `~~${text}~~`;
60
- if (fontWeight)
61
- text = `**${text}**`;
62
- // Add the leading and trailing whitespaces back to the outside of the markers
63
- return `${leadingWhitespace}${text}${trailingWhitespace}`;
64
- };
65
- const serializeLinkElement = (node, options) => {
66
- const children = node.children.map((node) => serializeNode(node, options));
67
- return `[${children}](${node.url?.replace(/\s+/g, '')})`;
68
- };
69
- const serializeVariableElement = (node, options) => {
70
- const resultName = options.variablesMap ? (options.variablesMap[node.id]?.name ?? node.id) : node.name;
71
- return `{${resultName.concat(node.path ?? '')}}`;
72
- };
73
- exports.serializeVariableElement = serializeVariableElement;
74
- const serializeElementNode = (node, options) => {
75
- if ((0, guards_1.isLinkElement)(node))
76
- return serializeLinkElement(node, options);
77
- if ((0, guards_1.isVariableElement)(node))
78
- return (0, exports.serializeVariableElement)(node, options);
79
- return node.children.map((node) => serializeNode(node, options)).join('');
80
- };
81
- const serializeNode = (node, options) =>
82
- // eslint-disable-next-line no-nested-ternary
83
- Slate.Text.isText(node)
84
- ? serializeTextNode(node)
85
- : Slate.Element.isElement(node)
86
- ? serializeElementNode(node, options)
87
- : '';
88
- const serializeToMarkdown = (content, options = {}) => content
89
- .map((node) => serializeNode(node, options))
90
- .join('\n')
91
- .replace(/\n{3,}/g, (match) => `\n${'<br/>'.repeat(match.length - 2)}\n\n`);
92
- exports.serializeToMarkdown = serializeToMarkdown;
93
- //# sourceMappingURL=markdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/serializers/markdown.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { SlateTextValue } from '@voiceflow/dtos-interact';
2
- export interface TextSerializerOptions {
3
- variablesMap?: Partial<Record<string, {
4
- id: string;
5
- name: string;
6
- }>>;
7
- markdownLinks?: boolean;
8
- encodeVariables?: boolean;
9
- }
10
- export declare const serializeToText: (content: SlateTextValue, { variablesMap, markdownLinks, encodeVariables }?: TextSerializerOptions) => string;
11
- //# sourceMappingURL=text.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/serializers/text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK3E,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAgBD,eAAO,MAAM,eAAe,GAC1B,SAAS,cAAc,EACvB,mDAAsE,qBAA0B,KAC/F,MAAoG,CAAC"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.serializeToText = void 0;
37
- const Slate = __importStar(require("slate"));
38
- const guards_1 = require("../guards");
39
- const nodeToString = (node, options) => {
40
- if (!Slate.Element.isElement(node))
41
- return Slate.Node.string(node);
42
- if ((0, guards_1.isLinkElement)(node) && options.markdownLinks)
43
- return `[${(0, exports.serializeToText)(node.children)}](${node.url})`;
44
- if ((0, guards_1.isVariableElement)(node) && options.encodeVariables)
45
- return `{${options.variablesMap ? (options.variablesMap[node.id]?.name ?? node.id) : node.name}}`;
46
- return nodesToString(node.children, options).join('');
47
- };
48
- const nodesToString = (nodes, options) => nodes.map((node) => nodeToString(node, options));
49
- const serializeToText = (content, { variablesMap = {}, markdownLinks = false, encodeVariables = true } = {}) => nodesToString(content, { variablesMap, markdownLinks, encodeVariables }).join('\n').trim();
50
- exports.serializeToText = serializeToText;
51
- //# sourceMappingURL=text.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/serializers/text.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA+B;AAE/B,sCAA6D;AAQ7D,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAE,OAA8B,EAAU,EAAE;IAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEnE,IAAI,IAAA,sBAAa,EAAC,IAAI,CAAC,IAAI,OAAO,CAAC,aAAa;QAAE,OAAO,IAAI,IAAA,uBAAe,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC;IAE5G,IAAI,IAAA,0BAAiB,EAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe;QACpD,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;IAEpG,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,OAA8B,EAAY,EAAE,CACtF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5C,MAAM,eAAe,GAAG,CAC7B,OAAuB,EACvB,EAAE,YAAY,GAAG,EAAE,EAAE,aAAa,GAAG,KAAK,EAAE,eAAe,GAAG,IAAI,KAA4B,EAAE,EACxF,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AAH3F,QAAA,eAAe,mBAG4E"}
@@ -1,4 +0,0 @@
1
- import type { CSSProperties } from './types';
2
- export declare const cssPropertyNameToStyleName: (name: string) => string;
3
- export declare const convertCSSPropertiesToStyles: (properties: CSSProperties) => string;
4
- //# sourceMappingURL=styles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C,eAAO,MAAM,0BAA0B,GAAI,MAAM,MAAM,KAAG,MACiB,CAAC;AAE5E,eAAO,MAAM,4BAA4B,GAAI,YAAY,aAAa,KAAG,MAG3D,CAAC"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertCSSPropertiesToStyles = exports.cssPropertyNameToStyleName = void 0;
4
- const CAPITAL_LETTER_REGEXP = /[A-Z]/g;
5
- const cssPropertyNameToStyleName = (name) => name.replace(CAPITAL_LETTER_REGEXP, (match) => `-${match.toLowerCase()}`);
6
- exports.cssPropertyNameToStyleName = cssPropertyNameToStyleName;
7
- const convertCSSPropertiesToStyles = (properties) => Object.entries(properties)
8
- .map(([key, value]) => `${(0, exports.cssPropertyNameToStyleName)(key)}:${value}`)
9
- .join(';');
10
- exports.convertCSSPropertiesToStyles = convertCSSPropertiesToStyles;
11
- //# sourceMappingURL=styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/styles.ts"],"names":[],"mappings":";;;AAEA,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AAEhC,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAU,EAAE,CACjE,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAD/D,QAAA,0BAA0B,8BACqC;AAErE,MAAM,4BAA4B,GAAG,CAAC,UAAyB,EAAU,EAAE,CAChF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;KACvB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAA,kCAA0B,EAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;KACpE,IAAI,CAAC,GAAG,CAAC,CAAC;AAHF,QAAA,4BAA4B,gCAG1B"}
@@ -1,3 +0,0 @@
1
- import type CSS from 'csstype';
2
- export type CSSProperties = CSS.Properties<string | number>;
3
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- import type { AnySlateTextElement, SlateTextLinkElement, SlateTextVariableElement } from '@voiceflow/dtos-interact';
2
- export declare const isLinkElement: (element: AnySlateTextElement) => element is SlateTextLinkElement;
3
- export declare const isVariableElement: (element: AnySlateTextElement) => element is SlateTextVariableElement;
4
- //# sourceMappingURL=guards.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../src/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpH,eAAO,MAAM,aAAa,GAAI,SAAS,mBAAmB,KAAG,OAAO,IAAI,oBAC5B,CAAC;AAE7C,eAAO,MAAM,iBAAiB,GAAI,SAAS,mBAAmB,KAAG,OAAO,IAAI,wBAC5B,CAAC"}
@@ -1,4 +0,0 @@
1
- import { SlateTextElementType } from '@voiceflow/dtos-interact';
2
- export const isLinkElement = (element) => element.type === SlateTextElementType.LINK;
3
- export const isVariableElement = (element) => element.type === SlateTextElementType.VARIABLE;
4
- //# sourceMappingURL=guards.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../src/guards.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAA4B,EAAmC,EAAE,CAC7F,OAAO,CAAC,IAAI,KAAK,oBAAoB,CAAC,IAAI,CAAC;AAE7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAA4B,EAAuC,EAAE,CACrG,OAAO,CAAC,IAAI,KAAK,oBAAoB,CAAC,QAAQ,CAAC"}
@@ -1,5 +0,0 @@
1
- export * from './guards.js';
2
- export * from './selectors.js';
3
- export * from './styles.js';
4
- export * from './types.js';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -1,5 +0,0 @@
1
- export * from './guards.js';
2
- export * from './selectors.js';
3
- export * from './styles.js';
4
- export * from './types.js';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- { "type": "module" }
@@ -1,7 +0,0 @@
1
- import type { AnySlateTextElement, SlateText } from '@voiceflow/dtos-interact';
2
- import type { CSSProperties } from './types.js';
3
- export declare const getElementCSSProperties: (element: AnySlateTextElement) => CSSProperties;
4
- export declare const getTextCSSProperties: (text: SlateText) => CSSProperties;
5
- export declare const getElementStyles: (element: AnySlateTextElement) => string;
6
- export declare const getTextStyles: (text: SlateText) => string;
7
- //# sourceMappingURL=selectors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../src/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAI/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,eAAO,MAAM,uBAAuB,GAAI,SAAS,mBAAmB,KAAG,aAQtE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,SAAS,KAAG,aAyBtD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,SAAS,mBAAmB,KAAG,MACA,CAAC;AAEjE,eAAO,MAAM,aAAa,GAAI,MAAM,SAAS,KAAG,MAAkE,CAAC"}
@@ -1,38 +0,0 @@
1
- import { SlateTextElementProperty, SlateTextProperty } from '@voiceflow/dtos-interact';
2
- import { convertCSSPropertiesToStyles } from './styles.js';
3
- export const getElementCSSProperties = (element) => {
4
- const textAlign = element[SlateTextElementProperty.TEXT_ALIGN];
5
- const styles = {};
6
- if (textAlign)
7
- styles.textAlign = textAlign;
8
- return styles;
9
- };
10
- export const getTextCSSProperties = (text) => {
11
- const color = text[SlateTextProperty.COLOR];
12
- const isItalic = text[SlateTextProperty.ITALIC];
13
- const fontWeight = text[SlateTextProperty.FONT_WEIGHT];
14
- const fontFamily = text[SlateTextProperty.FONT_FAMILY];
15
- const isUnderline = text[SlateTextProperty.UNDERLINE];
16
- const isStrikeThrough = text[SlateTextProperty.STRIKE_THROUGH];
17
- const styles = {};
18
- if (color)
19
- styles.color = `rgba(${color.r},${color.g},${color.b},${color.a})`;
20
- if (isItalic)
21
- styles.fontStyle = 'italic';
22
- if (fontWeight)
23
- styles.fontWeight = Number(fontWeight);
24
- if (fontFamily)
25
- styles.fontFamily = `"${fontFamily}"`;
26
- if (isUnderline || isStrikeThrough) {
27
- let decoration = '';
28
- if (isUnderline)
29
- decoration += 'underline';
30
- if (isStrikeThrough)
31
- decoration += ' line-through';
32
- styles.textDecoration = decoration.trim();
33
- }
34
- return styles;
35
- };
36
- export const getElementStyles = (element) => convertCSSPropertiesToStyles(getElementCSSProperties(element));
37
- export const getTextStyles = (text) => convertCSSPropertiesToStyles(getTextCSSProperties(text));
38
- //# sourceMappingURL=selectors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/selectors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAGxD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAA4B,EAAiB,EAAE;IACrF,MAAM,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAA+B,CAAC;IAE7F,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,IAAI,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;IAE5C,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAe,EAAiB,EAAE;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,IAAI,KAAK;QAAE,MAAM,CAAC,KAAK,GAAG,QAAQ,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC;IAC9E,IAAI,QAAQ;QAAE,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC1C,IAAI,UAAU;QAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,UAAU;QAAE,MAAM,CAAC,UAAU,GAAG,IAAI,UAAU,GAAG,CAAC;IAEtD,IAAI,WAAW,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,UAAU,GAAG,EAAE,CAAC;QAEpB,IAAI,WAAW;YAAE,UAAU,IAAI,WAAW,CAAC;QAC3C,IAAI,eAAe;YAAE,UAAU,IAAI,eAAe,CAAC;QAEnD,MAAM,CAAC,cAAc,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAA4B,EAAU,EAAE,CACvE,4BAA4B,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAe,EAAU,EAAE,CAAC,4BAA4B,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC"}
@@ -1,11 +0,0 @@
1
- import type { SlateTextValue } from '@voiceflow/dtos-interact';
2
- import React from 'react';
3
- export interface JSXSerializerOptions {
4
- variablesMap?: Partial<Record<string, {
5
- id: string;
6
- name: string;
7
- }>>;
8
- transformHref?: (href: string) => string;
9
- }
10
- export declare const serializeToJSX: (content: SlateTextValue, options?: JSXSerializerOptions) => React.ReactNode;
11
- //# sourceMappingURL=jsx.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx.d.ts","sourceRoot":"","sources":["../../../src/serializers/jsx.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,cAAc,EAEf,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACrE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CAC1C;AAwED,eAAO,MAAM,cAAc,GAAI,SAAS,cAAc,EAAE,UAAS,oBAAyB,KAAG,KAAK,CAAC,SAChC,CAAC"}
@@ -1,39 +0,0 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- import * as Slate from 'slate';
3
- import { isLinkElement, isVariableElement } from '../guards.js';
4
- import { getElementCSSProperties, getTextCSSProperties } from '../selectors.js';
5
- const serializeTextNode = (node, index) => {
6
- const styles = getTextCSSProperties(node);
7
- return (_jsx("span", { style: styles, children: node.text || _jsx(_Fragment, { children: "\uFEFF" }) }, index));
8
- };
9
- const serializeLinkElement = (node, index, options) => {
10
- const children = node.children.map((node, index) => serializeNode(node, index, options));
11
- const styles = getElementCSSProperties(node);
12
- const href = options.transformHref?.(node.url ?? '') ?? node.url ?? '';
13
- return (_jsx("a", { rel: "noopener noreferrer", href: href, target: "_blank", style: { ...styles, pointerEvents: 'all' }, onClick: (event) => {
14
- event.stopPropagation();
15
- event.preventDefault();
16
- if (!href)
17
- return;
18
- window.open(href, '_blank', 'noopener=true,noreferrer=true')?.focus();
19
- }, children: children }, index));
20
- };
21
- const serializeVariableElement = (node, index, options) => (_jsx("span", { children: `{${options.variablesMap ? (options.variablesMap[node.id]?.name ?? node.id) : node.name}}` }, index));
22
- const serializeElementNode = (node, index, options) => {
23
- if (isLinkElement(node))
24
- return serializeLinkElement(node, index, options);
25
- if (isVariableElement(node))
26
- return serializeVariableElement(node, index, options);
27
- const children = node.children.map((node, index) => serializeNode(node, index, options));
28
- const styles = getElementCSSProperties(node);
29
- return (_jsx("div", { style: styles, children: children }, index));
30
- };
31
- const serializeNode = (node, index, options) =>
32
- // eslint-disable-next-line no-nested-ternary
33
- Slate.Text.isText(node)
34
- ? serializeTextNode(node, index)
35
- : Slate.Element.isElement(node)
36
- ? serializeElementNode(node, index, options)
37
- : null;
38
- export const serializeToJSX = (content, options = {}) => content.map((node, index) => serializeNode(node, index, options));
39
- //# sourceMappingURL=jsx.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx.js","sourceRoot":"","sources":["../../../src/serializers/jsx.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../../src/serializers/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKV,cAAc,EACd,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAMlC,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CACtE;AAmCD,eAAO,MAAM,wBAAwB,GAAI,MAAM,wBAAwB,EAAE,SAAS,yBAAyB,WAG1G,CAAC;AAiBF,eAAO,MAAM,mBAAmB,GAAI,SAAS,cAAc,EAAE,UAAS,yBAA8B,KAAG,MAIxB,CAAC"}
@@ -1,55 +0,0 @@
1
- import { SlateTextProperty } from '@voiceflow/dtos-interact';
2
- import * as Slate from 'slate';
3
- import { isLinkElement, isVariableElement } from '../guards.js';
4
- const serializeTextNode = (node) => {
5
- const isItalic = node[SlateTextProperty.ITALIC];
6
- const isUnderline = node[SlateTextProperty.UNDERLINE];
7
- const isStrikeThrough = node[SlateTextProperty.STRIKE_THROUGH];
8
- const fontWeight = node[SlateTextProperty.FONT_WEIGHT];
9
- let { text } = node;
10
- if (!text.trim())
11
- return text;
12
- // Extract leading and trailing whitespaces
13
- const leadingWhitespace = text.match(/^\s+/) || '';
14
- // eslint-disable-next-line sonarjs/slow-regex
15
- const trailingWhitespace = text.match(/\s+$/) || '';
16
- // Trim the text to remove leading and trailing whitespaces
17
- text = text.trim();
18
- if (isItalic)
19
- text = `*${text}*`;
20
- if (isUnderline)
21
- text = `<u>${text}</u>`;
22
- if (isStrikeThrough)
23
- text = `~~${text}~~`;
24
- if (fontWeight)
25
- text = `**${text}**`;
26
- // Add the leading and trailing whitespaces back to the outside of the markers
27
- return `${leadingWhitespace}${text}${trailingWhitespace}`;
28
- };
29
- const serializeLinkElement = (node, options) => {
30
- const children = node.children.map((node) => serializeNode(node, options));
31
- return `[${children}](${node.url?.replace(/\s+/g, '')})`;
32
- };
33
- export const serializeVariableElement = (node, options) => {
34
- const resultName = options.variablesMap ? (options.variablesMap[node.id]?.name ?? node.id) : node.name;
35
- return `{${resultName.concat(node.path ?? '')}}`;
36
- };
37
- const serializeElementNode = (node, options) => {
38
- if (isLinkElement(node))
39
- return serializeLinkElement(node, options);
40
- if (isVariableElement(node))
41
- return serializeVariableElement(node, options);
42
- return node.children.map((node) => serializeNode(node, options)).join('');
43
- };
44
- const serializeNode = (node, options) =>
45
- // eslint-disable-next-line no-nested-ternary
46
- Slate.Text.isText(node)
47
- ? serializeTextNode(node)
48
- : Slate.Element.isElement(node)
49
- ? serializeElementNode(node, options)
50
- : '';
51
- export const serializeToMarkdown = (content, options = {}) => content
52
- .map((node) => serializeNode(node, options))
53
- .join('\n')
54
- .replace(/\n{3,}/g, (match) => `\n${'<br/>'.repeat(match.length - 2)}\n\n`);
55
- //# sourceMappingURL=markdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../src/serializers/markdown.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import type { SlateTextValue } from '@voiceflow/dtos-interact';
2
- export interface TextSerializerOptions {
3
- variablesMap?: Partial<Record<string, {
4
- id: string;
5
- name: string;
6
- }>>;
7
- markdownLinks?: boolean;
8
- encodeVariables?: boolean;
9
- }
10
- export declare const serializeToText: (content: SlateTextValue, { variablesMap, markdownLinks, encodeVariables }?: TextSerializerOptions) => string;
11
- //# sourceMappingURL=text.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/serializers/text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAK3E,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAgBD,eAAO,MAAM,eAAe,GAC1B,SAAS,cAAc,EACvB,mDAAsE,qBAA0B,KAC/F,MAAoG,CAAC"}
@@ -1,14 +0,0 @@
1
- import * as Slate from 'slate';
2
- import { isLinkElement, isVariableElement } from '../guards.js';
3
- const nodeToString = (node, options) => {
4
- if (!Slate.Element.isElement(node))
5
- return Slate.Node.string(node);
6
- if (isLinkElement(node) && options.markdownLinks)
7
- return `[${serializeToText(node.children)}](${node.url})`;
8
- if (isVariableElement(node) && options.encodeVariables)
9
- return `{${options.variablesMap ? (options.variablesMap[node.id]?.name ?? node.id) : node.name}}`;
10
- return nodesToString(node.children, options).join('');
11
- };
12
- const nodesToString = (nodes, options) => nodes.map((node) => nodeToString(node, options));
13
- export const serializeToText = (content, { variablesMap = {}, markdownLinks = false, encodeVariables = true } = {}) => nodesToString(content, { variablesMap, markdownLinks, encodeVariables }).join('\n').trim();
14
- //# sourceMappingURL=text.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/serializers/text.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAQ7D,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAE,OAA8B,EAAU,EAAE;IAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEnE,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,aAAa;QAAE,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC;IAE5G,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,eAAe;QACpD,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC;IAEpG,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAE,OAA8B,EAAY,EAAE,CACtF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAuB,EACvB,EAAE,YAAY,GAAG,EAAE,EAAE,aAAa,GAAG,KAAK,EAAE,eAAe,GAAG,IAAI,KAA4B,EAAE,EACxF,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC"}
@@ -1,4 +0,0 @@
1
- import type { CSSProperties } from './types.js';
2
- export declare const cssPropertyNameToStyleName: (name: string) => string;
3
- export declare const convertCSSPropertiesToStyles: (properties: CSSProperties) => string;
4
- //# sourceMappingURL=styles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C,eAAO,MAAM,0BAA0B,GAAI,MAAM,MAAM,KAAG,MACiB,CAAC;AAE5E,eAAO,MAAM,4BAA4B,GAAI,YAAY,aAAa,KAAG,MAG3D,CAAC"}
@@ -1,6 +0,0 @@
1
- const CAPITAL_LETTER_REGEXP = /[A-Z]/g;
2
- export const cssPropertyNameToStyleName = (name) => name.replace(CAPITAL_LETTER_REGEXP, (match) => `-${match.toLowerCase()}`);
3
- export const convertCSSPropertiesToStyles = (properties) => Object.entries(properties)
4
- .map(([key, value]) => `${cssPropertyNameToStyleName(key)}:${value}`)
5
- .join(';');
6
- //# sourceMappingURL=styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/styles.ts"],"names":[],"mappings":"AAEA,MAAM,qBAAqB,GAAG,QAAQ,CAAC;AAEvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAU,EAAE,CACjE,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAE5E,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,UAAyB,EAAU,EAAE,CAChF,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;KACvB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,0BAA0B,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;KACpE,IAAI,CAAC,GAAG,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- import type CSS from 'csstype';
2
- export type CSSProperties = CSS.Properties<string | number>;
3
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAE/B,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}